summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjk7744.park <jk7744.park@samsung.com>2015-10-24 15:42:16 +0900
committerjk7744.park <jk7744.park@samsung.com>2015-10-24 15:42:16 +0900
commit2aa01f1ea98ff42e4bfef6da401eb19383f2f4ce (patch)
tree7eb4f13beea5ba0aae81b66d48630f87848a6435
parent331d162934ac346a137b6a3a17074d948a3c6c41 (diff)
downloadphone-contacts-2aa01f1ea98ff42e4bfef6da401eb19383f2f4ce.tar.gz
phone-contacts-2aa01f1ea98ff42e4bfef6da401eb19383f2f4ce.tar.bz2
phone-contacts-2aa01f1ea98ff42e4bfef6da401eb19383f2f4ce.zip
-rw-r--r--.cproject52
-rw-r--r--.gitignore42
-rw-r--r--.project33
-rw-r--r--[-rwxr-xr-x]CMakeLists.txt144
-rw-r--r--LICENSE202
-rw-r--r--LICENSE.flora206
-rwxr-xr-xNOTICE3
-rw-r--r--app-assist-efl/.cproject762
-rw-r--r--app-assist-efl/.gitignore4
-rw-r--r--app-assist-efl/.project43
-rw-r--r--app-assist-efl/.tproject11
-rwxr-xr-xapp-assist-efl/CMakeLists.txt16
-rw-r--r--app-assist-efl/inc/IWUiObject.h72
-rw-r--r--app-assist-efl/inc/WApp.h132
-rw-r--r--app-assist-efl/inc/WAppEventHandler.h78
-rw-r--r--app-assist-efl/inc/WAppWindow.h65
-rw-r--r--app-assist-efl/inc/WButton.h67
-rw-r--r--app-assist-efl/inc/WControl.h196
-rw-r--r--app-assist-efl/inc/WDebugBase.h69
-rw-r--r--app-assist-efl/inc/WDefine.h47
-rw-r--r--app-assist-efl/inc/WEditfield.h47
-rw-r--r--app-assist-efl/inc/WEvasObject.h39
-rw-r--r--app-assist-efl/inc/WGengridItem.h124
-rw-r--r--app-assist-efl/inc/WGenlistItem.h124
-rw-r--r--app-assist-efl/inc/WMenuPopup.h81
-rw-r--r--app-assist-efl/inc/WNaviframe.h211
-rw-r--r--app-assist-efl/inc/WPageSlideView.h222
-rw-r--r--app-assist-efl/inc/WPopup.h144
-rw-r--r--app-assist-efl/inc/WToastPopup.h57
-rw-r--r--app-assist-efl/inc/WUiTimer.h114
-rw-r--r--app-assist-efl/inc/WView.h233
-rw-r--r--app-assist-efl/inc/WWidget.h133
-rw-r--r--app-assist-efl/inc/WWidgetApp.h46
-rw-r--r--app-assist-efl/inc/WWidgetWindow.h52
-rw-r--r--app-assist-efl/inc/WWindow.h144
-rwxr-xr-xapp-assist-efl/res/CMakeLists.txt10
-rw-r--r--app-assist-efl/res/edje/app-assist-efl.edc85
-rw-r--r--app-assist-efl/src/WApp.cpp150
-rw-r--r--app-assist-efl/src/WAppEventHandler.cpp100
-rw-r--r--app-assist-efl/src/WAppImpl.h42
-rw-r--r--app-assist-efl/src/WAppWindow.cpp106
-rw-r--r--app-assist-efl/src/WButton.cpp152
-rw-r--r--app-assist-efl/src/WControl.cpp278
-rw-r--r--app-assist-efl/src/WDebugInternal.h30
-rw-r--r--app-assist-efl/src/WDefineInternal.h28
-rw-r--r--app-assist-efl/src/WEditfield.cpp81
-rw-r--r--app-assist-efl/src/WEvasObject.cpp50
-rw-r--r--app-assist-efl/src/WGengridItem.cpp102
-rw-r--r--app-assist-efl/src/WGenlistItem.cpp102
-rw-r--r--app-assist-efl/src/WMenuPopup.cpp181
-rw-r--r--app-assist-efl/src/WNaviframe.cpp297
-rw-r--r--app-assist-efl/src/WPageSlideView.cpp461
-rw-r--r--app-assist-efl/src/WPopup.cpp271
-rw-r--r--app-assist-efl/src/WToastPopup.cpp92
-rw-r--r--app-assist-efl/src/WUiTimer.cpp242
-rw-r--r--app-assist-efl/src/WVersion.cpp31
-rw-r--r--app-assist-efl/src/WView.cpp289
-rw-r--r--app-assist-efl/src/WWidget.cpp128
-rw-r--r--app-assist-efl/src/WWidgetApp.cpp148
-rw-r--r--app-assist-efl/src/WWidgetWindow.cpp76
-rw-r--r--app-assist-efl/src/WWindow.cpp178
-rw-r--r--app-assist-efl/src/WWindowImpl.h42
-rwxr-xr-xapp-control/CMakeLists.txt6
-rw-r--r--app-control/ct-detail-app/.cproject520
-rw-r--r--app-control/ct-detail-app/.project44
-rw-r--r--app-control/ct-detail-app/.tproject11
-rwxr-xr-xapp-control/ct-detail-app/CMakeLists.txt24
-rwxr-xr-xapp-control/ct-detail-app/src/CtDetailApp.cpp166
-rw-r--r--app-control/ct-detail-app/src/CtDetailApp.h46
-rw-r--r--app-control/ct-detail-app/src/main.cpp30
-rw-r--r--app-control/ct-list-app/CMakeLists.txt22
-rwxr-xr-xapp-control/ct-list-app/src/CtListApp.cpp221
-rw-r--r--app-control/ct-list-app/src/CtListApp.h53
-rw-r--r--app-control/ct-list-app/src/main.cpp30
-rw-r--r--app-control/ct-vcard-app/CMakeLists.txt22
-rw-r--r--app-control/ct-vcard-app/src/CtVcardApp.cpp85
-rw-r--r--app-control/ct-vcard-app/src/CtVcardApp.h39
-rw-r--r--app-control/ct-vcard-app/src/main.cpp30
-rwxr-xr-xbuild50
-rwxr-xr-xbuild.sh195
-rwxr-xr-xbuildAndDeploy.sh24
-rw-r--r--config/gdbscript_contacts_armv7l2
-rw-r--r--config/gdbscript_contacts_i5862
-rw-r--r--contacts-appservice/CMakeLists.txt30
-rwxr-xr-xcontacts-appservice/contacts-appservice.cpp375
-rw-r--r--contacts-appservice/icon_contacts-appservice.pngbin7562 -> 0 bytes
-rw-r--r--contacts-appservice/org.tizen.contacts-appservice.xml26
-rw-r--r--contacts-viewer/CMakeLists.txt27
-rwxr-xr-xcontacts-viewer/contacts-viewer.cpp621
-rw-r--r--contacts-viewer/icon_contacts-viewer.pngbin7562 -> 0 bytes
-rwxr-xr-xcontacts-viewer/org.tizen.contacts-viewer.xml33
-rw-r--r--contacts/CMakeLists.txt24
-rwxr-xr-xcontacts/contacts.cpp364
-rw-r--r--contacts/icon_contacts.pngbin57662 -> 0 bytes
-rwxr-xr-xcontacts/org.tizen.contacts.xml62
-rwxr-xr-xdeploy113
-rw-r--r--gbs/.gbs.conf37
-rwxr-xr-xinclude/contacts-ug.h268
-rwxr-xr-xinclude/phone-ug.h172
-rw-r--r--insert.sh12
-rwxr-xr-xinstall.sh54
-rw-r--r--lib-common/.cproject516
-rw-r--r--lib-common/.project43
-rw-r--r--lib-common/.tproject11
-rwxr-xr-xlib-common/CMakeLists.txt18
-rw-r--r--lib-common/inc/ContactsAppControl.h126
-rw-r--r--lib-common/inc/ContactsAppControlLauncher.h62
-rwxr-xr-xlib-common/inc/ContactsCommon.h99
-rwxr-xr-xlib-common/inc/ContactsDebug.h121
-rw-r--r--lib-common/inc/ContactsLocalization.h26
-rw-r--r--lib-common/inc/ContactsNumberItemIcons.h29
-rw-r--r--lib-common/inc/ContactsThumbnail.h33
-rw-r--r--lib-common/inc/ContactsUtils.h30
-rw-r--r--lib-common/inc/IContactsTabPageView.h38
-rw-r--r--lib-common/inc/SystemSettingsMgr.h74
-rw-r--r--lib-common/res/edje/CMakeLists.txt30
-rw-r--r--lib-common/res/edje/ColorClass.h50
-rw-r--r--lib-common/res/edje/CustomButtonStyles.h43
-rw-r--r--lib-common/res/edje/NumberItemIcons.h33
-rw-r--r--lib-common/res/edje/Thumbnail.h42
-rw-r--r--lib-common/res/edje/Utils.h152
-rw-r--r--lib-common/res/edje/custom_button_styles.edc339
-rw-r--r--lib-common/res/edje/number_item_icons.edc33
-rw-r--r--lib-common/res/edje/thumbnail.edc30
-rw-r--r--lib-common/res/images/contacts_btn_ic_call.pngbin0 -> 1859 bytes
-rw-r--r--lib-common/res/images/contacts_btn_ic_message.pngbin0 -> 1780 bytes
-rw-r--r--lib-common/res/images/contacts_caller_id_default.pngbin0 -> 4321 bytes
-rw-r--r--lib-common/res/images/contacts_caller_id_default_02.pngbin0 -> 2842 bytes
-rw-r--r--lib-common/res/images/contacts_caller_id_default_03.pngbin0 -> 6143 bytes
-rw-r--r--lib-common/res/images/contacts_caller_id_default_bg.pngbin0 -> 3679 bytes
-rw-r--r--lib-common/res/images/contacts_caller_id_default_bg_02.pngbin0 -> 2455 bytes
-rw-r--r--lib-common/res/images/contacts_caller_id_default_bg_03.pngbin0 -> 5088 bytes
-rw-r--r--lib-common/res/images/core_dropdown_label_icon_arrow.pngbin0 -> 162 bytes
-rw-r--r--lib-common/src/ContactsAppControl.cpp196
-rw-r--r--lib-common/src/ContactsAppControlLauncher.cpp180
-rwxr-xr-xlib-common/src/ContactsCommon.cpp318
-rw-r--r--lib-common/src/ContactsNumberItemIcons.cpp74
-rw-r--r--lib-common/src/ContactsThumbnail.cpp69
-rw-r--r--lib-common/src/SystemSettingsMgr.cpp117
-rwxr-xr-xlib-contact/CMakeLists.txt9
-rw-r--r--lib-contact/ct-common/.cproject514
-rw-r--r--lib-contact/ct-common/.project43
-rw-r--r--lib-contact/ct-common/.tproject11
-rwxr-xr-xlib-contact/ct-common/CMakeLists.txt15
-rw-r--r--lib-contact/ct-common/inc/CtCommon.h83
-rwxr-xr-xlib-contact/ct-common/inc/CtPath.h83
-rw-r--r--lib-contact/ct-common/inc/CtProgressBarPopup.h60
-rw-r--r--lib-contact/ct-common/inc/CtProgressController.h78
-rw-r--r--lib-contact/ct-common/inc/CtRegistryMgr.h71
-rwxr-xr-xlib-contact/ct-common/inc/CtString.h727
-rw-r--r--lib-contact/ct-common/inc/CtThemeMgr.h49
-rw-r--r--lib-contact/ct-common/inc/CtThread.h65
-rw-r--r--lib-contact/ct-common/inc/CtType.h195
-rwxr-xr-xlib-contact/ct-common/inc/CtView.h52
-rwxr-xr-xlib-contact/ct-common/inc/ICtChangeListener.h31
-rwxr-xr-xlib-contact/ct-common/src/CtCommon.cpp1069
-rw-r--r--lib-contact/ct-common/src/CtProgressBarPopup.cpp176
-rw-r--r--lib-contact/ct-common/src/CtProgressController.cpp114
-rw-r--r--lib-contact/ct-common/src/CtRegistryMgr.cpp118
-rwxr-xr-xlib-contact/ct-common/src/CtString.cpp25
-rw-r--r--lib-contact/ct-common/src/CtThemeMgr.cpp108
-rw-r--r--lib-contact/ct-common/src/CtThread.cpp133
-rwxr-xr-xlib-contact/ct-common/src/CtView.cpp85
-rw-r--r--lib-contact/ct-detail/.cproject578
-rw-r--r--lib-contact/ct-detail/.project44
-rw-r--r--lib-contact/ct-detail/.tproject11
-rwxr-xr-xlib-contact/ct-detail/CMakeLists.txt21
-rwxr-xr-xlib-contact/ct-detail/inc/CtDetailView.h135
-rw-r--r--lib-contact/ct-detail/inc/CtDetailViewBasicInfoControl.h55
-rw-r--r--lib-contact/ct-detail/inc/CtEditTabView.h85
-rw-r--r--lib-contact/ct-detail/inc/CtInputView.h122
-rwxr-xr-xlib-contact/ct-detail/inc/CtMyProfileDetailView.h113
-rwxr-xr-xlib-contact/ct-detail/inc/CtMyProfileInputView.h185
-rwxr-xr-xlib-contact/ct-detail/src/CtData.h181
-rwxr-xr-xlib-contact/ct-detail/src/CtDetailData.cpp1571
-rwxr-xr-xlib-contact/ct-detail/src/CtDetailData.h173
-rwxr-xr-xlib-contact/ct-detail/src/CtDetailDataBase.h90
-rwxr-xr-xlib-contact/ct-detail/src/CtDetailView.cpp664
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewAddressItem.h82
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewBasicInfoControl.cpp148
-rwxr-xr-xlib-contact/ct-detail/src/CtDetailViewEmailItem.h106
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewEventItem.h74
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewMessengerItem.h70
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewNoteItem.h66
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewNumberItem.h106
-rw-r--r--lib-contact/ct-detail/src/CtDetailViewRelationItem.h68
-rwxr-xr-xlib-contact/ct-detail/src/CtDetailViewWebsiteItem.h128
-rwxr-xr-xlib-contact/ct-detail/src/CtEditTabView.cpp428
-rw-r--r--lib-contact/ct-detail/src/CtInputData.cpp2792
-rwxr-xr-xlib-contact/ct-detail/src/CtInputData.h213
-rwxr-xr-xlib-contact/ct-detail/src/CtInputDataTypeCtxPopup.cpp265
-rw-r--r--lib-contact/ct-detail/src/CtInputDataTypeCtxPopup.h63
-rw-r--r--lib-contact/ct-detail/src/CtInputDataTypeCustomPopup.cpp252
-rw-r--r--lib-contact/ct-detail/src/CtInputDataTypeCustomPopup.h55
-rw-r--r--lib-contact/ct-detail/src/CtInputView.cpp530
-rw-r--r--lib-contact/ct-detail/src/CtInputViewAddressItem.h181
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewBasicInfoItem.cpp1516
-rw-r--r--lib-contact/ct-detail/src/CtInputViewBasicInfoItem.h203
-rw-r--r--lib-contact/ct-detail/src/CtInputViewControl.cpp1639
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewControl.h176
-rw-r--r--lib-contact/ct-detail/src/CtInputViewEmailItem.h182
-rw-r--r--lib-contact/ct-detail/src/CtInputViewEventItem.cpp266
-rw-r--r--lib-contact/ct-detail/src/CtInputViewEventItem.h66
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewGenlistItem.cpp199
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewGenlistItem.h63
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewImportantFieldsItem.h151
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewImportantSubItem.h141
-rw-r--r--lib-contact/ct-detail/src/CtInputViewMessengerItem.h184
-rw-r--r--lib-contact/ct-detail/src/CtInputViewMsisdnItem.h72
-rw-r--r--lib-contact/ct-detail/src/CtInputViewNoteItem.h136
-rwxr-xr-xlib-contact/ct-detail/src/CtInputViewNumberItem.h203
-rw-r--r--lib-contact/ct-detail/src/CtInputViewRelationItem.h231
-rw-r--r--lib-contact/ct-detail/src/CtInputViewWebsiteItem.h127
-rwxr-xr-xlib-contact/ct-detail/src/CtMyProfileDetailData.cpp1138
-rwxr-xr-xlib-contact/ct-detail/src/CtMyProfileDetailData.h150
-rwxr-xr-xlib-contact/ct-detail/src/CtMyProfileDetailView.cpp548
-rwxr-xr-xlib-contact/ct-detail/src/CtMyProfileInputData.cpp2248
-rwxr-xr-xlib-contact/ct-detail/src/CtMyProfileInputData.h194
-rwxr-xr-xlib-contact/ct-detail/src/CtMyProfileInputView.cpp1591
-rw-r--r--lib-contact/ct-importer/CMakeLists.txt20
-rw-r--r--lib-contact/ct-importer/inc/CtImporter.h64
-rw-r--r--lib-contact/ct-importer/src/CtImporter.cpp225
-rw-r--r--lib-contact/ct-list/.cproject505
-rw-r--r--lib-contact/ct-list/.project43
-rw-r--r--lib-contact/ct-list/.tproject11
-rw-r--r--lib-contact/ct-list/CMakeLists.txt27
-rw-r--r--lib-contact/ct-list/inc/CtListController.h55
-rwxr-xr-xlib-contact/ct-list/inc/CtListView.h415
-rwxr-xr-xlib-contact/ct-list/src/CtListBasicController.cpp1049
-rw-r--r--lib-contact/ct-list/src/CtListBasicController.h106
-rwxr-xr-xlib-contact/ct-list/src/CtListDataGroup.cpp80
-rw-r--r--lib-contact/ct-list/src/CtListDataGroup.h44
-rwxr-xr-xlib-contact/ct-list/src/CtListDataPerson.cpp452
-rw-r--r--lib-contact/ct-list/src/CtListDataPerson.h94
-rw-r--r--lib-contact/ct-list/src/CtListLinkContactController.cpp137
-rw-r--r--lib-contact/ct-list/src/CtListLinkContactController.h63
-rw-r--r--lib-contact/ct-list/src/CtListLoadingPopup.cpp89
-rw-r--r--lib-contact/ct-list/src/CtListLoadingPopup.h42
-rwxr-xr-xlib-contact/ct-list/src/CtListModel.h63
-rwxr-xr-xlib-contact/ct-list/src/CtListModelDb.cpp1222
-rwxr-xr-xlib-contact/ct-list/src/CtListModelDb.h163
-rw-r--r--lib-contact/ct-list/src/CtListModelFilter.cpp835
-rw-r--r--lib-contact/ct-list/src/CtListModelFilter.h173
-rwxr-xr-xlib-contact/ct-list/src/CtListModelGroup.cpp419
-rwxr-xr-xlib-contact/ct-list/src/CtListModelGroup.h55
-rwxr-xr-xlib-contact/ct-list/src/CtListModelLinkSuggest.cpp495
-rw-r--r--lib-contact/ct-list/src/CtListModelLinkSuggest.h98
-rw-r--r--lib-contact/ct-list/src/CtListModelListener.h29
-rwxr-xr-xlib-contact/ct-list/src/CtListModelMergeContacts.cpp689
-rw-r--r--lib-contact/ct-list/src/CtListModelMergeContacts.h100
-rwxr-xr-xlib-contact/ct-list/src/CtListModelVcard.cpp283
-rw-r--r--lib-contact/ct-list/src/CtListModelVcard.h93
-rw-r--r--lib-contact/ct-list/src/CtListUgMultiPickController.cpp903
-rw-r--r--lib-contact/ct-list/src/CtListUgMultiPickController.h93
-rwxr-xr-xlib-contact/ct-list/src/CtListUgSinglePickController.cpp394
-rw-r--r--lib-contact/ct-list/src/CtListUgSinglePickController.h77
-rw-r--r--lib-contact/ct-list/src/CtListUgVcardViewController.cpp136
-rw-r--r--lib-contact/ct-list/src/CtListUgVcardViewController.h68
-rwxr-xr-xlib-contact/ct-list/src/CtListView.cpp3858
-rw-r--r--lib-contact/ct-list/src/CtNumberPopup.cpp87
-rw-r--r--lib-contact/ct-list/src/CtNumberPopup.h50
-rw-r--r--lib-contact/ct-setting/.cproject516
-rw-r--r--lib-contact/ct-setting/.project43
-rw-r--r--lib-contact/ct-setting/.tproject11
-rwxr-xr-xlib-contact/ct-setting/CMakeLists.txt24
-rw-r--r--lib-contact/ct-setting/inc/CtSettingDataListener.h31
-rw-r--r--lib-contact/ct-setting/inc/CtSettingView.h76
-rw-r--r--lib-contact/ct-setting/src/CtSettingData.cpp412
-rw-r--r--lib-contact/ct-setting/src/CtSettingData.h115
-rw-r--r--lib-contact/ct-setting/src/CtSettingPopup.cpp145
-rw-r--r--lib-contact/ct-setting/src/CtSettingPopup.h64
-rw-r--r--lib-contact/ct-setting/src/CtSettingRadioPopup.cpp151
-rw-r--r--lib-contact/ct-setting/src/CtSettingRadioPopup.h57
-rw-r--r--lib-contact/ct-setting/src/CtSettingView.cpp503
-rw-r--r--lib-contact/ct-tab/.cproject516
-rw-r--r--lib-contact/ct-tab/.project45
-rw-r--r--lib-contact/ct-tab/.tproject11
-rwxr-xr-xlib-contact/ct-tab/CMakeLists.txt27
-rwxr-xr-xlib-contact/ct-tab/inc/CtTabView.h95
-rwxr-xr-xlib-contact/ct-tab/src/CtTabView.cpp445
-rw-r--r--lib-contact/ct-vcard/CMakeLists.txt20
-rw-r--r--lib-contact/ct-vcard/inc/CtContactsToVcard.h64
-rw-r--r--lib-contact/ct-vcard/inc/CtVcardCommon.h31
-rw-r--r--lib-contact/ct-vcard/src/CtContactsToVcard.cpp166
-rwxr-xr-xlib-phone/CMakeLists.txt6
-rw-r--r--lib-phone/ph-common/.cproject519
-rw-r--r--lib-phone/ph-common/.project43
-rw-r--r--lib-phone/ph-common/.tproject11
-rwxr-xr-xlib-phone/ph-common/CMakeLists.txt18
-rwxr-xr-xlib-phone/ph-common/inc/PhCommon.h78
-rw-r--r--lib-phone/ph-common/inc/PhDbListener.h28
-rwxr-xr-xlib-phone/ph-common/inc/PhPath.h57
-rw-r--r--lib-phone/ph-common/inc/PhStrings.h432
-rwxr-xr-xlib-phone/ph-common/src/PhCommon.cpp273
-rw-r--r--lib-phone/ph-dialer/.cproject594
-rw-r--r--lib-phone/ph-dialer/.project43
-rw-r--r--lib-phone/ph-dialer/.tproject11
-rwxr-xr-xlib-phone/ph-dialer/CMakeLists.txt26
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerAddToContactsPopup.h42
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerEntry.h67
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerKey.h68
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerResultListPopup.h49
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerSearchController.h84
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerSpeeddialPopup.h39
-rw-r--r--lib-phone/ph-dialer/inc/PhDialerView.h89
-rw-r--r--lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumber.h82
-rw-r--r--lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumberTypes.h39
-rw-r--r--lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumberUtils.h70
-rw-r--r--lib-phone/ph-dialer/inc/predictive-number/PhDialerSearchInfo.h117
-rw-r--r--lib-phone/ph-dialer/res/edje/CMakeLists.txt30
-rw-r--r--lib-phone/ph-dialer/res/edje/PhDialerLayout.h83
-rw-r--r--lib-phone/ph-dialer/res/edje/PhDialerLayoutColors.h100
-rw-r--r--lib-phone/ph-dialer/res/edje/PhDialerLayoutMetrics.h78
-rw-r--r--lib-phone/ph-dialer/res/edje/ph-dialer-keypad.edc153
-rw-r--r--lib-phone/ph-dialer/res/edje/ph-dialer-layout.edc118
-rw-r--r--lib-phone/ph-dialer/res/edje/ph-dialer-predictive.edc388
-rw-r--r--lib-phone/ph-dialer/res/images/contacts_caller_id_default_02.pngbin0 -> 2782 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/contacts_caller_id_default_bg_02.pngbin0 -> 2400 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/contacts_caller_id_default_masking_02.pngbin0 -> 2400 bytes
-rwxr-xr-xlib-phone/ph-dialer/res/images/default_contact.pngbin0 -> 2162 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_01.pngbin0 -> 1627 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_02.pngbin0 -> 1347 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_03.pngbin0 -> 1356 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_04.pngbin0 -> 1385 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_05.pngbin0 -> 1620 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_06.pngbin0 -> 1766 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_07.pngbin0 -> 1452 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_08.pngbin0 -> 1751 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_english_10.pngbin0 -> 1152 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_ic_back.pngbin0 -> 4017 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_ic_call.pngbin0 -> 2172 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_00.pngbin0 -> 1719 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_01.pngbin0 -> 1267 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_02.pngbin0 -> 1602 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_03.pngbin0 -> 1587 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_04.pngbin0 -> 1449 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_05.pngbin0 -> 1606 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_06.pngbin0 -> 1755 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_07.pngbin0 -> 1419 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_08.pngbin0 -> 1831 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_09.pngbin0 -> 1760 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_asterisk.pngbin0 -> 1573 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_number_sharp.pngbin0 -> 1507 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_predictive_arrow.pngbin0 -> 1340 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_speed_dial_add.pngbin0 -> 1225 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_speed_dial_ic.pngbin0 -> 1230 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/keypad_speed_dial_ic_bg.#.pngbin0 -> 1667 bytes
-rw-r--r--lib-phone/ph-dialer/res/images/predictive_results_mask.pngbin0 -> 3219 bytes
-rw-r--r--lib-phone/ph-dialer/src/PhDialerAddToContactsPopup.cpp98
-rw-r--r--lib-phone/ph-dialer/src/PhDialerEntry.cpp89
-rw-r--r--lib-phone/ph-dialer/src/PhDialerKey.cpp108
-rw-r--r--lib-phone/ph-dialer/src/PhDialerResultListPopup.cpp126
-rw-r--r--lib-phone/ph-dialer/src/PhDialerSearchController.cpp210
-rw-r--r--lib-phone/ph-dialer/src/PhDialerSpeeddialPopup.cpp81
-rw-r--r--lib-phone/ph-dialer/src/PhDialerView.cpp392
-rw-r--r--lib-phone/ph-dialer/src/predictive-number/PhDialerPredictiveNumber.cpp223
-rw-r--r--lib-phone/ph-dialer/src/predictive-number/PhDialerPredictiveNumberUtils.cpp219
-rw-r--r--lib-phone/ph-dialer/src/predictive-number/PhDialerSearchInfo.cpp157
-rw-r--r--lib-phone/ph-loglist/.cproject569
-rw-r--r--lib-phone/ph-loglist/.project43
-rw-r--r--lib-phone/ph-loglist/.tproject11
-rwxr-xr-xlib-phone/ph-loglist/CMakeLists.txt26
-rwxr-xr-xlib-phone/ph-loglist/icu/PhLogIcu.cpp319
-rwxr-xr-xlib-phone/ph-loglist/icu/PhLogIcu.h58
-rwxr-xr-xlib-phone/ph-loglist/inc/PhLogDbMgr.h99
-rwxr-xr-xlib-phone/ph-loglist/inc/PhLogGenlistHelper.h109
-rwxr-xr-xlib-phone/ph-loglist/inc/PhLogListView.h64
-rwxr-xr-xlib-phone/ph-loglist/inc/PhLogMainListCheckView.h96
-rwxr-xr-xlib-phone/ph-loglist/inc/PhLogMainListView.h99
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDbMgr.cpp663
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDefines.h104
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDetailButtonInfoControl.cpp128
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDetailButtonInfoControl.h52
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDetailCheckView.cpp541
-rw-r--r--lib-phone/ph-loglist/src/PhLogDetailCheckView.h75
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDetailContactInfoControl.cpp111
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDetailContactInfoControl.h59
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogDetailView.cpp364
-rw-r--r--lib-phone/ph-loglist/src/PhLogDetailView.h71
-rw-r--r--lib-phone/ph-loglist/src/PhLogDropDownCtxPopup.cpp84
-rw-r--r--lib-phone/ph-loglist/src/PhLogDropDownCtxPopup.h51
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogGenlistHelper.cpp352
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogListView.cpp155
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogMainListCheckView.cpp745
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogMainListView.cpp834
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogUtil.cpp607
-rwxr-xr-xlib-phone/ph-loglist/src/PhLogUtil.h61
-rw-r--r--lib-phone/ph-speeddial/.cproject594
-rw-r--r--lib-phone/ph-speeddial/.project43
-rw-r--r--lib-phone/ph-speeddial/.tproject11
-rwxr-xr-xlib-phone/ph-speeddial/CMakeLists.txt23
-rw-r--r--lib-phone/ph-speeddial/inc/PhSpeedDialItem.h60
-rw-r--r--lib-phone/ph-speeddial/inc/PhSpeedDialView.h43
-rw-r--r--lib-phone/ph-speeddial/res/edje/CMakeLists.txt12
-rw-r--r--lib-phone/ph-speeddial/res/edje/PhSpeedDialLayout.h36
-rw-r--r--lib-phone/ph-speeddial/res/edje/PhSpeedDialLayoutMetrics.h43
-rw-r--r--lib-phone/ph-speeddial/res/edje/ph-speeddial-layout.edc235
-rw-r--r--lib-phone/ph-speeddial/res/images/keypad_speed_dial_add.pngbin0 -> 1225 bytes
-rw-r--r--lib-phone/ph-speeddial/res/images/keypad_speed_dial_bg.pngbin0 -> 4203 bytes
-rw-r--r--lib-phone/ph-speeddial/res/images/keypad_speed_dial_del.pngbin0 -> 2993 bytes
-rw-r--r--lib-phone/ph-speeddial/src/PhSpeedDialItem.cpp174
-rw-r--r--lib-phone/ph-speeddial/src/PhSpeedDialView.cpp108
-rwxr-xr-xlib/CMakeLists.txt179
-rw-r--r--lib/common/Database/Database.cpp195
-rw-r--r--lib/common/Database/Database.h96
-rw-r--r--lib/common/Database/Listener.h54
-rw-r--r--lib/common/Front.cpp27
-rw-r--r--lib/common/Ui/Genlist/Genlist.cpp56
-rw-r--r--lib/common/Ui/Genlist/Item.cpp92
-rw-r--r--lib/common/Ui/Genlist/include/Genlist.h57
-rw-r--r--lib/common/Ui/Genlist/include/Item.h123
-rw-r--r--lib/common/Ui/Widget.cpp50
-rw-r--r--lib/common/Ui/include/Widget.h56
-rw-r--r--lib/common/Utils/NonCopyable.cpp34
-rw-r--r--lib/common/Utils/Tracer.cpp55
-rw-r--r--lib/common/Utils/include/NonCopyable.h42
-rw-r--r--lib/common/Utils/include/SharedPtr.h176
-rw-r--r--lib/common/Utils/include/Tracer.h37
-rw-r--r--lib/common/View.cpp173
-rw-r--r--lib/common/ViewData.cpp28
-rw-r--r--lib/common/ViewManager.cpp190
-rw-r--r--lib/common/ct-group-assign-popup.cpp431
-rwxr-xr-xlib/common/ct-group-input-view.cpp1653
-rwxr-xr-xlib/common/ct-list-detail.cpp631
-rwxr-xr-xlib/common/ct-list-view-common.cpp5523
-rw-r--r--lib/common/include/Contact.h49
-rw-r--r--lib/common/include/Front.h45
-rw-r--r--lib/common/include/View.h95
-rw-r--r--lib/common/include/ViewData.h50
-rw-r--r--lib/common/include/ViewManager.h104
-rw-r--r--lib/common/include/ct-group-assign-popup.h37
-rwxr-xr-xlib/common/include/ct-group.h30
-rw-r--r--lib/common/include/ct-list-view-common.h36
-rwxr-xr-xlib/common/include/phone-common.h1181
-rwxr-xr-xlib/common/include/phone-path.h137
-rwxr-xr-xlib/common/include/phone-text.h382
-rwxr-xr-xlib/common/include/phone.h123
-rwxr-xr-xlib/common/ph-common.cpp3667
-rwxr-xr-xlib/common/ph-detail-log.cpp530
-rwxr-xr-xlib/common/ph-dialer-speed.cpp187
-rwxr-xr-xlib/common/ph-text.cpp390
-rw-r--r--lib/common/ui/genlist/genlist.cpp31
-rw-r--r--lib/common/ui/genlist/genlist.h31
-rw-r--r--lib/common/ui/genlist/item.cpp29
-rw-r--r--lib/common/ui/genlist/item.h46
-rwxr-xr-xlib/ct-front/CMakeLists.txt14
-rw-r--r--lib/ct-front/contacts-tabui-efl.xml29
-rwxr-xr-xlib/ct-front/ct-front-main.cpp229
-rwxr-xr-xlib/ct-front/ct-front-view.cpp749
-rwxr-xr-xlib/ct-front/ct-front-view.h23
-rwxr-xr-xlib/ct-front/include/ct-front.h58
-rwxr-xr-xlib/details/CMakeLists.txt24
-rw-r--r--lib/details/contacts-details-efl.xml41
-rwxr-xr-xlib/details/ct-detail-activity.cpp314
-rwxr-xr-xlib/details/ct-detail-activity.h26
-rwxr-xr-xlib/details/ct-detail-history.cpp1117
-rwxr-xr-xlib/details/ct-detail-history.h27
-rwxr-xr-xlib/details/ct-detail-main.cpp887
-rwxr-xr-xlib/details/ct-detail-utils.cpp2748
-rwxr-xr-xlib/details/ct-detail-utils.h97
-rw-r--r--lib/details/ct-detail-vibration-popup.cpp267
-rw-r--r--lib/details/ct-detail-vibration-popup.h41
-rw-r--r--lib/details/ct-detail-vibration.cpp66
-rw-r--r--lib/details/ct-detail-vibration.h34
-rwxr-xr-xlib/details/ct-detail-view.cpp3783
-rwxr-xr-xlib/details/ct-detail-view.h47
-rwxr-xr-xlib/details/ct-image-viewer.cpp430
-rwxr-xr-xlib/details/ct-image-viewer.h26
-rwxr-xr-xlib/details/ct-input-change-name.cpp202
-rwxr-xr-xlib/details/ct-input-change-name.h26
-rwxr-xr-xlib/details/ct-input-num-email.cpp1327
-rwxr-xr-xlib/details/ct-input-num-email.h25
-rwxr-xr-xlib/details/ct-input-utils.cpp1762
-rwxr-xr-xlib/details/ct-input-utils.h78
-rwxr-xr-xlib/details/ct-input-view.cpp3836
-rwxr-xr-xlib/details/ct-input-view.h33
-rwxr-xr-xlib/details/ct-share-info-ug.cpp1129
-rwxr-xr-xlib/details/include/ct-detail.h39
-rwxr-xr-xlib/dialer/CMakeLists.txt24
-rw-r--r--lib/dialer/KeypadTouchManager.cpp339
-rw-r--r--lib/dialer/Search/ContactData.cpp63
-rw-r--r--lib/dialer/Search/ContactData.h63
-rw-r--r--lib/dialer/Search/ContactItem.cpp60
-rw-r--r--lib/dialer/Search/ContactItem.h54
-rw-r--r--lib/dialer/Search/ContactLogRecord.cpp125
-rw-r--r--lib/dialer/Search/ContactLogRecord.h67
-rw-r--r--lib/dialer/Search/ContactNumberRecord.cpp135
-rw-r--r--lib/dialer/Search/ContactNumberRecord.h58
-rw-r--r--lib/dialer/Search/Controller.cpp128
-rw-r--r--lib/dialer/Search/Controller.h76
-rw-r--r--lib/dialer/Search/DataProvider.h56
-rw-r--r--lib/dialer/Search/DbDataProvider.cpp327
-rw-r--r--lib/dialer/Search/DbDataProvider.h84
-rw-r--r--lib/dialer/Search/Engine.cpp265
-rw-r--r--lib/dialer/Search/Engine.h202
-rw-r--r--lib/dialer/Search/Result.cpp113
-rw-r--r--lib/dialer/Search/Result.h112
-rw-r--r--lib/dialer/Search/ResultItem.cpp95
-rw-r--r--lib/dialer/Search/ResultItem.h76
-rw-r--r--lib/dialer/Search/ResultPopup.cpp159
-rw-r--r--lib/dialer/Search/ResultPopup.h96
-rw-r--r--lib/dialer/Search/ResultWidget.cpp151
-rw-r--r--lib/dialer/Search/ResultWidget.h103
-rw-r--r--lib/dialer/dialer-efl.desktop.in10
-rw-r--r--lib/dialer/dialer-efl.xml29
-rw-r--r--lib/dialer/include/KeypadTouchManager.h94
-rwxr-xr-xlib/dialer/include/phone-dialer.h148
-rwxr-xr-xlib/dialer/ph-dialer-main.cpp238
-rwxr-xr-xlib/dialer/ph-dialer-search.cpp39
-rwxr-xr-xlib/dialer/ph-dialer-search.h31
-rwxr-xr-xlib/dialer/ph-dialer-tapi.cpp533
-rwxr-xr-xlib/dialer/ph-dialer-tapi.h29
-rwxr-xr-xlib/dialer/ph-dialer-utils.cpp966
-rwxr-xr-xlib/dialer/ph-dialer-utils.h100
-rwxr-xr-xlib/dialer/ph-dialer-view.cpp2174
-rwxr-xr-xlib/dialer/ph-dialer-view.h45
-rwxr-xr-xlib/edc/contact_button.edc91
-rwxr-xr-xlib/edc/contacts.edc19
-rw-r--r--lib/edc/detail_theme.edc1732
-rwxr-xr-xlib/edc/dialer.edc1744
-rwxr-xr-xlib/edc/dialer_btn.edc113
-rwxr-xr-xlib/edc/dialer_theme.edc387
-rwxr-xr-xlib/edc/favorites_theme.edc570
-rwxr-xr-xlib/edc/group_theme.edc962
-rwxr-xr-xlib/edc/image_layout.edc115
-rwxr-xr-xlib/edc/input_theme.edc767
-rwxr-xr-xlib/edc/list.edc170
-rwxr-xr-xlib/edc/list_theme.edc766
-rw-r--r--lib/edc/log_item_icon.edc75
-rwxr-xr-xlib/edc/logdetail_theme.edc1485
-rwxr-xr-xlib/edc/nocontent_layout.edc109
-rwxr-xr-xlib/edc/progress.edc191
-rwxr-xr-xlib/edc/selectioninfo.edc81
-rwxr-xr-xlib/edc/speeddial_theme.edc157
-rwxr-xr-xlib/favor/CMakeLists.txt9
-rwxr-xr-xlib/favor/include/ct-favor.h76
-rwxr-xr-xlib/favor/ph-favorite-edit-view.cpp606
-rwxr-xr-xlib/favor/ph-favorite-edit-view.h54
-rwxr-xr-xlib/favor/ph-favorite-view.cpp2772
-rwxr-xr-xlib/favor/ph-favorite-view.h30
-rwxr-xr-xlib/images/contact_images/00_Nocontents_picture.pngbin6530 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/00_check_checking.pngbin3165 -> 0 bytes
-rw-r--r--lib/images/contact_images/00_list_group_bg.pngbin4162 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_add-to-bookmarks.pngbin1478 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_add_account.pngbin3695 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_add_to_contact.pngbin4210 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_bluetooth_preview.pngbin1920 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_close.pngbin1076 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_exchangs_register.pngbin4517 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_groups.pngbin1195 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_more.pngbin3061 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_next.pngbin834 -> 0 bytes
-rw-r--r--lib/images/contact_images/01_controlbar_icon_previous.pngbin834 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_00.pngbin3058 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_01.pngbin3801 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_02.pngbin5247 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_03.pngbin4073 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_04.pngbin7110 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_default.pngbin7562 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_account_sim.pngbin3251 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_caller_id_icon_camera.pngbin12196 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_caller_id_icon_camera_dim.pngbin12030 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_caller_id_icon_camera_press.pngbin17168 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_caller_id_icon_gallery.pngbin12319 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_caller_id_icon_gallery_dim.pngbin12160 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_caller_id_icon_gallery_press.pngbin17179 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_circle_icon_call.pngbin5404 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_circle_icon_call_press.pngbin3763 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_circle_icon_sms.pngbin3875 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_circle_icon_sms_press.pngbin3311 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_circle_icon_vt-call.pngbin6726 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_circle_icon_vt-call_press.pngbin4260 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/C02_favorite_icon.pngbin3440 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_icon_add_group.pngbin7328 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_icon_favorite.pngbin5068 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_icon_favorite_on.pngbin5584 -> 0 bytes
-rw-r--r--lib/images/contact_images/C02_icon_reset.pngbin3399 -> 0 bytes
-rw-r--r--lib/images/contact_images/C04_icon_joyn.pngbin3866 -> 0 bytes
-rw-r--r--lib/images/contact_images/caller_ID_default_128x128.pngbin5099 -> 0 bytes
-rw-r--r--lib/images/contact_images/caller_ID_default_96x96.pngbin4500 -> 0 bytes
-rw-r--r--lib/images/contact_images/caller_ID_edit.pngbin5162 -> 0 bytes
-rwxr-xr-xlib/images/contact_images/email.pngbin5948 -> 0 bytes
-rw-r--r--lib/images/contact_images/message.pngbin6073 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_button_01.pngbin10879 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_button_01_dim.pngbin10879 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_button_01_press.pngbin13287 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_button_02.pngbin10941 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_button_02_dim.pngbin11006 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_button_02_press.pngbin14438 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_dialer_button_01_press.pngbin11587 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_call.pngbin3474 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_call_dim.pngbin4118 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_call_press.pngbin3474 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_delete.pngbin3564 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_expand_01.pngbin3062 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_expand_02.pngbin3007 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_message.pngbin4636 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_message_dim.pngbin3537 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_message_press.pngbin3694 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_video_call.pngbin5778 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_video_call_dim.pngbin5572 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_icon_video_call_press.pngbin4512 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_keypad_bg.pngbin84873 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_keypad_bg_reduction.pngbin7861 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_keypad_press.pngbin8381 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_search_bg_01.pngbin45741 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_search_bg_02.pngbin38978 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_search_field.pngbin3311 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_search_icon.pngbin5378 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_thumbnail_bg.pngbin10710 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/C01-3_title_divider.pngbin2812 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_00.pngbin4225 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_01.pngbin1984 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_02.pngbin3695 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_03.pngbin4293 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_04.pngbin2733 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_05.pngbin3951 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_06.pngbin4704 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_07.pngbin2786 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_08.pngbin4577 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_09.pngbin4648 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_asterisk.pngbin2922 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_auto_answer.pngbin3389 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_mute.pngbin3204 -> 0 bytes
-rwxr-xr-xlib/images/dialer_images/keypad/C01-3_keypad_number_sharp.pngbin3155 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/00_button_icon_expand_closed.pngbin3204 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/00_button_icon_expand_opened.pngbin3250 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/00_button_plus.pngbin3119 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_contacts.pngbin999 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_create.pngbin742 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_dialer.pngbin891 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_edit.pngbin1262 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_favorite.pngbin1136 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_logs.pngbin1476 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/01_controlbar_icon_save.pngbin1063 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_btn_icon_call_dim.pngbin3253 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_btn_icon_message_dim.pngbin3341 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_btn_icon_video_call_dim.pngbin3173 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_circle_button.pngbin13968 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_circle_button_press.pngbin15848 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_controlbar_icon_all.pngbin450 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_controlbar_icon_create.pngbin3625 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_controlbar_icon_delete.pngbin572 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_controlbar_icon_missed_call.pngbin774 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_controlbar_icon_view_block.pngbin4308 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_controlbar_icon_view_contacts.pngbin999 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_icon_Blocked(Auto-rejected).pngbin3237 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_icon_Blocked.pngbin4363 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_icon_call_blocked.pngbin978 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_icon_dialed.pngbin3055 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_icon_message_blocked.pngbin1423 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_icon_missed-call.pngbin3119 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_icon_received.pngbin3043 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_icon_rejected.pngbin3252 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-4_list_icon_call.pngbin3218 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_list_icon_mms.pngbin3355 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_list_icon_sms.pngbin3212 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C01-4_list_icon_vt-call.pngbin3094 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C01-5_icon_voicecall.pngbin3572 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_call.pngbin3361 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_call_dim.pngbin3357 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_call_press.pngbin3332 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_delete.pngbin3448 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_delete_dim.pngbin3379 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_delete_press.pngbin3448 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_message.pngbin3132 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_message_dim.pngbin3122 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_message_press.pngbin3139 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_videocall.pngbin3641 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_videocall_dim.pngbin3677 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_button_icon_videocall_press.pngbin3670 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_circle_icon_call.pngbin5191 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_circle_icon_call_press.pngbin3763 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_circle_icon_sms.pngbin3686 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_circle_icon_sms_press.pngbin3311 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_circle_icon_vt-call.pngbin6325 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/C02_circle_icon_vt-call_press.pngbin4260 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C02_icon_call.pngbin3294 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C02_icon_chat_on.pngbin3392 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C02_icon_filetransfer.pngbin3382 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C02_icon_message.pngbin3330 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/C02_icon_video_call.pngbin3159 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/caller_ID_default_70x70_man.pngbin5345 -> 0 bytes
-rwxr-xr-xlib/images/phoneug_images/camera_mode_shutter_icon.pngbin2249 -> 0 bytes
-rw-r--r--lib/images/phoneug_images/phone.pngbin8211 -> 0 bytes
-rwxr-xr-xlib/list/CMakeLists.txt18
-rw-r--r--lib/list/contacts-list-efl.xml35
-rwxr-xr-xlib/list/ct-group-edit-view.h23
-rwxr-xr-xlib/list/ct-group-view.cpp1696
-rwxr-xr-xlib/list/ct-list-contact-view.cpp1264
-rwxr-xr-xlib/list/ct-list-contact-view.h31
-rwxr-xr-xlib/list/ct-list-edit-view.cpp1102
-rwxr-xr-xlib/list/ct-list-edit-view.h45
-rwxr-xr-xlib/list/ct-list-main.cpp994
-rwxr-xr-xlib/list/ct-list-utils.cpp1153
-rwxr-xr-xlib/list/ct-list-utils.h59
-rwxr-xr-xlib/list/ct-list-view-ug.cpp888
-rwxr-xr-xlib/list/ct-list-view-ug.h31
-rwxr-xr-xlib/list/include/ct-list.h320
-rwxr-xr-xlib/log/CMakeLists.txt20
-rw-r--r--lib/log/CallDurationCounter.cpp121
-rw-r--r--lib/log/CallDurationCounter.h104
-rw-r--r--lib/log/CallDurationItem.cpp57
-rw-r--r--lib/log/CallDurationItem.h64
-rw-r--r--lib/log/CallDurationView.cpp153
-rw-r--r--lib/log/CallDurationView.h73
-rwxr-xr-xlib/log/include/phone-log.h105
-rwxr-xr-xlib/log/ph-log-check-view.cpp425
-rwxr-xr-xlib/log/ph-log-check-view.h37
-rwxr-xr-xlib/log/ph-log-detail-view.cpp1441
-rwxr-xr-xlib/log/ph-log-detail-view.h42
-rwxr-xr-xlib/log/ph-log-main-view.cpp2727
-rwxr-xr-xlib/log/ph-log-main-view.h51
-rwxr-xr-xlib/log/ph-log-main.cpp320
-rwxr-xr-xlib/log/ph-log-utils.cpp58
-rwxr-xr-xlib/log/ph-log-utils.h25
-rwxr-xr-xlib/ph-front/CMakeLists.txt14
-rwxr-xr-xlib/ph-front/include/ph-front.h64
-rwxr-xr-xlib/ph-front/ph-front-main.cpp205
-rwxr-xr-xlib/ph-front/ph-front-view.cpp670
-rwxr-xr-xlib/ph-front/ph-front-view.h23
-rw-r--r--lib/ph-front/phone-tabui-efl.xml29
-rwxr-xr-xlib/settings/CMakeLists.txt13
-rw-r--r--lib/settings/contacts-settings-efl.xml29
-rwxr-xr-xlib/settings/ct-setting-main.cpp155
-rwxr-xr-xlib/settings/ct-setting-view.cpp1627
-rwxr-xr-xlib/settings/ct-setting-view.h65
-rw-r--r--lib/settings/mfc_option0
-rwxr-xr-xlib/speed/CMakeLists.txt16
-rwxr-xr-xlib/speed/include/phone-speed.h25
-rwxr-xr-xlib/speed/ph-speeddial-main.cpp226
-rwxr-xr-xlib/speed/ph-speeddial-view.cpp724
-rwxr-xr-xlib/speed/ph-speeddial-view.h37
-rw-r--r--lib/speed/speeddial-efl.xml29
-rw-r--r--libug-phone-efl.manifest11
-rw-r--r--main-app/.cproject947
-rw-r--r--main-app/.exportMap4
-rw-r--r--main-app/.gitignore2
-rw-r--r--main-app/.project58
-rw-r--r--main-app/.sdk_delta.infobin0 -> 26791 bytes
-rw-r--r--main-app/.tproject11
-rw-r--r--main-app/CMakeLists.txt18
-rwxr-xr-xmain-app/NOTICE1
-rw-r--r--main-app/org.tizen.contacts.efl162
-rwxr-xr-xmain-app/org.tizen.contacts.manifest22
-rwxr-xr-xmain-app/org.tizen.contacts.pngbin0 -> 5401 bytes
-rwxr-xr-xmain-app/org.tizen.contacts.xml226
-rwxr-xr-xmain-app/org.tizen.phone.pngbin0 -> 6384 bytes
-rw-r--r--main-app/org.tizen.vcard-importer.manifest11
-rw-r--r--main-app/res/CMakeLists.txt4
-rw-r--r--main-app/res/edje/CMakeLists.txt94
-rw-r--r--main-app/res/edje/contacts/WVGA-inc.edc563
-rwxr-xr-xmain-app/res/edje/contacts/contacts.edc24
-rw-r--r--main-app/res/edje/contacts/detail_layout.edc349
-rwxr-xr-xmain-app/res/edje/contacts/genlist_extended_item.edc188
-rw-r--r--main-app/res/edje/contacts/genlist_macro.edc457
-rw-r--r--main-app/res/edje/contacts/image_layout.edc208
-rwxr-xr-xmain-app/res/edje/contacts/images/HD/contact_details_back_ic.pngbin0 -> 1096 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_btn_ic_Internet.pngbin0 -> 2424 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_btn_ic_call.pngbin0 -> 1859 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_btn_ic_email.pngbin0 -> 1914 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_btn_ic_message.pngbin0 -> 1780 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_btn_ic_multiple.pngbin0 -> 2277 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default.pngbin0 -> 4321 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_02.pngbin0 -> 2782 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_03.pngbin0 -> 6143 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg.pngbin0 -> 3679 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg_02.pngbin0 -> 2400 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg_03.pngbin0 -> 5088 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim.pngbin0 -> 3679 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim_02.pngbin0 -> 2400 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim_03.pngbin0 -> 5059 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking.pngbin0 -> 3679 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking_02.pngbin0 -> 2400 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking_03.pngbin0 -> 5059 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_call.pngbin0 -> 1813 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_email.pngbin0 -> 1897 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_more.pngbin0 -> 1364 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_note.pngbin0 -> 1334 bytes
-rw-r--r--main-app/res/edje/contacts/images/HD/core_floating_icon_01.pngbin0 -> 2963 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/common_images/logs_default_90.pngbin0 -> 2162 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_Nocontents_picture.pngbin0 -> 20051 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01.pngbin0 -> 2880 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg.#.pngbin0 -> 2871 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_dim_ef.#.pngbin0 -> 2878 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_ef.#.pngbin0 -> 2877 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_focus.#.pngbin0 -> 2878 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_dim.pngbin0 -> 2880 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_focus.pngbin0 -> 2869 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_press.pngbin0 -> 2864 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_circle_thumbnail_bg.pngbin0 -> 4304 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_circle_thumbnail_bg_press.pngbin0 -> 4282 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_focus_01.pngbin0 -> 2824 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_group_index_bg.pngbin0 -> 2848 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_icon_call.pngbin0 -> 2299 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_icon_message.pngbin0 -> 1951 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg.#.pngbin0 -> 2876 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg.pngbin0 -> 2841 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom.#.pngbin0 -> 2861 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom.pngbin0 -> 2834 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom_press.pngbin0 -> 2834 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center.#.pngbin0 -> 2858 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center.pngbin0 -> 2834 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center_press.pngbin0 -> 2834 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_press.pngbin0 -> 2841 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top.#.pngbin0 -> 2864 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top.pngbin0 -> 2841 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top_press.pngbin0 -> 2841 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_swipe_left.pngbin0 -> 9165 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_swipe_right.pngbin0 -> 9185 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_02_bg.pngbin0 -> 3306 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg.#.pngbin0 -> 1129 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg_ef.#.pngbin0 -> 1644 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg_line.#.pngbin0 -> 1123 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_bottom.pngbin0 -> 3779 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_left.pngbin0 -> 3620 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_right.pngbin0 -> 3631 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top.pngbin0 -> 1298 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top_ef.pngbin0 -> 1342 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top_line.pngbin0 -> 1377 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_list_press.pngbin0 -> 2811 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_search_bg.pngbin0 -> 2828 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_search_icon.pngbin0 -> 3548 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_title_bg.pngbin0 -> 2857 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-3_field_btn_clear.pngbin0 -> 3279 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-3_search_icon.pngbin0 -> 1841 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_add_button.pngbin0 -> 3411 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_big.pngbin0 -> 6890 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_big_press.pngbin0 -> 7462 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_small.pngbin0 -> 6777 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_small_press.pngbin0 -> 7381 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_bg.pngbin0 -> 1007 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete.pngbin0 -> 1033 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete_bg.pngbin0 -> 1216 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete_ef.pngbin0 -> 1385 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_icon_add_account.pngbin0 -> 1188 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_h.pngbin0 -> 1195 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_icon.pngbin0 -> 959 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_icon_h.pngbin0 -> 963 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button.png (renamed from lib/images/contact_images/C02_circle_button.png)bin13968 -> 13968 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg.pngbin0 -> 1710 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg_ef.pngbin0 -> 2034 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg_press_ef.pngbin0 -> 2043 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg.pngbin0 -> 1681 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg_ef.pngbin0 -> 1955 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg_press_ef.pngbin0 -> 1965 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call.pngbin0 -> 5738 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_02.pngbin0 -> 5637 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_02_press.pngbin0 -> 5694 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_press.pngbin0 -> 5811 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_press.png (renamed from lib/images/contact_images/C02_circle_button_press.png)bin15848 -> 15848 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms.pngbin0 -> 5833 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_02.pngbin0 -> 5691 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_02_press.pngbin0 -> 5729 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_press.pngbin0 -> 5897 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_dialogue_circle_thumbnail_bg.pngbin0 -> 4306 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_dialogue_circle_thumbnail_bg_press.pngbin0 -> 4282 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_edit_default_blue.pngbin0 -> 5214 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_edit_default_blue_h.pngbin0 -> 3185 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_no_contacts.pngbin0 -> 6598 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_no_contacts_default.pngbin0 -> 3183 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_search_button_icon_add.pngbin0 -> 989 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_search_button_icon_add_press.pngbin0 -> 2922 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_thumbnail_icon_call.pngbin0 -> 3437 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/T01-1_divider_P.pngbin0 -> 2939 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/contacts_caller_id_default_dim.pngbin0 -> 3139 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_center.pngbin0 -> 4019 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left.pngbin0 -> 3917 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_01.pngbin0 -> 3827 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_01_reversed.pngbin0 -> 3907 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_reversed.pngbin0 -> 3863 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right.pngbin0 -> 3907 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_01.pngbin0 -> 3863 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_01_reversed.pngbin0 -> 3917 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_reversed.pngbin0 -> 3827 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/core_pattern_empty_bg.pngbin0 -> 20850 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_edc_images/core_pattern_empty_bg_h.pngbin0 -> 16384 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/C02_icon_phone.pngbin0 -> 1065 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contact_details_back_ic.pngbin0 -> 1096 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_badge_bg.pngbin0 -> 1307 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_call.pngbin0 -> 1481 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_email.pngbin0 -> 1508 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_more.pngbin0 -> 1092 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_note.pngbin0 -> 1105 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default.pngbin0 -> 4126 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_02.pngbin0 -> 2546 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_bg.pngbin0 -> 3125 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_bg_02.pngbin0 -> 1948 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_masking.pngbin0 -> 3139 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_masking_02.pngbin0 -> 2121 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_49.pngbin0 -> 1765 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_90.pngbin0 -> 2162 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_108.pngbin0 -> 2682 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_49.pngbin0 -> 1550 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_90.pngbin0 -> 2195 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_ic_linked.pngbin0 -> 1105 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_ic_multiple.pngbin0 -> 1893 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_Internet.pngbin0 -> 1994 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_badgel.pngbin0 -> 1207 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_call.pngbin0 -> 1481 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_call_1.pngbin0 -> 3360 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_close.pngbin0 -> 1189 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_delete.pngbin0 -> 3075 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_email.pngbin0 -> 1508 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_email_1.pngbin0 -> 3479 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_link.pngbin0 -> 1663 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_message.pngbin0 -> 1413 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_message_1.pngbin0 -> 3286 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_open.pngbin0 -> 1193 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_sim_container.pngbin0 -> 2936 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_videocall.pngbin0 -> 1269 bytes
-rw-r--r--main-app/res/edje/contacts/images/WVGA/contact_images/contacts_sim_bg.pngbin0 -> 3406 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/favorites_icon_remove.PNGbin0 -> 2837 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_badge_container.pngbin0 -> 3148 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_blocked.pngbin0 -> 3242 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_1.pngbin0 -> 1204 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_1_46.pngbin0 -> 1331 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_2.pngbin0 -> 3231 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_2_46.pngbin0 -> 1600 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_container.pngbin0 -> 1113 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_data.pngbin0 -> 3193 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_data_46.pngbin0 -> 1604 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_default_ic.pngbin0 -> 2918 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_heart.pngbin0 -> 1373 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_heart_46.pngbin0 -> 1615 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_home.pngbin0 -> 1318 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_home_46.pngbin0 -> 1366 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_internet.pngbin0 -> 1717 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_internet_46.pngbin0 -> 1986 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_office.pngbin0 -> 1275 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_office_46.pngbin0 -> 1309 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_phone.pngbin0 -> 1476 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_phone_46.pngbin0 -> 1678 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_sms.pngbin0 -> 1257 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_sms_46.pngbin0 -> 1373 bytes
-rwxr-xr-xmain-app/res/edje/contacts/images/WVGA/contact_images/noti_contact_default.pngbin0 -> 1498 bytes
-rw-r--r--main-app/res/edje/contacts/input_theme.edc385
-rwxr-xr-xmain-app/res/edje/contacts/list.edc218
-rw-r--r--main-app/res/edje/contacts/loading_popup.edc108
-rw-r--r--main-app/res/edje/contacts/progressbar_popup.edc99
-rw-r--r--main-app/res/edje/contacts/settings_layout.edc650
-rwxr-xr-xmain-app/res/edje/contacts/sounds/S_Touch_30ms.wavbin0 -> 24740 bytes
-rwxr-xr-xmain-app/res/edje/contacts/sounds/Tizen_Touch.wavbin0 -> 7668 bytes
-rwxr-xr-xmain-app/res/edje/contacts/sounds/button-pressed.wavbin0 -> 24740 bytes
-rw-r--r--main-app/res/edje/phone/ColorClasses.h47
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/common_images/keypad_emergency_bg_circle.pngbin0 -> 2614 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/common_images/keypad_speed_dial_bg.pngbin0 -> 2903 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/common_images/keypad_speed_dial_id.pngbin0 -> 3648 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/common_images/logs_default_masking_134.pngbin0 -> 3137 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/common_images/logs_id_default_bg_74.pngbin0 -> 2110 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/contact_images/C02_circle_add_button_icon.pngbin0 -> 959 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_default_49.pngbin0 -> 1765 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_default_90.pngbin0 -> 2162 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_default_masking_49.pngbin0 -> 1550 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_default_masking_90.pngbin0 -> 2195 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_badgel.pngbin0 -> 1536 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_block_01.pngbin0 -> 3031 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_block_02.PNGbin0 -> 3036 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_call.pngbin0 -> 3139 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_delete.pngbin0 -> 3075 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_email.pngbin0 -> 3081 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_message.pngbin0 -> 3011 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/contact_images/favorites_icon_remove.PNGbin0 -> 2837 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/Log_carrier_ef.pngbin0 -> 3310 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/Log_carrier_ic.pngbin0 -> 3180 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/contacts_default_134.pngbin0 -> 3991 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/contacts_default_74.pngbin0 -> 2539 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/logs_address.pngbin0 -> 1313 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/logs_default_masking_134.pngbin0 -> 3137 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/logs_details_back_ic.pngbin0 -> 1096 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_badge_container_02.pngbin0 -> 1637 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_call.PNGbin0 -> 3486 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/logs_icon_call_02.pngbin0 -> 3235 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_call_message.PNGbin0 -> 3431 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_in.pngbin0 -> 1150 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_info.pngbin0 -> 1235 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_info_bg.pngbin0 -> 1658 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_missed.pngbin0 -> 1348 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_out.pngbin0 -> 1177 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_reject.pngbin0 -> 1606 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_icon_reject_auto.pngbin0 -> 1685 bytes
-rw-r--r--main-app/res/edje/phone/images/WVGA/log_images/logs_id_default_bg_74.pngbin0 -> 1948 bytes
-rwxr-xr-xmain-app/res/edje/phone/images/WVGA/log_images/logs_sim_bg.pngbin0 -> 3406 bytes
-rwxr-xr-xmain-app/res/edje/phone/ph-loglist.edc772
-rwxr-xr-xmain-app/res/edje/phone/portrait.edc56
-rwxr-xr-xmain-app/res/edje/phone/sounds/button-pressed.wavbin0 -> 24740 bytes
-rwxr-xr-xmain-app/res/po/CMakeLists.txt24
-rw-r--r--main-app/res/po/ar.po1221
-rw-r--r--main-app/res/po/az.po1221
-rw-r--r--main-app/res/po/bg.po1221
-rw-r--r--main-app/res/po/ca.po1221
-rw-r--r--main-app/res/po/cs.po1221
-rw-r--r--main-app/res/po/da.po1221
-rw-r--r--main-app/res/po/de.po1221
-rw-r--r--main-app/res/po/el_GR.po1221
-rw-r--r--main-app/res/po/en.po1221
-rw-r--r--main-app/res/po/en_PH.po1221
-rw-r--r--main-app/res/po/en_US.po1221
-rw-r--r--main-app/res/po/es_ES.po1221
-rw-r--r--main-app/res/po/es_US.po1221
-rw-r--r--main-app/res/po/et.po1221
-rw-r--r--main-app/res/po/eu.po1221
-rw-r--r--main-app/res/po/fi.po1221
-rw-r--r--main-app/res/po/fr.po1221
-rw-r--r--main-app/res/po/fr_CA.po1221
-rw-r--r--main-app/res/po/ga.po1221
-rw-r--r--main-app/res/po/gl.po1221
-rw-r--r--main-app/res/po/hi.po1221
-rw-r--r--main-app/res/po/hr.po1221
-rw-r--r--main-app/res/po/hu.po1221
-rw-r--r--main-app/res/po/hy.po1221
-rw-r--r--main-app/res/po/is.po1221
-rw-r--r--main-app/res/po/it_IT.po1221
-rw-r--r--main-app/res/po/ja_JP.po1221
-rw-r--r--main-app/res/po/ka.po1221
-rw-r--r--main-app/res/po/kk.po1221
-rw-r--r--main-app/res/po/kk.po~1224
-rw-r--r--main-app/res/po/ko_KR.po1221
-rw-r--r--main-app/res/po/lt.po1221
-rw-r--r--main-app/res/po/lv.po1221
-rw-r--r--main-app/res/po/mk.po1221
-rw-r--r--main-app/res/po/nb.po1221
-rw-r--r--main-app/res/po/nl.po1221
-rw-r--r--main-app/res/po/pl.po1221
-rw-r--r--main-app/res/po/pt_BR.po1221
-rw-r--r--main-app/res/po/pt_PT.po1221
-rw-r--r--main-app/res/po/ro.po1221
-rw-r--r--main-app/res/po/ru_RU.po1221
-rw-r--r--main-app/res/po/sk.po1221
-rw-r--r--main-app/res/po/sl.po1221
-rw-r--r--main-app/res/po/sr.po1221
-rw-r--r--main-app/res/po/sv.po1221
-rw-r--r--main-app/res/po/tr_TR.po1221
-rw-r--r--main-app/res/po/uk.po1221
-rw-r--r--main-app/res/po/uz.po1221
-rw-r--r--main-app/res/po/zh_CN.po1221
-rw-r--r--main-app/res/po/zh_HK.po1221
-rw-r--r--main-app/res/po/zh_TW.po1221
-rwxr-xr-x[-rw-r--r--]main-app/res/temp (renamed from lib/details/base_addrbook)0
-rwxr-xr-xmain-app/src/CMakeLists.txt47
-rwxr-xr-xmain-app/src/ContactsApp.cpp329
-rwxr-xr-xmain-app/src/ContactsApp.h65
-rwxr-xr-xmain-app/src/ContactsAppData.cpp48
-rwxr-xr-xmain-app/src/ContactsAppData.h43
-rw-r--r--main-app/src/PreferenceInitializer.cpp85
-rwxr-xr-xmain-app/src/main.cpp30
-rw-r--r--main-app/tizen-manifest.xml15
-rw-r--r--org.tizen.contacts-appservice.manifest12
-rw-r--r--org.tizen.contacts-appservice.rule215
-rw-r--r--org.tizen.contacts-viewer.manifest13
-rw-r--r--org.tizen.contacts-viewer.rule215
-rw-r--r--org.tizen.contacts.manifest14
-rw-r--r--org.tizen.contacts.rule217
-rw-r--r--org.tizen.dialer.manifest12
-rw-r--r--org.tizen.phone.manifest13
-rw-r--r--org.tizen.phone.rule222
-rwxr-xr-xpackaging/phone-contacts.spec139
-rw-r--r--packaging/phone.changes3
-rwxr-xr-xpackaging/phone.spec212
-rw-r--r--phone/CMakeLists.txt13
-rw-r--r--phone/icon_phone.pngbin57662 -> 0 bytes
-rwxr-xr-xphone/org.tizen.phone.xml69
-rwxr-xr-xphone/phone.cpp354
-rwxr-xr-xpo/CMakeLists.txt23
-rwxr-xr-xpo/POTFILES.in2
-rw-r--r--po/ar.po1769
-rw-r--r--po/az.po1770
-rw-r--r--po/bg.po1772
-rw-r--r--po/ca.po1772
-rw-r--r--po/cs.po1770
-rw-r--r--po/da.po1770
-rw-r--r--po/de_DE.po1772
-rw-r--r--po/el_GR.po1773
-rw-r--r--po/en.po1766
-rw-r--r--po/en_PH.po1769
-rw-r--r--po/en_US.po1767
-rw-r--r--po/es_ES.po1771
-rw-r--r--po/es_US.po1759
-rw-r--r--po/et.po1770
-rw-r--r--po/eu.po1770
-rw-r--r--po/fi.po1772
-rw-r--r--po/fr_CA.po1768
-rw-r--r--po/fr_FR.po1770
-rw-r--r--po/ga.po1772
-rw-r--r--po/gl.po1770
-rw-r--r--po/hi.po1769
-rw-r--r--po/hr.po1769
-rw-r--r--po/hu.po1772
-rw-r--r--po/hy.po1770
-rw-r--r--po/is.po1768
-rw-r--r--po/it_IT.po1778
-rw-r--r--po/ja_JP.po1769
-rw-r--r--po/ka.po1771
-rw-r--r--po/kk.po1770
-rw-r--r--po/ko_KR.po1768
-rw-r--r--po/lt.po1770
-rw-r--r--po/lv.po1770
-rw-r--r--po/mk.po1770
-rw-r--r--po/nb.po1770
-rw-r--r--po/nl_NL.po1770
-rw-r--r--po/phone.pot771
-rw-r--r--po/pl.po1770
-rwxr-xr-xpo/poManager141
-rw-r--r--po/pt_BR.po1770
-rw-r--r--po/pt_PT.po1772
-rw-r--r--po/ro.po1770
-rw-r--r--po/ru_RU.po1772
-rw-r--r--po/sk.po1770
-rw-r--r--po/sl.po1770
-rw-r--r--po/sr.po1770
-rw-r--r--po/sv.po1770
-rw-r--r--po/tr_TR.po1772
-rw-r--r--po/uk.po1769
-rwxr-xr-xpo/update-po.sh59
-rw-r--r--po/uz.po1768
-rw-r--r--po/zh_CN.po1765
-rw-r--r--po/zh_HK.po1765
-rw-r--r--po/zh_SG.po1765
-rw-r--r--po/zh_TW.po1765
-rwxr-xr-xscripts/install.sh23
-rwxr-xr-xscripts/pull_binaries.sh8
-rwxr-xr-xscripts/push.sh28
-rwxr-xr-xscripts/run.sh3
-rwxr-xr-xstring_header_extractor.sh41
-rw-r--r--test/CMakeLists.txt14
-rw-r--r--test/ReadMe.txt5
-rw-r--r--test/common.cpp22
-rw-r--r--widget/.cproject743
-rw-r--r--widget/.exportMap4
-rw-r--r--widget/.project62
-rw-r--r--widget/.tproject11
-rw-r--r--widget/CMakeLists.txt34
-rw-r--r--widget/inc/Widget.h79
-rw-r--r--widget/inc/WidgetApp.h38
-rw-r--r--widget/inc/WidgetDatabase.h86
-rw-r--r--widget/inc/WidgetGengridItem.h79
-rw-r--r--widget/inc/WidgetItem.h117
-rw-r--r--widget/inc/WidgetItemType.h28
-rw-r--r--widget/inc/WidgetItems.h118
-rw-r--r--widget/res/edje/CMakeLists.txt28
-rw-r--r--widget/res/edje/WidgetItemLayout.h41
-rw-r--r--widget/res/edje/WidgetItemLayoutMetrics.h43
-rw-r--r--widget/res/edje/WidgetLayout.h42
-rw-r--r--widget/res/edje/WidgetLayoutMetrics.h42
-rw-r--r--widget/res/edje/widget-item-layout.edc195
-rw-r--r--widget/res/edje/widget-layout-4x2.edc23
-rw-r--r--widget/res/edje/widget-layout-4x4.edc23
-rw-r--r--widget/res/edje/widget-layout.edc182
-rw-r--r--widget/res/images/button_add.pngbin0 -> 2663 bytes
-rw-r--r--widget/res/images/button_add_pressed.pngbin0 -> 2815 bytes
-rw-r--r--widget/res/images/button_delete.pngbin0 -> 3548 bytes
-rw-r--r--widget/res/images/button_delete_pressed.pngbin0 -> 3457 bytes
-rw-r--r--widget/res/images/icon_call.pngbin0 -> 2680 bytes
-rw-r--r--widget/res/images/icon_email.pngbin0 -> 2748 bytes
-rw-r--r--widget/res/images/icon_message.pngbin0 -> 2475 bytes
-rw-r--r--widget/res/images/nocontacts_bg.#.pngbin0 -> 1127 bytes
-rw-r--r--widget/res/images/nocontacts_bg_stroke.#.pngbin0 -> 1171 bytes
-rw-r--r--widget/res/images/preview_4x2.pngbin0 -> 21974 bytes
-rw-r--r--widget/res/images/preview_4x4.pngbin0 -> 59575 bytes
-rw-r--r--widget/res/images/thumbnail_mask.pngbin0 -> 2400 bytes
-rw-r--r--widget/src/Widget.cpp314
-rw-r--r--widget/src/WidgetApp.cpp56
-rw-r--r--widget/src/WidgetDatabase.cpp184
-rw-r--r--widget/src/WidgetGengridItem.cpp196
-rw-r--r--widget/src/WidgetItem.cpp207
-rw-r--r--widget/src/WidgetItems.cpp181
-rw-r--r--widget/src/main.cpp23
-rw-r--r--widget/tizen-manifest.xml8
1168 files changed, 139953 insertions, 170128 deletions
diff --git a/.cproject b/.cproject
new file mode 100644
index 0000000..7d08505
--- /dev/null
+++ b/.cproject
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="0.45125170">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="0.45125170" moduleId="org.eclipse.cdt.core.settings" name="Default">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration buildProperties="" description="" id="0.45125170" name="Default" parent="org.eclipse.cdt.build.core.prefbase.cfg">
+ <folderInfo id="0.45125170." name="/" resourcePath="">
+ <toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.820685269" name="No ToolChain" resourceTypeBasedDiscovery="false" superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
+ <targetPlatform id="org.eclipse.cdt.build.core.prefbase.toolchain.820685269.1866264763" name=""/>
+ <builder id="org.eclipse.cdt.build.core.settings.default.builder.41690722" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.libs.1919899097" name="holder for library settings" superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.2132586909" name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.931649649" languageId="org.eclipse.cdt.core.assembly" languageName="Assembly" sourceContentType="org.eclipse.cdt.core.asmSource" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+ </tool>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.925357596" name="GNU C++" superClass="org.eclipse.cdt.build.core.settings.holder">
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1209314687" languageId="org.eclipse.cdt.core.g++" languageName="GNU C++" sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+ </tool>
+ <tool id="org.eclipse.cdt.build.core.settings.holder.1658933219" name="GNU C" superClass="org.eclipse.cdt.build.core.settings.holder">
+ <inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1075342648" languageId="org.eclipse.cdt.core.gcc" languageName="GNU C" sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader" superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+ </tool>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="phone-contacts.null.1587155441" name="phone-contacts"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="0.45125170">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="refreshScope"/>
+</cproject>
diff --git a/.gitignore b/.gitignore
index a8d7270..1beeb4e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,41 @@
-/debugenv
+### SDK IDE generated files and folder ###
+Debug/
+Release/
+SA_Report/
+##########################################
+
+### Build objects, libraries and executables ###
+*.edj
+*.mo
+*.a
+*.so
+*.so.*
+main-app/src/contacts
+vcard-importer/vcard-importer
+#################################################
+
+### GBS Artifact ###
+CMakeCache.txt
+CMakeFiles
+Makefile
+cmake_install.cmake
+install_manifest.txt
+*.list
+build*.txt
+.metadata/
+#####################
+
+### Build scripts ###
+build*
+deploy*
+install.sh
+run.sh
+#####################
+
+### Etc ###
+/.sdb.devicemap
+.xml
+.sign/
+crash-info/
+*~
+##############
diff --git a/.project b/.project
new file mode 100644
index 0000000..35188c6
--- /dev/null
+++ b/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>phone-contacts</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+</projectDescription>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 67e6b56..c4fb1bd 100755..100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,101 +1,61 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(phone CXX)
+PROJECT(contacts C CXX)
-SET(VENDOR "tizen")
-SET(PACKAGE ${PROJECT_NAME})
-SET(PKGNAME "org.${VENDOR}.${PACKAGE}")
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
-SET(BINDIR "${PREFIX}/bin")
-SET(RESDIR "${PREFIX}/res")
-SET(DATADIR "${PREFIX}/data")
-SET(LOCALEDIR "/usr/ug/res/locale")
-SET(EDC_SRC_DIR "${CMAKE_SOURCE_DIR}/lib/edc")
-SET(EDJDIR "/usr/ug/res/edje/ug-${PACKAGE}")
-SET(IMGDIR "/usr/ug/res/images/ug-${PACKAGE}")
-SET(VERSION_MAJOR 0)
-SET(VERSION "${VERSION_MAJOR}.6.63.29")
+SET(CMAKE_INSTALL_RPATH ${CMAKE_APP_LIB_DIR})
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
-SET(CMAKE_SKIP_BUILD_RPATH FALSE)
-SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
-SET(CMAKE_INSTALL_RPATH "/usr/ug/lib")
-SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
+SET(CTIMGDIR "/usr/ug/res/images/ug-phone/contacts")
+SET(CTHDIMGDIR "/usr/apps/org.tizen.contacts/res/images/contacts")
+SET(CMAKE_APP_BIN_DIR "${CMAKE_APP_HOME_DIR}/bin")
+SET(CMAKE_APP_LIB_DIR "${CMAKE_APP_HOME_DIR}/lib")
+SET(CMAKE_APP_RES_DIR "${CMAKE_APP_HOME_DIR}/res")
-IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
- SET(CMAKE_BUILD_TYPE "Release")
-ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
-MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
-
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED
- appcore-efl
- ui-gadget-1
- contacts-service2
- ecore-x
- evas
- ecore
- ecore-input
- edje
- eina
- syspopup-caller
- capi-appfw-application
- capi-system-runtime-info
- accounts-svc
- capi-content-media-content
- capi-appfw-app-manager
- capi-system-info
- notification
- badge
- efl-assist
- icu-i18n
-)
-
-FOREACH(flag ${pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -fvisibility=hidden")
-SET(CMAKE_CXX_FLAGS_DEBUG "")
-SET(CMAKE_CXX_FLAGS_RELEASE "")
-
-SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--hash-style=both -Wl,--as-needed")
-SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--hash-style=both -Wl,--as-needed")
+ADD_DEFINITIONS("-DRESDIR=\"${CMAKE_APP_RES_DIR}/\"")
+ADD_DEFINITIONS("-DTIZEN_DEBUG_ENABLE")
FIND_PROGRAM(UNAME NAMES uname)
EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
-IF("${ARCH}" STREQUAL "arm")
- ADD_DEFINITIONS("-DTARGET")
- MESSAGE("add -DTARGET")
-ENDIF("${ARCH}" STREQUAL "arm")
-
-ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
-ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
-ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
-ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
-ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
-ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
-ADD_DEFINITIONS("-DIMGDIR=\"${IMGDIR}\"")
-ADD_DEFINITIONS("-DUGDATADIR=\"${UGDATADIR}\"")
-
-INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/lib/images/phoneug_images/ DESTINATION ${IMGDIR})
-INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/lib/images/contact_images/ DESTINATION ${IMGDIR})
-INSTALL(DIRECTORY DESTINATION ${DATADIR})
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.phone.rule DESTINATION /opt/etc/smack/accesses.d)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.contacts.rule DESTINATION /opt/etc/smack/accesses.d)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.contacts-viewer.rule DESTINATION /opt/etc/smack/accesses.d)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.contacts-appservice.rule DESTINATION /opt/etc/smack/accesses.d)
+IF("${ARCH}" STREQUAL "armv7l")
+ ADD_DEFINITIONS("-DTARGET")
+ SET(CMAKE_C_FLAGS_RELEASE "-mabi=aapcs-linux -O2")
+ENDIF("${ARCH}" STREQUAL "armv7l")
+IF(_ENABLE_HD)
+ ADD_DEFINITIONS("-D_HD_")
+ELSE(_ENABLE_HD)
+ ADD_DEFINITIONS("-D_WVGA_")
+ENDIF(_ENABLE_HD)
-ADD_SUBDIRECTORY(lib)
-ADD_SUBDIRECTORY(phone)
-ADD_SUBDIRECTORY(contacts)
-ADD_SUBDIRECTORY(contacts-viewer)
-ADD_SUBDIRECTORY(contacts-appservice)
-
-# i18n
-ADD_SUBDIRECTORY(po)
+INCLUDE(FindPkgConfig)
+pkg_check_modules(TIZEN_PKGS REQUIRED
+ accounts-svc
+ badge
+ capi-appfw-application
+ capi-appfw-preference
+ capi-base-utils-i18n
+ capi-media-metadata-extractor
+ capi-system-system-settings
+ capi-system-info
+ capi-telephony
+ capi-ui-efl-util
+ contacts-service2
+ dlog
+ efl-extension
+ elementary
+ feedback
+ libxml-2.0
+ msg-service
+ notification
+ storage
+)
-#test
-#if(DEFINED TEST)
-# add_subdirectory(test)
-#endif(DEFINED TEST)
+INCLUDE_DIRECTORIES(${TIZEN_PKGS_INCLUDE_DIRS})
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wno-format-extra-args -fPIC -std=c++0x")
+
+# Add your submodule directory name
+ADD_SUBDIRECTORY(app-assist-efl)
+ADD_SUBDIRECTORY(app-control)
+ADD_SUBDIRECTORY(lib-common)
+ADD_SUBDIRECTORY(lib-contact)
+ADD_SUBDIRECTORY(lib-phone)
+ADD_SUBDIRECTORY(main-app)
+ADD_SUBDIRECTORY(widget)
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/LICENSE.flora b/LICENSE.flora
deleted file mode 100644
index 571fe79..0000000
--- a/LICENSE.flora
+++ /dev/null
@@ -1,206 +0,0 @@
-Flora License
-
-Version 1.1, April, 2013
-
-http://floralicense.org/license/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction,
-and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by
-the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and
-all other entities that control, are controlled by, or are
-under common control with that entity. For the purposes of
-this definition, "control" means (i) the power, direct or indirect,
-to cause the direction or management of such entity,
-whether by contract or otherwise, or (ii) ownership of fifty percent (50%)
-or more of the outstanding shares, or (iii) beneficial ownership of
-such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity
-exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications,
-including but not limited to software source code, documentation source,
-and configuration files.
-
-"Object" form shall mean any form resulting from mechanical
-transformation or translation of a Source form, including but
-not limited to compiled object code, generated documentation,
-and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form,
-made available under the License, as indicated by a copyright notice
-that is included in or attached to the work (an example is provided
-in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form,
-that is based on (or derived from) the Work and for which the editorial
-revisions, annotations, elaborations, or other modifications represent,
-as a whole, an original work of authorship. For the purposes of this License,
-Derivative Works shall not include works that remain separable from,
-or merely link (or bind by name) to the interfaces of, the Work and
-Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original
-version of the Work and any modifications or additions to that Work or
-Derivative Works thereof, that is intentionally submitted to Licensor
-for inclusion in the Work by the copyright owner or by an individual or
-Legal Entity authorized to submit on behalf of the copyright owner.
-For the purposes of this definition, "submitted" means any form of
-electronic, verbal, or written communication sent to the Licensor or
-its representatives, including but not limited to communication on
-electronic mailing lists, source code control systems, and issue
-tracking systems that are managed by, or on behalf of, the Licensor
-for the purpose of discussing and improving the Work, but excluding
-communication that is conspicuously marked or otherwise designated
-in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity
-on behalf of whom a Contribution has been received by Licensor and
-subsequently incorporated within the Work.
-
-"Tizen Certified Platform" shall mean a software platform that complies
-with the standards set forth in the Tizen Compliance Specification
-and passes the Tizen Compliance Tests as defined from time to time
-by the Tizen Technical Steering Group and certified by the Tizen
-Association or its designated agent.
-
-2. Grant of Copyright License. Subject to the terms and conditions of
-this License, each Contributor hereby grants to You a perpetual,
-worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-copyright license to reproduce, prepare Derivative Works of,
-publicly display, publicly perform, sublicense, and distribute the
-Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of
-this License, each Contributor hereby grants to You a perpetual,
-worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-(except as stated in this section) patent license to make, have made,
-use, offer to sell, sell, import, and otherwise transfer the Work
-solely as incorporated into a Tizen Certified Platform, where such
-license applies only to those patent claims licensable by such
-Contributor that are necessarily infringed by their Contribution(s)
-alone or by combination of their Contribution(s) with the Work solely
-as incorporated into a Tizen Certified Platform to which such
-Contribution(s) was submitted. If You institute patent litigation
-against any entity (including a cross-claim or counterclaim
-in a lawsuit) alleging that the Work or a Contribution incorporated
-within the Work constitutes direct or contributory patent infringement,
-then any patent licenses granted to You under this License for that
-Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the
-Work or Derivative Works thereof pursuant to the copyright license
-above, in any medium, with or without modifications, and in Source or
-Object form, provided that You meet the following conditions:
-
- 1. You must give any other recipients of the Work or Derivative Works
- a copy of this License; and
- 2. You must cause any modified files to carry prominent notices stating
- that You changed the files; and
- 3. You must retain, in the Source form of any Derivative Works that
- You distribute, all copyright, patent, trademark, and attribution
- notices from the Source form of the Work, excluding those notices
- that do not pertain to any part of the Derivative Works; and
- 4. If the Work includes a "NOTICE" text file as part of its distribution,
- then any Derivative Works that You distribute must include a readable
- copy of the attribution notices contained within such NOTICE file,
- excluding those notices that do not pertain to any part of
- the Derivative Works, in at least one of the following places:
- within a NOTICE text file distributed as part of the Derivative Works;
- within the Source form or documentation, if provided along with the
- Derivative Works; or, within a display generated by the Derivative Works,
- if and wherever such third-party notices normally appear.
- The contents of the NOTICE file are for informational purposes only
- and do not modify the License. You may add Your own attribution notices
- within Derivative Works that You distribute, alongside or as an addendum
- to the NOTICE text from the Work, provided that such additional attribution
- notices cannot be construed as modifying the License. You may add Your own
- copyright statement to Your modifications and may provide additional or
- different license terms and conditions for use, reproduction, or
- distribution of Your modifications, or for any such Derivative Works
- as a whole, provided Your use, reproduction, and distribution of
- the Work otherwise complies with the conditions stated in this License
- and your own copyright statement or terms and conditions do not conflict
- the conditions stated in the License including section 3.
-
-5. Submission of Contributions. Unless You explicitly state otherwise,
-any Contribution intentionally submitted for inclusion in the Work
-by You to the Licensor shall be under the terms and conditions of
-this License, without any additional terms or conditions.
-Notwithstanding the above, nothing herein shall supersede or modify
-the terms of any separate license agreement you may have executed
-with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade
-names, trademarks, service marks, or product names of the Licensor,
-except as required for reasonable and customary use in describing the
-origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or
-agreed to in writing, Licensor provides the Work (and each
-Contributor provides its Contributions) on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-implied, including, without limitation, any warranties or conditions
-of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-PARTICULAR PURPOSE. You are solely responsible for determining the
-appropriateness of using or redistributing the Work and assume any
-risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory,
-whether in tort (including negligence), contract, or otherwise,
-unless required by applicable law (such as deliberate and grossly
-negligent acts) or agreed to in writing, shall any Contributor be
-liable to You for damages, including any direct, indirect, special,
-incidental, or consequential damages of any character arising as a
-result of this License or out of the use or inability to use the
-Work (including but not limited to damages for loss of goodwill,
-work stoppage, computer failure or malfunction, or any and all
-other commercial damages or losses), even if such Contributor
-has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing
-the Work or Derivative Works thereof, You may choose to offer,
-and charge a fee for, acceptance of support, warranty, indemnity,
-or other liability obligations and/or rights consistent with this
-License. However, in accepting such obligations, You may act only
-on Your own behalf and on Your sole responsibility, not on behalf
-of any other Contributor, and only if You agree to indemnify,
-defend, and hold each Contributor harmless for any liability
-incurred by, or claims asserted against, such Contributor by reason
-of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
-
-APPENDIX: How to apply the Flora License to your work
-
-To apply the Flora License to your work, attach the following
-boilerplate notice, with the fields enclosed by brackets "[]"
-replaced with your own identifying information. (Don't include
-the brackets!) The text should be enclosed in the appropriate
-comment syntax for the file format. We also recommend that a
-file or class name and description of purpose be included on the
-same "printed page" as the copyright notice for easier
-identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Flora License, Version 1.1 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://floralicense.org/license/
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
diff --git a/NOTICE b/NOTICE
deleted file mode 100755
index f93330b..0000000
--- a/NOTICE
+++ /dev/null
@@ -1,3 +0,0 @@
-Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
-Except as noted, this software is licensed under Flora License, Version 1.1.
-Please, see the LICENSE.flora file for Flora License, Version 1.1 terms and conditions.
diff --git a/app-assist-efl/.cproject b/app-assist-efl/.cproject
new file mode 100644
index 0000000..489d437
--- /dev/null
+++ b/app-assist-efl/.cproject
@@ -0,0 +1,762 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1479890222">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1479890222" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="app-assist-efl" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1479890222" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug" postbuildStep="">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1479890222." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1809661410" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.700415398" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/app-assist-efl}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.1781941374" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.2100231966" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="i386-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.515069997" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1957511746" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.162890996" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1156717384" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.debug.applog.core.1900277377" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.cpp.compiler.option.debug.applog.core" value="true" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1925700105" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.811088064" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.566585099" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1031367310" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1218533936" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1541074955" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1642673192" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.2130060578"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.466428088" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="i386-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.2108050295" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1793298835" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1687687506" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1209298370" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.debug.applog.core.737520636" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.c.compiler.option.debug.applog.core" value="true" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.342963043" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.2068706660" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1016558717" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.2062713910" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1632500267" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.565654082" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1069850318"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.642829039" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1015418985" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="i386-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1642843905" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1223343003" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.894213278" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1106776402" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.2014477710" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.337689214" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.831508475" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1379790601" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1333545040" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1917004717" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.618606024" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.734476741" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.891828318" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1909796253" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="app-assist-efl" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.1245812764" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1305306048" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/app-assist-efl}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.2115359646" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.896061081" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="arm-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.2067469840" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1737827530" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.449044761" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.731085185" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.debug.applog.core.1850797463" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.cpp.compiler.option.debug.applog.core"/>
+ <option id="sbi.gnu.cpp.compiler.option.732784856" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-device.core_gcc46.armel.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.929661489" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.699466942" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.988389134" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1395623942" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1428138808" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1733115308" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.dialect.std.1429699180" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.344894687"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1014547970" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="arm-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1120587149" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1783537781" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.781023832" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1844351258" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.debug.applog.core.837566097" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.c.compiler.option.debug.applog.core"/>
+ <option id="sbi.gnu.c.compiler.option.489740700" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-device.core_gcc46.armel.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.442035256" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.557356192" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.518646921" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.256253676" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.2097654305"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1010361758" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1241521476" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="arm-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1558545236" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.296614269" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1101910416" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1124191605" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1383888585" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.706760508" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1129862590" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.738549901" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1169541105" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1233743886" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.2754701" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1969085440" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.190875568" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729.740375878">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729.740375878" moduleId="org.eclipse.cdt.core.settings" name="Rel_UG_DISABLE">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="app-assist-efl" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="Ug feature is disabled" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729.740375878" name="Rel_UG_DISABLE" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729.740375878." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.1341698324" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1776137126" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/app-assist-efl}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1041750587" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.90756775" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="arm-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.467255847" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1725071036" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1357097008" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1864133769" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.debug.applog.core.1850797463.1196234121" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.cpp.compiler.option.debug.applog.core"/>
+ <option id="sbi.gnu.cpp.compiler.option.632564819" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-device.core_gcc46.armel.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.795349570" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1642789016" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1386373909" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.762953237" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1645754573" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.86355271" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="_UG_DISABLE"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.344894687.340232177"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.2034895624" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="arm-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.2051511326" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1017482372" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.143630050" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1881860258" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.debug.applog.core.837566097.551319745" name="Enable application logging (-D_APP_LOG)" superClass="sbi.gnu.c.compiler.option.debug.applog.core"/>
+ <option id="sbi.gnu.c.compiler.option.1121578773" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-device.core_gcc46.armel.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.517627068" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2039410330" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.288964278" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1936391826" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.2097654305.1630833513"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.2147443274" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.330116118" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="arm-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1481926836" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.759696018" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1234181192" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1836970248" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1972865000" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1724747744" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1326471928" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.143766964" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1689002930" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1725491064" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1710231872" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1737661213" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1755209749" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="app-assist-efl.org.tizen.nativecore.target.sbi.gcc45.so.381493098" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.742133729">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.1479890222">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/app-assist-efl"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/app-assist-efl"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/app-assist-efl/.gitignore b/app-assist-efl/.gitignore
new file mode 100644
index 0000000..951192e
--- /dev/null
+++ b/app-assist-efl/.gitignore
@@ -0,0 +1,4 @@
+/Debug
+/Release
+/SA_Report
+/Rel_UG_DISABLE
diff --git a/app-assist-efl/.project b/app-assist-efl/.project
new file mode 100644
index 0000000..4304b1f
--- /dev/null
+++ b/app-assist-efl/.project
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>app-assist-efl</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>0</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/app-assist-efl/.tproject b/app-assist-efl/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/app-assist-efl/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/app-assist-efl/CMakeLists.txt b/app-assist-efl/CMakeLists.txt
new file mode 100755
index 0000000..e7e79e6
--- /dev/null
+++ b/app-assist-efl/CMakeLists.txt
@@ -0,0 +1,16 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(app-assist-efl CXX)
+
+FILE(GLOB SRCS "src/*.cpp")
+
+pkg_check_modules(TIZEN_WIDGET_PKGS REQUIRED
+ capi-appfw-widget-application
+)
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/inc ${TIZEN_WIDGET_PKGS_INCLUDE_DIRS})
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS} ${TIZEN_WIDGET_PKGS_LDFLAGS})
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_LIB_DIR})
+
+## comment out the following line to reduce resource size, if page view and sample view are not used
+ADD_SUBDIRECTORY(res)
diff --git a/app-assist-efl/inc/IWUiObject.h b/app-assist-efl/inc/IWUiObject.h
new file mode 100644
index 0000000..37b3661
--- /dev/null
+++ b/app-assist-efl/inc/IWUiObject.h
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _IWUI_OBJECT_H_
+#define _IWUI_OBJECT_H_
+
+#include <Evas.h>
+#include <memory>
+#include "WDefine.h"
+
+class IWUiObject;
+
+typedef std::weak_ptr<IWUiObject> WUiObjectPtr;
+/**
+* @class IWUiObject
+* @brief This class is the interface class of the view related class
+*
+* The %IWUiObject manages an evas object.
+*/
+class WAPP_ASSIST_EXPORT IWUiObject
+{
+public:
+ /**
+ * Creates evas object linked to this instance.
+ *
+ * @param[in] parent
+ * @param[in] param
+ *
+ * @return true if succeed.
+ */
+ virtual bool create(Evas_Object* parent, void* param )=0;
+
+ /**
+ * Destroys this class instance and deletes evas object.
+ *
+ */
+ virtual void destroy()=0;
+
+ /**
+ * Gets the evas object created.
+ *
+ * @return evas object created
+ */
+ virtual Evas_Object* getEvasObj()=0;
+
+
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~IWUiObject(){};
+
+ //
+
+};
+
+#endif /* _IWUI_OBJECT_H_ */
diff --git a/app-assist-efl/inc/WApp.h b/app-assist-efl/inc/WApp.h
new file mode 100644
index 0000000..b7b407e
--- /dev/null
+++ b/app-assist-efl/inc/WApp.h
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#ifndef _WAPP_H_
+#define _WAPP_H_
+
+#include <app.h>
+#include "WWindow.h"
+#include "WDefine.h"
+
+/**
+* @class WApp
+* @brief This class is the base class of an application
+*
+*
+* The %WApp class is the base class of an application. An application class must be inherited from this class
+* @code
+*
+* // main.cpp
+* WAPP_ASSIST_EXPORT int main( int argc, char* argv[] )
+* {
+* MyApp app;
+* int ret = app.start( argc, argv );
+* return ret;
+* }
+* @endcode
+*/
+class WAPP_ASSIST_EXPORT WApp
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WApp();
+
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WApp();
+
+public:
+ /**
+ * Starts the application.
+ *
+ * @param[in] argc The argument count
+ * @param[in] argv The argument vector
+ *
+ * @return result
+ */
+ int start( int argc, char* argv[] );
+
+protected:
+ /**
+ * Called when the application started
+ *
+ * @param[in] argc The argument count
+ * @param[in] argv The argument vector
+ *
+ * @return result
+ */
+ virtual int onStart( int argc, char* argv[] );
+
+ /**
+ * Called when the application created
+ *
+ * @return true if the application created successfully, else false
+ */
+ virtual bool onCreate(){return true;};
+
+ /**
+ * Called when the application is terminated.
+ *
+ */
+ virtual void onTerminate(){};
+
+ /**
+ * Called when the application is paused.
+ *
+ */
+ virtual void onPause(){};
+
+ /**
+ * Called when the application is resumed.
+ *
+ */
+ virtual void onResume(){};
+
+ /**
+ * Called when some request comes to the application
+ *
+ * @param[in] request handle of request information
+ * @param[in] firstLaunch true, if it is called after creation
+ */
+ virtual void onAppControl(app_control_h request, bool firstLaunch );
+
+ /**
+ * Gets the window class instance of the application.
+ *
+ * @return The pointer to the window
+ */
+ WWindow* getWindow();
+
+ /**
+ * Attaches a window to the application.
+ *
+ * @param[in] win A pointer to the window to attach
+ * @return true if the window attached sucessfully, else false
+ */
+ bool attachWindow(WWindow* win);
+
+protected:
+ WDECLARE_PRIVATE_IMPL(WApp);
+ WDISABLE_COPY_AND_ASSIGN(WApp);
+ WApp(__WAppImpl*);
+};
+
+#endif /* _WAPP_H_ */
diff --git a/app-assist-efl/inc/WAppEventHandler.h b/app-assist-efl/inc/WAppEventHandler.h
new file mode 100644
index 0000000..2ff7785
--- /dev/null
+++ b/app-assist-efl/inc/WAppEventHandler.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WAPP_EVENT_HANDLER_H_
+#define _WAPP_EVENT_HANDLER_H_
+
+#include <functional>
+#include <app.h>
+#include "WDefine.h"
+
+/**
+* @class WAppEventHandler
+* @brief This class is
+*
+*/
+class WAPP_ASSIST_EXPORT WAppEventHandler
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WAppEventHandler();
+
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WAppEventHandler();
+
+public:
+ /**
+ * Adds application event handler of event type.
+ *
+ * @param[in] eventType event type to be handled
+ * @param[in] handlerFunc The pointer to handler function
+ * @param[in] userData user data pointer to be used in handler function
+ *
+ * @return 0 on success, otherwise error
+ */
+ int addEventHandler( app_event_type_e eventType, const std::function<void (app_event_info_h eventInfo, void* userData)>& handlerFunc, void* userData );
+ /**
+ * Removes application event handler
+ *
+ */
+ void removeEventHandler();
+
+protected:
+ /**
+ * Returns the handle of added event handler
+ *
+ * @return the handle
+ *
+ * @see addEventHandler()
+ */
+ app_event_handler_h getHandle();
+
+private:
+ WDECLARE_PRIVATE_IMPL(WAppEventHandler);
+ WDISABLE_COPY_AND_ASSIGN(WAppEventHandler);
+
+};
+
+#endif /* _WAPP_EVENT_HANDLER_H_ */
diff --git a/app-assist-efl/inc/WAppWindow.h b/app-assist-efl/inc/WAppWindow.h
new file mode 100644
index 0000000..e062859
--- /dev/null
+++ b/app-assist-efl/inc/WAppWindow.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WAPP_WINDOW_H_
+#define _WAPP_WINDOW_H_
+
+#include "WWindow.h"
+
+/**
+ * @class WAppWindow
+ * @brief This class is managing main application window and base layout.
+ */
+class WAPP_ASSIST_EXPORT WAppWindow : public WWindow
+{
+ public:
+ /**
+ * Constructor
+ * Initializes this instance of WWindow with the specified value.
+ *
+ * @param[in] name The window name
+ * @param[in] winType The type of the window
+ */
+ WAppWindow(const char* name, Elm_Win_Type winType);
+
+ /**
+ * @see WWindow::getClassName()
+ */
+ virtual const char* getClassName() const;
+
+ /**
+ * Gets the window name
+ *
+ * @return The name of the window
+ */
+ const char* getName() const;
+
+ /**
+ * Gets the type of the window
+ *
+ * @return The type of the window
+ */
+ Elm_Win_Type getWinType() const;
+
+ protected:
+ /**
+ * @see WWindow::doCreate()
+ */
+ virtual Evas_Object* doCreate(Evas_Object*& win, Evas_Object*& conf, Evas_Object*& layout);
+};
+
+#endif /* _WAPP_WINDOW_H_ */
diff --git a/app-assist-efl/inc/WButton.h b/app-assist-efl/inc/WButton.h
new file mode 100644
index 0000000..8c72884
--- /dev/null
+++ b/app-assist-efl/inc/WButton.h
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WBUTTON_H_
+#define _WBUTTON_H_
+
+#include "WControl.h"
+#include <functional>
+
+/**
+* @class WButton
+* @brief Button adaptor class
+*
+*
+* The %WButton class provides convenient press and longpress events handling.
+*/
+class WAPP_ASSIST_EXPORT WButton : public WControl
+{
+public:
+ WButton();
+ ~WButton();
+
+ /**
+ * @see WControl::create()
+ */
+ virtual bool create(Evas_Object *parent, void *param);
+
+ /**
+ * @see WControl::getClassName()
+ */
+ const char *getClassName();
+
+ /**
+ * @brief Set press-event callback.
+ */
+ void setOnPressed(std::function<void(WButton&)> callback);
+
+ /**
+ * @brief Set longpress-event callback.
+ * @details Callback should return true if the event was handled.
+ * If callback returns false onPressed event will be delivered
+ * as well when the button is released.
+ */
+ void setOnLongpressed(std::function<bool(WButton&)> callback);
+
+private:
+ virtual Evas_Object *onCreate(Evas_Object *parent, void *param);
+
+ WDISABLE_COPY_AND_ASSIGN(WButton);
+ WDECLARE_PRIVATE_IMPL(WButton);
+};
+
+#endif /* _WBUTTON_H_ */
diff --git a/app-assist-efl/inc/WControl.h b/app-assist-efl/inc/WControl.h
new file mode 100644
index 0000000..a983aba
--- /dev/null
+++ b/app-assist-efl/inc/WControl.h
@@ -0,0 +1,196 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WCONTROL_H_
+#define _WCONTROL_H_
+
+#include <functional>
+#include <memory>
+#include <Evas.h>
+#include "IWUiObject.h"
+
+/**
+* @class WControl
+* @brief This class is the UI control class linked with one evas object.
+*
+*
+* The %WControl is the abstract class managing an evas object
+*/
+class WAPP_ASSIST_EXPORT WControl : public IWUiObject
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WControl();
+ /**
+ * Gets class name
+ *
+ * @return The class name
+ */
+ virtual const char* getClassName();
+public:
+
+ /**
+ * Initializes and creates the control. onCreate will be called subsequently
+ *
+ * @param[in] parent parent evas object
+ * @param[in] param user data
+ *
+ * @return result
+ * @see onCreate()
+ */
+ virtual bool create(Evas_Object* parent, void* param );
+
+ /**
+ * Destroys the control. The linked evas object will be delete together.
+ * "onDestroy" will be called subsequently.
+ *
+ * @see onDestroy()
+ */
+ virtual void destroy();
+
+ /**
+ * Gets evas object of this class.
+ *
+ * @return The pointer to evas object
+ */
+ Evas_Object* getEvasObj();
+
+ /**
+ * Gets evas object of this class for read-only reference.
+ *
+ * @return The read-only pointer to evas object
+ */
+ const Evas_Object* getConstEvasObj() const;
+
+ /**
+ * Sets the name of the instance.
+ *
+ * @param[in] name blash
+ */
+ void setName( const char* name);
+
+ /**
+ * Gets the name of the instance.
+ *
+ * @return The control name
+ */
+ const char* getName();
+ /**
+ * Returns weak pointer of this instance to refer it safe.
+ *
+ * @return weak pointer of this class instance
+ */
+ WUiObjectPtr getWeakPtr();
+
+ /**
+ * Attaches popup to the control.It means that it binds them to have same life-time.
+ * Internally create method of the pop-up will be called, if it is not yet created.
+ * If previous pop-up exists, it will be destroyed.
+ *
+ * @param[in] popup pop-up instance pointer to be attached
+ *
+ * @see destroyPopup()
+ */
+ void attachPopup( WControl* popup );
+
+ /**
+ * Attaches popup to the control and hides popup. Pointer of popup will not
+ * be saved and you should delete the instance by your self.
+ * Internally create method of the pop-up will be called, if it is not yet created.
+ * If previous pop-up exists, it will be showed.
+ *
+ * @param[in] popup pop-up instance pointer to be attached
+ *
+ */
+ void attachHiddenPopup( WControl *popup );
+ /**
+ * Destroys pop-up. Use this method when you want to destroy pop-up explicitly.
+ * Pop-up will be deleted when the control is deleted, although this method is not called.
+ *
+ * @see attachPopup()
+ */
+ void destroyPopup();
+
+ /**
+ * Sets the handler function pointer to override virtual function onCreate without defining a new inherited class.
+ * If it is set, onCreate method will not be called.
+ *
+ * @param[in] handlerFunc The pointer to handler function
+ * @see onCreate()
+ */
+ void setOnCreate( const std::function<Evas_Object* (Evas_Object*, void*)>& handlerFunc );
+
+ /**
+ * Sets the handler function pointer to be called when view is being destoyed.
+ *
+ * @param[in] handlerFunc The pointer to handler function
+ * @see onDestroy()
+ */
+ void setOnDestroy( const std::function<void ()>& handlerFunc );
+
+
+protected:
+ /**
+ * Override this method to create evas object of this WControl class.
+ *
+ * @param[in] parent the parent evas object
+ * @param[in] param user parameter
+ *
+ * @return The pointer to evas object created, which should be the most parent evas object among them created in this method.
+ * @see create()
+ * @see onCreated()
+ */
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* param ) = 0;
+ /**
+ * Override this method to do something after evas object is created.
+ *
+ * @see create()
+ * @see onCreate()
+ */
+ virtual void onCreated(){};
+ /**
+ * Override this method to do something on this instance deletion.
+ *
+ * @see destroy()
+ */
+ virtual void onDestroy(){};
+
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WControl();
+
+private:
+ WDECLARE_PRIVATE_IMPL(WControl);
+ WDISABLE_COPY_AND_ASSIGN(WControl);
+
+};
+/**
+ * Gets the class instance from evas object
+ *
+ * @param[in] obj evas object
+ *
+ * @return The pointer to WControl class instance. It will be NULL, if no instance is related.
+ */
+WAPP_ASSIST_EXPORT WControl* WControl_getInstanceFromEvasObj( Evas_Object* obj );
+
+#endif /* _WCONTROL_H_ */
diff --git a/app-assist-efl/inc/WDebugBase.h b/app-assist-efl/inc/WDebugBase.h
new file mode 100644
index 0000000..6df8c1a
--- /dev/null
+++ b/app-assist-efl/inc/WDebugBase.h
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WDEBUG_H_
+#define _WDEBUG_H_
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+
+#define LOG_TAG "PHONE"
+
+#include <dlog.h>
+#include <string.h>
+#include <assert.h>
+
+// normal log
+#define WLOG(prio, fmt, arg...) dlog_print(prio, LOG_TAG, "%s: %s(%d) > " fmt, __MODULE__, __func__, __LINE__, ##arg)
+#define WDEBUG(fmt, args...) WLOG(DLOG_DEBUG, fmt, ##args)
+#define WVERBOSE(fmt, args...) WLOG(DLOG_VERBOSE, fmt, ##args)
+#define WINFO(fmt, args...) WLOG(DLOG_INFO, fmt, ##args)
+#define WWARNING(fmt, args...) WLOG(DLOG_WARN, fmt, ##args)
+#define WERROR(fmt, args...) WLOG(DLOG_ERROR, fmt, ##args)
+
+#define WHIT() WDEBUG(">>>HIT<<<")
+#define WHITM(fmt, args... ) WDEBUG(">>>HIT<<<" fmt, ##args)
+
+#define WENTER() WDEBUG("BEGIN >>>>")
+#define WLEAVE() WDEBUG("END <<<<")
+
+#define WPRET_VM(expr, val, fmt, arg...) \
+ if (expr) { \
+ WERROR(fmt, ##arg); \
+ return (val); \
+ }
+
+#define WPRET_M(expr, fmt, arg...) \
+ if (expr) { \
+ WERROR(fmt, ##arg); \
+ return; \
+ }
+
+#define WASSERT(expr) \
+ if(!(expr)) { \
+ WERROR("WASSERT!"); \
+ assert((expr)); \
+ }
+
+#define WASSERT_EX(expr, fmt, args... ) \
+ if(!(expr)) { \
+ WERROR("WASSERT! " fmt, ##args); \
+ assert((expr)); \
+ }
+
+#endif /* _WDEBUG_H_ */
diff --git a/app-assist-efl/inc/WDefine.h b/app-assist-efl/inc/WDefine.h
new file mode 100644
index 0000000..d58459c
--- /dev/null
+++ b/app-assist-efl/inc/WDefine.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WDEFINE_H_
+#define _WDEFINE_H_
+
+/**
+* @file WDefine.h
+* @brief This file defines version number MACRO and functions.
+*
+*/
+
+#define WAPP_ASSIST_VERSION_MAJOR 1
+#define WAPP_ASSIST_VERSION_MINOR 3
+#define WAPP_ASSIST_VERSION_PATCH 2
+
+#define WAPP_ASSIST_EXPORT __attribute__((visibility("default")))
+
+WAPP_ASSIST_EXPORT int WAppAssist_getMajorVersion();
+WAPP_ASSIST_EXPORT int WAppAssist_getMinorVersion();
+WAPP_ASSIST_EXPORT int WAppAssist_getPatchVersion();
+WAPP_ASSIST_EXPORT const char* WAppAssist_getVersion();
+
+#define WDISABLE_COPY_AND_ASSIGN( A ) \
+ A( const A& ) = delete; \
+ const A& operator=( const A& ) = delete
+
+#define WDECLARE_PRIVATE_IMPL( A ) \
+ class __##A##Impl* __pv; \
+ friend class __##A##Impl
+
+
+#endif /* _WDEFINE_H_ */
diff --git a/app-assist-efl/inc/WEditfield.h b/app-assist-efl/inc/WEditfield.h
new file mode 100644
index 0000000..e5358e3
--- /dev/null
+++ b/app-assist-efl/inc/WEditfield.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WEDITFIELD_H_
+#define _WEDITFIELD_H_
+
+#include "WControl.h"
+
+/**
+* @class WEditfield
+* @brief This class is a helper for creating editfields.
+*
+*/
+class WAPP_ASSIST_EXPORT WEditfield : public WControl
+{
+public:
+ /**
+ * @see WControl::onCreate
+ */
+ Evas_Object *onCreate(Evas_Object *parent, void *param);
+
+ /**
+ * @return Contained entry
+ */
+ Evas_Object *getEntry();
+
+ /**
+ * @return Clear button
+ */
+ Evas_Object *getClearButton();
+};
+
+#endif /* _WEDITFIELD_H_ */
diff --git a/app-assist-efl/inc/WEvasObject.h b/app-assist-efl/inc/WEvasObject.h
new file mode 100644
index 0000000..36a5167
--- /dev/null
+++ b/app-assist-efl/inc/WEvasObject.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _IWEVAS_OBJECT_H_
+#define _IWEVAS_OBJECT_H_
+
+#include <memory>
+#include <Evas.h>
+#include "WDefine.h"
+
+class WAPP_ASSIST_EXPORT IWEvasObject
+{
+protected:
+ virtual ~IWEvasObject(){};
+public:
+ virtual Evas_Object* getEvasObj() = 0;
+};
+
+typedef std::weak_ptr<IWEvasObject> WEvasObjectPtr;
+
+WAPP_ASSIST_EXPORT WEvasObjectPtr WEvasObject_getWeakPtr( Evas_Object* obj );
+
+
+
+#endif // _IWEVAS_OBJECT_H_
diff --git a/app-assist-efl/inc/WGengridItem.h b/app-assist-efl/inc/WGengridItem.h
new file mode 100644
index 0000000..3e0195a
--- /dev/null
+++ b/app-assist-efl/inc/WGengridItem.h
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WGENGRID_ITEM_H_
+#define _WGENGRID_ITEM_H_
+
+#include <Evas.h>
+#include <Elementary.h>
+#include <functional>
+#include "WDefine.h"
+
+class WControl;
+/**
+* @class WGengridItem
+* @brief This class is
+*
+*
+* The %WGengridItem is
+*/
+class WAPP_ASSIST_EXPORT WGengridItem
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WGengridItem();
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WGengridItem();
+public:
+ /**
+ * Override this method to create Elm_Gengrid_Item_Class structure.
+ * It is used to append item to the gengrid.
+ *
+ * @return the pointer of Elm_Gengrid_Item_Class created by elm_gengrid_item_class_new.
+ * It should be free by elm_gengrid_item_class_free if it is not used anymore.
+ * @see getItemClassStatic()
+ */
+ virtual Elm_Gengrid_Item_Class* getItemClassNew();
+ /**
+ * Override this method to create Elm_Gengrid_Item_Class structure.
+ * It is used to append item to the gengrid.
+ *
+ * @return the pointer of Elm_Gengrid_Item_Class instantiated as static variable.
+ * It is not needed to be free.
+ * @see getItemClassNew()
+ */
+ virtual Elm_Gengrid_Item_Class* getItemClassStatic();
+ /**
+ * Gets Elm_Object_Item of this item instance after it is appened to gengrid.
+ *
+ * @return the Elm_Object_Item
+ * @see setElmObjectItem()
+ */
+ Elm_Object_Item* getElmObjectItem();
+ /**
+ * Sets Elm_Object_Item, which is returned when this item is appended to gengrid.
+ *
+ * @param[in] objItem The pointer of Elm_Object_Item
+ *
+ * @see getElmObjectItem()
+ */
+ void setElmObjectItem( Elm_Object_Item* objItem );
+ /**
+ * This is static callback function to be used to append item to the gengrid.
+ * Then this will call onSelect method when this callback is invoked.
+ *
+ * @param[in] data gengrid select callback parameter
+ * @param[in] obj gengrid select callback parameter
+ * @param[in] event_info gengrid select callback parameter
+ *
+ * @see onSelect()
+ */
+ static void selectCb(void *data, Evas_Object *obj, void *event_info);
+
+protected:
+ /**
+ * Override this method to do something when gengrid is selected.
+ * Before this, "selectCb" should be set as select callback of gengrid when this item is appended.
+ *
+ * @param[in] objItem Elm_Object_Item of this instance
+ *
+ * @see selectCb()
+ */
+ virtual void onSelect( Elm_Object_Item* objItem );
+ /**
+ * Attaches the pop-up to the view, which is the container view of this item.
+ *
+ * @param[in] popup The pointer to the pop-up instance to be attached
+ *
+ * @return true the view is found and it is attached successfully.
+ */
+ bool attachToView( WControl* popup );
+
+private:
+ WDECLARE_PRIVATE_IMPL(WGengridItem);
+ WDISABLE_COPY_AND_ASSIGN(WGengridItem);
+
+};
+
+#define WGENGRID_ITEM_DEL() [](void* data, Evas_Object* obj) \
+ { \
+ WGengridItem* item = static_cast<WGengridItem*>(data); \
+ delete item; \
+ }
+
+#endif // _WGENGRID_ITEM_H_
diff --git a/app-assist-efl/inc/WGenlistItem.h b/app-assist-efl/inc/WGenlistItem.h
new file mode 100644
index 0000000..e2fc756
--- /dev/null
+++ b/app-assist-efl/inc/WGenlistItem.h
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WGENLIST_ITEM_H_
+#define _WGENLIST_ITEM_H_
+
+#include <Evas.h>
+#include <Elementary.h>
+#include <functional>
+#include "WDefine.h"
+
+class WControl;
+/**
+* @class WGenlistItem
+* @brief This class is
+*
+*
+* The %WGenlistItem is
+*/
+class WAPP_ASSIST_EXPORT WGenlistItem
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WGenlistItem();
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WGenlistItem();
+public:
+ /**
+ * Override this method to create Elm_Genlist_Item_Class structure.
+ * It is used to append item to the genlist.
+ *
+ * @return the pointer of Elm_Genlist_Item_Class created by elm_genlist_item_class_new.
+ * It should be free by elm_genlist_item_class_free if it is not used anymore.
+ * @see getItemClassStatic()
+ */
+ virtual Elm_Genlist_Item_Class* getItemClassNew();
+ /**
+ * Override this method to create Elm_Genlist_Item_Class structure.
+ * It is used to append item to the genlist.
+ *
+ * @return the pointer of Elm_Genlist_Item_Class instantiated as static variable.
+ * It is not needed to be free.
+ * @see getItemClassNew()
+ */
+ virtual Elm_Genlist_Item_Class* getItemClassStatic();
+ /**
+ * Gets Elm_Object_Item of this item instance after it is appened to genlist.
+ *
+ * @return the Elm_Object_Item
+ * @see setElmObjectItem()
+ */
+ Elm_Object_Item* getElmObjectItem();
+ /**
+ * Sets Elm_Object_Item, which is returned when this item is appended to genlist.
+ *
+ * @param[in] objItem The pointer of Elm_Object_Item
+ *
+ * @see getElmObjectItem()
+ */
+ void setElmObjectItem( Elm_Object_Item* objItem );
+ /**
+ * This is static callback function to be used to append item to the genlist.
+ * Then this will call onSelect( Elm_Object_Item* item ) method when this callback is invoked.
+ *
+ * @param[in] data genlist select callback parameter
+ * @param[in] obj genlist select callback parameter
+ * @param[in] event_info genlist select callback parameter
+ *
+ * @see onSelect( Elm_Object_Item* item )
+ */
+ static void selectCb(void *data, Evas_Object *obj, void *event_info);
+
+protected:
+ /**
+ * Override this method to do something when genlist is selected.
+ * Before this, "selectCb" should be set as select callback of genlist when this item is appended.
+ *
+ * @param[in] objItem Elm_Object_Item of this instance
+ *
+ * @see selectCb()
+ */
+ virtual void onSelect( Elm_Object_Item* objItem );
+ /**
+ * Attaches the pop-up to the view, which is the container view of this item.
+ *
+ * @param[in] popup The pointer to the pop-up instance to be attached
+ *
+ * @return true the view is found and it is attached successfully.
+ */
+ bool attachToView( WControl* popup );
+
+private:
+ WDECLARE_PRIVATE_IMPL(WGenlistItem);
+ WDISABLE_COPY_AND_ASSIGN(WGenlistItem);
+
+};
+
+#define WGENLIST_ITEM_DEL() [](void* data, Evas_Object* obj) \
+ { \
+ WGenlistItem* item = static_cast<WGenlistItem*>(data); \
+ delete item; \
+ }
+
+#endif // _WGENLIST_ITEM_H_
diff --git a/app-assist-efl/inc/WMenuPopup.h b/app-assist-efl/inc/WMenuPopup.h
new file mode 100644
index 0000000..361ba98
--- /dev/null
+++ b/app-assist-efl/inc/WMenuPopup.h
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WMENU_POPUP_H_
+#define _WMENU_POPUP_H_
+
+#include <Evas.h>
+#include <Elementary.h>
+#include <functional>
+#include "WControl.h"
+
+/**
+* @class WMenuPopup
+* @brief This class is the menu pop-up class to make easy to manage menus.
+*
+*
+* The %WMenuPopup is the menu pop-up class.
+*/
+class WAPP_ASSIST_EXPORT WMenuPopup: public WControl
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WMenuPopup();
+public:
+ /**
+ * Initializes and pre-creates menu pop-up to append menu items.
+ *
+ * @param[in] win parent window evas object
+ * @param[in] naviframe naviframe evas object of the caller
+ *
+ * @see create()
+ */
+ void prepare(Evas_Object* win, Evas_Object* naviframe);
+ /**
+ * Appends menu items.
+ *
+ * @param[in] label label text of menu item
+ * @param[in] selectItemCb callback function object when the item is selected
+ *
+ * @return appended item. NULL,if failed.
+ */
+ Elm_Object_Item* appendItem(const char* label, std::function< void()> selectItemCb);
+ /**
+ * Creates and show menu pop-up.
+ *
+ * @see onCreate()
+ */
+ void createMenu();
+ //
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WMenuPopup();
+private:
+ virtual Evas_Object* onCreate(Evas_Object* parent, void* param);
+ virtual void onDestroy();
+private:
+ WDECLARE_PRIVATE_IMPL(WMenuPopup);
+ WDISABLE_COPY_AND_ASSIGN(WMenuPopup);
+};
+
+#endif // _WMENU_POPUP_H_
diff --git a/app-assist-efl/inc/WNaviframe.h b/app-assist-efl/inc/WNaviframe.h
new file mode 100644
index 0000000..3165a26
--- /dev/null
+++ b/app-assist-efl/inc/WNaviframe.h
@@ -0,0 +1,211 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WNAVI_FRAME_H_
+#define _WNAVI_FRAME_H_
+
+#include <functional>
+#include <Evas.h>
+#include <Eina.h>
+#include <Elementary.h>
+#include "IWUiObject.h"
+#include "WWindow.h"
+
+// forward declaration
+class WView;
+
+/**
+* @class WNaviframe
+* @brief This class is the wrapper class of naviframe elementary.
+*
+*
+* The %WNaviframe class is to use naviframe elementary.
+*/
+class WAPP_ASSIST_EXPORT WNaviframe : public IWUiObject
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WNaviframe();
+ /**
+ * Gets the class name.
+ *
+ * @return The class name
+ */
+ virtual const char* getClassName();
+
+public:
+ /**
+ * Initializes and creates the evas object.
+ * "onCreate" will be called subsequently.
+ *
+ * @param[in] parent the parent evas object
+ * @param[in] param user data
+ *
+ * @return true if the creation is succeeded, else false
+ * @see onCreate()
+ */
+ bool create( Evas_Object* parent, void* param );
+
+ /**
+ * Destroy the instance. "onDestroy" will be called subsequently.
+ * The naviframe elementary will be deleted together.
+ *
+ * @see onDestroy()
+ */
+ void destroy();
+
+ /**
+ * Gets the evas object of this navi frame
+ *
+ * @return The pointer to the evas object
+ */
+ Evas_Object* getEvasObj();
+
+ /**
+ * Sets the name of this instance.
+ *
+ * @param[in] name The name to be set
+ */
+ void setName( const char* name);
+
+ /**
+ * Gets the name of this instance.
+ *
+ * @return The name of the navi frame
+ */
+ const char* getName();
+
+ /**
+ * Pushes the view instance into naviframe. "onPushToNaviframe" will be called subsequently.
+ * If the view is yet called "create", it will be called internally.
+ *
+ * @param[in] view the pointer to the view instance to be pushed
+ * @param[in] viewName the view instance name to be set when it is pushed.
+ * @param[in] viewParam the user data to be passed as parameter of "create" method of the view.
+ *
+ * @return true if succeed, else false
+ * @see onPushToNaviframe
+ */
+ bool push( WView* view, const char* viewName = NULL, void* viewCreationParam = NULL );
+
+ /**
+ * Destroy all views stacked on naviframe.
+ *
+ */
+ void destroyAllViews();
+
+public:
+ /**
+ * Sets the handler function pointer to override virtual function onCreate without defining a new inherited class.
+ * If it is set, onCreate method will not be called.
+ *
+ * @param[in] handlerFunc The pointer to handler function
+ * @see onCreate()
+ */
+ void setOnCreate( const std::function<Evas_Object*(Evas_Object*, void*)>& handlerFunc);
+
+ /**
+ * Sets the handler function pointer to override virtual function onLastItemPop without defining a new inherited class.
+ * If it is set, onLastItemPop method will not be called.
+ *
+ * @param[in] handlerFunc The pointer to handler function
+ * @see onLastItemPop()
+ */
+ void setOnLastItemPop( const std::function<void(bool*)>& handlerFunc);
+protected:
+
+ /**
+ * Override this method to create your own naviframe elementary.
+ *
+ * @param[in] parent The pointer to the parent evas object
+ * @param[in] param user data
+ * @return The pointer to naviframe evas object created
+ */
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* param);
+ /**
+ * Override this method to do something after evas object is created.
+ *
+ * @see create()
+ * @see onCreate()
+ */
+ virtual void onCreated(){};
+ /**
+ * Override this method to do something on this instance deletion.
+ *
+ * @see destroy()
+ */
+ virtual void onDestroy();
+ /**
+ * Override this method to do something before pushing the view to the naviframe.
+ * In the overridden method, WNaviframe::onPush should be called to do the base operation.
+ *
+ * @param[in] view The pointer to the view instance to be pushed
+ * @param[in] viewParam user data to be passed from "push". It is passed to the "create" method of the WView class
+ *
+ * @return result
+ * @see push
+ */
+ virtual bool onPush( WView* view, void* viewParam);
+
+ /**
+ * Override this method to do something before popping the view from the naviframe.
+ * If you override this method, call WNaviframe::onItemPop at the bottom of your method to do the base operations.
+ *
+ * @param[in] view The pointer to the view instance to be popped
+ * @param[in] item The pointer to the navi item
+ *
+ * @return true the view will be popped out, false the view will not be popped.
+ * @see onLastItemPop()
+ */
+ virtual bool onItemPop( WView* view, Elm_Object_Item* item);
+
+ /**
+ * Override this method to change how the application should work when last view is popped from naviframe.
+ * If you don't override it, the application will go background by default.
+ * Even though onLastItemPop is called, "onItemPop" will be called before.
+ *
+ * @param[out] popOut Set true, if you will pop out the last view and end the application. If not, set false before return
+ * @see onItemPop()
+ */
+ virtual void onLastItemPop( bool* popOut );
+
+ /**
+ * Gets the pointer to the WWindow class instance.
+ *
+ * @return The pointer to the window instance.
+ * @see getUgWindow()
+ */
+ WWindow* getWindow();
+
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WNaviframe();
+private:
+ static Eina_Bool __popCb( void* data, Elm_Object_Item* item);
+private:
+ WDECLARE_PRIVATE_IMPL(WNaviframe);
+ WDISABLE_COPY_AND_ASSIGN(WNaviframe);
+
+};
+
+#endif /* _WNAVI_FRAME_H_ */
diff --git a/app-assist-efl/inc/WPageSlideView.h b/app-assist-efl/inc/WPageSlideView.h
new file mode 100644
index 0000000..02b3844
--- /dev/null
+++ b/app-assist-efl/inc/WPageSlideView.h
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WPAGE_SLIDE_VIEW_H_
+#define _WPAGE_SLIDE_VIEW_H_
+
+#include "WView.h"
+#include "WControl.h"
+#include <Elementary.h>
+#include <functional>
+
+/**
+* @class WPageSlideView
+* @brief This class provides slide view with pages
+*
+*
+* The %WPageSlideView is the class to provide slide page view.
+*/
+class WAPP_ASSIST_EXPORT WPageSlideView : public WView
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WPageSlideView();
+
+ /**
+ * Retuns the class name string
+ *
+ * @return class name
+ */
+ virtual const char* getClassName();
+
+public:
+ /**
+ * Attaches WControl ui object as a page.
+ *
+ * @param[in] control WControl instance to be attached.
+ *
+ * @return true if succeeded.
+ */
+ bool appendPage( WControl* content);
+
+ /**
+ * Attaches WView ui object as a page
+ *
+ * @param[in] view WView object to be attached.
+ *
+ * @return true if succeeded.
+ * @see WView::onSetAsPageContent()
+ */
+ bool appendPage( WView* content);
+
+ /**
+ * Attaches empty ui object as a page
+ *
+ * @return true if succeeded.
+ */
+ bool appendPage();
+
+ /**
+ * Sets the page WView. If the previous page WView is exist, it returns false.
+ *
+ * @param[in] index the index of the page
+ * @param[in] view WView object
+ */
+ bool setPageContent(int index, WView* view);
+
+ /**
+ * Sets the page WControl. If the previous page WControl is exist, it returns false.
+ *
+ * @param[in] index the index of the page
+ * @param[in] control WControl object
+ */
+ bool setPageContent(int index, WControl* control);
+
+ /**
+ * Returns the number of page.
+ *
+ * @return the number of page
+ */
+ int getPageCount();
+
+ /**
+ * Gets the page instance.
+ *
+ * @param[in] index index of the page
+ *
+ * @return UI object
+ */
+ IWUiObject* getPageContent( int index );
+
+ /**
+ * Gets the current page index.
+ *
+ * @return The current page index
+ */
+ int getCurrentPageIndex();
+
+ /**
+ * Gets the scroller evas object.
+ *
+ *
+ * @return The pointer to the evas object of the scroller
+ */
+ Evas_Object* getScroller();
+
+ /**
+ * Sets the flag whether the scroller is shown or not.
+ *
+ * @param[in] show true if it should be shown.
+ */
+ void setShowScroll(bool show);
+
+ /**
+ * Sets the current page
+ *
+ * @param[in] index the index of the page
+ */
+ void setCurrentPage(int index);
+
+ /**
+ * Changes to the page
+ *
+ * @param[in] index the index of the page
+ * @param[in] withAnimation flag if animation is shown or not.
+ */
+ void showPage(int index, bool withAnimation = false);
+
+
+public:
+ /**
+ * Sets callback function object to be called when scroller is created.
+ * Use this to set additional property to the scroller.
+ *
+ * @param[in] handlerFunc callback function object
+ *
+ * @see onInitScroller()
+ */
+ void setOnInitScroller( const std::function<void (Evas_Object*)>& handlerFunc );
+
+ /**
+ * Sets callback function object to be called when scroll animation completed.
+ *
+ * @param[in] scrollAnimStopCb callback function object
+ */
+ void setOnScrollAnimStop( const std::function<void()>& scrollAnimStopCb );
+protected:
+ /**
+ * Unsets the page object. The page object is not deleted.
+ * It should be used with setPageObject method to reset the pages.
+ *
+ * @param[in] index the index of the page
+ *
+ * @see setPageObject
+ */
+ void unsetPageObject(int index);
+
+ /**
+ * Sets the page object. The previous page object to be set will be deleted internally.
+ *
+ * @param[in] index the index of the page
+ * @param[in] control control object
+ *
+ * @see unsetPageObject
+ */
+ void setPageObject(int index, WControl* control);
+
+protected:
+ /**
+ * Called when the view is created. It comes from WView class.
+ *
+ * @param[in] parent parent evas object
+ * @param[in] viewParam user parameter
+ */
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam );
+
+ /**
+ * Called when the layout is created. It comes from WView class.
+ *
+ * @param[in] parent parent evas object
+ *
+ * @return The evas object of layout to be created.
+ */
+ virtual Evas_Object* onCreateLayout( Evas_Object* parent);
+
+ /**
+ * Called when the scroller is created.
+ * Override this to set additional property to the scroller.
+ *
+ * @param[in] scroller scroller evas object
+ *
+ * @see setOnInitScroller()
+ */
+ virtual void onInitScroller( Evas_Object* scroller );
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WPageSlideView();
+private:
+ WDECLARE_PRIVATE_IMPL(WPageSlideView);
+ WDISABLE_COPY_AND_ASSIGN(WPageSlideView);
+};
+
+#endif /* _WPAGE_SLIDE_VIEW_H_ */
diff --git a/app-assist-efl/inc/WPopup.h b/app-assist-efl/inc/WPopup.h
new file mode 100644
index 0000000..81dc82a
--- /dev/null
+++ b/app-assist-efl/inc/WPopup.h
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WPOPUP_H_
+#define _WPOPUP_H_
+
+#include "WControl.h"
+#include <functional>
+
+/**
+* @class WPopup
+* @brief This class is the pop-up class to make easy to create pop-up.
+*
+*
+* The %WPopup is the general pop-up class.
+*/
+class WAPP_ASSIST_EXPORT WPopup : public WControl
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WPopup();
+ /**
+ * This is the constructor with title and content string.
+ *
+ */
+ WPopup( const char* title, const char* textContent );
+public:
+ /**
+ * Sets the title string of the pop-up.
+ *
+ * @param[in] title title text string
+ *
+ * @see setContent()
+ */
+ void setTitle( const char* title );
+ /**
+ * Sets the content string of the pop-up.
+ *
+ * @param[in] text content text string
+ *
+ * @see other setContent()
+ */
+ void setContent( const char* text );
+ /**
+ * Sets the content of the pop-up with WControl instance.
+ * This instance life-time will be attached to WPopup instance.
+ *
+ * @param[in] control WControl instance to be set
+ *
+ * @see other setContent()
+ */
+ void setContent( WControl* control );
+ /**
+ * Sets the creation function of the content Evas Object of the pop-up.
+ *
+ * @param[in] contentCreateCb content creation function object. At this function, it should return evas object created for content.
+ *
+ * @see other setContent()
+ */
+ void setContent( const std::function<Evas_Object* (Evas_Object* parent)> contentCreateCb );
+ /**
+ * Sets the string ID's domain name to be automatically translated on language change. The text content and title text should be set with string ID.
+ *
+ * @param[in] textDomain text domain name
+ *
+ * @see setTitle( const char* title), setContent( const char* text)
+ */
+ void setTextTranslatable( const char* textDomain );
+ /**
+ * Add buttons with button text string and button pressed callback function.
+ *
+ * @param[in] buttonText text string of button
+ * @param[in] buttonCb callback function object to be called when button is pressed.
+ * At this function, if it returns true, pop-up will be deleted. If not, pop-up will not.
+ *
+ * @return true if succeeded
+ */
+ bool addButton(const char* buttonText, const std::function<void (bool* destroyPopup)> buttonCb, const std::function<void (Evas_Object* button)> setPropertyCb = NULL );
+ /**
+ * Add handler function when back button is pressed.
+ * If it is not set, pop-up will be closed.
+ *
+ * @param[in] backCb call back function object.
+ * If it returns true, pop-up will be closed, if not, remained.
+ *
+ */
+ void setOnBack( const std::function<void (bool* destroyPopup)> backCb );
+ /**
+ * Add handler function to set more properties of pop-up.
+ * It will be called just after pop-up evas object is created in onCreate method.
+ *
+ * @param[in] morePropertiesCb callback function object
+ *
+ * @return true if succeeded
+ */
+ void setOnMoreProperties( const std::function<void(Evas_Object* popup)>& morePropertiesCb );
+
+protected:
+ /**
+ * Override it, if you want to create your own pop-up. WPopup::onCreate will be called at the end of that function.
+ * This method comes from WControl class.
+ *
+ * @param[in] parent parent evas object
+ * @param[in] param user data
+ *
+ * @return Evas object created
+ */
+ virtual Evas_Object* onCreate(Evas_Object* parent, void* param);
+ /**
+ * It is called when pop-up instance is deleted. This method comes from WControl class.
+ *
+ * @see onCreate()
+ */
+ virtual void onDestroy();
+
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WPopup();
+private:
+ WDECLARE_PRIVATE_IMPL(WPopup);
+ WDISABLE_COPY_AND_ASSIGN(WPopup);
+};
+
+#endif // _WPOPUP_H_
diff --git a/app-assist-efl/inc/WToastPopup.h b/app-assist-efl/inc/WToastPopup.h
new file mode 100644
index 0000000..d25bb9f
--- /dev/null
+++ b/app-assist-efl/inc/WToastPopup.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WTOAST_POPUP_H_
+#define _WTOAST_POPUP_H_
+
+#include "WControl.h"
+
+/**
+* @class WToastPopup
+* @brief This class is the pop-up class to make easy to create toast pop-up.
+*
+* The %WToastPopup is the toast pop-up class.
+* This is not cross-process system pop-up.
+* For this purpose, use the system API "notification_status_message_post" instead.
+*/
+class WAPP_ASSIST_EXPORT WToastPopup : public WControl
+{
+public:
+ /**
+ * This is the constructor with message text. Time-out time is set as default value.
+ *
+ * @param[in] text message text string
+ */
+ WToastPopup(const char* text);
+ /**
+ * This is the constructor with message text and time-out time.
+ *
+ * @param[in] text message text string
+ * @param[in] timeout Time-out time to be destroyed. Unit is second.
+ */
+ WToastPopup(const char* text, double timeout );
+private:
+ virtual Evas_Object* onCreate(Evas_Object* parent, void* param);
+ virtual void onDestroy();
+private:
+ virtual ~WToastPopup();
+private:
+ WDECLARE_PRIVATE_IMPL(WToastPopup);
+ WDISABLE_COPY_AND_ASSIGN(WToastPopup);
+};
+
+#endif
diff --git a/app-assist-efl/inc/WUiTimer.h b/app-assist-efl/inc/WUiTimer.h
new file mode 100644
index 0000000..4599dc2
--- /dev/null
+++ b/app-assist-efl/inc/WUiTimer.h
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WUI_TIMER_H_
+#define _WUI_TIMER_H_
+
+#include <functional>
+#include <Eina.h>
+#include "WDefine.h"
+#include "IWUiObject.h"
+
+/**
+* @class WUiTimer
+* @brief This class wraps ecore timer module.
+*
+*
+* The %WUiTimer is the class managing ecore timer
+*/
+class WAPP_ASSIST_EXPORT WUiTimer
+{
+public:
+ enum TimerType{
+ IDLER, ///< Can be called multiple times with in one rendering cycle, based on system load.
+ ANIMATOR, ///< Called just once per rendering cycle.
+ TIMER, ///< Called just once per rendering cycle, if the "set time" is elapsed before next vsync.
+ JOB ///< Called just once per registration prior to timer, idler and animator.
+ };
+ /**
+ * Returns type of timer.
+ *
+ * @return timer type
+ */
+ TimerType getType();
+ /**
+ * Deletes this instance.
+ *
+ */
+ void destroy();
+ /**
+ * Creates a IDLER type timer. It uses ecore_idler internally.
+ * It can be called multiple times with in one rendering cycle, based on system load.
+ *
+ * @param[in] timerFunc std::function object of worker function
+ * @param[in] userData user data
+ * @param[in] monitorObj UI object, like WView or WControl object, is to be monitored.
+ * If it has been deleted,when callback function is called, the callback function will not do anything and just delete itself.
+ *
+ * @return WUiTimer instance created. If failed, NULL will be returned.
+ */
+ static WUiTimer* addIdler( const std::function<Eina_Bool (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj);
+ /**
+ * Creates a ANIMATOR type timer. It uses ecore_animator internally.
+ * It will be called just once per rendering cycle.
+ *
+ * @param[in] timerFunc std::function object of worker function
+ * @param[in] userData user data
+ * @param[in] monitorObj UI object, like WView or WControl object, is to be monitored.
+ * If it has been deleted,when callback function is called, the callback function will not do anything and just delete itself.
+ *
+ * @return WUiTimer instance created. If failed, NULL will be returned.
+ */
+ static WUiTimer* addAnimator( const std::function<Eina_Bool (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj );
+ /**
+ * Creates a timer. It uses ecore_timer internally.
+ * It will be called just once per rendering cycle, if the "set time" is elapsed before next vsync.
+ *
+ * @param[in] interval The interval in seconds.
+ * @param[in] timerFunc std::function object of worker function
+ * @param[in] userData user data
+ * @param[in] monitorObj UI object, like WView or WControl object, is to be monitored.
+ * If it has been deleted,when callback function is called, the callback function will not do anything and just delete itself.
+ *
+ * @return WUiTimer instance created. If failed, NULL will be returned.
+ */
+ static WUiTimer* addTimer( double interval, const std::function<Eina_Bool (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj );
+ /**
+ * Creates a JOB type timer. It uses ecore_job internally.
+ * It will be called just once per registration prior to timer, idler and animator.
+ *
+ * @param[in] timerFunc std::function object of worker function
+ * @param[in] userData user data
+ * @param[in] monitorObj UI object, like WView or WControl object, is to be monitored.
+ * If it has been deleted,when callback function is called, the callback function will not do anything and just delete itself.
+ *
+ * @return WUiTimer instance created. If failed, NULL will be returned.
+ */
+ static WUiTimer* addJob( const std::function<void (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj );
+
+private:
+ WUiTimer();
+ ~WUiTimer();
+
+private:
+ WDECLARE_PRIVATE_IMPL(WUiTimer);
+ WDISABLE_COPY_AND_ASSIGN(WUiTimer);
+
+};
+
+
+#endif /* _WUI_TIMER_H_ */
diff --git a/app-assist-efl/inc/WView.h b/app-assist-efl/inc/WView.h
new file mode 100644
index 0000000..ef82e19
--- /dev/null
+++ b/app-assist-efl/inc/WView.h
@@ -0,0 +1,233 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WVIEW_H_
+#define _WVIEW_H_
+
+#include <functional>
+#include <memory>
+#include <Evas.h>
+#include <Elementary.h>
+#include "WNaviframe.h"
+#include "WWindow.h"
+#include "WControl.h"
+
+/**
+* @class WView
+* @brief This class means the view represented by an evas object, which can be pushed into naviframe elementary.
+*
+* The %WView class keeps an evas object and provides methods to handle the case when the view is pushed into naviframe.
+*/
+class WAPP_ASSIST_EXPORT WView : public WControl
+{
+public:
+ /**
+ * This is the default constructor for this class.
+ *
+ */
+ WView();
+
+ /**
+ * Constructor
+ *
+ * @param[in] name the instance name to be set
+ */
+ explicit WView( const char* name );
+
+ /**
+ * Gets the class name.
+ *
+ */
+ virtual const char* getClassName();
+
+ /**
+ * @see WControl::create()
+ */
+ virtual bool create(Evas_Object* parent, void* param);
+
+ /**
+ * Destroys the control. The linked evas object will be delete together.
+ * "onDestroy" will be called subsequently.
+ *
+ * @see onDestroy()
+ */
+ virtual void destroy();
+
+ /**
+ * Sets the title string of the view. Only on initial creation time, it is applied to the evas object.
+ *
+ * @param[in] title string of the title to be set
+ *
+ */
+ void setTitle( const char* title );
+
+ /**
+ * Gets the title string
+ *
+ * @return title string
+ */
+ const char* getTitle();
+
+ /**
+ * Gets the WWindow class instance.
+ *
+ * @return The pointer to the window.
+ * @see getUgWindow()
+ */
+ WWindow* getWindow();
+
+ /**
+ * Gets the WNaviframe class instance.
+ *
+ * @return the pointer to the WNaviframe class instance. If this view instance is not pushed into naviframe, it will be NULL.
+ */
+ WNaviframe* getNaviframe();
+
+ /**
+ * Sets the handler function pointer to override virtual function onPushed without defining a new inherited class.
+ * If it is set, onPushed method will not be called.
+ *
+ * @param[in] handlerFunc The pointer to handler function
+ * @see onPushed()
+ */
+ void setOnPushed( const std::function<void (Elm_Object_Item*)>& handlerFunc );
+
+protected:
+ /**
+ * Called when create method is called.
+ * Override this method to create your own view.
+ *
+ * @param[in] parent parent evas object
+ * @param[in] viewParam user data
+ *
+ * @return the most parent evas object created in this method. It will be related to the class instance.
+ */
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam );
+
+ /**
+ * Called when this view instance evas object should be pushed into naviframe.
+ * Override this method to do something and push the view into naviframe by itself.
+ *
+ * @param[in] naviFrame naviframe evas object
+ *
+ * @return navi item resulted from pushing the view to the naviframe.
+ * @see %WNaviframe::push()
+ * @see onPushed()
+ */
+ virtual Elm_Object_Item* onPushToNaviframe( Evas_Object* naviFrame);
+
+ /**
+ * Called when this view instance evas object is pushed into naviframe.
+ * Override this method to do something with navi item.
+ *
+ * @param[in] naviItem navi item resulted from naviframe push
+ * @see %WNaviframe::push()
+ * @see onPushToNaviframe()
+ */
+ virtual void onPushed(Elm_Object_Item* naviItem);
+
+ /**
+ * Called when the view evas object is popped from naviframe.
+ * Override this method to do something before it is popped out.
+ *
+ * @return false, if you want to keep the view instead of being popped out.
+ */
+ virtual bool onPop();
+
+ /**
+ * Called when this view instance evas object is attached to WPageSlideView.
+ * Override this method to do something with navi item after being attached.
+ *
+ * @param[in] parentNaviItem navi item of WPageSlideView object pushed into naviframe
+ * @see onPushed()
+ */
+ virtual void onSetAsPageContent(Elm_Object_Item* parentNaviItem);
+
+ /**
+ * Gets a navi item.
+ *
+ * @return The pointer to navi item. If this view instance is not pushed into naviframe, it will be NULL.
+ */
+ Elm_Object_Item* getNaviItem();
+
+ /**
+ * Pops out this view instance evas object from naviframe.
+ *
+ * @return true, if succeeded
+ */
+ bool popOut();
+
+ /**
+ * Create more button on navi item.
+ *
+ * @param[in] naviItem
+ * @param[in] clickedCb
+ * @param[in] userData
+ * @see %WNaviframe::push()
+ * @see onPushed()
+ */
+ bool enableMoreButton( Elm_Object_Item* naviItem, Evas_Smart_Cb clickedCb, void* userData );
+
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WView();
+
+private:
+ bool __callPushedHandlerFunc(Elm_Object_Item* naviItem);
+ void __destroy();
+
+ WDECLARE_PRIVATE_IMPL(WView);
+ WDISABLE_COPY_AND_ASSIGN(WView);
+ friend class WNaviframe;
+ friend class WPageSlideView;
+ friend void WView_setContainerProperties( WView* view, WWindow* win, WNaviframe* naviframe );
+ friend void WView_setContainerNaviItemProperty( WView* view, Elm_Object_Item* item );
+};
+
+
+/**
+ * Get the view class instance related to evas object.
+ *
+ * @param[in] obj evas object
+ *
+ * @return NULL, if no view class instance is related.
+ */
+WAPP_ASSIST_EXPORT WView* WView_getInstanceFromEvasObj(Evas_Object* obj);
+/**
+ * Sets the container class properties to the view.
+ * It will be used only to create your own container view class and set its properties to child views, like WPageSlideView.
+ *
+ * @param[in] view WView instance to set these properties
+ * @param[in] win WWindow instance
+ * @param[in] naviframe WNaviframe instance
+ *
+ */
+WAPP_ASSIST_EXPORT void WView_setContainerProperties( WView* view, WWindow* win, WNaviframe* naviframe );
+/**
+ * Sets the container class navi item property to the view.
+ * It will be used only to create your own container view class and set its properties to child views, like WPageSlideView.
+ *
+ * @param[in] view WView instance to set these properties
+ * @param[in] item navi item pointer of container view which is pushed into naviframe.
+ *
+ */
+WAPP_ASSIST_EXPORT void WView_setContainerNaviItemProperty( WView* view, Elm_Object_Item* item );
+
+
+#endif /* _WVIEW_H_ */
diff --git a/app-assist-efl/inc/WWidget.h b/app-assist-efl/inc/WWidget.h
new file mode 100644
index 0000000..06694f0
--- /dev/null
+++ b/app-assist-efl/inc/WWidget.h
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WWIDGET_H_
+#define _WWIDGET_H_
+
+#include <widget_app.h>
+#include <widget_service.h>
+#include "WDefine.h"
+
+class WWindow;
+
+/**
+* @class WWidget
+* @brief This class is a widget representation interface
+*
+* The %WWidget class designated to show the content of app to the homescreen
+*/
+class WAPP_ASSIST_EXPORT WWidget
+{
+public:
+ /**
+ * Constructor
+ *
+ */
+ WWidget();
+
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WWidget();
+
+ /**
+ * @return Widget width.
+ */
+ int getWidth() const;
+
+ /**
+ * @return Widget height.
+ */
+ int getHeight() const;
+
+ /**
+ * @return Widget type.
+ * @see widget_size_type_e
+ */
+ widget_size_type_e getType() const;
+
+ /**
+ * @return Widget window.
+ */
+ WWindow *getWindow() const;
+
+ /**
+ * @brief Save widget content bundle.
+ * @param[in] content Content to save
+ */
+ void saveContent(bundle *content);
+
+ /**
+ * @brief Create widget.
+ * @param[in] context Widget context
+ * @param[in] content Widget content bundle
+ * @param[in] w Widget width
+ * @param[in] h Widget height
+ */
+ void create(widget_context_h context, bundle *content, int w, int h);
+
+ /**
+ * @brief Resize widget.
+ * @param[in] w Widget new width
+ * @param[in] h Widget new height
+ */
+ void resize(int w, int h);
+
+ /**
+ * @brief Called when widget is created.
+ * @param[in] content Widget content bundle
+ * @param[in] w Widget width
+ * @param[in] h Widget height
+ */
+ virtual void onCreate(bundle *content, int w, int h);
+
+ /**
+ * @brief Called when widget is destroyed.
+ * @param[in] reason Reason for destruction
+ */
+ virtual void onDestroy(widget_app_destroy_type_e reason);
+
+ /**
+ * @brief Called when widget is paused.
+ */
+ virtual void onPause();
+
+ /**
+ * @brief Called when widget is resumed.
+ */
+ virtual void onResume();
+
+ /**
+ * @brief Called when widget is resized.
+ * @param[in] w Widget new width
+ * @param[in] h Widget new height
+ */
+ virtual void onResize(int w, int h);
+
+ /**
+ * @brief Called when widget is updated.
+ * @param[in] force Indicates whether widget was forcefully updated
+ */
+ virtual void onUpdate(int force);
+
+private:
+ WDISABLE_COPY_AND_ASSIGN(WWidget);
+ WDECLARE_PRIVATE_IMPL(WWidget);
+};
+
+#endif /* _WWIDGET_H_ */
diff --git a/app-assist-efl/inc/WWidgetApp.h b/app-assist-efl/inc/WWidgetApp.h
new file mode 100644
index 0000000..fae47ac
--- /dev/null
+++ b/app-assist-efl/inc/WWidgetApp.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WWIDGETAPP_H_
+#define _WWIDGETAPP_H_
+
+#include "WApp.h"
+
+class WWidget;
+
+class WAPP_ASSIST_EXPORT WWidgetApp : public WApp
+{
+public:
+ WWidgetApp();
+
+protected:
+ /**
+ * @see WApp::onStart()
+ */
+ virtual int onStart(int argc, char *argv[]);
+
+ /**
+ * @brief Called when new widget instance requested.
+ * @return New widget instance.
+ */
+ virtual WWidget *onWidgetCreate() = 0;
+
+private:
+ friend class __WWidgetAppImpl;
+};
+
+#endif /* _WWIDGETAPP_H_ */
diff --git a/app-assist-efl/inc/WWidgetWindow.h b/app-assist-efl/inc/WWidgetWindow.h
new file mode 100644
index 0000000..7efd2de
--- /dev/null
+++ b/app-assist-efl/inc/WWidgetWindow.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WWIDGET_WINDOW_H_
+#define _WWIDGET_WINDOW_H_
+
+#include <widget_app.h>
+#include "WWindow.h"
+
+/**
+ * @class WWidgetWindow
+ * @brief This class is managing main window of the widget.
+ * @see WWidget
+ */
+class WAPP_ASSIST_EXPORT WWidgetWindow : public WWindow
+{
+public:
+ /**
+ * @brief Create WWidgetWindow.
+ * @param[in] context Widget context
+ * @param[in] width Window width
+ * @param[in] height Window height
+ */
+ WWidgetWindow(widget_context_h context, int width, int height);
+
+ /**
+ * @see WWindow::getClassName()
+ */
+ virtual const char *getClassName() const;
+
+protected:
+ /**
+ * @see WWindow::doCreate()
+ */
+ virtual Evas_Object *doCreate(Evas_Object *&win, Evas_Object *&conf, Evas_Object *&layout);
+};
+
+#endif /* _WWIDGET_WINDOW_H_ */
diff --git a/app-assist-efl/inc/WWindow.h b/app-assist-efl/inc/WWindow.h
new file mode 100644
index 0000000..dd7e954
--- /dev/null
+++ b/app-assist-efl/inc/WWindow.h
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WWINDOW_H_
+#define _WWINDOW_H_
+
+#include <Elementary.h>
+#include "WDefine.h"
+
+class IWUiObject;
+
+/**
+* @class WWindow
+* @brief This class represents window and base layout evas object.
+*
+* The %WWindow manages window evas object and common base evas objects.
+*/
+class WAPP_ASSIST_EXPORT WWindow
+{
+public:
+ /**
+ * Creates the window
+ *
+ * @return true if the windows created successfully, else false
+ */
+ bool create();
+
+ /**
+ * Destroys the window class instance and delete window evas object.
+ * "onDestroy" will be called subsequently.
+ *
+ * @see onDestroy()
+ */
+ void destroy();
+
+ /**
+ * Gets the class name of this class
+ *
+ * @return The class name
+ */
+ virtual const char* getClassName() const;
+
+ /**
+ * Gets the evas object of the window
+ *
+ * @return The pointer to the evas object of the window
+ * @see onCreateWin()
+ */
+ Evas_Object* getEvasObj() const;
+
+ /**
+ * Gets the base layout evas object
+ *
+ * @return The pointer to the evas object of the layout
+ * @see onCreateBaseLayout()
+ */
+ Evas_Object* getBaseLayoutEvasObj() const;
+
+ /**
+ * Gets the conformant evas object.
+ *
+ * @return The pointer to the evas object of the conformant
+ */
+ Evas_Object* getConformantEvasObj() const;
+
+ /**
+ * Attaches base UI object, which can be WNaviframe or WView instance.
+ *
+ * @param[in] baseObj IWUiObject instance to be attached
+ * @param[in] creationParam parameter to be passed as parameter of create method of the IWUiObject class
+ *
+ * @return true if the base ui object attached sucessfully, else false
+ * @see getBaseUiObject()
+ */
+ bool attachBaseUiObject( IWUiObject* baseObj, void* creationParam = NULL );
+
+ /**
+ * Gets the base UI object attached.
+ *
+ * @return The pointer to the base ui object
+ * @see attachBaseUiObject()
+ */
+ IWUiObject* getBaseUiObject() const;
+
+ /**
+ * Detaches the base UI object.
+ *
+ * @return the base UI object, which should be deleted explicitly later.
+ */
+ IWUiObject* detachBaseUiObject();
+
+ /**
+ * Destroys the base UI object.
+ *
+ */
+ void destroyBaseUiObject();
+
+protected:
+ /**
+ * Called when create() method is called to create window.
+ * Implementation should assign window, conformant and base layout.
+ *
+ * @param[out] win Window object
+ * @param[out] conf Conformant object
+ * @param[out] layout Base layout object
+ * @return Object which determines current object's lifetime
+ * @see create()
+ */
+ virtual Evas_Object* doCreate(Evas_Object*& win, Evas_Object*& conf, Evas_Object*& layout) = 0;
+
+ /**
+ * Called when the window is destroyed
+ * Override this method to do something on destruction.
+ *
+ */
+ virtual void onDestroy();
+
+
+protected:
+ /**
+ * This is the destructor for this class.
+ *
+ */
+ virtual ~WWindow();
+
+ WDECLARE_PRIVATE_IMPL(WWindow);
+ WDISABLE_COPY_AND_ASSIGN(WWindow);
+ WWindow(__WWindowImpl*);
+};
+#endif /* _WWINDOW_H_ */
diff --git a/app-assist-efl/res/CMakeLists.txt b/app-assist-efl/res/CMakeLists.txt
new file mode 100755
index 0000000..a23996d
--- /dev/null
+++ b/app-assist-efl/res/CMakeLists.txt
@@ -0,0 +1,10 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+# install edj
+ADD_CUSTOM_TARGET(app-assist-efl.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/edje/app-assist-efl.edc app-assist-efl.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/edje/app-assist-efl.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} app-assist-efl.edj)
+INSTALL(FILES app-assist-efl.edj DESTINATION ${CMAKE_APP_RES_DIR}/edje)
diff --git a/app-assist-efl/res/edje/app-assist-efl.edc b/app-assist-efl/res/edje/app-assist-efl.edc
new file mode 100644
index 0000000..4268954
--- /dev/null
+++ b/app-assist-efl/res/edje/app-assist-efl.edc
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+collections {
+ base_scale: 2.6;
+ group {
+ name: "page";
+ parts {
+ part {
+ name: "sizer";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {relative: 0 0; }
+ rel2 {relative: 1 1; }
+ }
+ }
+ part {
+ name: "sw";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1; }
+ }
+ }
+/*
+ part {
+ name: "debug";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1; }
+ text { size: 30; font: "Tizen:style=Bold"; align: 0.5 0.5; text_class: tizen; text : "Page";}
+ color: 255 27 0 255;
+ }
+ }
+*/
+ }
+ }
+
+ group {
+ name: "default-view";
+ parts {
+ part {
+ name: "rect";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0 0; }
+ rel2 { relative: 1 1; }
+ }
+ }
+ part {
+ name: "name";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ text { font: "Tizen:style=Bold"; text_class: tizen; size: 100; fit: 1 0; }
+ color: 255 255 255 255;
+ }
+ }
+ }
+ }
+}
diff --git a/app-assist-efl/src/WApp.cpp b/app-assist-efl/src/WApp.cpp
new file mode 100644
index 0000000..c4db350
--- /dev/null
+++ b/app-assist-efl/src/WApp.cpp
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WApp.h"
+#include "WDebugInternal.h"
+
+#include "WAppImpl.h"
+#include "WWindow.h"
+
+__WAppImpl::__WAppImpl()
+ :__window(NULL), __firstLaunch(true)
+{ }
+
+__WAppImpl::~__WAppImpl()
+{
+
+}
+
+bool __WAppImpl::__onCreate( void* data)
+{
+ WHIT();
+
+ auto pApp = (WApp*)data;
+ return pApp->onCreate();
+}
+
+void __WAppImpl::__onTerminate( void* data)
+{
+ WHIT();
+
+ auto pApp = (WApp*)data;
+ pApp->onTerminate();
+
+ // To reverse destruction order
+ // It will destroy View and then Naviframe instance before the window is destroyed.
+ if (pApp->__pv->__window)
+ pApp->__pv->__window->destroyBaseUiObject();
+
+ // window evas object "del" callback will be called by system.
+}
+
+void __WAppImpl::__onPause( void* data)
+{
+ WHIT();
+
+ auto pApp = (WApp*)data;
+ pApp->onPause();
+
+}
+
+void __WAppImpl::__onResume( void* data)
+{
+ WHIT();
+
+ auto pApp = (WApp*)data;
+ pApp->onResume();
+
+}
+
+void __WAppImpl::__onAppControl( app_control_h request, void* data)
+{
+ WHIT();
+
+ auto pApp = (WApp*)data;
+ pApp->onAppControl( request, pApp->__pv->__firstLaunch );
+ //
+ pApp->__pv->__firstLaunch = false;
+
+}
+
+
+WApp::WApp()
+{
+
+#ifdef _UG_DISABLE
+ WDEBUG("app-assist version=%s(Ug disabled)", WAppAssist_getVersion() );
+#else
+ WDEBUG("app-assist version=%s", WAppAssist_getVersion() );
+#endif
+
+ __pv = new __WAppImpl();
+}
+
+
+WApp::WApp(__WAppImpl *impl)
+ : __pv(impl)
+{
+}
+
+WApp::~WApp()
+{
+ WHIT();
+ delete __pv;
+}
+
+int WApp::start( int argc, char* argv[] )
+{
+ return onStart( argc, argv );
+}
+
+WWindow* WApp::getWindow()
+{
+ return __pv->__window;
+}
+
+bool WApp::attachWindow(WWindow* win)
+{
+ WASSERT( __pv->__window == NULL);
+ __pv->__window = win;
+ return win->create();
+}
+
+void WApp::onAppControl(app_control_h request, bool firstLaunch)
+{
+ Evas_Object* win = getWindow()->getEvasObj();
+ if( win )
+ {
+ elm_win_activate( win);
+ evas_object_show( win);
+ }
+}
+
+int WApp::onStart( int argc, char* argv[] )
+{
+ ui_app_lifecycle_callback_s cb;
+ memset( &cb, 0, sizeof(cb));
+ cb.create = __WAppImpl::__onCreate;
+ cb.terminate = __WAppImpl::__onTerminate;
+ cb.pause = __WAppImpl::__onPause;
+ cb.resume = __WAppImpl::__onResume;
+ cb.app_control = __WAppImpl::__onAppControl;
+
+ return ui_app_main( argc, argv, &cb, this);
+
+}
+
diff --git a/app-assist-efl/src/WAppEventHandler.cpp b/app-assist-efl/src/WAppEventHandler.cpp
new file mode 100644
index 0000000..b162e5b
--- /dev/null
+++ b/app-assist-efl/src/WAppEventHandler.cpp
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WAppEventHandler.h"
+#include <app.h>
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+
+
+class __WAppEventHandlerImpl
+{
+public:
+ __WAppEventHandlerImpl();
+ ~__WAppEventHandlerImpl();
+public:
+ //
+ app_event_handler_h __handle;
+ //
+ void* __userData;
+ std::function<void (app_event_info_h, void*)> __eventHandlerFunc;
+
+ static void __eventCb( app_event_info_h eventInfo, void* userData);
+ void __removeEventHandler();
+};
+
+__WAppEventHandlerImpl::__WAppEventHandlerImpl():
+ __handle(NULL),
+ __userData(NULL)
+{
+}
+
+__WAppEventHandlerImpl::~__WAppEventHandlerImpl()
+{
+ __removeEventHandler();
+}
+
+
+void __WAppEventHandlerImpl::__eventCb( app_event_info_h eventInfo, void* userData)
+{
+ auto p = (__WAppEventHandlerImpl*)userData;
+ p->__eventHandlerFunc( eventInfo, p->__userData );
+}
+
+void __WAppEventHandlerImpl::__removeEventHandler()
+{
+ if( __handle )
+ {
+ ui_app_remove_event_handler( __handle );
+ __handle = NULL;
+ __userData = NULL;
+
+ }
+}
+
+WAppEventHandler::WAppEventHandler()
+{
+ __pv = new __WAppEventHandlerImpl();
+}
+
+WAppEventHandler::~WAppEventHandler()
+{
+ delete __pv;
+}
+
+
+int WAppEventHandler::addEventHandler( app_event_type_e eventType, const std::function<void (app_event_info_h, void*)>& handlerFunc, void* userData )
+{
+ removeEventHandler();
+
+ __pv->__eventHandlerFunc = handlerFunc;
+ __pv->__userData = userData;
+
+ return ui_app_add_event_handler( &__pv->__handle, eventType, __pv->__eventCb, __pv );
+}
+
+void WAppEventHandler::removeEventHandler()
+{
+ __pv->__removeEventHandler();
+}
+
+app_event_handler_h WAppEventHandler::getHandle()
+{
+ return __pv->__handle;
+}
+
+
diff --git a/app-assist-efl/src/WAppImpl.h b/app-assist-efl/src/WAppImpl.h
new file mode 100644
index 0000000..a51bb0b
--- /dev/null
+++ b/app-assist-efl/src/WAppImpl.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WAPP_IMPL_H_
+#define _WAPP_IMPL_H_
+
+#include <app_control.h>
+
+class WWindow;
+
+class __WAppImpl
+{
+public:
+ __WAppImpl();
+ ~__WAppImpl();
+
+public:
+ WWindow *__window;
+ bool __firstLaunch;
+
+ static bool __onCreate(void *data);
+ static void __onTerminate(void *data);
+ static void __onPause(void *data);
+ static void __onResume(void *data);
+ static void __onAppControl(app_control_h request, void *data);
+};
+
+#endif /* _WAPP_IMPL_H_ */
diff --git a/app-assist-efl/src/WAppWindow.cpp b/app-assist-efl/src/WAppWindow.cpp
new file mode 100644
index 0000000..dc5e2b8
--- /dev/null
+++ b/app-assist-efl/src/WAppWindow.cpp
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WAppWindow.h"
+#include "WWindowImpl.h"
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+
+#define __CLASS_NAME "WAppWindow"
+
+class __WAppWindowImpl : public __WWindowImpl
+{
+ public:
+ __WAppWindowImpl(const char* inName, Elm_Win_Type inWinType);
+ ~__WAppWindowImpl();
+
+ public:
+ char* __name;
+ Elm_Win_Type __winType;
+};
+
+__WAppWindowImpl::__WAppWindowImpl(const char* name, Elm_Win_Type winType)
+ : __name(NULL),
+ __winType(winType)
+{
+ WASSERT( name );
+ __name = strdup(name);
+}
+
+__WAppWindowImpl::~__WAppWindowImpl()
+{
+ free(__name);
+}
+
+WAppWindow::WAppWindow(const char* name, Elm_Win_Type winType)
+ : WWindow(new __WAppWindowImpl(name, winType))
+{
+}
+
+const char* WAppWindow::getClassName() const
+{
+ return __CLASS_NAME;
+}
+
+const char* WAppWindow::getName() const
+{
+ return static_cast<__WAppWindowImpl*>(__pv)->__name;
+}
+
+Elm_Win_Type WAppWindow::getWinType() const
+{
+ return static_cast<__WAppWindowImpl*>(__pv)->__winType;
+}
+
+Evas_Object* WAppWindow::doCreate(Evas_Object*& win, Evas_Object*& conf, Evas_Object*& layout)
+{
+ win = elm_win_add(NULL, getName(), getWinType());
+ if (win == NULL)
+ {
+ WERROR("Fail to create win!");
+ return NULL;
+ }
+
+ elm_win_title_set(win, getName());
+ elm_win_conformant_set(win, EINA_TRUE);
+ elm_win_autodel_set(win, EINA_TRUE);
+ elm_win_indicator_mode_set(win, ELM_WIN_INDICATOR_SHOW);
+ elm_win_indicator_opacity_set(win, ELM_WIN_INDICATOR_OPAQUE);
+
+ Evas_Object* bg = elm_bg_add(win);
+ evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, bg);
+ evas_object_show(bg);
+
+ conf = elm_conformant_add(win);
+ evas_object_size_hint_weight_set(conf, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, conf);
+ evas_object_show(conf);
+
+ Evas_Object* cf_bg = elm_bg_add(conf);
+ elm_object_style_set(cf_bg, "indicator/headerbg");
+ elm_object_part_content_set(conf, "elm.swallow.indicator_bg", cf_bg);
+ evas_object_show(cf_bg);
+
+ layout = elm_layout_add(conf);
+ elm_layout_theme_set(layout, "layout", "application", "default");
+ evas_object_size_hint_weight_set( layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_content_set(conf, layout);
+ evas_object_show(layout);
+
+ return win;
+}
diff --git a/app-assist-efl/src/WButton.cpp b/app-assist-efl/src/WButton.cpp
new file mode 100644
index 0000000..ff4eb35
--- /dev/null
+++ b/app-assist-efl/src/WButton.cpp
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WButton.h"
+#include <Ecore.h>
+#include <Elementary.h>
+
+#define __CLASS_NAME "WButton"
+
+class __WButtonImpl
+{
+public:
+ __WButtonImpl();
+ ~__WButtonImpl();
+
+private:
+ friend WButton;
+
+ void resetTimer();
+
+ static void onMouseDown(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+ static void onMouseUp(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+ static void onMouseOut(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+ static Eina_Bool onTimeout(void *data);
+
+ Ecore_Timer *__timer;
+ bool __isLongpressed;
+
+ std::function<void(WButton&)> __onPressed;
+ std::function<bool(WButton&)> __onLongpressed;
+};
+
+__WButtonImpl::__WButtonImpl()
+ : __timer(nullptr), __isLongpressed(false)
+{
+}
+
+__WButtonImpl::~__WButtonImpl()
+{
+ resetTimer();
+}
+
+void __WButtonImpl::resetTimer()
+{
+ ecore_timer_del(__timer);
+ __timer = nullptr;
+}
+
+void __WButtonImpl::onMouseDown(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+ WButton *button = (WButton*) data;
+ button->__pv->__isLongpressed = false;
+ button->__pv->__timer = ecore_timer_add(elm_config_longpress_timeout_get(),
+ &__WButtonImpl::onTimeout, button);
+}
+
+void __WButtonImpl::onMouseUp(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+ WButton *button = (WButton*) data;
+ Evas_Event_Mouse_Up *e = (Evas_Event_Mouse_Up*) event_info;
+
+ if (!button->__pv->__isLongpressed) {
+ int x = 0, y = 0, w = 0, h = 0;
+ evas_object_geometry_get(obj, &x, &y, &w, &h);
+
+ if (e->output.x >= x && e->output.x <= x + w
+ && e->output.y >= y && e->output.x <= y + h) {
+ if (button->__pv->__onPressed) {
+ button->__pv->__onPressed(*button);
+ }
+ }
+
+ button->__pv->resetTimer();
+ }
+}
+
+Eina_Bool __WButtonImpl::onTimeout(void *data)
+{
+ WButton *button = (WButton*) data;
+ if (button->__pv->__onLongpressed) {
+ button->__pv->__isLongpressed = button->__pv->__onLongpressed(*button);
+ }
+
+ button->__pv->resetTimer();
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void __WButtonImpl::onMouseOut(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+ WButton *button = (WButton*) data;
+ button->__pv->resetTimer();
+}
+
+WButton::WButton()
+{
+ __pv = new __WButtonImpl();
+}
+
+WButton::~WButton()
+{
+ delete __pv;
+}
+
+bool WButton::create(Evas_Object *parent, void *param)
+{
+ bool result = WControl::create(parent, param);
+
+ Evas_Object *button = getEvasObj();
+ evas_object_event_callback_add(button, EVAS_CALLBACK_MOUSE_DOWN,
+ &__WButtonImpl::onMouseDown, this);
+ evas_object_event_callback_add(button, EVAS_CALLBACK_MOUSE_UP,
+ &__WButtonImpl::onMouseUp, this);
+ evas_object_event_callback_add(button, EVAS_CALLBACK_MOUSE_OUT,
+ &__WButtonImpl::onMouseOut, this);
+
+ return result;
+}
+
+const char *WButton::getClassName()
+{
+ return __CLASS_NAME;
+}
+
+void WButton::setOnPressed(std::function<void(WButton&)> callback)
+{
+ __pv->__onPressed = std::move(callback);
+}
+
+void WButton::setOnLongpressed(std::function<bool(WButton&)> callback)
+{
+ __pv->__onLongpressed = std::move(callback);
+}
+
+Evas_Object *WButton::onCreate(Evas_Object *parent, void *param)
+{
+ Evas_Object *button = elm_button_add(parent);
+ return button;
+}
diff --git a/app-assist-efl/src/WControl.cpp b/app-assist-efl/src/WControl.cpp
new file mode 100644
index 0000000..ec786f8
--- /dev/null
+++ b/app-assist-efl/src/WControl.cpp
@@ -0,0 +1,278 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WControl.h"
+#include "WView.h"
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+
+#include <Elementary.h>
+#include <memory.h>
+
+#define __CLASS_NAME "WControl"
+
+
+class __WControlImpl
+{
+public:
+ __WControlImpl();
+ ~__WControlImpl();
+public:
+ //
+ Evas_Object* __obj;
+ char* __name;
+
+ std::function<Evas_Object* (Evas_Object*, void*)> __createHandler;
+ std::function<void ()> __destroyedHandler;
+
+ std::shared_ptr<IWUiObject>* __selfPtr;
+ std::weak_ptr<IWUiObject>* __popupMonitor;
+ //
+ static void __objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info);
+ void __attachPopup( WControl *popup );
+
+};
+__WControlImpl::__WControlImpl()
+{
+ __obj = NULL;
+ __name = NULL;
+ __createHandler = NULL;
+ __destroyedHandler = NULL;
+ __selfPtr = NULL;
+ __popupMonitor = NULL;
+}
+
+__WControlImpl::~__WControlImpl()
+{
+ if(__name)
+ free(__name);
+
+ if( __popupMonitor )
+ {
+ if( auto p = __popupMonitor->lock() )
+ {
+ p->destroy();
+ }
+ }
+ delete __popupMonitor;
+ delete __selfPtr;
+}
+
+void __WControlImpl::__objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info)
+{
+ auto ctrl = (WControl*)data;
+
+ ctrl->onDestroy();
+
+ if( ctrl->__pv->__destroyedHandler )
+ {
+ ctrl->__pv->__destroyedHandler();
+ }
+
+ delete ctrl;
+}
+
+void __WControlImpl::__attachPopup( WControl *popup )
+{
+ Evas_Object* parent = NULL;
+ Evas_Object* obj = __obj;
+ do
+ {
+ WView* view = WView_getInstanceFromEvasObj( obj );
+ if( view != NULL )
+ {
+ parent = view->getWindow()->getBaseLayoutEvasObj();
+ break;
+ }
+ }
+ while( (obj = elm_object_parent_widget_get( obj )) != NULL );
+
+ if( parent == NULL )
+ {
+ WERROR("Cannot find parent View!");
+ // If the pop-up has been already created, the following statement will just return without creating pop-up.
+ popup->create( elm_object_top_widget_get( __obj ), NULL);
+ }
+ else
+ {
+ // If the pop-up has been already created, the following statement will just return without creating pop-up.
+ popup->create( parent, NULL );
+ }
+}
+
+WControl::WControl()
+{
+ __pv = new __WControlImpl();
+}
+
+WControl::~WControl()
+{
+ if( __pv->__name)
+ {
+ WDEBUG( "name=%s", __pv->__name );
+ }
+ else
+ {
+ WHIT();
+ }
+ //
+ delete __pv;
+}
+const char* WControl::getClassName()
+{
+ return __CLASS_NAME;
+}
+
+bool WControl::create( Evas_Object* parent, void* param )
+{
+ if( __pv->__name)
+ WDEBUG( "name=%s", __pv->__name );
+ else
+ WHIT();
+
+ if( __pv->__obj )
+ {
+ WDEBUG("Already created!");
+ return true;
+ }
+
+ if( __pv->__createHandler )
+ __pv->__obj = __pv->__createHandler( parent, param );
+ else
+ __pv->__obj = onCreate( parent, param );
+
+ if( __pv->__obj == NULL)
+ return false;
+
+ if( __pv->__name ) // for easy debugging
+ {
+ evas_object_name_set( __pv->__obj, __pv->__name );
+ }
+
+ evas_object_data_set( __pv->__obj, WKEY_CONTROL_INSTANCE, this );
+ evas_object_event_callback_add( __pv->__obj, EVAS_CALLBACK_DEL, __WControlImpl::__objDelCb, this);
+ //
+ // Do not place this before "evas_object_event_callback_add",
+ // The reason is that if additional del callback is added at child class, it should be called first to keep state the class object is still alive.
+ onCreated();
+ return true;
+}
+
+void WControl::destroy()
+{
+ if(__pv->__obj)
+ {
+ evas_object_del(__pv->__obj);
+ // Do not leave any code here.
+ // After executing upper statement "evas_object_del", this object will be deleted at evas object deletion callback!
+ }
+ else
+ {
+ onDestroy();
+
+ if( __pv->__destroyedHandler )
+ {
+ __pv->__destroyedHandler();
+ }
+
+ delete this;
+ }
+}
+
+Evas_Object* WControl::getEvasObj()
+{
+ return __pv->__obj;
+}
+
+const Evas_Object* WControl::getConstEvasObj() const
+{
+ return __pv->__obj;
+}
+
+void WControl::setName(const char* name)
+{
+ if( __pv->__name)
+ {
+ free( __pv->__name);
+ __pv->__name = NULL;
+ }
+ if( name )
+ {
+ __pv->__name = (char*)malloc( strlen(name)+1);
+ strcpy( __pv->__name, name);
+ }
+}
+
+const char* WControl::getName()
+{
+ return __pv->__name;
+}
+
+std::weak_ptr<IWUiObject> WControl::getWeakPtr()
+{
+ if( __pv->__selfPtr )
+ {
+ return std::weak_ptr<IWUiObject>(*__pv->__selfPtr);
+ }
+ __pv->__selfPtr = new std::shared_ptr<IWUiObject>( this,[](IWUiObject* p){} );
+ return std::weak_ptr<IWUiObject>(*__pv->__selfPtr);
+}
+
+void WControl::attachPopup( WControl* popup )
+{
+ __pv->__attachPopup(popup);
+
+ // destroy old popup after new popup created
+ destroyPopup();
+
+ if( __pv->__popupMonitor == NULL)
+ __pv->__popupMonitor = new std::weak_ptr<IWUiObject>;
+ *__pv->__popupMonitor = popup->getWeakPtr();
+}
+
+void WControl::attachHiddenPopup( WControl *popup )
+{
+ __pv->__attachPopup(popup);
+ evas_object_hide(popup->getEvasObj());
+}
+
+void WControl::destroyPopup()
+{
+ if( __pv->__popupMonitor == NULL ) return;
+
+ if( auto p = __pv->__popupMonitor->lock() )
+ {
+ p->destroy();
+ __pv->__popupMonitor->reset();
+ }
+}
+
+void WControl::setOnCreate( const std::function<Evas_Object* (Evas_Object*, void*)>& handlerFunc )
+{
+ __pv->__createHandler = handlerFunc;
+}
+
+void WControl::setOnDestroy( const std::function<void ()>& handlerFunc )
+{
+ __pv->__destroyedHandler = handlerFunc;
+}
+
+WControl* WControl_getInstanceFromEvasObj(Evas_Object* obj)
+{
+ return (WControl*)evas_object_data_get(obj, WKEY_CONTROL_INSTANCE);
+}
+
diff --git a/app-assist-efl/src/WDebugInternal.h b/app-assist-efl/src/WDebugInternal.h
new file mode 100644
index 0000000..48c5223
--- /dev/null
+++ b/app-assist-efl/src/WDebugInternal.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WDEBUG_INTERNAL_H_
+#define _WDEBUG_INTERNAL_H_
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+
+#define LOG_TAG "WAPP"
+
+#include "WDebugBase.h"
+
+
+#endif /* _WDEBUG_INTERNAL_H_ */
diff --git a/app-assist-efl/src/WDefineInternal.h b/app-assist-efl/src/WDefineInternal.h
new file mode 100644
index 0000000..254b977
--- /dev/null
+++ b/app-assist-efl/src/WDefineInternal.h
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WDEFINE_INTERNAL_H_
+#define _WDEFINE_INTERNAL_H_
+
+
+#define WKEY_WINDOW_INSTANCE "__@WWindowInstance"
+#define WKEY_FRAME_INSTANCE "__@WNaviframeInstance"
+#define WKEY_VIEW_INSTANCE "__@WViewInstance"
+#define WKEY_UGWINDOW_INSTANCE "__@WUgWindowInstance"
+#define WKEY_CONTROL_INSTANCE "__@WControlInstance"
+
+#endif //_WDEFINE_INTERNAL_H_
diff --git a/app-assist-efl/src/WEditfield.cpp b/app-assist-efl/src/WEditfield.cpp
new file mode 100644
index 0000000..1cb676e
--- /dev/null
+++ b/app-assist-efl/src/WEditfield.cpp
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WEditfield.h"
+#include <Elementary.h>
+
+namespace
+{
+ void onClearButton(void *data, Evas_Object *obj, void *event_info)
+ {
+ elm_entry_entry_set((Evas_Object*) data, "");
+ }
+
+ void onFocus(void *data, Evas_Object *obj, void *event_info)
+ {
+ elm_object_signal_emit((Evas_Object*) data, "elm,state,focused", "");
+ }
+
+ void onUnfocus(void *data, Evas_Object *obj, void *event_info)
+ {
+ elm_object_signal_emit((Evas_Object*) data, "elm,state,unfocused", "");
+ }
+
+ void onChange(void *data, Evas_Object *obj, void *event_info)
+ {
+ if (elm_entry_is_empty(obj))
+ elm_object_signal_emit((Evas_Object*) data, "elm,action,hide,button", "");
+ else
+ elm_object_signal_emit((Evas_Object*) data, "elm,action,show,button", "");
+ }
+}
+
+Evas_Object *WEditfield::onCreate(Evas_Object *parent, void *param)
+{
+ Evas_Object *layout = elm_layout_add(parent);
+ elm_layout_theme_set(layout, "layout", "editfield", "singleline");
+
+ Evas_Object *entry = elm_entry_add(parent);
+ elm_entry_single_line_set(entry, EINA_TRUE);
+ elm_entry_scrollable_set(entry, EINA_TRUE);
+ elm_object_part_content_set(layout, "elm.swallow.content", entry);
+ evas_object_show(entry);
+
+ Evas_Object *button = elm_button_add(parent);
+ elm_object_style_set(button, "editfield_clear");
+ elm_object_focus_allow_set(button, EINA_FALSE);
+ elm_object_part_content_set(layout, "elm.swallow.button", button);
+
+ evas_object_smart_callback_add(button, "clicked", onClearButton, entry);
+ evas_object_smart_callback_add(entry, "focused", onFocus, layout);
+ evas_object_smart_callback_add(entry, "unfocused", onUnfocus, layout);
+ evas_object_smart_callback_add(entry, "changed", onChange, layout);
+
+ evas_object_data_set(layout, "weditfield", this);
+
+ return layout;
+}
+
+Evas_Object *WEditfield::getEntry()
+{
+ return elm_object_part_content_get(getEvasObj(), "elm.swallow.content");
+}
+
+Evas_Object *WEditfield::getClearButton()
+{
+ return elm_object_part_content_get(getEvasObj(), "elm.swallow.button");
+}
diff --git a/app-assist-efl/src/WEvasObject.cpp b/app-assist-efl/src/WEvasObject.cpp
new file mode 100644
index 0000000..bec6ccb
--- /dev/null
+++ b/app-assist-efl/src/WEvasObject.cpp
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WEvasObject.h"
+#include "WDebugInternal.h"
+
+
+class __WEvasObjectImpl : public IWEvasObject
+{
+public:
+ __WEvasObjectImpl(Evas_Object* obj):__evasObj(obj) { }
+
+public:
+ virtual Evas_Object* getEvasObj() { return __evasObj; }
+
+ static void __objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info)
+ {
+ auto p = (__WEvasObjectImpl*)data;
+ delete p;
+ }
+
+ std::shared_ptr<IWEvasObject> __selfPtr;
+ Evas_Object* __evasObj;
+};
+
+std::weak_ptr<IWEvasObject> WEvasObject_getWeakPtr( Evas_Object* obj )
+{
+ auto pImpl = new __WEvasObjectImpl(obj);
+ std::shared_ptr<IWEvasObject> sp( pImpl,[](IWEvasObject* p){} );
+ pImpl->__selfPtr = sp;
+
+ evas_object_event_callback_add( obj, EVAS_CALLBACK_DEL, __WEvasObjectImpl::__objDelCb, pImpl);
+
+ return std::weak_ptr<IWEvasObject>(pImpl->__selfPtr);
+}
+
diff --git a/app-assist-efl/src/WGengridItem.cpp b/app-assist-efl/src/WGengridItem.cpp
new file mode 100644
index 0000000..7e1c391
--- /dev/null
+++ b/app-assist-efl/src/WGengridItem.cpp
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WGengridItem.h"
+#include <Elementary.h>
+#include <memory.h>
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+#include "WView.h"
+
+
+class __WGengridItemImpl
+{
+public:
+ __WGengridItemImpl() {
+ __objectItem = NULL; }
+ ~__WGengridItemImpl(){};
+public:
+ Elm_Object_Item* __objectItem;
+
+};
+
+WGengridItem::WGengridItem() : __pv( new __WGengridItemImpl() )
+{
+}
+
+WGengridItem::~WGengridItem()
+{
+ delete __pv;
+}
+
+Elm_Gengrid_Item_Class* WGengridItem::getItemClassNew()
+{
+ return NULL;
+}
+
+Elm_Gengrid_Item_Class* WGengridItem::getItemClassStatic()
+{
+ return NULL;
+}
+
+void WGengridItem::onSelect( Elm_Object_Item* objItem )
+{
+}
+
+
+Elm_Object_Item* WGengridItem::getElmObjectItem()
+{
+ return __pv->__objectItem;
+}
+
+void WGengridItem::setElmObjectItem( Elm_Object_Item* objItem )
+{
+ __pv->__objectItem = objItem;
+}
+
+
+void WGengridItem::selectCb(void *data, Evas_Object *obj, void *event_info)
+{
+ auto item = (WGengridItem*)data;
+ Elm_Object_Item* gengridItem = (Elm_Object_Item*) event_info;
+ elm_gengrid_item_selected_set(gengridItem, EINA_FALSE);
+
+ item->onSelect( gengridItem );
+}
+
+
+bool WGengridItem::attachToView( WControl* popup )
+{
+ if( __pv->__objectItem == NULL )
+ {
+ WERROR("object item is not created!");
+ return false;
+ }
+
+ Evas_Object* obj = elm_object_item_widget_get( __pv->__objectItem );
+ while( (obj = elm_object_parent_widget_get( obj )) != NULL )
+ {
+ WView* view = WView_getInstanceFromEvasObj( obj );
+ if( view != NULL )
+ {
+ view->attachPopup( popup );
+ return true;
+ }
+ }
+ WERROR("Can not find view instance!");
+ return false;
+}
diff --git a/app-assist-efl/src/WGenlistItem.cpp b/app-assist-efl/src/WGenlistItem.cpp
new file mode 100644
index 0000000..137bb40
--- /dev/null
+++ b/app-assist-efl/src/WGenlistItem.cpp
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WGenlistItem.h"
+#include <Elementary.h>
+#include <memory.h>
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+#include "WView.h"
+
+
+class __WGenlistItemImpl
+{
+public:
+ __WGenlistItemImpl() {
+ __objectItem = NULL; }
+ ~__WGenlistItemImpl(){};
+public:
+ Elm_Object_Item* __objectItem;
+
+};
+
+WGenlistItem::WGenlistItem() : __pv( new __WGenlistItemImpl() )
+{
+}
+
+WGenlistItem::~WGenlistItem()
+{
+ delete __pv;
+}
+
+Elm_Genlist_Item_Class* WGenlistItem::getItemClassNew()
+{
+ return NULL;
+}
+
+Elm_Genlist_Item_Class* WGenlistItem::getItemClassStatic()
+{
+ return NULL;
+}
+
+void WGenlistItem::onSelect( Elm_Object_Item* objItem )
+{
+}
+
+
+Elm_Object_Item* WGenlistItem::getElmObjectItem()
+{
+ return __pv->__objectItem;
+}
+
+void WGenlistItem::setElmObjectItem( Elm_Object_Item* objItem )
+{
+ __pv->__objectItem = objItem;
+}
+
+
+void WGenlistItem::selectCb(void *data, Evas_Object *obj, void *event_info)
+{
+ Elm_Object_Item* genlistItem = (Elm_Object_Item*) event_info;
+ elm_genlist_item_selected_set(genlistItem, EINA_FALSE);
+
+ auto item = (WGenlistItem*)data;
+ item->onSelect( genlistItem );
+}
+
+
+bool WGenlistItem::attachToView( WControl* popup )
+{
+ if( __pv->__objectItem == NULL )
+ {
+ WERROR("object item is not created!");
+ return false;
+ }
+
+ Evas_Object* obj = elm_object_item_widget_get( __pv->__objectItem );
+ while( (obj = elm_object_parent_widget_get( obj )) != NULL )
+ {
+ WView* view = WView_getInstanceFromEvasObj( obj );
+ if( view != NULL )
+ {
+ view->attachPopup( popup );
+ return true;
+ }
+ }
+ WERROR("Can not find view instance!");
+ return false;
+}
diff --git a/app-assist-efl/src/WMenuPopup.cpp b/app-assist-efl/src/WMenuPopup.cpp
new file mode 100644
index 0000000..1e6d938
--- /dev/null
+++ b/app-assist-efl/src/WMenuPopup.cpp
@@ -0,0 +1,181 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WMenuPopup.h"
+#include "WDebugInternal.h"
+#include <efl_extension.h>
+#include <vector>
+
+class __WMenuPopupImpl
+{
+public:
+ __WMenuPopupImpl();
+ ~__WMenuPopupImpl();
+public:
+ //
+ Evas_Object* __win;
+ Evas_Object* __navi;
+ Evas_Object* __popup;
+ std::vector<std::function< void()>> __vSelectItemCb;
+
+ void __popupMove();
+
+ static void __popupSelectCb(void* data, Evas_Object* obj, void* event_info);
+ static void __popupResizeCb(void* data, Evas* e, Evas_Object* obj, void* event_info);
+ static void __popupWinRotateCb(void* data, Evas_Object* obj, void* event_info);
+ static void __popupDismissedCb(void* data, Evas_Object* obj, void* event_info);
+
+};
+__WMenuPopupImpl::__WMenuPopupImpl()
+{
+ __win = NULL;
+ __navi = NULL;
+ __popup = NULL;
+}
+
+__WMenuPopupImpl::~__WMenuPopupImpl()
+{
+
+}
+
+
+void __WMenuPopupImpl:: __popupMove()
+{
+ WENTER();
+ int y, w,h,w1,h1;
+ int rotate;
+ //
+ evas_object_geometry_get(NULL, NULL, &y, &w, &h);
+ elm_win_screen_size_get(__win, NULL, NULL, &w1, &h1);
+ rotate = elm_win_rotation_get(__win);
+
+ if(rotate == 90)
+ evas_object_move(__popup, h1/2, w1);
+ else if(rotate == 270)
+ evas_object_move(__popup, h1/2, w1);
+ else
+ evas_object_move(__popup, w1/2, h1);
+
+ evas_object_show(__popup);
+}
+
+void __WMenuPopupImpl::__popupSelectCb( void* data, Evas_Object* obj, void* event_info )
+{
+ WENTER();
+ auto p = (WMenuPopup*)WControl_getInstanceFromEvasObj(obj);
+ if (p) {
+ const unsigned int itemIndex = (unsigned int)data;
+ p->__pv->__vSelectItemCb[itemIndex]();
+ }
+
+ evas_object_del(obj);
+}
+
+void __WMenuPopupImpl::__popupResizeCb(void* data, Evas* e, Evas_Object* obj, void* event_info)
+{
+ WENTER();
+ auto p = (WMenuPopup*)data;
+ p->__pv->__popupMove();
+}
+
+void __WMenuPopupImpl::__popupWinRotateCb(void* data, Evas_Object* obj, void* event_info)
+{
+ WENTER();
+ auto p = (WMenuPopup*)data;
+ p->__pv->__popupMove();
+}
+
+
+
+void __WMenuPopupImpl::__popupDismissedCb(void* data, Evas_Object* obj, void* event_info)
+{
+ WENTER();
+ auto p = (WMenuPopup*)data;
+
+ evas_object_del(p->getEvasObj());
+}
+
+
+WMenuPopup::WMenuPopup() : __pv( new __WMenuPopupImpl() )
+{
+ WHIT();
+}
+
+WMenuPopup::~WMenuPopup()
+{
+ WHIT();
+ if (__pv->__popup)
+ {
+ evas_object_event_callback_del(__pv->__navi, EVAS_CALLBACK_RESIZE, __WMenuPopupImpl::__popupResizeCb);
+ evas_object_smart_callback_del(__pv->__win, "rotation,changed", __WMenuPopupImpl::__popupWinRotateCb);
+ }
+ delete __pv;
+}
+
+void WMenuPopup::prepare(Evas_Object* win, Evas_Object* naviframe)
+{
+ __pv->__win = win;
+ __pv->__navi = naviframe;
+
+ Evas_Object* popup = NULL;
+ popup = elm_ctxpopup_add(__pv->__win);
+ elm_object_style_set(popup, "more/default");
+ elm_ctxpopup_auto_hide_disabled_set(popup, EINA_TRUE);
+
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_ctxpopup_back_cb, NULL);
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_MORE, eext_ctxpopup_back_cb, NULL);
+ evas_object_event_callback_add(__pv->__navi, EVAS_CALLBACK_RESIZE, __WMenuPopupImpl::__popupResizeCb, this);
+ evas_object_smart_callback_add(__pv->__win, "rotation,changed", __WMenuPopupImpl::__popupWinRotateCb, this);
+ elm_ctxpopup_direction_priority_set(popup, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_UNKNOWN, ELM_CTXPOPUP_DIRECTION_UNKNOWN);
+ evas_object_smart_callback_add(popup, "dismissed", __WMenuPopupImpl::__popupDismissedCb, this);
+ evas_object_smart_callback_add(popup, "language,changed", __WMenuPopupImpl::__popupDismissedCb, this);
+
+ __pv->__popup = popup;
+
+}
+
+Elm_Object_Item* WMenuPopup::appendItem( const char* label, std::function< void()> selectCb )
+{
+ WASSERT(__pv->__popup);
+ __pv->__vSelectItemCb.push_back(selectCb);
+ return elm_ctxpopup_item_append(__pv->__popup, label, NULL, __WMenuPopupImpl::__popupSelectCb, (void*)(__pv->__vSelectItemCb.size() - 1));
+}
+
+void WMenuPopup::createMenu()
+{
+ WControl::create(NULL,NULL);
+}
+
+Evas_Object* WMenuPopup::onCreate(Evas_Object* parent, void* param)
+{
+ if(__pv->__popup == NULL)
+ {
+ WERROR("Not initialized!");
+ return NULL;
+ }
+
+ __pv->__popupMove();
+ evas_object_show(__pv->__popup);
+ return __pv->__popup;
+}
+
+void WMenuPopup::onDestroy()
+{
+ WENTER();
+}
+
+
diff --git a/app-assist-efl/src/WNaviframe.cpp b/app-assist-efl/src/WNaviframe.cpp
new file mode 100644
index 0000000..f911acc
--- /dev/null
+++ b/app-assist-efl/src/WNaviframe.cpp
@@ -0,0 +1,297 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <memory.h>
+#include "WNaviframe.h"
+#include "WDebugInternal.h"
+#include "WWindow.h"
+#include "WDefineInternal.h"
+
+#include <efl_extension.h>
+
+#include "WView.h"
+
+#define __CLASS_NAME "WNaviframe"
+
+class __WNaviframeImpl
+{
+public:
+ __WNaviframeImpl();
+ ~__WNaviframeImpl();
+public:
+ //
+ char* __name;
+ Evas_Object* __evasObj;
+ //
+ std::function<Evas_Object*(Evas_Object*, void*)> __createHandler;
+ std::function<void(bool*)> __lastItemPopHandler;
+
+ static void __objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info);
+ static void __transitionFinishedCb(void* data, Evas_Object* obj, void* event_info);
+};
+
+__WNaviframeImpl::__WNaviframeImpl():
+ __name(NULL),
+ __evasObj(NULL),
+ __createHandler(NULL),
+ __lastItemPopHandler(NULL)
+{
+}
+__WNaviframeImpl::~__WNaviframeImpl()
+{
+ if( __name)
+ free(__name);
+}
+
+
+void __WNaviframeImpl::__objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info)
+{
+ WHIT();
+
+ auto frame = (WNaviframe*)data;
+ frame->onDestroy();
+ //
+ delete frame;
+}
+
+
+void __WNaviframeImpl::__transitionFinishedCb(void* data, Evas_Object* obj, void* event_info)
+{
+// WNaviframe* nf = (WNaviframe*)data;
+// nf->getTopView()->onExpose();
+}
+
+
+WNaviframe::WNaviframe() : __pv( new __WNaviframeImpl() )
+{
+ WHIT();
+}
+
+WNaviframe::~WNaviframe()
+{
+ WHIT();
+ delete __pv;
+}
+
+const char* WNaviframe::getClassName()
+{
+ return __CLASS_NAME;
+}
+
+bool WNaviframe::create( Evas_Object* parent, void* param )
+{
+// mWindow = win;
+ if( __pv->__evasObj )
+ {
+ WDEBUG("Already created!");
+ return true;
+ }
+ __pv->__evasObj = NULL;
+ if( __pv->__createHandler )
+ __pv->__evasObj = __pv->__createHandler(parent, param);
+ else
+ __pv->__evasObj = onCreate(parent, param);
+ //
+ if(__pv->__evasObj == NULL)
+ {
+ WERROR("No frame object created!");
+ return false;
+ }
+ evas_object_data_set( __pv->__evasObj, WKEY_FRAME_INSTANCE, this );
+ evas_object_event_callback_add( __pv->__evasObj, EVAS_CALLBACK_DEL, __WNaviframeImpl::__objDelCb, this);
+ //
+ // Do not place this before "evas_object_event_callback_add",
+ // The reason is that if additional del callback is added at child class, it should be called first to keep state the class object is still alive.
+ onCreated();
+
+ return true;
+}
+
+void WNaviframe::destroy()
+{
+ WHIT();
+ if(__pv->__evasObj)
+ {
+ destroyAllViews();
+ evas_object_del(__pv->__evasObj);
+ // Do not leave any code here.
+ // After executing upper statement "evas_object_del", this object will be deleted at evas object deletion callback!
+ }
+ else
+ {
+ onDestroy();
+ delete this;
+ }
+}
+
+Evas_Object* WNaviframe::getEvasObj()
+{
+ return __pv->__evasObj;
+}
+
+void WNaviframe::setName(const char* name)
+{
+ if( __pv->__name)
+ {
+ free(__pv->__name);
+ __pv->__name = NULL;
+ }
+ if( name )
+ {
+ __pv->__name = (char*)malloc( strlen(name)+1);
+ strcpy( __pv->__name, name);
+ }
+}
+
+const char* WNaviframe::getName()
+{
+ return __pv->__name;
+}
+
+WWindow* WNaviframe::getWindow()
+{
+ if( __pv->__evasObj == NULL)
+ return NULL;
+
+ WWindow* window = (WWindow*)evas_object_data_get( __pv->__evasObj, WKEY_WINDOW_INSTANCE );
+
+ return window;
+}
+
+bool WNaviframe::push( WView* view, const char* viewName, void* viewCreationParam )
+{
+ if( viewName )
+ view->setName( viewName );
+ return onPush( view, viewCreationParam );
+ //
+
+}
+
+void WNaviframe::destroyAllViews()
+{
+ WHIT();
+
+ Eina_List* list = elm_naviframe_items_get( getEvasObj());
+ Eina_List* temp = NULL;
+ void* it = NULL;
+ EINA_LIST_FOREACH( list, temp, it)
+ {
+ elm_object_item_del( (Elm_Object_Item*)it);
+ }
+
+}
+
+void WNaviframe::setOnCreate( const std::function<Evas_Object*(Evas_Object*, void*)>& handlerFunc)
+{
+ __pv->__createHandler = handlerFunc;
+}
+
+
+void WNaviframe::setOnLastItemPop( const std::function<void(bool*)>& handlerFunc)
+{
+ __pv->__lastItemPopHandler = handlerFunc;
+}
+
+
+
+Evas_Object* WNaviframe::onCreate(Evas_Object* parent, void* param)
+{
+ Evas_Object* obj = elm_naviframe_add( parent);
+ elm_object_part_content_set(parent, "elm.swallow.content", obj);
+ eext_object_event_callback_add(obj, EEXT_CALLBACK_BACK, eext_naviframe_back_cb, NULL);
+ eext_object_event_callback_add(obj, EEXT_CALLBACK_MORE, eext_naviframe_more_cb, NULL);
+ evas_object_smart_callback_add(obj, "transition,finished", __WNaviframeImpl::__transitionFinishedCb, this);
+
+ evas_object_show(obj);
+
+ return obj;
+}
+
+void WNaviframe::onDestroy()
+{
+
+}
+
+void WNaviframe::onLastItemPop( bool* popOut )
+{
+ WHIT();
+ *popOut = false;
+ WWindow *window = getWindow();
+ if (window) {
+ elm_win_lower(window->getEvasObj());
+ }
+}
+
+bool WNaviframe::onPush( WView* view, void* viewParam )
+{
+ WASSERT( getEvasObj() != NULL );
+ //
+ view->create( getEvasObj(), viewParam );
+
+
+ WView_setContainerProperties( view, getWindow(), this );
+ //
+ Elm_Object_Item* item = view->onPushToNaviframe( getEvasObj() );
+ if( item == NULL )
+ item = elm_naviframe_item_push( getEvasObj(), view->getTitle(), NULL, NULL, view->getEvasObj(), NULL);
+ //
+ WView_setContainerNaviItemProperty( view, item );
+ //
+ if( view->__callPushedHandlerFunc( item ) == false)
+ view->onPushed( item );
+
+ elm_naviframe_item_pop_cb_set( item, __popCb, view);
+
+ return true;
+}
+
+bool WNaviframe::onItemPop( WView* view, Elm_Object_Item* item )
+{
+ WNaviframe* nf = view->getNaviframe();
+
+ if( item == elm_naviframe_bottom_item_get( nf->getEvasObj() ))
+ {
+ bool ret = view->onPop();
+ if( ret == false )
+ return EINA_FALSE;
+
+ bool popOut = true;
+
+ if( nf->__pv->__lastItemPopHandler)
+ nf->__pv->__lastItemPopHandler(&popOut);
+ else
+ nf->onLastItemPop(&popOut);
+ return popOut;
+ }
+ else
+ {
+ return view->onPop();
+ }
+}
+
+Eina_Bool WNaviframe::__popCb( void* data, Elm_Object_Item* item)
+{
+ auto view = (WView*)data;
+ WNaviframe* nf = view->getNaviframe();
+ //
+ WASSERT( view->getNaviItem() == item );
+ //
+ if( nf->onItemPop( view, item ) )
+ return EINA_TRUE;
+ else
+ return EINA_FALSE;
+}
diff --git a/app-assist-efl/src/WPageSlideView.cpp b/app-assist-efl/src/WPageSlideView.cpp
new file mode 100644
index 0000000..a89696b
--- /dev/null
+++ b/app-assist-efl/src/WPageSlideView.cpp
@@ -0,0 +1,461 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WPageSlideView.h"
+#include <app.h>
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+#include "IWUiObject.h"
+#include <list>
+#include <string>
+
+
+#define __CLASS_NAME "WPageSlideView"
+
+class __WPageSlideViewImpl
+{
+public:
+ __WPageSlideViewImpl(WPageSlideView* host);
+ ~__WPageSlideViewImpl();
+public:
+ WPageSlideView* __b;
+ //
+ struct PageContent
+ {
+ IWUiObject* uiObj;
+ Evas_Object* evasObj;
+ };
+
+ Evas_Object* __scroller;
+ Evas_Object* __box;
+ int __currentPage;
+ int __pageWidth;
+ int __pageHeight;
+ std::list<PageContent>* __listPageContent;
+ bool __showScroll;
+ //
+ std::function<void (Evas_Object*)> __initScrollerHandler;
+ std::function<void()> __scrollAnimStopCb;
+
+ bool __appendPage(IWUiObject* uiObj);
+ bool __appendPage();
+ bool __setPageContent(int index, IWUiObject* uiObj);
+
+ static void __scrollCallback(void *data, Evas_Object *obj, void *event_info);
+ static void __scrollAnimStopCallback(void *data, Evas_Object *obj, void *event_info);
+
+ static void __layoutResizeCallback(void *data, Evas *e, Evas_Object *obj, void *event_info);
+};
+
+
+static Evas_Object* __createPageBase(Evas_Object* parent)
+{
+ Evas_Object* pageBase = elm_layout_add( parent);
+ evas_object_size_hint_weight_set(pageBase, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ #if defined RESDIR
+ const char * path = RESDIR;
+ #else
+ char * path = app_get_resource_path();
+ #endif
+
+ WINFO("app_get_resource_path: [%s]", path);
+ if( path == NULL )
+ {
+ WERROR("Failed to get resource path=NULL!!!");
+ return pageBase;
+ }
+ std::string edjPath(path);
+
+ #if !defined(RESDIR)
+ free(path);
+ #endif
+
+ edjPath += "/edje/app-assist-efl.edj";
+
+ if( elm_layout_file_set(pageBase, edjPath.c_str(), "page") == EINA_FALSE )
+ {
+ WERROR("Fail to set layout. Check EDJ file(%s)", edjPath.c_str() );
+ return pageBase;
+ }
+
+ Evas_Object* rect = evas_object_rectangle_add(evas_object_evas_get(pageBase));
+ evas_object_color_set(rect, 0, 0, 0, 0);
+ evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(rect);
+
+ elm_object_part_content_set(pageBase, "sizer", rect);
+
+ evas_object_show(pageBase);
+ return pageBase;
+}
+
+__WPageSlideViewImpl::__WPageSlideViewImpl(WPageSlideView* host):
+ __scroller(NULL),
+ __box(NULL),
+ __currentPage(0),
+ __pageWidth(0),
+ __pageHeight(0),
+ __listPageContent(NULL),
+ __showScroll(true),
+ __initScrollerHandler(NULL),
+ __scrollAnimStopCb(NULL)
+{
+ __b = host;
+ __listPageContent = new std::list<PageContent>;
+}
+
+__WPageSlideViewImpl::~__WPageSlideViewImpl()
+{
+ delete __listPageContent;
+}
+
+bool __WPageSlideViewImpl::__appendPage(IWUiObject* uiObj)
+{
+ if( __scroller == NULL)
+ {
+ WASSERT("First, create page slide view!");
+ return false;
+ }
+
+ Evas_Object* pageBase = __createPageBase(__box);
+
+ uiObj->create(pageBase, NULL);
+
+ elm_object_part_content_set(pageBase, "sw", uiObj->getEvasObj());
+
+ elm_box_pack_end(__box, pageBase);
+
+ __listPageContent->push_back( PageContent{uiObj, pageBase});
+
+ return true;
+}
+
+bool __WPageSlideViewImpl::__appendPage()
+{
+ if( __scroller == NULL)
+ {
+ WASSERT("First, create page slide view!");
+ return false;
+ }
+
+ Evas_Object* pageBase = __createPageBase(__box);
+
+ elm_box_pack_end(__box, pageBase);
+
+ __listPageContent->push_back( PageContent{NULL, pageBase});
+
+ return true;
+}
+
+bool __WPageSlideViewImpl::__setPageContent(int index, IWUiObject* uiObj)
+{
+ int count = 0;
+ Evas_Object* pageBase = NULL;
+ for( auto it = __listPageContent->begin(); it != __listPageContent->end(); it++,count++ )
+ {
+ if( index == count )
+ {
+ if( (*it).uiObj )
+ {
+ WERROR("Index is already occupied(index=%d)", index);
+ return false;
+
+ }
+ (*it).uiObj = uiObj;
+ pageBase = (*it).evasObj;
+ break;
+ }
+ }
+ if( count != index )
+ {
+ WERROR("Index is not in range(index=%d,count=%d)", index, count);
+ return false;
+ }
+
+ Evas_Object *content = elm_object_part_content_get( pageBase, "sw");
+ if(content == NULL) {
+ uiObj->create( pageBase, NULL);
+ elm_object_part_content_set( pageBase, "sw", uiObj->getEvasObj());
+ return true;
+ }
+
+ return false;
+}
+
+
+void __WPageSlideViewImpl::__scrollCallback(void *data, Evas_Object *obj, void *event_info)
+{
+ __WPageSlideViewImpl* pageViewImpl = ((WPageSlideView *)data)->__pv;
+ elm_scroller_current_page_get(obj, &pageViewImpl->__currentPage, NULL);
+}
+
+void __WPageSlideViewImpl::__scrollAnimStopCallback(void *data, Evas_Object *obj, void *event_info)
+{
+ __WPageSlideViewImpl* pageViewImpl = ((WPageSlideView *)data)->__pv;
+ if (pageViewImpl->__scrollAnimStopCb)
+ pageViewImpl->__scrollAnimStopCb();
+}
+
+void __WPageSlideViewImpl::__layoutResizeCallback(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+
+ WHIT();
+
+ WPageSlideView* pageView = (WPageSlideView *)data;
+ __WPageSlideViewImpl* pv = pageView->__pv;
+ int w, h;
+
+ evas_object_geometry_get(obj, NULL, NULL, &w, &h);
+
+ pv->__pageWidth = w;
+ pv->__pageHeight = h;
+
+ WDEBUG("%d %d", w, h);
+
+ for( auto it = pv->__listPageContent->begin(); it != pv->__listPageContent->end(); it++)
+ {
+ Evas_Object* pageBase = (*it).evasObj;
+ evas_object_size_hint_min_set(elm_object_part_content_get(pageBase, "sizer"), w, h);
+ }
+
+ elm_scroller_page_size_set(pv->__scroller, w, h);
+ elm_scroller_page_show(pv->__scroller, pv->__currentPage, 0);
+}
+
+
+WPageSlideView::WPageSlideView()
+{
+ __pv = new __WPageSlideViewImpl(this);
+}
+
+WPageSlideView::~WPageSlideView()
+{
+ delete __pv;
+}
+
+void WPageSlideView::setOnScrollAnimStop(const std::function<void()>& scrollAnimStopCb)
+{
+ __pv->__scrollAnimStopCb = scrollAnimStopCb;
+}
+
+const char* WPageSlideView::getClassName()
+{
+ return __CLASS_NAME;
+}
+
+bool WPageSlideView::appendPage( WControl* content)
+{
+ if( __pv->__appendPage(content) == false )
+ {
+ WERROR("Fail to attach the page!" );
+ return false;
+ }
+
+ return true;
+}
+
+bool WPageSlideView::appendPage( WView* content)
+{
+ if( __pv->__appendPage(content) == false )
+ {
+ WERROR("Fail to attach the page!" );
+ return false;
+ }
+
+ WView_setContainerProperties( content, getWindow(), getNaviframe() );
+ WView_setContainerNaviItemProperty( content, getNaviItem() );
+
+ content->onSetAsPageContent( getNaviItem() );
+
+ return true;
+}
+
+bool WPageSlideView::appendPage()
+{
+ if(__pv->__appendPage() == false)
+ {
+ WERROR("Fail to attach the page!" );
+ return false;
+ }
+
+ return true;
+}
+
+bool WPageSlideView::setPageContent(int index, WView* content)
+{
+ if(__pv->__setPageContent(index, content) == false)
+ {
+ WERROR("Fail to set page content %d!", index );
+ return false;
+ }
+
+ WView_setContainerProperties( content, getWindow(), getNaviframe() );
+ WView_setContainerNaviItemProperty( content, getNaviItem() );
+
+ content->onSetAsPageContent( getNaviItem() );
+
+ return true;
+}
+
+bool WPageSlideView::setPageContent(int index, WControl* content)
+{
+ if(__pv->__setPageContent(index, content) == false)
+ {
+ WERROR("Fail to set page content %d!", index );
+ return false;
+ }
+ return true;
+}
+
+
+int WPageSlideView::getPageCount()
+{
+ return __pv->__listPageContent->size();
+}
+
+IWUiObject* WPageSlideView::getPageContent( int index)
+{
+ int count = 0;
+ for( auto it = __pv->__listPageContent->begin(); it != __pv->__listPageContent->end(); it++)
+ {
+ if( count == index)
+ return (*it).uiObj;
+ count++;
+ }
+ return NULL;
+}
+
+int WPageSlideView::getCurrentPageIndex()
+{
+ return __pv->__currentPage;
+}
+
+Evas_Object* WPageSlideView::getScroller()
+{
+ return __pv->__scroller;
+}
+
+void WPageSlideView::setShowScroll(bool show)
+{
+ __pv->__showScroll = show;
+}
+
+void WPageSlideView::setCurrentPage(int index)
+{
+ __pv->__currentPage = index;
+// elm_scroller_page_show(__pv->__scroller, __pv->__currentPage, 0);
+}
+
+void WPageSlideView::showPage(int index, bool withAnimation)
+{
+ __pv->__currentPage = index;
+ if (withAnimation)
+ elm_scroller_page_bring_in(__pv->__scroller, __pv->__currentPage, 0);
+ else
+ elm_scroller_page_show(__pv->__scroller, __pv->__currentPage, 0);
+}
+
+void WPageSlideView::unsetPageObject(int index)
+{
+ auto it = __pv->__listPageContent->begin();
+ for (int i = 0; i < index; i++)
+ it++;
+ elm_object_part_content_unset((*it).evasObj, "sw");
+}
+
+void WPageSlideView::setPageObject(int index, WControl* control )
+{
+ auto it = __pv->__listPageContent->begin();
+ for (int i = 0; i < index; i++)
+ it++;
+ elm_object_part_content_set( (*it).evasObj, "sw", control->getEvasObj());
+ (*it).uiObj = control;
+
+}
+
+
+void WPageSlideView::setOnInitScroller( const std::function<void (Evas_Object*)>& handlerFunc )
+{
+ __pv->__initScrollerHandler = handlerFunc;
+}
+
+Evas_Object* WPageSlideView::onCreate( Evas_Object* parent, void* viewParam )
+{
+ WHIT();
+
+ Evas_Object* layout = onCreateLayout( parent );
+ Evas_Object* scroller = NULL;
+ if( layout ) {
+ scroller = elm_scroller_add( layout);
+ evas_object_event_callback_add(layout, EVAS_CALLBACK_RESIZE, __WPageSlideViewImpl::__layoutResizeCallback, this);
+ } else {
+ scroller = elm_scroller_add( parent);
+ evas_object_event_callback_add(scroller, EVAS_CALLBACK_RESIZE, __WPageSlideViewImpl::__layoutResizeCallback, this);
+ }
+
+ evas_object_smart_callback_add(scroller, "scroll.page.changed", __WPageSlideViewImpl::__scrollCallback, this);
+ evas_object_smart_callback_add(scroller, "scroll,anim,stop", __WPageSlideViewImpl::__scrollAnimStopCallback, this);
+
+ elm_scroller_loop_set( scroller, EINA_FALSE, EINA_FALSE);
+ evas_object_size_hint_weight_set( scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set( scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_scroller_page_relative_set( scroller, 1.0, 0.0);
+ elm_scroller_policy_set( scroller,
+ __pv->__showScroll ? ELM_SCROLLER_POLICY_AUTO : ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_OFF);
+ elm_scroller_page_scroll_limit_set( scroller, 1, 0);
+ elm_object_scroll_lock_y_set( scroller, EINA_TRUE);
+ elm_scroller_single_direction_set(scroller, ELM_SCROLLER_SINGLE_DIRECTION_HARD);
+ //
+ if( __pv->__initScrollerHandler )
+ __pv->__initScrollerHandler(scroller);
+ else
+ onInitScroller( scroller );
+ //
+ if (layout) {
+ elm_object_part_content_set(layout, "scroller", scroller);
+ }
+
+ Evas_Object* box = elm_box_add(scroller);
+
+ __pv->__scroller = scroller;
+ __pv->__box = box;
+
+ elm_box_horizontal_set( box, EINA_TRUE);
+ elm_object_content_set( scroller, box);
+ evas_object_show( scroller);
+ evas_object_show( box);
+
+ if( layout )
+ return layout;
+ else
+ return scroller;
+
+}
+
+void WPageSlideView::onInitScroller( Evas_Object* scroller )
+{
+}
+
+Evas_Object* WPageSlideView::onCreateLayout( Evas_Object* parent)
+{
+ WHIT();
+ return NULL;
+}
+
+
diff --git a/app-assist-efl/src/WPopup.cpp b/app-assist-efl/src/WPopup.cpp
new file mode 100644
index 0000000..fe035ae
--- /dev/null
+++ b/app-assist-efl/src/WPopup.cpp
@@ -0,0 +1,271 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WPopup.h"
+#include <Evas.h>
+#include <efl_extension.h>
+#include "WDebugInternal.h"
+#include <string>
+
+#define __MAX_BUTTON_NUM 3
+
+class __WPopupImpl
+{
+public:
+ __WPopupImpl();
+ ~__WPopupImpl();
+public:
+ //
+ std::string __title;
+ std::string __text;
+ std::string __textDomain;
+ WControl* __content;
+
+ std::function<Evas_Object* (Evas_Object* parent)> __contentCreateCb;
+ std::function<void(Evas_Object* popup)> __morePropertiesCb;
+ std::function<void (bool* destroyPopup)> __backCb;
+
+ std::function<void (bool* destroyPopup)> __vButtonCb[__MAX_BUTTON_NUM];
+ std::function<void (Evas_Object* button)>* buttonPropertyCb[__MAX_BUTTON_NUM];
+
+ std::string __listButtonLabel[__MAX_BUTTON_NUM];
+ int __count;
+
+};
+__WPopupImpl::__WPopupImpl()
+{
+ __content = NULL;
+ __count = 0;
+ for( int i=0; i< __MAX_BUTTON_NUM; i++)
+ {
+ buttonPropertyCb[i] = NULL;
+ }
+}
+
+__WPopupImpl::~__WPopupImpl()
+{
+ for( int i=0; i< __MAX_BUTTON_NUM; i++)
+ {
+ delete buttonPropertyCb[i];
+ }
+}
+
+
+WPopup::WPopup() : __pv( new __WPopupImpl() )
+{
+ WHIT();
+}
+WPopup::WPopup( const char* title, const char* textContent ) : __pv( new __WPopupImpl() )
+{
+ if( title )
+ __pv->__title = title;
+ if( textContent )
+ __pv->__text = textContent;
+}
+
+WPopup::~WPopup()
+{
+ WHIT();
+ delete __pv;
+}
+
+void WPopup::setTitle( const char* title )
+{
+ if(title) {
+ __pv->__title = title;
+ } else {
+ __pv->__title.clear();
+ }
+
+ Evas_Object *popup = getEvasObj();
+ if(popup) {
+ elm_object_part_text_set(popup, "title,text", __pv->__title.c_str());
+ }
+}
+
+void WPopup::setContent( const char* text )
+{
+ if( text )
+ __pv->__text = text;
+ else
+ __pv->__text.clear();
+ if( __pv->__content )
+ {
+ __pv->__content->destroy();
+ __pv->__content = NULL;
+ }
+}
+
+void WPopup::setContent( WControl* control )
+{
+ __pv->__text = "";
+ __pv->__content = control;
+}
+
+void WPopup::setContent( const std::function<Evas_Object* (Evas_Object* parent)> contentCreateCb )
+{
+ __pv->__text = "";
+ if( __pv->__content )
+ {
+ __pv->__content->destroy();
+ __pv->__content = NULL;
+ }
+ __pv->__contentCreateCb = contentCreateCb;
+}
+
+void WPopup::setTextTranslatable( const char* textDomain )
+{
+ if( textDomain )
+ __pv->__textDomain = textDomain;
+ else
+ __pv->__textDomain.clear();
+}
+
+#define BUTTON_CALLBACK(_buttonIndex) \
+[](void* data, Evas_Object* obj, void* eventInfo) {\
+ WPopup* self = (WPopup*)data;\
+ if (self->__pv->__vButtonCb[_buttonIndex]) { \
+ bool destroyPopup = true; \
+ self->__pv->__vButtonCb[_buttonIndex](&destroyPopup); \
+ if( destroyPopup ) \
+ evas_object_del(self->getEvasObj());\
+ }\
+ else \
+ evas_object_del(self->getEvasObj());\
+}
+
+bool WPopup::addButton(const char* buttonText, const std::function<void (bool* destroyPopup)> buttonCb, const std::function<void (Evas_Object* button)> setPropertyCb )
+{
+ if( __pv->__count >= __MAX_BUTTON_NUM )
+ {
+ WERROR("Over the max button number! =%d", __pv->__count);
+ return false;
+ }
+ __pv->__listButtonLabel[__pv->__count] = buttonText;
+ __pv->__vButtonCb[__pv->__count] = buttonCb;
+ if( setPropertyCb )
+ __pv->buttonPropertyCb[__pv->__count] = new std::function<void (Evas_Object* button)>( setPropertyCb );
+
+ __pv->__count++;
+ return true;
+}
+
+void WPopup::setOnBack( const std::function<void (bool* destroyPopup)> backCb )
+{
+ __pv->__backCb = backCb;
+}
+
+void WPopup::setOnMoreProperties( const std::function<void(Evas_Object* popup)>& morePropertiesCb )
+{
+ __pv->__morePropertiesCb = morePropertiesCb;
+}
+
+Evas_Object* WPopup::onCreate(Evas_Object* parent, void* param)
+{
+ WHIT();
+
+ Evas_Object* popup = elm_popup_add( parent );
+
+ // It make the width to fit to screen width in portrait mode. 2014.09.30 modified as EFL notice.
+ elm_popup_align_set( popup, ELM_NOTIFY_ALIGN_FILL, 1.0 );
+
+ if( __pv->__backCb )
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, [](void *data, Evas_Object *obj, void *event_info){
+ WPopup* p = (WPopup*)data;
+ bool destroyPopup = true;
+ p->__pv->__backCb( &destroyPopup );
+ if( destroyPopup )
+ {
+ p->destroy();
+ }
+ }, this);
+ else
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, NULL);
+
+ if( __pv->__morePropertiesCb )
+ __pv->__morePropertiesCb( popup );
+
+ if (!__pv->__title.empty())
+ {
+ if (!__pv->__textDomain.empty())
+ elm_object_domain_translatable_part_text_set(popup, "title,text", __pv->__textDomain.c_str(), __pv->__title.c_str());
+ else
+ elm_object_part_text_set(popup, "title,text", __pv->__title.c_str() );
+ }
+
+ if (!__pv->__text.empty())
+ {
+ if (!__pv->__textDomain.empty())
+ elm_object_domain_translatable_part_text_set(popup, NULL, __pv->__textDomain.c_str(), __pv->__text.c_str());
+ else
+ elm_object_text_set(popup, __pv->__text.c_str());
+ }
+ else if( __pv->__content)
+ {
+ __pv->__content->create(popup, NULL);
+ elm_object_content_set(popup, __pv->__content->getEvasObj());
+ }
+ else if( __pv->__contentCreateCb )
+ {
+ Evas_Object* obj = __pv->__contentCreateCb( popup );
+ elm_object_content_set(popup, obj);
+ }
+
+ for( int i=0; i< __pv->__count; i++ )
+ {
+ Evas_Object* button = elm_button_add(popup);
+ elm_object_style_set(button, "popup");
+ if (!__pv->__textDomain.empty())
+ elm_object_domain_translatable_part_text_set(button, NULL, __pv->__textDomain.c_str(), __pv->__listButtonLabel[i].c_str() );
+ else
+ elm_object_text_set(button, __pv->__listButtonLabel[i].c_str() );
+
+ char partname[100] = {0};
+ snprintf(partname, sizeof(partname) - 1, "button%d", i + 1);
+ elm_object_part_content_set(popup, partname, button);
+ //
+ switch ( i ) {
+ case 0:
+ evas_object_smart_callback_add(button, "clicked", BUTTON_CALLBACK(0), this);
+ break;
+ case 1:
+ evas_object_smart_callback_add(button, "clicked", BUTTON_CALLBACK(1), this);
+ break;
+ case 2:
+ evas_object_smart_callback_add(button, "clicked", BUTTON_CALLBACK(2), this);
+ break;
+ default:
+ break;
+ }
+
+ if( __pv->buttonPropertyCb[i] )
+ {
+ (*__pv->buttonPropertyCb[i])( button );
+ }
+ evas_object_show( button);
+ }
+
+ evas_object_show(popup);
+
+ return popup;
+
+}
+
+void WPopup::onDestroy()
+{
+}
+
diff --git a/app-assist-efl/src/WToastPopup.cpp b/app-assist-efl/src/WToastPopup.cpp
new file mode 100644
index 0000000..1e2e73d
--- /dev/null
+++ b/app-assist-efl/src/WToastPopup.cpp
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WToastPopup.h"
+#include <string>
+#include <Elementary.h>
+#include <efl_extension.h>
+#include "WDebugInternal.h"
+
+#define __DEFAULT_TIME_OUT 2.0
+
+class __WToastPopupImpl
+{
+public:
+ __WToastPopupImpl(const char* text, double timeout );
+ ~__WToastPopupImpl();
+public:
+ //
+ std::string __text;
+ double __timeout;
+};
+
+__WToastPopupImpl::__WToastPopupImpl(const char* text, double timeout)
+{
+ __text = text;
+ __timeout = timeout;
+}
+
+__WToastPopupImpl::~__WToastPopupImpl()
+{
+
+}
+
+WToastPopup::WToastPopup(const char* text) : __pv( new __WToastPopupImpl( text, __DEFAULT_TIME_OUT ) )
+{
+
+}
+
+WToastPopup::WToastPopup(const char* text, double timeout) : __pv( new __WToastPopupImpl( text, timeout ) )
+{
+
+}
+
+WToastPopup::~WToastPopup()
+{
+ delete __pv;
+}
+
+
+Evas_Object* WToastPopup::onCreate(Evas_Object* parent, void* param)
+{
+ WHIT();
+
+ Evas_Object* popup = NULL;
+ popup = elm_popup_add( parent );
+
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, NULL);
+
+ elm_object_style_set(popup, "toast");
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_part_text_set(popup,"elm.text", __pv->__text.c_str());
+ elm_popup_timeout_set(popup, __pv->__timeout);
+ evas_object_smart_callback_add(popup, "block,clicked",
+ [](void* data, Evas_Object* obj, void* event_info) { evas_object_del(obj); }, NULL );
+
+ evas_object_smart_callback_add(popup, "timeout",
+ [](void* data, Evas_Object* obj, void* event_info) { evas_object_del(obj); }, NULL );
+
+ evas_object_show(popup);
+
+ return popup;
+}
+
+void WToastPopup::onDestroy()
+{
+}
+
+
diff --git a/app-assist-efl/src/WUiTimer.cpp b/app-assist-efl/src/WUiTimer.cpp
new file mode 100644
index 0000000..0bcfc40
--- /dev/null
+++ b/app-assist-efl/src/WUiTimer.cpp
@@ -0,0 +1,242 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WUiTimer.h"
+#include <Ecore.h>
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+
+class __WUiTimerImpl
+{
+public:
+ __WUiTimerImpl();
+ ~__WUiTimerImpl();
+public:
+ //
+ void* __timer;
+ WUiTimer::TimerType __type;
+
+ void* __userData;
+ std::weak_ptr<IWUiObject>* __uiObjMonitor;
+
+ std::function<Eina_Bool (void*)> __timerFunc;
+ std::function<void (void*)> __jobFunc;
+ //
+ void __deleteTimer();
+ static Eina_Bool __timerCb(void* data);
+ static void __jobCb(void* data);
+
+};
+__WUiTimerImpl::__WUiTimerImpl()
+{
+ __timer = NULL;
+ __type = WUiTimer::IDLER;
+ __userData = NULL;
+ __uiObjMonitor = NULL;
+}
+
+__WUiTimerImpl::~__WUiTimerImpl()
+{
+ __deleteTimer();
+ delete __uiObjMonitor;
+
+}
+
+void __WUiTimerImpl::__deleteTimer()
+{
+ if( __timer )
+ {
+ switch( __type )
+ {
+ case WUiTimer::IDLER:
+ ecore_idler_del( (Ecore_Idler*)__timer);
+ break;
+ case WUiTimer::ANIMATOR:
+ ecore_animator_del( (Ecore_Animator*)__timer);
+ break;
+ case WUiTimer::TIMER:
+ ecore_timer_del( (Ecore_Timer*)__timer);
+ break;
+ case WUiTimer::JOB:
+ ecore_job_del( (Ecore_Job*)__timer);
+ break;
+ default:
+ break;
+ }
+ __timer = NULL;
+ }
+}
+
+Eina_Bool __WUiTimerImpl::__timerCb( void* data )
+{
+ auto p = (WUiTimer*)data;
+
+ if( p->__pv->__uiObjMonitor && p->__pv->__uiObjMonitor->expired() )
+ {
+ p->__pv->__timer = NULL;
+ delete p;
+ return ECORE_CALLBACK_CANCEL;
+ }
+ Eina_Bool ret = p->__pv->__timerFunc( p->__pv->__userData );
+ if( ret == ECORE_CALLBACK_CANCEL )
+ {
+ p->__pv->__timer = NULL;
+ delete p;
+ }
+ return ret;
+}
+
+void __WUiTimerImpl::__jobCb( void* data )
+{
+ auto p = (WUiTimer*)data;
+
+ if( p->__pv->__uiObjMonitor && p->__pv->__uiObjMonitor->expired())
+ {
+ p->__pv->__timer = NULL;
+ delete p;
+ return;
+ }
+ p->__pv->__jobFunc( p->__pv->__userData );
+ p->__pv->__timer = NULL;
+ delete p;
+}
+
+WUiTimer::WUiTimer()
+{
+ WHIT();
+ __pv = new __WUiTimerImpl();
+}
+
+WUiTimer::~WUiTimer()
+{
+ WHIT();
+ delete __pv;
+}
+
+WUiTimer::TimerType WUiTimer::getType()
+{
+ return __pv->__type;
+}
+
+void WUiTimer::destroy()
+{
+ delete this;
+}
+
+WUiTimer* WUiTimer::addIdler( const std::function<Eina_Bool (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj )
+{
+ WUiTimer* timer = new WUiTimer();
+ timer->__pv->__type = WUiTimer::IDLER;
+ if( !monitorObj.expired() )
+ {
+ timer->__pv->__uiObjMonitor = new std::weak_ptr<IWUiObject>;
+ *timer->__pv->__uiObjMonitor = monitorObj;
+ }
+ else
+ {
+ WDEBUG( "No monitored object is set!");
+ }
+
+ timer->__pv->__timerFunc = timerFunc;
+ timer->__pv->__userData = userData;
+ Ecore_Idler* ecoreIdler = ecore_idler_add( __WUiTimerImpl::__timerCb, timer );
+ if( ecoreIdler == NULL )
+ {
+ WERROR("failed to add ecore idler!");
+ delete timer;
+ return NULL;
+ }
+ timer->__pv->__timer = ecoreIdler;
+ return timer;
+}
+WUiTimer* WUiTimer::addAnimator( const std::function<Eina_Bool (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj )
+{
+ WUiTimer* timer = new WUiTimer();
+ timer->__pv->__type = WUiTimer::ANIMATOR;
+ if( !monitorObj.expired() )
+ {
+ timer->__pv->__uiObjMonitor = new std::weak_ptr<IWUiObject>;
+ *timer->__pv->__uiObjMonitor = monitorObj;
+ }
+ else
+ {
+ WDEBUG( "No monitored object is set!");
+ }
+ timer->__pv->__timerFunc = timerFunc;
+ timer->__pv->__userData = userData;
+ Ecore_Animator* ecoreAnimator = ecore_animator_add( __WUiTimerImpl::__timerCb, timer );
+ if( ecoreAnimator == NULL )
+ {
+ WERROR("failed to add ecore animator!");
+ delete timer;
+ return NULL;
+ }
+ timer->__pv->__timer = ecoreAnimator;
+ return timer;
+}
+WUiTimer* WUiTimer::addTimer( double interval, const std::function<Eina_Bool (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj )
+{
+ WUiTimer* timer = new WUiTimer();
+ timer->__pv->__type = WUiTimer::TIMER;
+ if( !monitorObj.expired() )
+ {
+ timer->__pv->__uiObjMonitor = new std::weak_ptr<IWUiObject>;
+ *timer->__pv->__uiObjMonitor = monitorObj;
+ }
+ else
+ {
+ WDEBUG( "No monitored object is set!");
+ }
+ timer->__pv->__timerFunc = timerFunc;
+ timer->__pv->__userData = userData;
+ Ecore_Timer* ecoreTimer = ecore_timer_add( interval, __WUiTimerImpl::__timerCb, timer );
+ if( ecoreTimer == NULL )
+ {
+ WERROR("failed to add ecore timer!");
+ delete timer;
+ return NULL;
+ }
+ timer->__pv->__timer = ecoreTimer;
+
+ return timer;
+}
+WUiTimer* WUiTimer::addJob( const std::function<void (void*)>& timerFunc, void* userData, WUiObjectPtr monitorObj )
+{
+ WUiTimer* timer = new WUiTimer();
+ timer->__pv->__type = WUiTimer::JOB;
+ if( !monitorObj.expired() )
+ {
+ timer->__pv->__uiObjMonitor = new std::weak_ptr<IWUiObject>;
+ *timer->__pv->__uiObjMonitor = monitorObj;
+ }
+ else
+ {
+ WDEBUG( "No monitored object is set!");
+ }
+ timer->__pv->__jobFunc = timerFunc;
+ timer->__pv->__userData = userData;
+ Ecore_Job* ecoreJob = ecore_job_add( __WUiTimerImpl::__jobCb, timer );
+ if( ecoreJob == NULL )
+ {
+ WERROR("failed to add ecore job!");
+ delete timer;
+ return NULL;
+ }
+ timer->__pv->__timer = ecoreJob;
+
+ return timer;
+}
diff --git a/app-assist-efl/src/WVersion.cpp b/app-assist-efl/src/WVersion.cpp
new file mode 100644
index 0000000..678d7df
--- /dev/null
+++ b/app-assist-efl/src/WVersion.cpp
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WDefine.h"
+#include <stdio.h>
+
+int WAppAssist_getMajorVersion() { return WAPP_ASSIST_VERSION_MAJOR; }
+int WAppAssist_getMinorVersion() { return WAPP_ASSIST_VERSION_MINOR; }
+int WAppAssist_getPatchVersion() { return WAPP_ASSIST_VERSION_PATCH; }
+const char* WAppAssist_getVersion()
+{
+ static char ver[24] = {0,};
+ if( ver[0] == '\0' )
+ snprintf( ver, sizeof(ver), "%d.%d.%d", WAppAssist_getMajorVersion(), WAppAssist_getMinorVersion(), WAppAssist_getPatchVersion() );
+
+ return ver;
+}
diff --git a/app-assist-efl/src/WView.cpp b/app-assist-efl/src/WView.cpp
new file mode 100644
index 0000000..288b6ce
--- /dev/null
+++ b/app-assist-efl/src/WView.cpp
@@ -0,0 +1,289 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WView.h"
+#include "WControl.h"
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+#include <app.h>
+#include <Elementary.h>
+#include <memory.h>
+#include <string>
+
+
+#define __CLASS_NAME "WView"
+
+
+class __WViewImpl
+{
+public:
+ __WViewImpl();
+ ~__WViewImpl();
+public:
+ //
+ char* __title;
+ WWindow* __window;
+
+ WNaviframe* __naviframe;
+ Elm_Object_Item* __naviItem;
+
+ std::function<void (Elm_Object_Item*)> __pushedHandler;
+
+};
+__WViewImpl::__WViewImpl()
+{
+ __title = NULL;
+ __window = NULL;
+ __naviframe = NULL;
+ __naviItem = NULL;
+ __pushedHandler = NULL;
+}
+
+__WViewImpl::~__WViewImpl()
+{
+ free(__title);
+}
+
+WView::WView()
+{
+ WHIT();
+ __pv = new __WViewImpl();
+}
+
+WView::WView( const char* name ) : __pv( new __WViewImpl() )
+{
+ WHIT();
+ setName( name);
+}
+
+WView::~WView()
+{
+ delete __pv;
+}
+
+const char* WView::getClassName()
+{
+ return __CLASS_NAME;
+}
+
+bool WView::create(Evas_Object* parent, void* param)
+{
+ if (WControl::create(parent, param)) {
+ evas_object_data_set(getEvasObj(), WKEY_VIEW_INSTANCE, this );
+ return true;
+ }
+
+ return false;
+}
+
+void WView::destroy()
+{
+ if (__pv->__naviItem)
+ {
+ elm_object_item_del(__pv->__naviItem);
+ return;
+ }
+ WControl::destroy();
+}
+
+void WView::setTitle( const char* title )
+{
+ free( __pv->__title);
+ __pv->__title = title ? strdup(title) : NULL;
+}
+const char* WView::getTitle()
+{
+ return __pv->__title;
+}
+
+void WView::setOnPushed( const std::function<void (Elm_Object_Item*)>& handlerFunc )
+{
+ __pv->__pushedHandler = handlerFunc;
+}
+
+bool WView::popOut()
+{
+ if( getEvasObj() == NULL)
+ {
+ WWARNING("Not created view! No Evas Object!");
+ return false;
+ }
+ if( getNaviframe() == NULL)
+ {
+ WWARNING("Not pushed to naviframe!");
+ return false;
+ }
+// "elm_object_item_widget_get" does not return right evas object!!! 2014.7.4
+// if( getEvasObj() != elm_object_item_widget_get( elm_naviframe_top_item_get(getNaviframe()->getEvasObj()) ))
+// {
+// WASSERT_EX(0,"This view is not on Top of Naviframe!");
+// return false;
+// }
+ if( __pv->__naviItem != elm_naviframe_top_item_get(getNaviframe()->getEvasObj()) )
+ {
+ elm_object_item_del(__pv->__naviItem);
+ }
+
+ destroyPopup(); // Before popping out view, pop-up is destroyed, if it has.Because pop-up is disappeared too late.
+
+ elm_naviframe_item_pop(getNaviframe()->getEvasObj());
+ return true;
+}
+
+
+WWindow* WView::getWindow()
+{
+ return __pv->__window;
+}
+
+bool WView::onPop()
+{
+ return true;
+}
+
+//void WView::onBecomeTop()
+//{
+//}
+//
+//void WView::onExpose()
+//{
+//}
+
+WNaviframe* WView::getNaviframe()
+{
+ if( __pv->__naviframe == NULL)
+ {
+ WWARNING("naviframe does not exist!");
+ }
+
+ return __pv->__naviframe;
+}
+
+Elm_Object_Item* WView::getNaviItem()
+{
+ if( __pv->__naviItem == NULL)
+ {
+ WWARNING("naviItem does not exist!");
+ }
+
+ return __pv->__naviItem;
+}
+
+void WView::onPushed(Elm_Object_Item* naviItem)
+{
+
+}
+
+Elm_Object_Item* WView::onPushToNaviframe( Evas_Object* naviFrame)
+{
+ return NULL;
+}
+
+
+Evas_Object* WView::onCreate( Evas_Object* parent, void* viewParam )
+{
+ Evas_Object* layout = elm_layout_add(parent);
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ #if defined RESDIR
+ const char* path = RESDIR;
+ #else
+ char* path = app_get_resource_path();
+ #endif
+
+ WINFO("app_get_resource_path: [%s]", path);
+ if( path == NULL )
+ {
+ WERROR("Failed to get resource path=NULL");
+ return layout;
+ }
+ std::string edjPath(path);
+
+ #if !defined(RESDIR)
+ free(path);
+ #endif
+
+ edjPath += "/edje/app-assist-efl.edj";
+
+ if( elm_layout_file_set(layout, edjPath.c_str(), "default-view") == EINA_TRUE)
+ {
+ Evas_Object* rect = evas_object_rectangle_add(evas_object_evas_get(layout));
+ evas_object_color_set(rect, rand() % 256, rand() % 256, rand() % 256, 255);
+ evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ elm_object_part_content_set(layout, "rect", rect);
+ if( getName() != NULL )
+ elm_object_part_text_set(layout, "name", getName());
+
+ }
+ else
+ {
+ WERROR("Fail to set layout. Check EDJ file(%s)", edjPath.c_str());
+ }
+
+ evas_object_show(layout);
+
+ return layout;
+}
+
+void WView::onSetAsPageContent(Elm_Object_Item* parentNaviItem)
+{
+
+}
+
+bool WView::enableMoreButton( Elm_Object_Item* naviItem, Evas_Smart_Cb clickedCb, void* userData )
+{
+ if( getNaviframe() == NULL )
+ {
+ WERROR("naviframe is not set");
+ return false;
+ }
+ Evas_Object *btn = elm_button_add( getNaviframe()->getEvasObj() );
+ if (!btn) return false;
+ elm_object_style_set(btn, "naviframe/more/default");
+ evas_object_show(btn);
+ evas_object_smart_callback_add(btn, "clicked", clickedCb, userData);
+ elm_object_item_part_content_set(naviItem, "toolbar_more_btn", btn);
+ return true;
+}
+
+bool WView::__callPushedHandlerFunc(Elm_Object_Item* naviItem)
+{
+ if( __pv->__pushedHandler )
+ {
+ __pv->__pushedHandler(naviItem);
+ return true;
+ }
+ return false;
+}
+
+WView* WView_getInstanceFromEvasObj(Evas_Object* obj)
+{
+ return (WView*)evas_object_data_get(obj, WKEY_VIEW_INSTANCE);
+}
+
+void WView_setContainerProperties( WView* view, WWindow* win, WNaviframe* naviframe )
+{
+ view->__pv->__window = win;
+ view->__pv->__naviframe = naviframe;
+}
+
+void WView_setContainerNaviItemProperty( WView* view, Elm_Object_Item* item )
+{
+ view->__pv->__naviItem = item;
+}
diff --git a/app-assist-efl/src/WWidget.cpp b/app-assist-efl/src/WWidget.cpp
new file mode 100644
index 0000000..902b2f9
--- /dev/null
+++ b/app-assist-efl/src/WWidget.cpp
@@ -0,0 +1,128 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WWidget.h"
+#include "WWidgetWindow.h"
+
+#include <string>
+
+class __WWidgetImpl
+{
+public:
+ __WWidgetImpl();
+ ~__WWidgetImpl();
+
+private:
+ friend WWidget;
+
+ widget_context_h __context;
+ int __width;
+ int __height;
+ WWindow *__win;
+};
+
+__WWidgetImpl::__WWidgetImpl()
+ : __context(NULL), __width(0), __height(0), __win(NULL)
+{
+}
+
+__WWidgetImpl::~__WWidgetImpl()
+{
+ __win->destroy();
+}
+
+WWidget::WWidget()
+ : __pv(new __WWidgetImpl())
+{
+}
+
+WWidget::~WWidget()
+{
+ delete __pv;
+}
+
+int WWidget::getWidth() const
+{
+ return __pv->__width;
+}
+
+int WWidget::getHeight() const
+{
+ return __pv->__height;
+}
+
+widget_size_type_e WWidget::getType() const
+{
+ widget_size_type_e type = WIDGET_SIZE_TYPE_UNKNOWN;
+ widget_service_get_size_type(getWidth(), getHeight(), &type);
+ return type;
+}
+
+WWindow *WWidget::getWindow() const
+{
+ return __pv->__win;
+}
+
+void WWidget::saveContent(bundle *content)
+{
+ widget_app_context_set_content_info(__pv->__context, content);
+}
+
+void WWidget::create(widget_context_h context, bundle *content, int w, int h)
+{
+ __pv->__context = context;
+ __pv->__width = w;
+ __pv->__height = h;
+ __pv->__win = new WWidgetWindow(context, w, h);
+ __pv->__win->create();
+ onCreate(content, w, h);
+}
+
+void WWidget::resize(int w, int h)
+{
+ __pv->__width = w;
+ __pv->__height = h;
+
+ evas_object_resize(__pv->__win->getEvasObj(), w, h);
+ evas_object_resize(__pv->__win->getBaseLayoutEvasObj(), w, h);
+
+ onResize(w, h);
+}
+
+void WWidget::onCreate(bundle *content, int w, int h)
+{
+}
+
+void WWidget::onDestroy(widget_app_destroy_type_e reason)
+{
+}
+
+void WWidget::onPause()
+{
+}
+
+void WWidget::onResume()
+{
+}
+
+void WWidget::onResize(int w, int h)
+{
+}
+
+void WWidget::onUpdate(int force)
+{
+}
diff --git a/app-assist-efl/src/WWidgetApp.cpp b/app-assist-efl/src/WWidgetApp.cpp
new file mode 100644
index 0000000..b64f36f
--- /dev/null
+++ b/app-assist-efl/src/WWidgetApp.cpp
@@ -0,0 +1,148 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WAppImpl.h"
+#include "WWidgetApp.h"
+#include "WWidget.h"
+#include "WDebugBase.h"
+
+#include <widget_app.h>
+
+namespace
+{
+ inline WWidget *getWidget(widget_context_h context)
+ {
+ void *tag = nullptr;
+ widget_app_context_get_tag(context, &tag);
+ return static_cast<WWidget*>(tag);
+ }
+}
+
+class __WWidgetAppImpl : public __WAppImpl
+{
+public:
+ static widget_class_h onCreate(void *data);
+
+ static int onWidgetCreate(widget_context_h context, bundle *content, int w, int h, void *data);
+ static int onWidgetDestroy(widget_context_h context, widget_app_destroy_type_e reason, bundle *content, void *data);
+ static int onWidgetPause(widget_context_h context, void *data);
+ static int onWidgetResume(widget_context_h context, void *data);
+ static int onWidgetResize(widget_context_h context, int w, int h, void *data);
+ static int onWidgetUpdate(widget_context_h context, bundle *content, int force, void *data);
+
+private:
+ friend WWidgetApp;
+};
+
+widget_class_h __WWidgetAppImpl::onCreate(void *data)
+{
+ WHIT();
+ widget_instance_lifecycle_callback_s cbs;
+ cbs.create = __WWidgetAppImpl::onWidgetCreate;
+ cbs.destroy = __WWidgetAppImpl::onWidgetDestroy;
+ cbs.pause = __WWidgetAppImpl::onWidgetPause;
+ cbs.resume = __WWidgetAppImpl::onWidgetResume;
+ cbs.resize = __WWidgetAppImpl::onWidgetResize;
+ cbs.update = __WWidgetAppImpl::onWidgetUpdate;
+
+ static_cast<WWidgetApp*>(data)->onCreate();
+ return widget_app_class_create(cbs, data);
+}
+
+int __WWidgetAppImpl::onWidgetCreate(widget_context_h context, bundle *content, int w, int h, void *data)
+{
+ WHIT();
+ WWidget *widget = static_cast<WWidgetApp*>(data)->onWidgetCreate();
+ if (!widget) {
+ return WIDGET_ERROR_FAULT;
+ }
+
+ widget_app_context_set_tag(context, widget);
+ widget->create(context, content, w, h);
+ return WIDGET_ERROR_NONE;
+};
+
+int __WWidgetAppImpl::onWidgetDestroy(widget_context_h context, widget_app_destroy_type_e reason, bundle *content, void *data)
+{
+ WWidget *widget = getWidget(context);
+ if (!widget) {
+ return WIDGET_ERROR_FAULT;
+ }
+
+ widget->onDestroy(reason);
+ delete widget;
+ return WIDGET_ERROR_NONE;
+}
+
+int __WWidgetAppImpl::onWidgetPause(widget_context_h context, void *data)
+{
+ WWidget *widget = getWidget(context);
+ if (!widget) {
+ return WIDGET_ERROR_FAULT;
+ }
+
+ widget->onPause();
+ return WIDGET_ERROR_NONE;
+};
+
+int __WWidgetAppImpl::onWidgetResume(widget_context_h context, void *data)
+{
+ WWidget *widget = getWidget(context);
+ if (!widget) {
+ return WIDGET_ERROR_FAULT;
+ }
+
+ widget->onResume();
+ return WIDGET_ERROR_NONE;
+};
+
+int __WWidgetAppImpl::onWidgetResize(widget_context_h context, int w, int h, void *data)
+{
+ WWidget *widget = getWidget(context);
+ if (!widget) {
+ return WIDGET_ERROR_FAULT;
+ }
+
+ widget->resize(w, h);
+ return WIDGET_ERROR_NONE;
+};
+
+int __WWidgetAppImpl::onWidgetUpdate(widget_context_h context, bundle *content, int force, void *data)
+{
+ WWidget *widget = getWidget(context);
+ if (!widget) {
+ return WIDGET_ERROR_FAULT;
+ }
+
+ widget->onUpdate(force);
+ return WIDGET_ERROR_NONE;
+};
+
+WWidgetApp::WWidgetApp()
+ : WApp(new __WWidgetAppImpl())
+{
+}
+
+int WWidgetApp::onStart(int argc, char *argv[])
+{
+ WHIT();
+ widget_app_lifecycle_callback_s cbs;
+ cbs.create = __WWidgetAppImpl::onCreate;
+ cbs.terminate = __WWidgetAppImpl::__onTerminate;
+
+ return widget_app_main(argc, argv, &cbs, this);
+}
diff --git a/app-assist-efl/src/WWidgetWindow.cpp b/app-assist-efl/src/WWidgetWindow.cpp
new file mode 100644
index 0000000..b9c0e1d
--- /dev/null
+++ b/app-assist-efl/src/WWidgetWindow.cpp
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WWidgetWindow.h"
+#include "WWindowImpl.h"
+
+#include <widget_app_efl.h>
+
+#define __CLASS_NAME "WWidgetWindow"
+
+class __WWidgetWindowImpl : public __WWindowImpl
+{
+public:
+ __WWidgetWindowImpl(widget_context_h context, int w, int h);
+
+public:
+ widget_context_h __context;
+ int __width;
+ int __height;
+};
+
+__WWidgetWindowImpl::__WWidgetWindowImpl(widget_context_h context, int w, int h)
+ : __context(context), __width(w), __height(h)
+{
+}
+
+WWidgetWindow::WWidgetWindow(widget_context_h context, int w, int h)
+ : WWindow(new __WWidgetWindowImpl(context, w, h))
+{
+}
+
+const char *WWidgetWindow::getClassName() const
+{
+ return __CLASS_NAME;
+}
+
+Evas_Object *WWidgetWindow::doCreate(Evas_Object *&win, Evas_Object *&conf, Evas_Object *&layout)
+{
+ __WWidgetWindowImpl *pv = static_cast<__WWidgetWindowImpl*>(__pv);
+
+ widget_app_get_elm_win(pv->__context, &win);
+ evas_object_resize(win, pv->__width, pv->__height);
+ evas_object_show(win);
+
+ conf = elm_conformant_add(win);
+ evas_object_size_hint_weight_set(conf, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, conf);
+ evas_object_show(conf);
+
+ layout = elm_layout_add(conf);
+ evas_object_resize(layout, pv->__width, pv->__height);
+ elm_layout_theme_set( layout, "layout", "application", "default");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(layout);
+
+ Evas_Object *bg = elm_bg_add(layout);
+ evas_object_color_set(bg, 255, 255, 255, 0);
+ evas_object_show(bg);
+ elm_object_part_content_set(layout, "elm.swallow.bg", bg);
+
+ return layout;
+}
diff --git a/app-assist-efl/src/WWindow.cpp b/app-assist-efl/src/WWindow.cpp
new file mode 100644
index 0000000..2532cc0
--- /dev/null
+++ b/app-assist-efl/src/WWindow.cpp
@@ -0,0 +1,178 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WWindow.h"
+#include "WWindowImpl.h"
+#include "IWUiObject.h"
+#include "WDebugInternal.h"
+#include "WDefineInternal.h"
+
+#define __CLASS_NAME "WWindow"
+
+__WWindowImpl::__WWindowImpl()
+ : __win(NULL),
+ __baseLayout(NULL),
+ __conformant(NULL),
+ __mainObj(NULL),
+ __baseObj(NULL)
+{
+}
+
+__WWindowImpl::~__WWindowImpl()
+{
+}
+
+void __WWindowImpl::__delReqCb( void* data, Evas_Object* obj, void* event_info)
+{
+ WHIT();
+ elm_exit();
+}
+
+void __WWindowImpl::__objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info)
+{
+ WHIT();
+
+ auto win = (WWindow*)data;
+
+ win->onDestroy();
+ delete win;
+}
+
+WWindow::WWindow(__WWindowImpl *impl)
+{
+ __pv = impl;
+}
+
+WWindow::~WWindow()
+{
+ WHIT();
+ delete __pv;
+}
+
+bool WWindow::create()
+{
+ WHIT();
+ if (__pv->__win)
+ {
+ WDEBUG("Already created!");
+ return true;
+ }
+
+ Evas_Object *win = NULL;
+ Evas_Object *conf = NULL;
+ Evas_Object *layout = NULL;
+
+ Evas_Object *mainObj = doCreate(win, conf, layout);
+ if (mainObj)
+ {
+ evas_object_data_set(mainObj, WKEY_WINDOW_INSTANCE, this);
+ // When this callback function is called???????
+ evas_object_smart_callback_add(mainObj, "delete,request", __WWindowImpl::__delReqCb, this);
+ evas_object_event_callback_add(mainObj, EVAS_CALLBACK_DEL, __WWindowImpl::__objDelCb, this);
+
+ evas_object_show(win);
+
+ __pv->__win = win;
+ __pv->__conformant = conf;
+ __pv->__baseLayout = layout;
+ __pv->__mainObj = mainObj;
+
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+void WWindow::destroy()
+{
+ if (__pv->__mainObj)
+ {
+ evas_object_del(__pv->__mainObj);
+ // Do not leave any code here.
+ // After executing upper statement "evas_object_del", this object will be deleted at evas object deletion callback!
+
+ }
+ else
+ {
+ onDestroy();
+ delete this;
+ }
+}
+
+const char* WWindow::getClassName() const
+{
+ return __CLASS_NAME;
+}
+
+Evas_Object* WWindow::getEvasObj() const
+{
+ return __pv->__win;
+}
+
+Evas_Object* WWindow::getBaseLayoutEvasObj() const
+{
+ return __pv->__baseLayout;
+}
+
+Evas_Object* WWindow::getConformantEvasObj() const
+{
+ return __pv->__conformant;
+}
+
+bool WWindow::attachBaseUiObject( IWUiObject* baseObj, void* creationParam )
+{
+
+ WASSERT( __pv->__baseObj == NULL);
+
+ if( baseObj->create( __pv->__baseLayout, creationParam) == false )
+ {
+ return false;
+ }
+
+ __pv->__baseObj = baseObj;
+
+ evas_object_data_set( baseObj->getEvasObj(), WKEY_WINDOW_INSTANCE, this );
+
+ return true;
+}
+
+IWUiObject* WWindow::getBaseUiObject() const
+{
+ return __pv->__baseObj;
+}
+
+IWUiObject* WWindow::detachBaseUiObject()
+{
+ IWUiObject* obj = __pv->__baseObj;
+ __pv->__baseObj = NULL;
+ return obj;
+}
+
+void WWindow::destroyBaseUiObject()
+{
+ if( __pv->__baseObj )
+ __pv->__baseObj->destroy();
+
+ __pv->__baseObj = NULL;
+}
+
+void WWindow::onDestroy()
+{
+
+}
diff --git a/app-assist-efl/src/WWindowImpl.h b/app-assist-efl/src/WWindowImpl.h
new file mode 100644
index 0000000..5a284b6
--- /dev/null
+++ b/app-assist-efl/src/WWindowImpl.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WWINDOW_IMPL_H_
+#define _WWINDOW_IMPL_H_
+
+#include <Elementary.h>
+
+class IWUiObject;
+class __WWindowImpl
+{
+public:
+ __WWindowImpl();
+ virtual ~__WWindowImpl();
+
+public:
+ //
+ Evas_Object* __win;
+ Evas_Object* __baseLayout;
+ Evas_Object* __conformant;
+ Evas_Object* __mainObj;
+ IWUiObject* __baseObj;
+
+ static void __delReqCb( void* data, Evas_Object* obj, void* event_info);
+ static void __objDelCb( void* data, Evas* evas, Evas_Object* obj, void* event_info);
+};
+
+#endif
diff --git a/app-control/CMakeLists.txt b/app-control/CMakeLists.txt
new file mode 100755
index 0000000..d0bbc4d
--- /dev/null
+++ b/app-control/CMakeLists.txt
@@ -0,0 +1,6 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+# Add your submodule directory name
+ADD_SUBDIRECTORY(ct-detail-app)
+ADD_SUBDIRECTORY(ct-list-app)
+ADD_SUBDIRECTORY(ct-vcard-app)
diff --git a/app-control/ct-detail-app/.cproject b/app-control/ct-detail-app/.cproject
new file mode 100644
index 0000000..becc0f4
--- /dev/null
+++ b/app-control/ct-detail-app/.cproject
@@ -0,0 +1,520 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.994964990">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.994964990" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ct-detail-ug" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.994964990" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.994964990." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.593614089" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1517701105" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/ct-detail-ug}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.993919433" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1443393078" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1550919121" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1846944451" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.97882725" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.988347909" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.161224753" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1441082244" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.724326228" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1669015322" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-base/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-detail/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.107729243" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.2056988073" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1806141460" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.2035637430"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.347957338" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.835179381" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.70578387" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1046553630" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1081872980" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.798886352" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.61456225" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.707687853" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1163511619" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.2128353136" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.2128016715" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.248636753"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1705228635" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.645316191" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.887000369" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.329708935" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1494277083" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.663890344" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-detail/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/Debug}&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.1093699792" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="ct-common"/>
+ <listOptionValue builtIn="false" value="common"/>
+ <listOptionValue builtIn="false" value="ct-detail"/>
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="app-assist-efl"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.736605578" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1958329164" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1781310517" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.918544794" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.838160766" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1625060658" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1216737753" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1343475086" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.554427496" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
+ <externalSettings containerId="ct-detail;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ </storageModule>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.201980143">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.201980143" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ct-detail-ug" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.201980143" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.201980143." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.541270962" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1164795521" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/ct-detail-ug}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.760734127" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1412253559" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1076167783" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1161790814" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.688748500" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1516760782" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1197729329" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1177655549" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.75387483" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.334170541" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.15460593" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.832085770"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.53248668" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1762811302" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1465268224" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.565345839" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1441812882" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.646049388" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1540306893" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.357891425" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.8698365" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.184265513" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.480943643"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.231984829" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.791595682" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1750735538" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1998295313" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1811059176" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1900472367" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.390140077" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1042254979" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.799208296" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1550655441" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1894189803" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.2053192403" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.961442462" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.477375324" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1257000345" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="ct-detail-ug.org.tizen.nativecore.target.sbi.gcc45.so.757990042" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.994964990">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.201980143">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/ct-detail-ug"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/ct-detail-ug"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/app-control/ct-detail-app/.project b/app-control/ct-detail-app/.project
new file mode 100644
index 0000000..9aa3439
--- /dev/null
+++ b/app-control/ct-detail-app/.project
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ct-detail-ug</name>
+ <comment></comment>
+ <projects>
+ <project>ct-detail</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1413282725178</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/app-control/ct-detail-app/.tproject b/app-control/ct-detail-app/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/app-control/ct-detail-app/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/app-control/ct-detail-app/CMakeLists.txt b/app-control/ct-detail-app/CMakeLists.txt
new file mode 100755
index 0000000..e9e21ad
--- /dev/null
+++ b/app-control/ct-detail-app/CMakeLists.txt
@@ -0,0 +1,24 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ct-detail-app CXX)
+
+SET(CMAKE_INSTALL_RPATH ${CMAKE_APP_LIB_DIR})
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-detail/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-list/inc
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "ct-detail"
+ "ct-list"
+ "-pie"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_BIN_DIR})
diff --git a/app-control/ct-detail-app/src/CtDetailApp.cpp b/app-control/ct-detail-app/src/CtDetailApp.cpp
new file mode 100755
index 0000000..8afe49b
--- /dev/null
+++ b/app-control/ct-detail-app/src/CtDetailApp.cpp
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WAppWindow.h"
+#include "WDebugBase.h"
+#include "WView.h"
+
+#include "ContactsAppControl.h"
+#include "CtDetailView.h"
+#include "CtInputView.h"
+#include "CtDetailApp.h"
+
+CtDetailApp::CtDetailApp()
+ : m_Naviframe(NULL), m_Request(NULL)
+{
+ contacts_connect();
+ elm_app_base_scale_set(2.6);
+}
+
+CtDetailApp::~CtDetailApp()
+{
+ if (m_Request) {
+ app_control_destroy(m_Request);
+ }
+ contacts_disconnect();
+}
+
+bool CtDetailApp::onCreate()
+{
+ ContactsCommon::loadLocalization();
+ attachWindow( new WAppWindow("Contacts-Details", ELM_WIN_BASIC));
+
+ m_Naviframe = new WNaviframe();
+ m_Naviframe->setOnLastItemPop([](bool *popOut) {
+ ui_app_exit();
+ });
+ getWindow()->attachBaseUiObject(m_Naviframe);
+
+ return true;
+}
+
+void CtDetailApp::onAppControl(app_control_h request, bool firstLaunch)
+{
+ WENTER();
+
+ WView *view = NULL;
+ char *operation = NULL;
+
+ app_control_clone(&m_Request, request);
+ app_control_get_operation(m_Request, &operation);
+
+ if (operation) {
+ int personId = 0;
+
+ char *personIdStr = NULL;
+ app_control_get_extra_data(request, APP_CONTROL_DATA_ID, &personIdStr);
+ if (personIdStr) {
+ personId = atoi(personIdStr);
+ free(personIdStr);
+ }
+
+ if (strcmp(operation, APP_CONTROL_OPERATION_VIEW) == 0) {
+ if (personId > 0) {
+ view = new CtDetailView(personId);
+ }
+ } else if (strcmp(operation, APP_CONTROL_OPERATION_ADD) == 0) {
+ view = createInputView(personId, m_Request);
+ } else if(strcmp(operation, APP_CONTROL_OPERATION_EDIT) == 0) {
+ if (personId == 0) {
+ using namespace std::placeholders;
+ CtListView *listView = new CtListView(LIST_SELECT_SINGLE, LIST_RESULT_ID, 0);
+ listView->setOnSingleResult(std::bind(&CtDetailApp::onContactPick, this, _1, _2));
+ view = listView;
+ } else {
+ view = createInputView(personId, m_Request);
+ }
+ }
+
+ free(operation);
+ }
+
+ if (view) {
+ m_Naviframe->push(view);
+ } else {
+ app_control_h reply;
+ app_control_create(&reply);
+ app_control_reply_to_launch_request(reply, m_Request, APP_CONTROL_RESULT_FAILED);
+ app_control_destroy(reply);
+ ui_app_exit();
+ }
+
+ WLEAVE();
+}
+
+void CtDetailApp::onContactPick(const char *result, CtListResultType resultType)
+{
+ WENTER();
+
+ int personId = result ? atoi(result) : 0;
+ if (personId < 1) {
+ ui_app_exit();
+ }
+
+ CtInputView *view = createInputView(personId, m_Request);
+ m_Naviframe->push(view);
+}
+
+CtInputView * CtDetailApp::createInputView(int personId, app_control_h request)
+{
+ char *name = NULL;
+ char *number = NULL;
+ char *email = NULL;
+ char *url = NULL;
+
+ app_control_get_extra_data(request, APP_CONTROL_DATA_NAME, &name);
+ app_control_get_extra_data(request, APP_CONTROL_DATA_PHONE, &number);
+ app_control_get_extra_data(request, APP_CONTROL_DATA_EMAIL, &email);
+ app_control_get_extra_data(request, APP_CONTROL_DATA_URL, &url);
+
+ CtInputView *inputView = NULL;
+ if (name) {
+ inputView = new CtInputView(name, number, email, url);
+ } else {
+ inputView = new CtInputView(personId, number, email, url);
+ }
+
+ inputView->setOnResult([request](int personId, CtResultType result) {
+ replyPersonId(personId, request, app_control_result_e(result));
+ });
+
+ free(name);
+ free(number);
+ free(email);
+ free(url);
+
+ return inputView;
+}
+
+void CtDetailApp::replyPersonId(int personId, app_control_h request, app_control_result_e result)
+{
+ app_control_h reply;
+ app_control_create(&reply);
+
+ if (result == APP_CONTROL_RESULT_SUCCEEDED) {
+ char itemId[CT_TEXT_SHORT_LEN];
+ snprintf(itemId, sizeof(itemId), "%d", personId);
+ app_control_add_extra_data(reply, APP_CONTROL_DATA_ID, itemId);
+ }
+
+ app_control_reply_to_launch_request(reply, request, result);
+ app_control_destroy(reply);
+}
diff --git a/app-control/ct-detail-app/src/CtDetailApp.h b/app-control/ct-detail-app/src/CtDetailApp.h
new file mode 100644
index 0000000..f04d591
--- /dev/null
+++ b/app-control/ct-detail-app/src/CtDetailApp.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_DETAIL_APP_H_
+#define _CT_DETAIL_APP_H_
+
+#include "WApp.h"
+#include "CtListView.h"
+
+class CtInputView;
+class WNaviframe;
+
+class CtDetailApp : public WApp
+{
+public:
+ CtDetailApp();
+ ~CtDetailApp();
+
+protected:
+ virtual bool onCreate();
+ virtual void onAppControl(app_control_h request, bool firstLaunch);
+
+private:
+ void onContactPick(const char *result, CtListResultType resultType);
+ static CtInputView * createInputView(int personId, app_control_h request);
+ static void replyPersonId(int personId, app_control_h request, app_control_result_e result);
+
+ WNaviframe *m_Naviframe;
+ app_control_h m_Request;
+};
+
+#endif /* _CT_DETAIL_APP_H_ */
diff --git a/app-control/ct-detail-app/src/main.cpp b/app-control/ct-detail-app/src/main.cpp
new file mode 100644
index 0000000..2247d19
--- /dev/null
+++ b/app-control/ct-detail-app/src/main.cpp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "CtDetailApp.h"
+#include "WDebugBase.h"
+
+WAPP_ASSIST_EXPORT int main(int argc, char *argv[])
+{
+ WENTER();
+
+ CtDetailApp app;
+ int ret = app.start( argc, argv );
+
+ WDEBUG("app return=%d", ret);
+ WLEAVE();
+}
diff --git a/app-control/ct-list-app/CMakeLists.txt b/app-control/ct-list-app/CMakeLists.txt
new file mode 100644
index 0000000..00ba2df
--- /dev/null
+++ b/app-control/ct-list-app/CMakeLists.txt
@@ -0,0 +1,22 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ct-list-app CXX)
+
+SET(CMAKE_INSTALL_RPATH ${CMAKE_APP_LIB_DIR})
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-list/inc
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "ct-list"
+ "-pie"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_BIN_DIR})
diff --git a/app-control/ct-list-app/src/CtListApp.cpp b/app-control/ct-list-app/src/CtListApp.cpp
new file mode 100755
index 0000000..71379da
--- /dev/null
+++ b/app-control/ct-list-app/src/CtListApp.cpp
@@ -0,0 +1,221 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <contacts.h>
+
+#include "CtListApp.h"
+#include "ContactsAppControl.h"
+
+#include "WAppWindow.h"
+#include "WDebugBase.h"
+
+namespace
+{
+ const char *resultTypes[] = {
+ APP_CONTROL_DATA_TYPE_ID,
+ APP_CONTROL_DATA_TYPE_PHONE,
+ APP_CONTROL_DATA_TYPE_PHONE_CALL,
+ APP_CONTROL_DATA_TYPE_PHONE_MESSAGE,
+ APP_CONTROL_DATA_TYPE_EMAIL,
+ APP_CONTROL_DATA_TYPE_VCARD
+ };
+}
+
+CtListApp::CtListApp()
+ : m_Naviframe(NULL), m_Request(NULL),
+ m_SelectMode(LIST_SELECT_SINGLE), m_ResultType(LIST_RESULT_ID)
+{
+ contacts_connect();
+}
+
+CtListApp::~CtListApp()
+{
+ if (m_Request) {
+ app_control_destroy(m_Request);
+ }
+ contacts_disconnect();
+}
+
+bool CtListApp::onCreate()
+{
+ ContactsCommon::loadLocalization();
+ attachWindow(new WAppWindow("Contacts-List", ELM_WIN_BASIC));
+
+ m_Naviframe = new WNaviframe();
+ m_Naviframe->setOnLastItemPop([](bool *popOut) {
+ ui_app_exit();
+ });
+ getWindow()->attachBaseUiObject(m_Naviframe);
+
+ return true;
+}
+
+void CtListApp::onAppControl(app_control_h request, bool firstLaunch)
+{
+ WHIT();
+ CtListView *view = NULL;
+ char *operation = NULL;
+
+ app_control_clone(&m_Request, request);
+ app_control_get_operation(m_Request, &operation);
+
+ app_control_launch_mode_e launchMode = APP_CONTROL_LAUNCH_MODE_SINGLE;
+ app_control_get_launch_mode(m_Request, &launchMode);
+
+ if (launchMode == APP_CONTROL_LAUNCH_MODE_SINGLE) {
+ evas_object_smart_callback_add(getWindow()->getEvasObj(), "iconified",
+ &CtListApp::onLowered, this);
+ }
+
+ if (operation) {
+ if (strcmp(operation, APP_CONTROL_OPERATION_PICK) == 0) {
+ m_SelectMode = getSelectMode(m_Request);
+ m_ResultType = getResultType(m_Request);
+ view = new CtListView(m_SelectMode, m_ResultType, getSelectLimit(m_Request));
+
+ using namespace std::placeholders;
+ if (m_SelectMode == LIST_SELECT_SINGLE) {
+ view->setOnSingleResult(std::bind(&CtListApp::replySingleResult, this, _1, _2));
+ } else {
+ view->setOnMultiResult(std::bind(&CtListApp::replyMultiResult, this, _1, _2));
+ }
+ } else if (strcmp(operation, APP_CONTROL_OPERATION_UPDATE) == 0) {
+ view = new CtListView(LIST_SELECT_SINGLE_OR_CREATE, LIST_RESULT_ID, 0);
+ view->setOnSingleResult([this](const char *id, CtListResultType type) {
+ if (id) {
+ if (atoi(id) == 0) {
+ app_control_set_operation(m_Request, APP_CONTROL_OPERATION_ADD);
+ } else {
+ app_control_set_operation(m_Request, APP_CONTROL_OPERATION_EDIT);
+ app_control_add_extra_data(m_Request, APP_CONTROL_DATA_ID, id);
+ }
+
+ app_control_send_launch_request(m_Request, NULL, NULL);
+ }
+ });
+ }
+
+ free(operation);
+ }
+
+ if (view) {
+ m_Naviframe->push(view);
+ } else {
+ replyFailure();
+ ui_app_exit();
+ }
+}
+
+void CtListApp::onLowered(void *data, Evas_Object *obj, void *event_info)
+{
+ CtListApp *app = (CtListApp *) data;
+ app->replyFailure();
+ ui_app_exit();
+}
+
+CtListSelectMode CtListApp::getSelectMode(app_control_h request)
+{
+ char *selectMode = NULL;
+ app_control_get_extra_data(request, APP_CONTROL_DATA_SELECTION_MODE, &selectMode);
+
+ if (selectMode) {
+ if (strcmp(selectMode, APP_CONTROL_DATA_SELECTION_MODE_SINGLE) == 0) {
+ return LIST_SELECT_SINGLE;
+ } else if (strcmp(selectMode, APP_CONTROL_DATA_SELECTION_MODE_MULTIPLE) == 0) {
+ return LIST_SELECT_MULTIPLE;
+ }
+
+ free(selectMode);
+ }
+
+ return LIST_SELECT_SINGLE;
+}
+
+CtListResultType CtListApp::getResultType(app_control_h request)
+{
+ char *resultType = NULL;
+ app_control_get_extra_data(request, APP_CONTROL_DATA_TYPE, &resultType);
+
+ if (resultType) {
+ if (strcmp(resultType, APP_CONTROL_DATA_TYPE_ID) == 0) {
+ return LIST_RESULT_ID;
+ } else if (strcmp(resultType, APP_CONTROL_DATA_TYPE_PHONE) == 0) {
+ return LIST_RESULT_NUMBER;
+ } else if (strcmp(resultType, APP_CONTROL_DATA_TYPE_EMAIL) == 0) {
+ return LIST_RESULT_EMAIL;
+ } else if (strcmp(resultType, APP_CONTROL_DATA_TYPE_VCARD) == 0) {
+ return LIST_RESULT_VCARD;
+ } else if (strcmp(resultType, APP_CONTROL_DATA_TYPE_PHONE_OR_EMAIL) == 0) {
+ return LIST_RESULT_NUMBER_OR_EMAIL;
+ }
+
+ free(resultType);
+ }
+
+ return LIST_RESULT_ID;
+}
+
+int CtListApp::getSelectLimit(app_control_h request)
+{
+ int limit = 0;
+ char *limitStr = NULL;
+
+ app_control_get_extra_data(request, APP_CONTROL_DATA_LIMIT, &limitStr);
+ if (limitStr) {
+ limit = atoi(limitStr);
+ free(limitStr);
+ }
+
+ return limit;
+}
+
+void CtListApp::replyFailure()
+{
+ app_control_h reply;
+ app_control_create(&reply);
+ app_control_reply_to_launch_request(reply, m_Request, APP_CONTROL_RESULT_FAILED);
+ app_control_destroy(reply);
+}
+
+void CtListApp::replySingleResult(const char *data, CtListResultType type)
+{
+ WHIT();
+ app_control_h reply = NULL;
+ app_control_create(&reply);
+
+ if (data) {
+ app_control_add_extra_data(reply, APP_CONTROL_DATA_TYPE, resultTypes[type]);
+ app_control_add_extra_data_array(reply, APP_CONTROL_DATA_SELECTED, &data, 1);
+ }
+
+ app_control_reply_to_launch_request(reply, m_Request, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(reply);
+}
+
+void CtListApp::replyMultiResult(const char *data[], size_t count)
+{
+ app_control_h reply = NULL;
+ app_control_create(&reply);
+
+ if (data) {
+ app_control_add_extra_data(reply, APP_CONTROL_DATA_TYPE, resultTypes[m_ResultType]);
+ app_control_add_extra_data_array(reply, APP_CONTROL_DATA_SELECTED, data, count);
+ }
+
+ app_control_reply_to_launch_request(reply, m_Request, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(reply);
+}
diff --git a/app-control/ct-list-app/src/CtListApp.h b/app-control/ct-list-app/src/CtListApp.h
new file mode 100644
index 0000000..fa5445a
--- /dev/null
+++ b/app-control/ct-list-app/src/CtListApp.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_LIST_APP_H_
+#define _CT_LIST_APP_H_
+
+#include "WApp.h"
+#include "CtListView.h"
+
+class WNaviframe;
+
+class CtListApp : public WApp
+{
+public:
+ CtListApp();
+ ~CtListApp();
+
+protected:
+ virtual bool onCreate();
+ virtual void onAppControl(app_control_h request, bool firstLaunch);
+
+private:
+ static void onLowered(void *data, Evas_Object *obj, void *event_info);
+
+ static CtListSelectMode getSelectMode(app_control_h request);
+ static CtListResultType getResultType(app_control_h request);
+ static int getSelectLimit(app_control_h request);
+
+ void replyFailure();
+ void replySingleResult(const char *data, CtListResultType type);
+ void replyMultiResult(const char **data, size_t count);
+
+ WNaviframe *m_Naviframe;
+ app_control_h m_Request;
+ CtListSelectMode m_SelectMode;
+ CtListResultType m_ResultType;
+};
+
+#endif /* _CT_LIST_APP_H_ */
diff --git a/app-control/ct-list-app/src/main.cpp b/app-control/ct-list-app/src/main.cpp
new file mode 100644
index 0000000..ade1db7
--- /dev/null
+++ b/app-control/ct-list-app/src/main.cpp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "CtListApp.h"
+#include "WDebugBase.h"
+
+WAPP_ASSIST_EXPORT int main(int argc, char *argv[])
+{
+ WENTER();
+
+ CtListApp app;
+ int ret = app.start( argc, argv );
+
+ WDEBUG("app return=%d", ret);
+ WLEAVE();
+}
diff --git a/app-control/ct-vcard-app/CMakeLists.txt b/app-control/ct-vcard-app/CMakeLists.txt
new file mode 100644
index 0000000..caed160
--- /dev/null
+++ b/app-control/ct-vcard-app/CMakeLists.txt
@@ -0,0 +1,22 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ct-vcard-app CXX)
+
+SET(CMAKE_INSTALL_RPATH ${CMAKE_APP_LIB_DIR})
+SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-list/inc
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "ct-list"
+ "-pie"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_BIN_DIR}) \ No newline at end of file
diff --git a/app-control/ct-vcard-app/src/CtVcardApp.cpp b/app-control/ct-vcard-app/src/CtVcardApp.cpp
new file mode 100644
index 0000000..302d2af
--- /dev/null
+++ b/app-control/ct-vcard-app/src/CtVcardApp.cpp
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <contacts.h>
+
+#include "WAppWindow.h"
+#include "WDebugBase.h"
+
+#include "CtListView.h"
+#include "CtVcardApp.h"
+
+CtVcardApp::CtVcardApp()
+ : m_Naviframe(NULL)
+{
+ int err = contacts_connect();
+ if (err != CONTACTS_ERROR_NONE) {
+ WDEBUG("contacts_connect failed: %d", err);
+ }
+}
+
+CtVcardApp::~CtVcardApp()
+{
+ contacts_disconnect();
+}
+
+bool CtVcardApp::onCreate()
+{
+ ContactsCommon::loadLocalization();
+ attachWindow(new WAppWindow("Import", ELM_WIN_BASIC));
+
+ m_Naviframe = new WNaviframe();
+ m_Naviframe->setOnLastItemPop([](bool *popOut) {
+ ui_app_exit();
+ });
+ getWindow()->attachBaseUiObject(m_Naviframe);
+
+ return true;
+}
+
+void CtVcardApp::onAppControl(app_control_h request, bool firstLaunch)
+{
+ WHIT();
+ CtListView *view = NULL;
+ char *operation = NULL;
+
+ app_control_get_operation(request, &operation);
+
+ if (operation) {
+ if (strcmp(operation, APP_CONTROL_OPERATION_VIEW) == 0) {
+ char *uri = NULL;
+ app_control_get_uri(request, &uri);
+
+ if (uri) {
+ view = new CtListView(uri);
+ free(uri);
+ }
+ }
+
+ free(operation);
+ }
+
+ if (view) {
+ m_Naviframe->push(view);
+ } else {
+ app_control_h reply;
+ app_control_create(&reply);
+ app_control_reply_to_launch_request(reply, request, APP_CONTROL_RESULT_FAILED);
+ app_control_destroy(reply);
+ ui_app_exit();
+ }
+}
diff --git a/app-control/ct-vcard-app/src/CtVcardApp.h b/app-control/ct-vcard-app/src/CtVcardApp.h
new file mode 100644
index 0000000..88a6d44
--- /dev/null
+++ b/app-control/ct-vcard-app/src/CtVcardApp.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_VCARD_APP_H_
+#define _CT_VCARD_APP_H_
+
+#include "WApp.h"
+
+class WNaviframe;
+
+class CtVcardApp : public WApp
+{
+public:
+ CtVcardApp();
+ ~CtVcardApp();
+
+protected:
+ virtual bool onCreate();
+ virtual void onAppControl(app_control_h request, bool firstLaunch);
+
+private:
+ WNaviframe *m_Naviframe;
+};
+
+#endif /* _CT_VCARD_APP_H_ */
diff --git a/app-control/ct-vcard-app/src/main.cpp b/app-control/ct-vcard-app/src/main.cpp
new file mode 100644
index 0000000..9078156
--- /dev/null
+++ b/app-control/ct-vcard-app/src/main.cpp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "CtVcardApp.h"
+#include "WDebugBase.h"
+
+WAPP_ASSIST_EXPORT int main(int argc, char *argv[])
+{
+ WENTER();
+
+ CtVcardApp app;
+ int ret = app.start( argc, argv );
+
+ WDEBUG("app return=%d", ret);
+ WLEAVE();
+}
diff --git a/build b/build
deleted file mode 100755
index cc0bf39..0000000
--- a/build
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/bash
-
-usage()
-{
- echo "Usage: `basename $0` [-h|--help] [-e|--emulator] | [-d|--device] [-i|--init] [-t|--test]
- -h, --help Show this message.
- -e, --emulator Build for emulator (i586, default).
- -d, --device Build for device (armv7l).
- -i, --init Build online (without --noinit).
- -t, --test Build with tests."
-}
-
-ARCH="i586"
-NOINIT="--noinit"
-OPTS=$(getopt -o "edith" -l "emulator,device,init,test,help" -- "$@" 2> /dev/null)
-
-if [ $? -ne 0 ]
-then
- usage
- exit 1
-fi
-
-for opt in $OPTS
-do
- case $opt in
- -e|--emulator|--)
- ;;
- -d|--device)
- ARCH="armv7l"
- ;;
- -i|--init)
- NOINIT=""
- ;;
- -t|--test)
- TEST=1
- ;;
- -h|--help)
- usage
- exit 1
- ;;
- esac
-done
-
-if [ -z $TEST ]
-then
- gbs build -A $ARCH --include-all --keep-packs $NOINIT
-else
- gbs build -A $ARCH --include-all --keep-packs $NOINIT --define 'TEST ON'
-fi
-
diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000..590ed33
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,195 @@
+#!/bin/bash
+
+### How to add in .gbs.conf file ############################################################################
+## In order to use this script, please add profile as follows
+##
+## [general]
+## #Current profile name which should match a profile section name
+## profile = profile.slp
+##
+## [profile.slp]
+## repos = repo.Z130H_SWA_DD
+##
+## # Kiran SM-Z130H_SWA_DD (3G)
+## [profile.Z130H_SWA_DD]
+## repos = repo.Z130H_SWA_DD
+## [repo.Z130H_SWA_DD]
+## url = http://10.252.248.23:8008/snapshots/kiran/SM-Z130H_SWA_DD_NEWBD/release/RelZ130HDD-NEWBD_20140929.003/
+### How to add in .gbs.conf file ############################################################################
+
+YELLOWGREEN="\e[103;32m"
+YELLOWRED="\e[103;31m"
+GREEN="\e[0;32m"
+RED="\e[0;31m"
+ENDCOL="\e[m"
+
+#######
+#ver1.1
+#######
+PROGRAM_NAME="build.sh"
+GBSROOT=$(grep "gbsroot = " ~/.gbs.conf | awk '{ print $3 }')
+if [[ $GBSROOT == "" ]];then
+GBSROOT="$HOME/GBS-ROOT"
+fi
+DEFINES=""
+FLAGS=""
+INSTALL=""
+TEMP=$(getopt -n $PROGRAM_NAME -o mincd:Cqwlxh --long help,inst,install,incremental,noinit,ccache,define:,clean,quite,wear,lite -- "$@")
+
+eval set -- "$TEMP"
+while true; do
+ case $1 in
+ -C|--ccache)
+ CCACHE=1; shift; continue
+ ;;
+ -c|--clean)
+ CLEAN=1; shift; continue
+ ;;
+ -m|--incremental)
+ INCREMENTAL=1; shift; continue
+ ;;
+ -h|--help)
+echo "-c : gbs build --clean"
+echo "-n : gbs build --noinit"
+echo "-m : gbs build --incremental"
+echo "-x : git clean -xdf"
+echo "-q : gbs build | grep error (print out only error messages)"
+echo "-i : gbs build, then run install.sh"
+echo ""
+echo "install.sh : install without debug packages"
+echo "install.sh debug : install with debug packages"
+
+exit 0
+ ;;
+ -n|--noinit)
+ NOINIT=1; shift; continue
+ ;;
+ -q|--quite)
+ QUITE=1; shift; continue
+ ;;
+ -d|--define)
+ DEFINES="$DEFINES --define \"$2\""; shift; shift; continue
+ ;;
+ -w|--wear)
+ WEAR=1; shift; continue
+ ;;
+ -R|--release)
+ RELEASE=1; shift; continue
+ ;;
+ -l|--lite)
+ LITE=1; shift; continue
+ ;;
+ -i|--inst|--install)
+ INSTALL=1; shift; continue
+ ;;
+ -x)
+ GITCLEAN=1; shift; continue
+ ;;
+ --)
+ # no more arguments to parse
+ break
+ ;;
+ *)
+ printf "Unknown option %s\n" "$1"
+ exit 1
+ ;;
+ esac
+done
+
+##### FORCED option #####
+KIRAN=1;
+#####################
+
+if [[ $GITCLEAN == 1 ]];then
+git clean -xdf
+fi
+
+if [[ $WEAR != 1 ]];then
+ if [[ $KIRAN == 1 ]];then
+ MODEL="Z130H_SWA_DD"
+ else
+ MODEL="open"
+ fi
+else
+MODEL="tizenw"
+fi
+
+if [[ $NOINIT == 1 ]];then
+FLAGS="$FLAGS --noinit"
+fi
+if [[ $INCREMENTAL == 1 ]];then
+FLAGS="$FLAGS --incremental"
+fi
+if [[ $CCACHE == 1 ]];then
+FLAGS="$FLAGS --incremental --ccache"
+fi
+if [[ $CLEAN == 1 ]];then
+FLAGS="$FLAGS --clean"
+fi
+#if [[ $RELEASE != 1 ]];then
+#DEFINES=$DEFINES' --define "sec_build_binary_debug_enable 1"'
+#fi
+
+echo "====================================================="
+echo "GBSROOT: $GBSROOT"
+echo "Model: $MODEL"
+echo "FLAGS : $FLAGS"
+echo "DEFINES:$DEFINES"
+echo "================================= enter to continue ="
+CMD="gbs build -A armv7l -P $MODEL -B $GBSROOT/$MODEL --include-all --keep-packs $FLAGS $DEFINES"
+
+echo $CMD
+
+if [[ $QUITE == 1 ]];then
+$CMD | grep error -i
+else
+$CMD | tee build.txt
+fi
+
+
+### Warning check ############################################################################
+echo -e '\E[0;31m'"\033[1m Checking... waiting...\n\n \033[0m"
+
+sed -n '/warning/p' build.txt > build_1.txt
+sed -n '/contacts/p' build_1.txt > build_2.txt
+sed '/edc/d' build_2.txt > build_3.txt
+sed 's/:.*$//' build_3.txt > build_4.txt
+sed 's/^.*\///' build_4.txt > build_5.txt
+sort -u build_5.txt > build_6.txt
+
+#echo $except
+result=0
+while read line;
+do
+ if [[ $except != *$line* ]]; then
+ result=1
+ echo -e '\E[40;32m'"\033[1m Found warnings you have just created in $line \033[0m"
+ echo -e '\E[40;32m'"\033[1m Check below files...\033[0m"
+ grep -rn $line build_3.txt
+ fi
+done < build_6.txt
+
+if [ $result = 1 ]; then
+ echo -e '\E[40;31m'"\033[1m DO NOT UPLOADING... \033[0m"
+ echo -e '\E[40;31m'"\033[1m Please fix warnings before uploading.\033[0m"
+ exit 255
+else
+ echo -e '\E[40;37m'"\033[1m No warnings are detected. continue your job.\033[0m"
+fi
+
+rm build.txt
+rm build_1.txt
+rm build_2.txt
+rm build_3.txt
+rm build_4.txt
+rm build_5.txt
+rm build_6.txt
+### Warning check ############################################################################
+
+
+if [[ $INSTALL == 1 ]];then
+./install.sh
+fi
+
+exit 0
+
diff --git a/buildAndDeploy.sh b/buildAndDeploy.sh
deleted file mode 100755
index 58c146c..0000000
--- a/buildAndDeploy.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-
-# how to use
-# ./buildAndDeploy.sh i586 --clean
-# ./buildAndDeploy.sh armv7l
-
-architect=$1
-if [ -z "$1" ]; then
- architect=i586
-fi
-
-echo "building ..."
-echo "gbs build -A $architect $2 --include-all --keep-packs"
-gbs build -A $architect $2 --include-all --keep-packs
-
-echo "build done"
-echo "installing ..."
-
-rm -rf debugenv
-cd "scripts"
-./push.sh /home/developer $architect
-./pull_binaries.sh
-cd "../"
-
diff --git a/config/gdbscript_contacts_armv7l b/config/gdbscript_contacts_armv7l
deleted file mode 100644
index 65dfae4..0000000
--- a/config/gdbscript_contacts_armv7l
+++ /dev/null
@@ -1,2 +0,0 @@
-set solib-absolute-prefix /home/andy/GBS-ROOT/local/BUILD-ROOTS/scratch.armv7l.0/
-symbol-file /home/andy/workspace/contacts/debugenv/contacts.debug
diff --git a/config/gdbscript_contacts_i586 b/config/gdbscript_contacts_i586
deleted file mode 100644
index 2680087..0000000
--- a/config/gdbscript_contacts_i586
+++ /dev/null
@@ -1,2 +0,0 @@
-set solib-absolute-prefix /home/andy/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0/
-symbol-file /home/andy/workspace/contacts/debugenv/contacts.debug
diff --git a/contacts-appservice/CMakeLists.txt b/contacts-appservice/CMakeLists.txt
deleted file mode 100644
index 4f0849f..0000000
--- a/contacts-appservice/CMakeLists.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-SET(APPSERVICE contacts-appservice)
-
-SET(SRCS contacts-appservice.cpp)
-
-SET(APPSERVICE_PKGNAME "org.${VENDOR}.${APPSERVICE}")
-SET(APPSERVICE_PREFIX "/usr/apps/${APPSERVICE_PKGNAME}")
-SET(APPSERVICE_BINDIR "${APPSERVICE_PREFIX}/bin")
-SET(APPSERVICE_RESDIR "${APPSERVICE_PREFIX}/res")
-SET(APPSERVICE_DATADIR "${APPSERVICE_PREFIX}/data")
-
-ADD_DEFINITIONS("-DAPPSERVICE_PACKAGE=\"${APPSERVICE}\"")
-ADD_DEFINITIONS("-DAPPSERVICE_PACKAGE_NAME=\"${APPSERVICE_PKGNAME}\"")
-
-ADD_EXECUTABLE(${APPSERVICE} ${SRCS})
-SET_TARGET_PROPERTIES(${APPSERVICE} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS} -fpie")
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib/common/include)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib/common/Utils/include)
-
-pkg_check_modules(appservice_pkgs REQUIRED appcore-efl ecore-x capi-appfw-application ui-gadget-1 utilX)
-FOREACH(flag ${appservice_pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-TARGET_LINK_LIBRARIES(${APPSERVICE} ${appservice_pkgs_LDFLAGS})
-
-INSTALL(FILES ${CMAKE_BINARY_DIR}/contacts-appservice/org.tizen.contacts-appservice.xml DESTINATION "/usr/share/packages")
-INSTALL(TARGETS ${APPSERVICE} DESTINATION ${APPSERVICE_BINDIR})
-INSTALL(DIRECTORY DESTINATION ${APPSERVICE_DATADIR})
-
-# install icon
-INSTALL(FILES icon_${APPSERVICE}.png DESTINATION "/usr/share/icons/default/small" RENAME "${APPSERVICE_PKGNAME}.png")
diff --git a/contacts-appservice/contacts-appservice.cpp b/contacts-appservice/contacts-appservice.cpp
deleted file mode 100755
index 0a49443..0000000
--- a/contacts-appservice/contacts-appservice.cpp
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <aul.h>
-#include <Ecore_X.h>
-#include <ui-gadget.h>
-#include <app.h>
-#include <utilX.h>
-
-#include "phone.h"
-
-#if !defined(APPSERVICE_PACKAGE)
-# define APPSERVICE_PACKAGE "contacts-appservice"
-#endif
-
-#define CONTACTS_LIST_UG "contacts-list-efl"
-#define CONTACTS_DETAILS_UG "contacts-details-efl"
-
-#define CT_LIST_UG_SELECT_CONTACT_ADD_TO_HOME "15"
-#define CT_LIST_UG_SELECT_GROUP_ADD_TO_HOME "16"
-#define CT_DETAILS_UG_REQUEST_ADD_WITH_NUM "22"
-#define CT_DETAILS_UG_REQUEST_DETAIL "0"
-
-#define CT_APPSERVICE_REQUEST_DETAIL 0
-#define CT_APPSERVICE_ADD_CONTACT_LIVEBOX 1
-#define CT_APPSERVICE_ADD_GROUP_LIVEBOX 2
-#define CT_APPSERVICE_ADD_WITH_NUM 22
-
-typedef struct
-{
- Evas_Object *win;
- Evas_Object *layout;
- ui_gadget_h ug;
- Ecore_Event_Handler *event_handler;
-} ct_app_service_data;
-
-static Evas_Object* appservice_create_win(const char *name)
-{
- Evas_Object *eo;
- int w, h;
-
- eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
- if (eo)
- {
- elm_win_title_set(eo, name);
- elm_win_conformant_set(eo, EINA_TRUE);
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
-#else
- elm_win_borderless_set(eo, EINA_TRUE);
-#endif
- ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
- evas_object_resize(eo, w, h);
- elm_win_indicator_mode_set(eo, ELM_WIN_INDICATOR_SHOW);
- }
-
- return eo;
-}
-
-static Eina_Bool __appservice_hard_key_down(void *data, int type,
- void *event_info)
-{
- Ecore_Event_Key *ev = (Ecore_Event_Key *) event_info;
- if (0 == strcmp(ev->keyname, KEY_HOME))
- elm_exit();
- return ECORE_CALLBACK_DONE;
-}
-
-static void __appservice_grab_key(ct_app_service_data *cappservice_d)
-{
- Ecore_X_Window xwin;
- Ecore_X_Display *disp = NULL;
-
- disp = ecore_x_display_get();
- xwin = elm_win_xwindow_get(cappservice_d->win);
- utilx_grab_key((Display *) disp, xwin, KEY_HOME, TOP_POSITION_GRAB);
- cappservice_d->event_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN,
- __appservice_hard_key_down, cappservice_d);
-}
-
-static void __appservice_ungrab_key(ct_app_service_data *cappservice_d)
-{
- Ecore_X_Window xwin;
- Ecore_X_Display *disp = NULL;
-
- disp = ecore_x_display_get();
- xwin = elm_win_xwindow_get(cappservice_d->win);
- utilx_ungrab_key((Display *) disp, xwin, KEY_HOME);
- if (cappservice_d->event_handler)
- {
- ecore_event_handler_del(cappservice_d->event_handler);
- cappservice_d->event_handler = NULL;
- }
-}
-
-static bool appservice_create(void *data)
-{
- PH_FN_CALL;
- ct_app_service_data *cappservice_d = (ct_app_service_data *) data;
- Evas_Object *win;
-
- /* create window */
- win = appservice_create_win(APPSERVICE_PACKAGE);
- p_retvm_if(NULL == win, false, "ctapp_create_win() Failed");
- cappservice_d->win = win;
-
- bindtextdomain(PACKAGE, LOCALEDIR);
- evas_object_show(win);
-
- UG_INIT_EFL(cappservice_d->win, UG_OPT_INDICATOR_ENABLE);
- __appservice_grab_key(cappservice_d);
-
- return true;
-}
-
-static void appservice_terminate(void *data)
-{
- PH_FN_CALL;
- ct_app_service_data *cappservice_d = (ct_app_service_data *) data;
-
- __appservice_ungrab_key(cappservice_d);
-
- if (cappservice_d->ug)
- ug_destroy(cappservice_d->ug);
-
- if (cappservice_d->win)
- evas_object_del(cappservice_d->win);
-
- return;
-}
-
-static void appservice_pause(void *data)
-{
- PH_FN_CALL;
- return;
-}
-
-static void appservice_resume(void *data)
-{
- PH_FN_CALL;
- return;
-}
-
-static void appservice_ug_layout_cb(ui_gadget_h ug, enum ug_mode mode,
- void *priv)
-{
- ct_app_service_data *cappservice_d = (ct_app_service_data *) priv;
- Evas_Object *base;
-
- if (!ug)
- return;
-
- base = (Evas_Object *) ug_get_layout(ug);
- if (!base)
- {
- ERR("ug_get_layout() return NULL");
- ug_destroy(ug);
- return;
- }
- evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- ug_disable_effect(ug);
- elm_object_content_set(cappservice_d->layout, base);
- evas_object_show(base);
-}
-
-static void appservice_ug_destroy_cb(ui_gadget_h ug, void *priv)
-{
- ct_app_service_data *cappservice_d = (ct_app_service_data *) priv;
- p_retm_if(NULL == ug, "ug is NULL");
-
- ug_destroy(ug);
- cappservice_d->ug = NULL;
-
- elm_exit();
-}
-
-static void appservice_lauch_list_ug(ct_app_service_data *cappservice_d,
- int type)
-{
- service_h service;
- struct ug_cbs cbs = { 0 };
-
- p_retm_if(NULL == cappservice_d, "parameter(cappservice_d) is NULL");
-
- service_create(&service);
-
- if (2 == type)
- service_add_extra_data(service, "type",
- CT_LIST_UG_SELECT_GROUP_ADD_TO_HOME);
- else
- service_add_extra_data(service, "type",
- CT_LIST_UG_SELECT_CONTACT_ADD_TO_HOME);
-
- cbs.layout_cb = appservice_ug_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = appservice_ug_destroy_cb;
- cbs.priv = cappservice_d;
-
- cappservice_d->ug = ug_create(NULL, CONTACTS_LIST_UG, UG_MODE_FULLVIEW,
- service, &cbs);
- service_destroy(service);
-}
-
-static void appservice_launch_details_ug(ct_app_service_data *cappservice_d,
- int type, char *val)
-{
- service_h service;
- struct ug_cbs cbs = { 0 };
-
- p_retm_if(NULL == cappservice_d, "parameter(cappservice_d) is NULL");
-
- service_create(&service);
- if (type == CT_APPSERVICE_REQUEST_DETAIL)
- {
- service_add_extra_data(service, "type", CT_DETAILS_UG_REQUEST_DETAIL);
- PH_DBG("val=%s", val);
- if (val && *val)
- service_add_extra_data(service, "person_id", val);
- }
- else if (type == CT_APPSERVICE_ADD_WITH_NUM)
- {
- service_add_extra_data(service, "type",
- CT_DETAILS_UG_REQUEST_ADD_WITH_NUM);
- if (val && *val)
- service_add_extra_data(service, "ct_num", val);
- }
-
- cbs.layout_cb = appservice_ug_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = appservice_ug_destroy_cb;
- cbs.priv = cappservice_d;
-
- cappservice_d->ug = ug_create(NULL, CONTACTS_DETAILS_UG, UG_MODE_FULLVIEW,
- service, &cbs);
- service_destroy(service);
-
-}
-
-static Evas_Object* __appservice_create_base_layout(Evas_Object *parent,
- bool is_fullview)
-{
- Evas_Object *base;
-
- base = elm_layout_add(parent);
- p_retvm_if(NULL == base, NULL, "elm_layout_add() Failed");
- if (is_fullview)
- elm_layout_theme_set(base, "layout", "application", "default");
- else
- elm_layout_theme_set(base, "layout", "application", "noindicator");
- evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- elm_object_content_set(parent, base);
-
- return base;
-}
-
-static void __appservice_create_bg(Evas_Object *win)
-{
- Evas_Object *bg;
-
- bg = elm_bg_add(win);
- p_retm_if(NULL == bg, "elm_bg_add() return NULL");
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_content_set(win, "elm.swallow.bg", bg);
- elm_win_resize_object_add(win, bg);
- evas_object_show(bg);
-}
-
-static Evas_Object* __appservice_create_conformant(Evas_Object *win)
-{
- Evas_Object *conform;
-
- conform = elm_conformant_add(win);
- p_retvm_if(NULL == conform, NULL, "elm_conformant_add() Failed");
- evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_win_resize_object_add(win, conform);
- evas_object_show(conform);
-
- return conform;
-}
-
-static void __appservice_create_content(ct_app_service_data *cappservice_data)
-{
- Evas_Object *conform = NULL;
-
- __appservice_create_bg(cappservice_data->win);
- conform = __appservice_create_conformant(cappservice_data->win);
- cappservice_data->layout = __appservice_create_base_layout(conform, true);
-}
-
-static void appservice_service(service_h service, void *data)
-{
- PH_FN_CALL;
- char *val = NULL;
- int ret;
- int type;
- ct_app_service_data *cappservice_d = (ct_app_service_data *) data;
-
- __appservice_create_content(cappservice_d);
-
- ret = service_get_extra_data(service, "type", &val);
- if (SERVICE_ERROR_NONE != ret)
- {
- ERR("service_get_operation is failed(%d)", ret);
- elm_exit();
- return;
- }
-
- if (val && *val)
- {
- char *extra_data = NULL;
- type = atoi(val);
- free(val);
-
- if (type == CT_APPSERVICE_ADD_CONTACT_LIVEBOX
- || type == CT_APPSERVICE_ADD_GROUP_LIVEBOX)
- appservice_lauch_list_ug(cappservice_d, type);
- else if (type == CT_APPSERVICE_REQUEST_DETAIL)
- {
- ret = service_get_extra_data(service, "person_id", &extra_data);
- appservice_launch_details_ug(cappservice_d,
- CT_APPSERVICE_REQUEST_DETAIL, extra_data);
- free(extra_data);
- }
- else if (type == CT_APPSERVICE_ADD_WITH_NUM)
- {
- ret = service_get_extra_data(service, "ct_num", &extra_data);
- appservice_launch_details_ug(cappservice_d,
- CT_APPSERVICE_ADD_WITH_NUM, extra_data);
- free(extra_data);
- }
- else
- {
- ERR("Invalid type(%d)", type);
- elm_exit();
- return;
- }
- }
- elm_win_activate(cappservice_d->win);
- return;
-}
-
-API int main(int argc, char *argv[])
-{
- PH_FN_CALL;
-
- ct_app_service_data ad = { 0 };
- app_event_callback_s event_callback = { 0, };
- event_callback.create = appservice_create;
- event_callback.terminate = appservice_terminate;
- event_callback.pause = appservice_pause;
- event_callback.resume = appservice_resume;
- event_callback.service = appservice_service;
- event_callback.low_memory = NULL;
- event_callback.low_battery = NULL;
- event_callback.device_orientation = NULL;
- event_callback.language_changed = NULL;
- event_callback.region_format_changed = NULL;
-
- return app_efl_main(&argc, &argv, &event_callback, &ad);
-}
diff --git a/contacts-appservice/icon_contacts-appservice.png b/contacts-appservice/icon_contacts-appservice.png
deleted file mode 100644
index 900dcde..0000000
--- a/contacts-appservice/icon_contacts-appservice.png
+++ /dev/null
Binary files differ
diff --git a/contacts-appservice/org.tizen.contacts-appservice.xml b/contacts-appservice/org.tizen.contacts-appservice.xml
deleted file mode 100644
index 6ee09a7..0000000
--- a/contacts-appservice/org.tizen.contacts-appservice.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.contacts-appservice" version="0.1.2" install-location="internal-only">
- <label>Contacts-Appservice</label>
- <author email="ensung.park@samsung.com" href="www.samsung.com">ensung park</author>
- <description>Contacts-appservice Application</description>
- <ui-application appid="org.tizen.contacts-appservice" exec="/usr/apps/org.tizen.contacts-appservice/bin/contacts-appservice" nodisplay="true" multiple="false" type="capp" taskmanage="true">
- <icon>org.tizen.contacts.png</icon>
- <label>Contacts-Appservice</label>
- <label xml:lang="en-us">Contacts-Appservice</label>
- <label xml:lang="nl-nl">Contacts-Appservice</label>
- <label xml:lang="de-de">Contacts-Appservice</label>
- <label xml:lang="en-gb">Contacts-Appservice</label>
- <label xml:lang="zh-hk">Contacts-Appservice</label>
- <label xml:lang="zh-cn">Contacts-Appservice</label>
- <label xml:lang="ru-ru">Contacts-Appservice</label>
- <label xml:lang="zh-tw">Contacts-Appservice</label>
- <label xml:lang="ja-jp">Contacts-Appservice</label>
- <label xml:lang="es-es">Contacts-Appservice</label>
- <label xml:lang="el-gr">Contacts-Appservice</label>
- <label xml:lang="it-it">Contacts-Appservice</label>
- <label xml:lang="tr-tr">Contacts-Appservice</label>
- <label xml:lang="pt-pt">Contacts-Appservice</label>
- <label xml:lang="fr-fr">Contacts-Appservice</label>
- <label xml:lang="ko-kr">Contacts-Appservice</label>
- </ui-application>
-</manifest>
diff --git a/contacts-viewer/CMakeLists.txt b/contacts-viewer/CMakeLists.txt
deleted file mode 100644
index 32f3555..0000000
--- a/contacts-viewer/CMakeLists.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-SET(VIEWER contacts-viewer)
-
-SET(SRCS contacts-viewer.cpp)
-
-SET(VV_PKGNAME "org.${VENDOR}.${VIEWER}")
-SET(VV_PREFIX "/usr/apps/${VV_PKGNAME}")
-SET(VV_BINDIR "${VV_PREFIX}/bin")
-SET(VV_RESDIR "${VV_PREFIX}/res")
-SET(VV_DATADIR "${VV_PREFIX}/data")
-
-ADD_DEFINITIONS("-DCV_PACKAGE=\"${VIEWER}\"")
-ADD_DEFINITIONS("-DCV_PACKAGE_NAME=\"${VV_PKGNAME}\"")
-
-ADD_EXECUTABLE(${VIEWER} ${SRCS})
-SET_TARGET_PROPERTIES(${VIEWER} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS} -fpie")
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib/common/include)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib/common/Utils/include)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib/details/include)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib/list/include)
-TARGET_LINK_LIBRARIES(${VIEWER} ug-contacts-details-efl ug-contacts-list-efl "-pie")
-
-INSTALL(FILES ${CMAKE_BINARY_DIR}/contacts-viewer/org.tizen.contacts-viewer.xml DESTINATION "/usr/share/packages")
-INSTALL(TARGETS ${VIEWER} DESTINATION ${VV_BINDIR})
-INSTALL(DIRECTORY DESTINATION ${VV_DATADIR})
-
-# install icon
-INSTALL(FILES icon_${VIEWER}.png DESTINATION "/usr/share/icons/default/small" RENAME "${VV_PKGNAME}.png")
diff --git a/contacts-viewer/contacts-viewer.cpp b/contacts-viewer/contacts-viewer.cpp
deleted file mode 100755
index 0b1451a..0000000
--- a/contacts-viewer/contacts-viewer.cpp
+++ /dev/null
@@ -1,621 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <aul.h>
-#include <Ecore_X.h>
-#include <ui-gadget.h>
-#include <app.h>
-
-#include "phone.h"
-#include "ct-detail.h"
-#include "ct-list.h"
-
-#if !defined(CV_PACKAGE)
-# define CV_PACKAGE "contacts-viewer"
-#endif
-
-typedef struct
-{
- char *path;
- Evas_Object *win;
- Evas_Object *content;
- Evas_Object *popup;
- Eina_List *list;
- ph_progress_info *p_info;
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
- Evas_Object *icon;
- Evas_Object *prev_btn;
-#endif
- int current_rotate;
-} ct_viewer_data;
-
-static void cv_win_del(void *data, Evas_Object *obj, void *event)
-{
- elm_exit();
-}
-
-static Evas_Object* cv_create_win(const char *name)
-{
- Evas_Object *eo;
- int w, h;
-
- eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
- if (eo)
- {
- elm_win_title_set(eo, name);
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
-#else
- elm_win_borderless_set(eo, EINA_TRUE);
-#endif
- evas_object_smart_callback_add(eo, "delete,request", cv_win_del, NULL);
- ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
- evas_object_resize(eo, w, h);
- elm_win_indicator_mode_set(eo, ELM_WIN_INDICATOR_SHOW);
- }
- elm_win_conformant_set(eo, EINA_TRUE);
- return eo;
-}
-
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
-static Evas_Object* __set_win_icon(ct_viewer_data *ad)
-{
- Evas_Object *image = evas_object_image_add(evas_object_evas_get(ad->win));
- evas_object_image_file_set(image, "/usr/share/icons/default/small/org.tizen.contacts-viewer.png", NULL);
- elm_win_icon_object_set(ad->win, image);
-
- return image;
-}
-
-static void __win_profile_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if(data == NULL)
- return;
-
- ct_viewer_data *ad = data;
- Evas_Object *navi = evas_object_data_get(ad->win, "naviframe");
- const char *profile = elm_config_profile_get();
- if(!strcmp(profile, "desktop"))
- {
- Elm_Object_Item *navi_item = elm_naviframe_bottom_item_get(navi);
- ad->prev_btn = elm_object_item_part_content_unset(navi_item, "prev_btn");
- elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_HIDE);
- if(!ad->icon)
- ad->icon = __set_win_icon(ad);
- }
- else
- {
- Elm_Object_Item *navi_item = elm_naviframe_bottom_item_get(navi);
- if (ad->prev_btn)
- {
- elm_object_item_part_content_set(navi_item, "prev_btn", ad->prev_btn);
- ad->prev_btn = NULL;
- }
- elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_SHOW);
- }
-}
-#endif // _PHONE_CONTACTS_DESKTOP_MODE_
-static void __viewer_rotate_cb(void *data, Evas_Object *obj, void *event)
-{
- ct_viewer_data *cviewer_d = (ct_viewer_data *) data;
- int changed_rotate = elm_win_rotation_get(obj);
-
-#ifndef _PHONE_CONTACTS_DESKTOP_MODE_
- const char *config = elm_config_profile_get();
- if (!strcmp(config, "desktop"))
- return;
-#endif
- p_retm_if(cviewer_d == NULL || cviewer_d->win == NULL, "Paramter is NULL");
-
- if (changed_rotate != cviewer_d->current_rotate)
- {
- ERR("rotate changed %d", changed_rotate);
- cviewer_d->current_rotate = changed_rotate;
- switch (cviewer_d->current_rotate)
- {
- case 0:
- ug_send_event (UG_EVENT_ROTATE_PORTRAIT);
- break;
- case 180:
- ug_send_event (UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN);
- break;
- case 270:
- ug_send_event (UG_EVENT_ROTATE_LANDSCAPE);
- break;
- case 90:
- ug_send_event (UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN);
- break;
- default:
- break;
- }
- }
-}
-
-static bool viewer_create(void *data)
-{
- int err = CONTACTS_ERROR_NONE;
- ct_viewer_data *cviewer_d = (ct_viewer_data *) data;
- Evas_Object *win;
-
- err = contacts_connect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_connect2() Failed(%d)",
- err);
-
- /* create window */
- win = cv_create_win(CV_PACKAGE);
- p_retvm_if(NULL == win, false, "ctapp_create_win() Failed");
- cviewer_d->win = win;
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
- evas_object_smart_callback_add(cviewer_d->win, "profile,changed", __win_profile_changed_cb, cviewer_d);
-#endif
- bindtextdomain(PACKAGE, LOCALEDIR);
- evas_object_show(win);
-
- if (elm_win_wm_rotation_supported_get(win))
- {
- int rotation[4] = { 0, 90, 180, 270 };
- elm_win_wm_rotation_available_rotations_set(win,
- (const int *) (&rotation), 4);
- cviewer_d->current_rotate = elm_win_rotation_get(win);
- ERR("rotate current %d", cviewer_d->current_rotate);
- evas_object_smart_callback_add(win, "wm,rotation,changed",
- __viewer_rotate_cb, cviewer_d);
- }
-
- UG_INIT_EFL(cviewer_d->win, UG_OPT_INDICATOR_PORTRAIT_ONLY);
-
- return true;
-}
-
-static void viewer_terminate(void *data)
-{
- int err = CONTACTS_ERROR_NONE;
- ct_viewer_data *cviewer_d = (ct_viewer_data *) data;
-
- if (cviewer_d->p_info)
- {
- cviewer_d->p_info->alive = false;
- pthread_join(cviewer_d->p_info->thread, NULL);
- ecore_timer_del(cviewer_d->p_info->timer);
- free(cviewer_d->p_info);
- }
-
- free(cviewer_d->path);
-
- if (cviewer_d->win)
- {
- evas_object_data_del(cviewer_d->win, "naviframe");
- evas_object_del(cviewer_d->win);
- cviewer_d->win = NULL;
- }
-
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_disconnect2() Failed(%d)",
- err);
-
- return;
-}
-
-static void viewer_pause(void *data)
-{
- return;
-}
-
-static void viewer_resume(void *data)
-{
- return;
-}
-
-static bool viewer_load_vcard_foreach_cb(contacts_record_h record, void *data)
-{
- ct_person_list *person_info = NULL;
- ct_viewer_data *cviewer_d = (ct_viewer_data *) data;
- int err = CONTACTS_ERROR_NONE;
-
- if (NULL == cviewer_d)
- {
- ERR("Invalid parameter(cviewer_d is NULL)");
- return false;
- }
-
- if (false == cviewer_d->p_info->alive)
- return false;
-
- person_info = (ct_person_list *) calloc(1, sizeof(ct_person_list));
- if (NULL == person_info)
- {
- ERR("calloc() return NULL");
- cviewer_d->p_info->result = FALSE;
- if (cviewer_d->p_info->cnt == cviewer_d->p_info->cnt_checked_total)
- cviewer_d->p_info->completed = true;
- return false;
- }
-
- person_info->id = cviewer_d->p_info->cnt;
- err = contacts_record_get_str(record, _contacts_contact.display_name,
- &(person_info->display));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str() Failed(%d)", err);
- person_info->img_loaded = true;
-
- cviewer_d->list = eina_list_append(cviewer_d->list, person_info);
- ++cviewer_d->p_info->cnt;
- return true;
-
-}
-
-static PTHREAD_FN viewer_load_vcard_contacts_thread_fn(void* data)
-{
- contacts_connect_on_thread();
-
- int err = CONTACTS_ERROR_NONE;
- ct_viewer_data *cviewer_d = (ct_viewer_data *) data;
-
- err = contacts_vcard_parse_to_contact_foreach(cviewer_d->path,
- viewer_load_vcard_foreach_cb, cviewer_d);
- if (CONTACTS_ERROR_NONE != err)
- {
- cviewer_d->p_info->result = FALSE;
- ERR("contacts_svc_vcard_foreach() Failed(%d)", err);
- }
- cviewer_d->p_info->completed = true;
-
- contacts_disconnect_on_thread();
-
- pthread_exit(NULL);
-}
-
-static inline void viewer_get_filename(char *fullpath, char *dest,
- int size_dest)
-{
- char* index;
- index = strrchr(fullpath, '/');
- snprintf(dest, size_dest, "%s", index + 1);
-}
-
-static Eina_Bool viewer_load_vcard_timer_cb(void *data)
-{
- ct_viewer_data *cviewer_d = (ct_viewer_data *) data;
-
- p_retvm_if(NULL == cviewer_d, ECORE_CALLBACK_CANCEL,
- "parameter(ct_viewer_data) is NULL");
- p_retvm_if(NULL == cviewer_d->p_info, ECORE_CALLBACK_CANCEL,
- "parameter(ct_viewer_data->p_info) is NULL");
-
- if (!cviewer_d->p_info->completed)
- {
- char count[PH_TEXT_SHORT_LEN];
- char percent[PH_TEXT_SHORT_LEN];
- double value = (double) cviewer_d->p_info->cnt
- / (double) cviewer_d->p_info->cnt_checked_total;
-
- if (!cviewer_d->p_info->alive)
- {
- cviewer_d->p_info->result = FALSE;
- cviewer_d->p_info->completed = true;
- return ECORE_CALLBACK_RENEW;
- }
-
- elm_progressbar_value_set(cviewer_d->p_info->progressbar, value);
- snprintf(percent, sizeof(percent), "%d%%",
- (int) (100.0 * (double) cviewer_d->p_info->cnt
- / (double) cviewer_d->p_info->cnt_checked_total));
- snprintf(count, sizeof(count), "%d/%d", cviewer_d->p_info->cnt,
- cviewer_d->p_info->cnt_checked_total);
- edje_object_part_text_set(
- elm_layout_edje_get(cviewer_d->p_info->layout),
- "elm.text.subtext1", percent);
- edje_object_part_text_set(
- elm_layout_edje_get(cviewer_d->p_info->layout),
- "elm.text.subtext2", count);
-
- if (cviewer_d->p_info->cnt == cviewer_d->p_info->cnt_checked_total)
- cviewer_d->p_info->completed = true;
-
- return ECORE_CALLBACK_RENEW;
- }
- else
- {
- pthread_join(cviewer_d->p_info->thread, NULL);
-
- evas_object_del(cviewer_d->popup);
- cviewer_d->popup = NULL;
-
- cviewer_d->p_info->timer = NULL;
-
- if (!cviewer_d->p_info->result)
- {
- free(cviewer_d->p_info);
- cviewer_d->p_info = NULL;
- elm_exit();
- return ECORE_CALLBACK_CANCEL;
- }
-
- cviewer_d->content = ctui_create_vcard_list_view(cviewer_d->win,
- cviewer_d->list, cviewer_d->path);
- p_retvm_if(NULL == cviewer_d->content, ECORE_CALLBACK_CANCEL,
- "ctui_create_vcard_list_view() return NULL");
-
- free(cviewer_d->p_info);
- cviewer_d->p_info = NULL;
-
- return ECORE_CALLBACK_CANCEL;
- }
-}
-
-static int viewer_load_vcard_contact(ct_viewer_data *cviewer_d)
-{
- Evas_Object *popup;
-
- if (cviewer_d->path && *cviewer_d->path)
- {
- cviewer_d->content = ctui_contacts_viewer(cviewer_d->win, NULL, 0,
- cviewer_d->path);
- if (NULL == cviewer_d->content)
- {
- ERR("ctui_contacts_viewer() return NULL");
- elm_exit();
- return -1;
- }
- }
- else
- {
- popup = phone_show_popup(cviewer_d->win, S_(CT_SYS_POP_ERROR), 1.5);
- evas_object_smart_callback_add(popup, "timeout", cv_win_del, NULL);
- }
- return 0;
-}
-
-static int viewer_load_vcard_contacts(ct_viewer_data *cviewer_d, int cnt_vcard)
-{
- int ret;
- char title[PH_TEXT_MAX_LEN];
- char filepath[PH_TEXT_MAX_LEN];
- ph_progress_info *p_info;
-
- p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- if (NULL == p_info)
- {
- ERR("calloc() return NULL");
- elm_exit();
- return -1;
- }
-
- cviewer_d->p_info = p_info;
- cviewer_d->list = NULL;
-
- p_info->cnt = 0;
- p_info->cnt_checked_total = cnt_vcard;
- p_info->alive = true;
- p_info->result = TRUE;
- p_info->completed = false;
-
- viewer_get_filename(cviewer_d->path, filepath, sizeof(filepath));
- snprintf(title, sizeof(title), "%s<br>%s",
- T_(CT_GET_TEXT_BASIC, CTTEXT_LOADING_VCARD), filepath);
-
- ret = pthread_create(&p_info->thread, NULL,
- viewer_load_vcard_contacts_thread_fn, cviewer_d);
- if (0 != ret)
- {
- ERR("Thread creation failed(%d)", ret);
- free(p_info);
- cviewer_d->p_info = NULL;
- elm_exit();
- return -1;
- }
- p_info->timer = ecore_timer_add(0.2, viewer_load_vcard_timer_cb, cviewer_d);
- if (NULL == p_info->timer)
- {
- ERR("ecore_timer_add() return NULL");
-
- p_info->alive = false;
- pthread_join(p_info->thread, NULL);
-
- free(p_info);
- cviewer_d->p_info = NULL;
- elm_exit();
- return -1;
- }
- cviewer_d->popup = phone_progressbar_popup(cviewer_d->win, p_info, title);
- return 0;
-}
-
-static void viewer_popup_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- elm_exit();
-}
-
-static bool __viewer_is_valid_person(int person_id)
-{
- int err;
- contacts_record_h record = NULL;
- err = contacts_db_get_record(_contacts_person._uri, person_id, &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- contacts_record_destroy(record, true);
- return false;
- }
- contacts_record_destroy(record, true);
- return true;
-}
-
-static void viewer_service(service_h service, void *data)
-{
- int ret;
- int person_id;
- char *val = NULL;
- char val_vcard[PH_TEXT_MAX_LEN];
- int err = CONTACTS_ERROR_NONE;
- ct_viewer_data *cviewer_d = (ct_viewer_data *) data;
-
- if (NULL == cviewer_d->win)
- {
- ERR("win is NULL");
- elm_exit();
- return;
- }
-
- if (cviewer_d->p_info)
- {
- cviewer_d->p_info->alive = false;
- pthread_join(cviewer_d->p_info->thread, NULL);
- ecore_timer_del(cviewer_d->p_info->timer);
- free(cviewer_d->p_info);
- cviewer_d->p_info = NULL;
- }
-
- if (cviewer_d->content)
- {
- evas_object_del(cviewer_d->content);
- cviewer_d->content = NULL;
- }
-
- ret = service_get_extra_data(service, "person_id", &val);
- p_warn_if(SERVICE_ERROR_NONE != ret, "service_get_operation is failed(%d)",
- ret);
-
- if (val && *val)
- {
- person_id = atoi(val);
- if (person_id <= 0)
- {
- ERR("service value(person_id) is wrong(%d)", person_id);
- }
- else if (false == __viewer_is_valid_person(person_id))
- {
- Evas_Object *popup;
- popup = elm_popup_add(cviewer_d->win);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_object_text_set(popup, T_(CT_GET_TEXT_ERR, CTTEXT_NO_CONTACTS));
- elm_popup_timeout_set(popup, 2.0);
- evas_object_smart_callback_add(popup, "timeout",
- viewer_popup_hide_cb, NULL);
- evas_object_show(popup);
- }
- else
- {
- cviewer_d->content = ctui_contacts_viewer(cviewer_d->win, NULL,
- person_id, NULL);
- if (NULL == cviewer_d->content)
- {
- Evas_Object *popup;
- ERR("ctui_contacts_viewer() return NULL");
- popup = elm_popup_add(cviewer_d->win);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_object_text_set(popup, S_(PH_SYS_POP_FAILED));
- elm_popup_timeout_set(popup, 2.0);
- evas_object_smart_callback_add(popup, "timeout",
- viewer_popup_hide_cb, NULL);
-
- evas_object_show(popup);
- }
- free(val);
- }
- }
- else
- {
- int cnt_vcard = 0;
- ret = service_get_uri(service, &val);
- p_warn_if(SERVICE_ERROR_NONE != ret, "service_get_uri is failed(%d)",
- ret);
-
- val_vcard[0] = '\0';
-
- if (val && *val)
- {
- if (0 == strncmp(val, "file://", 7))
- snprintf(val_vcard, sizeof(val_vcard), "%s", val + 7);
- else
- snprintf(val_vcard, sizeof(val_vcard), "%s", val);
- }
- else
- {
- ret = service_get_extra_data(service, AUL_K_MIME_CONTENT, &val);
- p_warn_if(SERVICE_ERROR_NONE != ret,
- "service_get_extra_data is failed(%d)", ret);
- if (val && *val)
- snprintf(val_vcard, sizeof(val_vcard), "%s", val);
- }
- free(val);
-
- if ('\0' == *val_vcard)
- {
- ERR("service value is NULL");
- elm_exit();
- return;
- }
-
- free(cviewer_d->path);
- cviewer_d->path = strdup(val_vcard);
- err = contacts_vcard_get_entity_count(cviewer_d->path, &cnt_vcard);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_vcard_get_entity_count() Failed(%d)", err);
-
- if (cnt_vcard < 1)
- {
- ERR("invalid vcard(%s)", cviewer_d->path);
- elm_exit();
- return;
- }
- else if (1 == cnt_vcard)
- {
- ret = viewer_load_vcard_contact(cviewer_d);
- if (0 != ret)
- {
- ERR("viewer_load_vcard_contact() Failed(%d)", ret);
- elm_exit();
- return;
- }
- }
- else
- {
- ret = viewer_load_vcard_contacts(cviewer_d, cnt_vcard);
- if (0 != ret)
- {
- ERR("viewer_load_vcard_contact() Failed(%d)", ret);
- elm_exit();
- return;
- }
- }
- }
- elm_win_activate(cviewer_d->win);
- return;
-}
-
-API int main(int argc, char *argv[])
-{
- ct_viewer_data ad = { 0 };
- app_event_callback_s event_callback = { 0, };
-
- //vibration engine set, guide by settings - temporary fix
- elm_init(argc, argv);
- elm_config_preferred_engine_set("opengl_x11");
-
- event_callback.create = viewer_create;
- event_callback.terminate = viewer_terminate;
- event_callback.pause = viewer_pause;
- event_callback.resume = viewer_resume;
- event_callback.service = viewer_service;
- event_callback.low_memory = NULL;
- event_callback.low_battery = NULL;
- event_callback.language_changed = NULL;
- event_callback.region_format_changed = NULL;
-
- return app_efl_main(&argc, &argv, &event_callback, &ad);
-}
diff --git a/contacts-viewer/icon_contacts-viewer.png b/contacts-viewer/icon_contacts-viewer.png
deleted file mode 100644
index 900dcde..0000000
--- a/contacts-viewer/icon_contacts-viewer.png
+++ /dev/null
Binary files differ
diff --git a/contacts-viewer/org.tizen.contacts-viewer.xml b/contacts-viewer/org.tizen.contacts-viewer.xml
deleted file mode 100755
index 8a55e80..0000000
--- a/contacts-viewer/org.tizen.contacts-viewer.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.contacts-viewer" version="0.1.2" install-location="internal-only">
- <label>Contacts-Viewer</label>
- <author email="ensung.park@samsung.com" href="www.samsung.com">ensung park</author>
- <description>Contacts-Viewer Application</description>
- <ui-application appid="org.tizen.contacts-viewer" exec="/usr/apps/org.tizen.contacts-viewer/bin/contacts-viewer" nodisplay="true" multiple="false" type="capp" taskmanage="true">
- <icon>org.tizen.contacts.png</icon>
- <label>Contacts-Viewer</label>
- <label xml:lang="en-us">Contacts-Viewer</label>
- <label xml:lang="nl-nl">Contacts-Viewer</label>
- <label xml:lang="de-de">Contacts-Viewer</label>
- <label xml:lang="en-gb">Contacts-Viewer</label>
- <label xml:lang="zh-hk">Contacts-Viewer</label>
- <label xml:lang="zh-cn">Contacts-Viewer</label>
- <label xml:lang="ru-ru">Contacts-Viewer</label>
- <label xml:lang="zh-tw">Contacts-Viewer</label>
- <label xml:lang="ja-jp">Contacts-Viewer</label>
- <label xml:lang="es-es">Contacts-Viewer</label>
- <label xml:lang="el-gr">Contacts-Viewer</label>
- <label xml:lang="it-it">Contacts-Viewer</label>
- <label xml:lang="tr-tr">Contacts-Viewer</label>
- <label xml:lang="pt-pt">Contacts-Viewer</label>
- <label xml:lang="fr-fr">Contacts-Viewer</label>
- <label xml:lang="ko-kr">Contacts-Viewer</label>
- <application-service>
- <operation name="http://tizen.org/appcontrol/operation/view"/>
- <mime name="text/x-vcard"/>
- <mime name="text/directory"/>
- <mime name="text/vcard"/>
- </application-service>
-
- </ui-application>
-</manifest>
diff --git a/contacts/CMakeLists.txt b/contacts/CMakeLists.txt
deleted file mode 100644
index 0e9464e..0000000
--- a/contacts/CMakeLists.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-SET(CONTACTS "contacts")
-SET(CONTACTS_PKGNAME "org.${VENDOR}.${CONTACTS}")
-
-SET(CONTACTS_SRCS contacts.cpp)
-
-ADD_DEFINITIONS("-DC_PACKAGE=\"${CONTACTS}\"")
-
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fPIC")
-
-FOREACH(flag ${contacts_pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-ADD_EXECUTABLE(${CONTACTS} ${CONTACTS_SRCS})
-SET_TARGET_PROPERTIES(${CONTACTS} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS} -fpie")
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib/ct-front/include)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib/common/include)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib/common/Utils/include)
-TARGET_LINK_LIBRARIES(${CONTACTS} ${contacts_pkgs_LDFLAGS} common ug-contacts-tabui-efl "-pie")
-
-INSTALL(FILES ${CMAKE_BINARY_DIR}/${CONTACTS}/${CONTACTS_PKGNAME}.xml DESTINATION "/usr/share/packages")
-INSTALL(FILES icon_${CONTACTS}.png DESTINATION "/usr/share/icons/default/small" RENAME "${CONTACTS_PKGNAME}.png")
-INSTALL(TARGETS ${CONTACTS} DESTINATION /usr/apps/${CONTACTS_PKGNAME}/bin)
-INSTALL(DIRECTORY DESTINATION /usr/apps/${CONTACTS_PKGNAME}/data)
diff --git a/contacts/contacts.cpp b/contacts/contacts.cpp
deleted file mode 100755
index 46ecbea..0000000
--- a/contacts/contacts.cpp
+++ /dev/null
@@ -1,364 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <app.h>
-#include <Ecore_X.h>
-#include <aul.h>
-#include <vconf.h>
-#include <vconf-keys.h>
-#include "phone.h"
-#include "phone-common.h"
-#include "ct-front.h"
-
-
-#include <iostream>
-
-#if !defined(C_PACKAGE)
-# define C_PACKAGE "contacts"
-#endif
-
-struct contact_data
-{
- Evas_Object *win;
- ct_front_data *cfront_d;
- /* add more variables here */
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
- Evas_Object *icon;
- Evas_Object *prev_btn;
-#endif
- int current_rotate;
-
- bool shouldStopOnStart;
- public:
- contact_data()
- :
- win(NULL),
- cfront_d(NULL),
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
- icon(NULL),
- prev_btn(NULL),
-#endif
- current_rotate(0),
- shouldStopOnStart(false)
- {
- }
-};
-
-extern "C" int appcore_set_open_cb(int (*cb) (void *), void *data);
-
-static void ctapp_win_del(void *data, Evas_Object *obj, void *event)
-{
- PH_TRACE;
- elm_exit();
-}
-
-static Evas_Object* ctapp_create_win(const char *name)
-{
- PH_TRACE;
- Evas_Object *eo;
- int w, h;
- eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
- if (eo)
- {
- elm_win_title_set(eo, name);
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
-#else
- elm_win_borderless_set(eo, EINA_TRUE);
-#endif
- evas_object_smart_callback_add(eo, "delete,request", ctapp_win_del,
- NULL);
- ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
- evas_object_resize(eo, w, h);
- elm_win_indicator_mode_set(eo, ELM_WIN_INDICATOR_SHOW);
- }
- elm_win_conformant_set(eo, EINA_TRUE);
- return eo;
-}
-
-static void ctapp_region_changed(void *data)
-{
- PH_TRACE;
- struct contact_data *ad = (contact_data *) data;
- ct_front_data *cfront_d = ad->cfront_d;
- ctui_front_view_region_changed(cfront_d);
- ug_send_event (UG_EVENT_REGION_CHANGE);
- return;
-}
-
-static void ctapp_language_changed(void *data)
-{
- PH_TRACE;
- struct contact_data *ad = (contact_data *) data;
- ct_front_data *cfront_d = ad->cfront_d;
- ctui_front_view_language_changed(cfront_d);
- ug_send_event (UG_EVENT_LANG_CHANGE);
- return;
-}
-
-static int ctapp_open(void *data)
-{
- PH_TRACE;
- struct contact_data *ad = (contact_data *) data;
- ct_front_data *cfront_d = ad->cfront_d;
- if (EINA_FALSE == evas_object_visible_get(cfront_d->win))
- {
- evas_object_show(cfront_d->win);
- if (CT_VIEW_NONE == cfront_d->select_tab)
- ctui_front_view_reset(cfront_d, CT_VIEW_CONTACT, -1, NULL);
- }
- return 0;
-}
-
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
-static Evas_Object* __set_win_icon(struct contact_data *ad)
-{
- PH_TRACE;
- Evas_Object *image = evas_object_image_add(evas_object_evas_get(ad->win));
- evas_object_image_file_set(image, "/usr/share/icons/default/small/org.tizen.contacts.png", NULL);
- elm_win_icon_object_set(ad->win, image);
-
- return image;
-}
-
-static void __win_profile_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- if(data == NULL)
- return;
-
- struct contact_data *ad = (contact_data *) data;
-
- const char *profile = elm_config_profile_get();
- if(!strcmp(profile, "desktop"))
- {
- Elm_Object_Item *navi_item = elm_naviframe_bottom_item_get(ad->cfront_d->navi);
- ad->prev_btn = elm_object_item_part_content_unset(navi_item, "prev_btn");
- elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_HIDE);
- if(!ad->icon)
- ad->icon = __set_win_icon(ad);
- }
- else
- {
- Elm_Object_Item *navi_item = elm_naviframe_bottom_item_get(ad->cfront_d->navi);
- if (ad->prev_btn)
- {
- elm_object_item_part_content_set(navi_item, "prev_btn", ad->prev_btn);
- ad->prev_btn = NULL;
- }
- elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_SHOW);
- }
-}
-#endif //_PHONE_CONTACTS_DESKTOP_MODE_
-static void __ctapp_rotate_cb(void *data, Evas_Object *obj, void *event)
-{
- PH_TRACE;
- struct contact_data *ad = (contact_data *) data;
- int changed_rotate = elm_win_rotation_get(obj);
- if (changed_rotate != ad->current_rotate)
- {
- ERR("rotate changed %d", changed_rotate);
- ad->current_rotate = changed_rotate;
-
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
- const char *config = elm_config_profile_get();
- if (!strcmp(config, "desktop"))
- return;
-#endif
-
- ctui_front_view_rotate(ad->cfront_d, ad->current_rotate);
- }
-}
-
-static bool ctapp_create(void *data)
-{
- PH_TRACE;
- struct contact_data *ad = (contact_data *) data;
- Evas_Object *win;
- int err = CONTACTS_ERROR_NONE;
-
- /* create window */
- win = ctapp_create_win(C_PACKAGE);
- p_retvm_if(NULL == win, false, "phapp_create_win() Failed");
- ad->win = win;
-
- bindtextdomain(PACKAGE, LOCALEDIR);
- err = contacts_connect2();
- if (CONTACTS_ERROR_NONE != err)
- {
- Evas_Object *popup;
- ERR("contacts_connect2() Failed(%d)", err);
- evas_object_show(win);
- popup = elm_popup_add(win);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_show(popup);
- elm_object_text_set(popup, T_(PH_GET_TEXT_BASIC, PHTEXT_INITIALIZING));
- elm_popup_timeout_set(popup, 1.5);
- evas_object_smart_callback_add(popup, "timeout", ctapp_win_del, NULL);
- return true;
- }
-
- if(!has_emergency_contacts())
- {
- create_emergency_contacts_group();
- }
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
- evas_object_smart_callback_add(ad->win, "profile,changed", __win_profile_changed_cb, ad);
-#endif
-
- UG_INIT_EFL(ad->win, UG_OPT_INDICATOR_ENABLE);
- ad->cfront_d = ctui_front_view_create(ad->win);
-
- if (elm_win_wm_rotation_supported_get(win))
- {
- int rotation[4] = { 0, 90, 180, 270 };
- elm_win_wm_rotation_available_rotations_set(win,
- (const int *) (&rotation), 4);
- ad->current_rotate = elm_win_rotation_get(win);
- ERR("rotate current %d", ad->current_rotate);
- evas_object_smart_callback_add(win, "wm,rotation,changed",
- __ctapp_rotate_cb, ad);
- }
-
- appcore_set_open_cb(ctapp_open, data);
- return true;
-}
-
-static void ctapp_terminate(void *data)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- struct contact_data *ad = (contact_data *) data;
-
- if (NULL != ad->win)
- evas_object_del(ad->win);
- //ug_destroy_all();
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_disconnect2() Failed(%d)",
- err);
- return;
-}
-
-static void ctapp_pause(void *data)
-{
- PH_TRACE;
- struct contact_data *ad = (contact_data *) data;
- ctui_front_view_pause(ad->cfront_d);
- ug_pause();
- return;
-}
-
-static void ctapp_resume(void *data)
-{
- PH_TRACE;
- struct contact_data *ad = (contact_data *) data;
- ct_front_data *cfront_d = ad->cfront_d;
- if (CT_VIEW_NONE == cfront_d->select_tab)
- ctui_front_view_reset(cfront_d, CT_VIEW_CONTACT, -1, NULL);
- else
- ctui_front_view_resume(ad->cfront_d);
- ug_resume();
- return;
-}
-
-static void ctapp_service(service_h service, void *data)
-{
- PH_TRACE;
- struct contact_data *ad = (contact_data *) data;
- ct_front_data *cfront_d;
- int ret;
- char* val = NULL;
-
- p_retm_if(NULL == ad || NULL == ad->cfront_d, "data is null");
- cfront_d = ad->cfront_d;
-
- ret = service_get_extra_data(service, "launch_type", &val);
- p_warn_if(SERVICE_ERROR_NONE != ret, "service_get_extra_data is failed(%d)",
- ret);
-
- if (val && *val)
- {
- if (0 == strcmp(val, "favorite"))
- ctui_front_view_reset(cfront_d, CT_VIEW_FAVORITE, -1, NULL);
- else if (0 == strcmp(val, "groups"))
- ctui_front_view_reset(cfront_d, CT_VIEW_GROUP, -1, NULL);
- else if (0 == strcmp(val, "group_message"))
- ctui_front_view_reset(cfront_d, CT_VIEW_GROUP,
- CT_FRONT_GROUP_MESSAGE, service);
- else if (0 == strcmp(val, "group_email"))
- ctui_front_view_reset(cfront_d, CT_VIEW_GROUP, CT_FRONT_GROUP_EMAIL,
- service);
- else if (0 == strcmp(val, "group_detail"))
- ctui_front_view_reset(cfront_d, CT_VIEW_GROUP,
- CT_FRONT_GROUP_DETAIL, service);
- else if (0 == strcmp(val, "new"))
- ctui_front_view_reset(cfront_d, CT_VIEW_CONTACT,
- CT_FRONT_CONTACT_NEW, NULL);
- else if (0 == strcmp(val, "addrbook"))
- ctui_front_view_reset(cfront_d, CT_VIEW_CONTACT,
- CT_FRONT_CONTACT_ADDR, service);
- else if (0 == strcmp(val, "booting"))
- elm_win_lower(cfront_d->win);
- free(val);
- return;
- }
-
- ret = service_get_extra_data(service, "search_name", &val);
- p_warn_if(SERVICE_ERROR_NONE != ret, "service_get_extra_data is failed(%d)",
- ret);
-
- if (val && *val)
- {
- ctui_front_view_reset(cfront_d, CT_VIEW_CONTACT,
- CT_FRONT_CONTACT_SEARCH, service);
- free(val);
- return;
- }
-
- ctui_front_view_reset(cfront_d, CT_VIEW_CONTACT, -1, NULL);
- return;
-}
-
-API int main(int argc, char *argv[])
-{
- PH_TRACE;
- contact_data ad;
- app_event_callback_s event_callback = { 0, };
-
- if (argc > 1)
- {
- if (strcmp(argv[1], "-debug") == 0)
- {
- ad.shouldStopOnStart = true;
- std::cout << std::string("running in debug mode..") << std::endl;
- std::cout << std::string("Press 'Enter' after attaching with debugger.") << std::endl;
- getchar();
- }
- }
-
- event_callback.create = ctapp_create;
- event_callback.terminate = ctapp_terminate;
- event_callback.pause = ctapp_pause;
- event_callback.resume = ctapp_resume;
- event_callback.service = ctapp_service;
- event_callback.low_memory = NULL;
- event_callback.low_battery = NULL;
- event_callback.language_changed = ctapp_language_changed;
- event_callback.region_format_changed = ctapp_region_changed;
-
- return app_efl_main(&argc, &argv, &event_callback, &ad);
-}
-
diff --git a/contacts/icon_contacts.png b/contacts/icon_contacts.png
deleted file mode 100644
index 725edd1..0000000
--- a/contacts/icon_contacts.png
+++ /dev/null
Binary files differ
diff --git a/contacts/org.tizen.contacts.xml b/contacts/org.tizen.contacts.xml
deleted file mode 100755
index b9cde90..0000000
--- a/contacts/org.tizen.contacts.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.contacts" version="0.1.2" install-location="internal-only">
- <label>Contacts</label>
- <author email="ensung.park@samsung.com" href="www.samsung.com">ensung park</author>
- <description>Contacts Application</description>
- <ui-application appid="org.tizen.contacts" exec="/usr/apps/org.tizen.contacts/bin/contacts" nodisplay="false" multiple="false" type="capp" taskmanage="true">
- <icon>org.tizen.contacts.png</icon>
- <label>Contacts</label>
- <label xml:lang="hy-am">Կոնտակտներ</label>
- <label xml:lang="az-az">Adlar</label>
- <label xml:lang="eu-es">Kontaktuak</label>
- <label xml:lang="bg-bg">Телефонен указател</label>
- <label xml:lang="ca-es">Contactes</label>
- <label xml:lang="zh-cn">联系人</label>
- <label xml:lang="zh-hk">聯絡人</label>
- <label xml:lang="zh-tw">聯絡人</label>
- <label xml:lang="hr-hr">Imenik</label>
- <label xml:lang="cs-cz">Kontakty</label>
- <label xml:lang="da-dk">Kontakter</label>
- <label xml:lang="nl-nl">Contacten</label>
- <label xml:lang="en-gb">Contacts</label>
- <label xml:lang="en-us">Contacts</label>
- <label xml:lang="et-ee">Kontaktid</label>
- <label xml:lang="fi-fi">Yhteystiedot</label>
- <label xml:lang="fr-fr">Contacts</label>
- <label xml:lang="gl-es">Contactos</label>
- <label xml:lang="ka-ge">კონტაქტები</label>
- <label xml:lang="de-de">Kontakte</label>
- <label xml:lang="el-gr">Επαφές</label>
- <label xml:lang="hu-hu">Névjegyek</label>
- <label xml:lang="is-is">Tengiliðir</label>
- <label xml:lang="ga-ie">Teagmhálaithe</label>
- <label xml:lang="it-it">Rubrica</label>
- <label xml:lang="ja-jp">電話帳</label>
- <label xml:lang="kk-kz">Контактілер</label>
- <label xml:lang="ko-kr">전화번호부</label>
- <label xml:lang="lv-lv">Kontakti</label>
- <label xml:lang="lt-lt">Adresatai</label>
- <label xml:lang="mk-mk">Именик</label>
- <label xml:lang="nb-no">Kontakter</label>
- <label xml:lang="pl-pl">Kontakty</label>
- <label xml:lang="pt-pt">Contactos</label>
- <label xml:lang="pt-br">Contatos</label>
- <label xml:lang="ro-ro">Contacte</label>
- <label xml:lang="ru-ru">Контакты</label>
- <label xml:lang="sr-rs">Kontakti</label>
- <label xml:lang="sk-sk">Kontakty</label>
- <label xml:lang="sl-si">Imenik</label>
- <label xml:lang="es-es">Contactos</label>
- <label xml:lang="es-us">Contactos</label>
- <label xml:lang="sv-se">Kontakter</label>
- <label xml:lang="tr-tr">Rehber</label>
- <label xml:lang="uk-ua">Контакти</label>
- <label xml:lang="uz-uz">Kontaktlar</label>
- <label xml:lang="ar-ae">الأسماء</label>
- <label xml:lang="zh-sg">"联系人</label>
- <label xml:lang="hi-in">संपर्क</label>
- <label xml:lang="en-ph">Contacts</label>
- <label xml:lang="fr-ca">Contacts</label>
- </ui-application>
-
-</manifest>
diff --git a/deploy b/deploy
deleted file mode 100755
index 1cc38e1..0000000
--- a/deploy
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/bin/bash
-
-usage()
-{
- echo "Usage: `basename $0` [-h|--help] [-e|--emulator] [-d|--device]
- -h, --help Show this message.
- -e, --emulator Install on emulator (default).
- -d, --device Install on device."
-}
-
-DEVS=($(sdb devices | tail -n+2))
-
-if [ -z $DEVS ]
-then
- echo "Please connect device or launch emulator."
- exit 1
-fi
-
-if [ -z $1 ]
-then
- DEV=e
- ARCH=i586
-else
- case $1 in
- -e|--emulator)
- DEV=e
- ARCH=i586
- ;;
- -d|--device)
- DEV=d
- ARCH=armv7l
- ;;
- -h|--help)
- ;&
- *)
- usage
- exit 1
- ;;
- esac
-fi
-
-push()
-{
- GBS=~/GBS-ROOT
- ROOT=$GBS/local/BUILD-ROOTS/scratch.$ARCH.0
-
- if [ ! -e $ROOT/*.conf ]
- then
- echo "Build root is not ready at $ROOT."
- exit 1
- fi
-
- REPO=$(basename $ROOT/*.conf)
- REPO=${REPO%.*}
- RPMS=$GBS/local/repos/$REPO/$ARCH/RPMS
-
- if [ ! -e "$RPMS/$1" ]
- then
- echo "Can't find $1 in $RPMS. Run build first."
- exit 1
- fi
-
- echo "Pushing $1 into $2..."
- sdb -$DEV push "$RPMS/$1" "$2" 2> /dev/null
-}
-
-install()
-{
- echo "Installing $2..."
- if [[ "$2" == lib* ]]
- then
- sdb -$DEV root on > /dev/null
- sdb -$DEV shell rpm -i --force "$1/$2" > /dev/null
- sdb -$DEV root off > /dev/null
- else
- sdb -$DEV shell pkgcmd -iqt rpm -p "$1/$2" > /dev/null
- fi
-}
-
-deploy()
-{
- push "$1" "$2"
- install "$2" "$1"
- sdb -$DEV shell rm "$2/$1" > /dev/null
-}
-
-DEST=/home/developer
-VER=$(grep Version: packaging/*.spec | awk '{print $2}')
-REL=$(grep Release: packaging/*.spec | awk '{print $2}')
-SUFFIX="$VER-$REL.$ARCH.rpm"
-PKGS=($(grep %package packaging/*.spec | awk '{print $3}'))
-
-if [ -z $PKGS ]
-then
- PKG=$(grep Name: packaging/*.spec | awk '{print $2}')
- deploy "$PKG-$SUFFIX" "$DEST"
-else
- echo "Current package contains several sub-packages:"
- for i in ${!PKGS[@]}
- do
- echo "$((i + 1)). ${PKGS[$i]}"
- done
-
- echo "Specify packages and order of installation (for example: 5 1):"
- read NUMS
-
- for i in $NUMS
- do
- deploy "${PKGS[$((i - 1))]}-$SUFFIX" "$DEST"
- done
-fi
-echo "Done."
-
diff --git a/gbs/.gbs.conf b/gbs/.gbs.conf
deleted file mode 100644
index 8bfa7ba..0000000
--- a/gbs/.gbs.conf
+++ /dev/null
@@ -1,37 +0,0 @@
-[general]
-#Current profile name which should match a profile section name
-profile = profile.tizendev
-
-[profile.tizendev]
-#Common authentication info for whole profile
-#user =
-#CAUTION: please use the key name "passwd" to reset plaintext password
-#passwd =
-obs = obs.tizendev
-#Comma separated list of repositories
-repos = repo.tizendev_latest
-#repos = repo.tizendev_local,repo.tizendev_latest
-#repos = repo.tizendev_snapshot
-
-[obs.tizendev]
-#OBS API URL pointing to a remote OBS.
-url = https://api.tizendev.org
-#Optional user and password, set if differ from profile's user and password
-#user =
-#passwd =
-
-[repo.tizendev_latest]
-#Build against repo's URL
-url = https://download.tizendev.org/snapshots/tizen-2.2/common/latest
-#url = https://download.tizendev.org/snapshots/tizen-2.2/common/latest
-#Optional user and password, set if differ from profile's user and password
-user = %name%
-passwdx = %passwd%
-
-[repo.tizendev_snapshot]
-url = https://download.tizendev.org/snapshots/trunk/common/tizen_20120801.1
-
-[repo.tizendev_local]
-#repo for your local packages
-#url = /path_to_your_local_repo
-#url = http://local_server/path_to_repo
diff --git a/include/contacts-ug.h b/include/contacts-ug.h
deleted file mode 100755
index ac56147..0000000
--- a/include/contacts-ug.h
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
-#ifndef __CONTACTS_UG_H__
-#define __CONTACTS_UG_H__
-
-/**
- * @defgroup CONTACTS_UG Contacts UI-gadget
- * @ingroup SLP_UG
- * @addtogroup CONTACTS_UG
- * @{
- *
- * Contacts UI-gadget
- * \n This header file contains the declaration & description for Contacts UG.
- *
- * @section Header To use Them:
- * @code
- * #include <contacts-ug.h>
- * @endcode
- *
- * @section example Example:
- * @code
- #include <stdio.h>
- #include <ui-gadget.h>
- #include <contacts-ug.h>
-
- void contacts_detail_ug(int contact_id)
- {
- bundle *bd;
- char buf[16];
-
- bd = bundle_create();
- if(NULL == bd) {
- ERR("bundle_create() Failed");
- return;
- }
-
- snprintf(buf, sizeof(buf), "%d", CT_UG_REQUEST_DETAIL);
- bundle_add(bd, CT_UG_BUNDLE_TYPE, buf);
- snprintf(buf, sizeof(buf), "%d", contact_id);
- bundle_add(bd, CT_UG_BUNDLE_ID, buf);
-
- cbs.layout_cb = ug_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = ug_destroy_cb;
-
- ug = ug_create(NULL, UG_CONTACTS_DETAILS, UG_MODE_FULLVIEW, bd, &cbs);
- if(NULL == ug)
- ERR("ug_create() Failed");
-
- bundle_free(bd);
- }
- * @endcode
- *
- */
-
-/**
- * The name of details/new/edit UG
- * @see #CT_UG_DETAILS_TYPES
- */
-#define UG_CONTACTS_DETAILS "contacts-details-efl"
-
-/**
- * The name of list UG
- * @see #CT_UG_LIST_TYPES
- */
-#define UG_CONTACTS_LIST "contacts-list-efl"
-
-/**
- * The name of setting UG
- */
-#define UG_CONTACTS_SETTINGS "contacts-settings-efl"
-
-/**
- * types of #UG_CONTACTS_DETAILS
- */
-enum CT_UG_DETAILS_TYPES
-{
- CT_UG_REQUEST_DETAIL = 0,/**< . */
-
- CT_UG_REQUEST_EDIT = 11,/**< . */
-
- CT_UG_REQUEST_ADD = 21,/**< . */
- CT_UG_REQUEST_ADD_WITH_NUM = 22,/**< . */
- CT_UG_REQUEST_ADD_WITH_EMAIL = 23,/**< . */
- CT_UG_REQUEST_ADD_WITH_WEB = 24, /**< . */
-};
-
-/**
- * types of #UG_CONTACTS_LIST
- */
-enum CT_UG_LIST_TYPES
-{
- CT_UG_REQUEST_LIST = 0,/**< . */
- CT_UG_REQUEST_LIST_WITH_BACK = 1,/**< . */
-
- CT_UG_REQUEST_SELECT_PERSON = 11,/**< . */
- CT_UG_REQUEST_SELECT_NUMBER = 12,/**< . */
- CT_UG_REQUEST_SELECT_EMAIL = 13,/**< . */
- CT_UG_REQUEST_SELECT_VCARD = 14,/**< . */
- CT_UG_REQUEST_SELECT_CONTACT_ADD_TO_HOME = 15,/**< . */
- CT_UG_REQUEST_SELECT_GROUP_ADD_TO_HOME = 16,/**< . */
- CT_UG_REQUEST_SELECT_NUMBER_OR_EMAIL = 17,/**< . */
- CT_UG_REQUEST_SELECT_GROUP = 18, /**< . */
-
- CT_UG_REQUEST_UPDATE_CONTACT = 20,/**< . */
- CT_UG_REQUEST_UPDATE_WITH_NUM = 21,/**< . */
- CT_UG_REQUEST_UPDATE_WITH_EMAIL = 22,/**< . */
- CT_UG_REQUEST_UPDATE_WITH_WEB = 23,/**< . */
-
- CT_UG_REQUEST_CHECK = 31,/**< . */
- CT_UG_REQUEST_CHECK_FOR_NUMBER = 32,/**< . */
- CT_UG_REQUEST_CHECK_FOR_EMAIL = 33,/**< . */
- CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL = 34,/**< . */
-
- CT_UG_REQUEST_SAVE_IMG = 41,/**< . */
- CT_UG_REQUEST_SAVE_RINGTONE = 42,/**< . */
-
- CT_UG_REQUEST_SHARE_CONTACT_INFO = 61, /**< . */
-};
-
-#define CT_UG_BUNDLE_ACCOUNTID "account_id"
-#define CT_UG_BUNDLE_PERSON_ID "ct_person_id"
-
-/**
- * The key of request bundle for type.
- * \n Value : convert id to string by using \%d.
- */
-#define CT_UG_BUNDLE_TYPE "type"
-
-/**
- * The key of request bundle for contact index
- * \n Value : convert id to string by using \%d
- * \n Use on #CT_UG_REQUEST_DETAIL, #CT_UG_REQUEST_EDIT
- */
-#define CT_UG_BUNDLE_ID "person_id"
-
-/**
- * The key of request bundle for vcard stream.
- * \n Value : vcard stream.(It is not a filepath.)
- * \n Use only on #CT_UG_REQUEST_ADD.
- */
-#define CT_UG_BUNDLE_VCARD "ct_vcard"
-
-/**
- * The key of request bundle for number
- * \n Use on #CT_UG_REQUEST_ADD_WITH_NUM, #CT_UG_REQUEST_UPDATE_WITH_NUM
- * \n Value : (string)number
- */
-#define CT_UG_BUNDLE_NUM "ct_num"
-
-/**
- * The key of request bundle for email
- * \n Use on #CT_UG_REQUEST_ADD_WITH_EMAIL, #CT_UG_REQUEST_UPDATE_WITH_EMAIL
- * \n (string)email address
- */
-#define CT_UG_BUNDLE_EMAIL "ct_email"
-
-/**
- * The key of request bundle for web
- * \n Use on #CT_UG_REQUEST_ADD_WITH_WEB, #CT_UG_REQUEST_UPDATE_WITH_WEB
- * \n Value : (string)web address
- */
-#define CT_UG_BUNDLE_WEB "ct_web"
-
-/**
- * The key of request bundle for path(ringtone or img)
- * \n Use on #CT_UG_REQUEST_SAVE_IMG, #CT_UG_REQUEST_SAVE_RINGTONE
- * \n Value : (string)absolutely path
- */
-#define CT_UG_BUNDLE_PATH "ct_path"
-
-/**
- * The key of request bundle for maximum number to select.
- * \n Use on #CT_UG_REQUEST_CHECK
- * \n Value : convert maximum number to string by using \%d (0 is ALL)
- */
-#define CT_UG_BUNDLE_MAX "ct_max"
-
-/**
- * The key of result bundle for contact index
- * \n The contact index on #CT_UG_REQUEST_ADD , CT_UG_REQUEST_ADD_XXX
- * \n The contact index on #CT_UG_REQUEST_SELECT_PERSON
- * \n Value : convert id to integer by using atoi()
- * \n Recommends to destroy Contacts UG at ug_cbs.destroy_cb.(not ug_cbs.result_cb)
- * \n In ug_cbs.result_cb, ug_destroy() should not be called.
- */
-#define CT_UG_BUNDLE_RESULT_PERSON_ID "person_id"
-
-/**
- * The key of result bundle for the index of number value
- * \n The number value index on #CT_UG_REQUEST_SELECT_NUMBER
- * \n Value : convert id to integer by using atoi()
- * \n Recommends to destroy Contacts UG at ug_cbs.destroy_cb.(not ug_cbs.result_cb)
- * \n In ug_cbs.result_cb, ug_destroy() should not be called.
- */
-#define CT_UG_BUNDLE_RESULT_NUMBER_ID "num_id"
-
-/**
- * The key of result bundle for the index of email value
- * \n The email value index on #CT_UG_REQUEST_SELECT_EMAIL
- * \n Value : convert id to integer by using atoi()
- * \n Recommends to destroy Contacts UG at ug_cbs.destroy_cb.(not ug_cbs.result_cb)
- * \n In ug_cbs.result_cb, ug_destroy() should not be called.
- */
-#define CT_UG_BUNDLE_RESULT_EMAIL_ID "email_id"
-
-/**
- * The key of result bundle for the index of group value
- * \n The group value index on #CT_UG_REQUEST_SELECT_GROUP
- * \n Value : convert id to integer by using atoi()
- * \n Recommends to destroy Contacts UG at ug_cbs.destroy_cb.(not ug_cbs.result_cb)
- * \n In ug_cbs.result_cb, ug_destroy() should not be called.
- */
-#define CT_UG_BUNDLE_RESULT_GROUP_ID "group_id"
-
-/**
- * The key of result bundle for a list of contact index
- * \n The contact index on #CT_UG_REQUEST_CHECK
- * \n Value : convert string to a integer array by using g_base64_decode()
- * \n Recommends to destroy Contacts UG at ug_cbs.destroy_cb.(not ug_cbs.result_cb)
- * \n In ug_cbs.result_cb, ug_destroy() should not be called.
- * @par example
- * @code
- void contacts_result_cb(struct ui_gadget *ug, bundle *result, void *data)
- {
- if(NULL == ug || NULL == data)
- return;
-
- if(result) {
- const char *val;
- int *list, len, i;
-
- val = bundle_get_val(result, CT_UG_BUNDLE_RESULT_PERSON_ID_LIST);
- list = (int *)g_base64_decode(val, &len);
-
- for(i=0;i<len/sizeof(int);i++)
- printf("selected contact = %d", list[i]);
-
- g_free(list);
- }
- }
- *
- * @endcode
- */
-#define CT_UG_BUNDLE_RESULT_PERSON_ID_LIST "person_id_list"
-#define CT_UG_BUNDLE_RESULT_NUMBER_ID_LIST "num_id_list"
-#define CT_UG_BUNDLE_RESULT_EMAIL_ID_LIST "email_id_list"
-#define CT_UG_BUNDLE_RESULT_PERSON_INFO "person_info"
-/**
- * @}
- */
-
-#endif //__CONTACTS_UG_H__
diff --git a/include/phone-ug.h b/include/phone-ug.h
deleted file mode 100755
index cc0f4a5..0000000
--- a/include/phone-ug.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#ifndef __PHONE_UG_H__
-#define __PHONE_UG_H__
-
-/**
- * @defgroup PHONE_UG PHONE UI-gadget
- * @ingroup SLP_UG
- * @addtogroup PHONE_UG
- * @{
- *
- * Phone UI-gadget (Just a helper-module that contains centralized names of user-gadgets and their properties)
- * \n This header file contains the declaration & description for Phone UG.
- *
- * @section Header To use Them:
- * @code
- * #include <phone-ug.h>
- * @endcode
- *
- * @section example Example:
- * @code
- #include <stdio.h>
- #include <ui-gadget.h>
- #include <phone-ug.h>
- * @endcode
- *
- void phonelog_ug ()
- {
- bundle *bd;
- char buf[16];
-
- bd = bundle_create();
- if(NULL == bd) {
- ERR("bundle_create() Failed");
- return;
- }
-
- snprintf(buf, sizeof(buf), "%d", PH_UG_REQUEST_LOG_CHECK);
- bundle_add(bd, PH_UG_BUNDLE_TYPE, buf);
-
- cbs.layout_cb = ug_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = ug_destroy_cb;
-
- ug = ug_create(NULL, UG_PHONE_LOG, UG_MODE_FULLVIEW, bd, &cbs);
- if(NULL == ug)
- ERR("ug_create() Failed");
-
- bundle_free(bd);
- }
- * @endcode
- */
-
-/**
- * The name of phonelog UG
- */
-#define UG_DIALER_LOG "dialer-efl"
-
-/**
- * The name of dialer UG
- * @see #PH_UG_LOG_TYPES
- */
-#define UG_PHONE_LOG "phonelog-efl"
-
-/**
- * The name of phoneui UG
- */
-#define UG_PHONEUI_LOG "phoneui-efl"
-
-/**
- * types of #UG_PHONEUI
- */
-enum PHUI_UG_LIST_TYPES
-{
- PH_UG_REQUEST_SELECT = 11,/**< . */
- PH_UG_REQUEST_SELECT_NUMBER = 12,/**< . */
- PH_UG_REQUEST_SELECT_EMAIL = 13,/**< . */
- PH_UG_REQUEST_SELECT_NUMBER_OR_EMAIL = 17,/**< . */
-
- PH_UG_REQUEST_SET_WITH_NUM = 21,/**< . */
- PH_UG_REQUEST_SET_WITH_EMAIL = 22,/**< . */
- PH_UG_REQUEST_SET_WITH_WEB = 23,/**< . */
- PH_UG_REQUEST_SET_WITH_IMG = 24,/**< . */
- PH_UG_REQUEST_SET_WITH_RINGTONE = 25,/**< . */
-
- PH_UG_REQUEST_CHECK = 31,/**< . */
- PH_UG_REQUEST_CHECK_FOR_NUMBER = 32,/**< . */
- PH_UG_REQUEST_CHECK_FOR_EMAIL = 33,/**< . */
- PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL = 34,/**< . */
-
- PH_UG_REQUEST_LAUNCH_VOICECALL = 51, /**< . */
-};
-
-/**
- * The name of speeddial UG
- */
-#define UG_SPEEDDIAL_LOG "speeddial-efl"
-
-/**
- * types of #PH_UG_LOG_TYPES
- */
-enum PH_UG_LOG_TYPES
-{
- PH_UG_REQUEST_LOG_CHECK = 11,
- PH_UG_REQUEST_LOG_SELECT = 12,
-};
-
-/**
- * The key of request bundle for type.
- * \n Value : convert id to string by using \%d.
- */
-#define PH_UG_BUNDLE_TYPE "type"
-
-/**
- * The key of result bundle for phonelog index
- * \n The contact index on #PH_UG_REQUEST_LOG_SELECT
- * \n Value : convert id to integer by using atoi()
- * \n Recommends to destroy Phone UG at ug_cbs.destroy_cb.(not ug_cbs.result_cb)
- * \n In ug_cbs.result_cb, ug_destroy() should not be called.
- */
-#define PH_UG_BUNDLE_RESULT_PLOG_ID "plog_id"
-
-/**
- * The key of result bundle for a list of phonelog index
- * \n The phonelog index on #PH_UG_REQUEST_LOG_CHECK
- * \n Value : convert string to a integer array by using g_base64_decode()
- * \n Recommends to destroy Phone UG at ug_cbs.destroy_cb.(not ug_cbs.result_cb)
- * \n In ug_cbs.result_cb, ug_destroy() should not be called.
- * @par example
- * @code
- void phonelog_result_cb(struct ui_gadget *ug, bundle *result, void *data)
- {
- if(NULL == ug || NULL == data)
- return;
-
- if(result) {
- const char *val;
- int *list, len, i;
-
- val = bundle_get_val(result, PH_UG_BUNDLE_RESULT_PLOG_ID_LIST);
- list = (int *)g_base64_decode(val, &len);
-
- for(i=0;i<len/sizeof(int);i++)
- printf("selected contact = %d", list[i]);
-
- g_free(list);
- }
- }
- *
- * @endcode
- */
-#define PH_UG_BUNDLE_RESULT_PLOG_ID_LIST "get_select_list" // TODO : change to "plog_id_list"
-
-/**
- * @}
- */
-
-#endif //__PHONE_UG_H__
diff --git a/insert.sh b/insert.sh
new file mode 100644
index 0000000..c8aedd3
--- /dev/null
+++ b/insert.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+echo "START"
+sqlite3 /opt/usr/dbspace/.contacts-svc.db "select count(*) from phonelogs;"
+for i in {1..19}
+do
+#echo $i
+let number=1401329054+i
+#echo $number
+sqlite3 /opt/usr/dbspace/.contacts-svc.db "insert into phonelogs (number, normal_num, log_type, log_time) values ($number, $number, $number%7, $number);"
+done
+echo "END"
+sqlite3 /opt/usr/dbspace/.contacts-svc.db "select count(*) from phonelogs;"
diff --git a/install.sh b/install.sh
new file mode 100755
index 0000000..74945ed
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+YELLOWGREEN="\e[103;32m"
+YELLOWRED="\e[103;31m"
+GREEN="\e[0;32m"
+RED="\e[0;31m"
+ENDCOL="\e[m"
+
+#profile="open"
+#profile="tizenw"
+MODEL="Z130H_SWA_DD"
+
+if [[ "$1" != 'debug' ]];then
+debug="debug"
+else
+debug="aaaaaaa"
+fi
+
+GBSROOT=$(grep "gbsroot = " ~/.gbs.conf | awk '{ print $3 }')
+if [[ $GBSROOT == "" ]];then
+GBSROOT="$HOME/GBS-ROOT"
+fi
+GBSROOT=$GBSROOT/$MODEL/local/repos/$MODEL
+
+RPMPATH="armv7l/RPMS"
+#APPID=$(ls packaging/*.spec | awk -F/ '{print $2}' | awk -F.spec '{print $1}')
+APPID=org.tizen.contacts
+
+echo -e $RED"push rpm packages to device..."$ENDCOL
+sdb root on
+sdb shell su -c "change-booting-mode.sh --update"
+sdb shell su -c "rm /tmp/*contacts*.rpm"
+sdb shell su -c "rm -rf /usr/system/RestoreDir/*.zip"
+#sdb push $GBSROOT/$RPMPATH tmp
+echo -e $GREEN" # RPM location : $GBSROOT/$RPMPATH"$ENDCOL
+
+if [[ "$1" != 'debug' ]];then
+ls $GBSROOT/$RPMPATH/*contacts*.rpm | grep "debug" -v | xargs -i sdb push {} /tmp
+else
+ls $GBSROOT/$RPMPATH/*contacts*.rpm | grep "debug" | xargs -i sdb push {} /tmp
+fi
+
+echo -e $RED" # rpm -Uh"$ENDCOL
+sdb shell su -c "rpm -Uh /tmp/*.rpm --force --nodeps"
+
+#ls $GBSROOT/$RPMPATH/*contacts*.rpm | grep "$debug" -v | xargs -i sdb push {} /tmp
+#sdb shell su -c "ls /tmp/*contacts*.rpm | grep "$debug" -v| xargs -i rpm -ih --nodeps --force {}"
+#echo -e $RED" # smack_reload.sh"$ENDCOL
+#sdb shell su -c "smack_reload.sh"
+echo -e $RED" # pkginfo --rmd /usr/share/packages/$APPID.xml"$ENDCOL
+sdb shell su -c "pkginfo --rmd /usr/share/packages/$APPID.xml"
+echo -e $RED" # pkginfo --imd /usr/share/packages/$APPID.xml"$ENDCOL
+sdb shell su -c "pkginfo --imd /usr/share/packages/$APPID.xml"
+echo -e $RED" # pkill"$ENDCOL
+sdb shell su -c "pkill contacts"
diff --git a/lib-common/.cproject b/lib-common/.cproject
new file mode 100644
index 0000000..21f9fa7
--- /dev/null
+++ b/lib-common/.cproject
@@ -0,0 +1,516 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.122043266">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.122043266" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="common" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.122043266" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.122043266." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1516479084" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1796913908" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/common}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.1696985579" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.697750779" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1254502596" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.167445477" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.860219996" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.137308294" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.353137066" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1190457541" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1664348049" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.2069221474" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1161858921" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1810388671" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.2099646292" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <option id="gnu.cpp.compiler.option.dialect.std.1316519378" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.1889197667"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.177588708" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1201208302" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1183923210" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1962402276" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.283007190" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.688365175" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.558332990" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.377333919" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.248604633" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1818193830" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.486517024" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1183038948"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.988303831" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.293463888" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.2121022579" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.198193039" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.407692738" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.595295566" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="../../app-assist-efl/Debug"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.608037682" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="app-assist-efl"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1144612026" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1861719879" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.2052125227" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.340277043" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.414844077" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1662542180" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1192856642" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1831636675" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1035437226" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.899556164">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.899556164" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="common" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.899556164" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.899556164." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.411254387" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.305409678" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/common}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1732838308" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.551556912" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1147111771" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.898800423" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1758462515" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1103300893" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1659609375" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.383808515" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1358958089" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.958661577" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="../../app-assist-efl/inc"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.153420960" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.2145039620"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1888332782" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1105111502" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1804173774" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.74428271" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.2009922925" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.1606708827" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1784694969" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1990512862" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.391519531" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1126548016" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.401544817"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.264361763" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.335343187" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.765534515" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.2139017891" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.468858800" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.2049842633" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="../../app-assist-efl/Release"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.729053331" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="app-assist-efl"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2123651474" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.743478778" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.683260057" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.121114743" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.483085046" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.29815608" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1779105981" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1074894488" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.210335021" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="common.org.tizen.nativecore.target.sbi.gcc45.so.801320712" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.899556164">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.122043266">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/common"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/common"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/lib-common/.project b/lib-common/.project
new file mode 100644
index 0000000..0c70dd7
--- /dev/null
+++ b/lib-common/.project
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>common</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1413282417144</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/lib-common/.tproject b/lib-common/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/lib-common/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/lib-common/CMakeLists.txt b/lib-common/CMakeLists.txt
new file mode 100755
index 0000000..3405277
--- /dev/null
+++ b/lib-common/CMakeLists.txt
@@ -0,0 +1,18 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(contacts-common CXX)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/edje
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_LIB_DIR})
+
+ADD_SUBDIRECTORY(res/edje)
diff --git a/lib-common/inc/ContactsAppControl.h b/lib-common/inc/ContactsAppControl.h
new file mode 100644
index 0000000..2cba5a2
--- /dev/null
+++ b/lib-common/inc/ContactsAppControl.h
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CONTACTS_APP_CONTROL_H_
+#define _CONTACTS_APP_CONTROL_H_
+
+#include <app_control.h>
+
+#define APP_CONTROL_OPERATION_ADD "http://tizen.org/appcontrol/operation/add"
+#define APP_CONTROL_OPERATION_UPDATE "http://tizen.org/appcontrol/operation/update"
+#define APP_CONTROL_MIME_CONTACT "application/vnd.tizen.contact"
+
+#define APP_CONTROL_DATA_TYPE "http://tizen.org/appcontrol/data/type"
+#define APP_CONTROL_DATA_ID "http://tizen.org/appcontrol/data/id"
+#define APP_CONTROL_DATA_NAME "http://tizen.org/appcontrol/data/name"
+#define APP_CONTROL_DATA_PHONE "http://tizen.org/appcontrol/data/phone"
+#define APP_CONTROL_DATA_EMAIL "http://tizen.org/appcontrol/data/email"
+#define APP_CONTROL_DATA_URL "http://tizen.org/appcontrol/data/url"
+#define APP_CONTROL_DATA_LIMIT "http://tizen.org/appcontrol/data/total_count"
+
+#define APP_CONTROL_DATA_SELECTION_MODE_SINGLE "single"
+#define APP_CONTROL_DATA_SELECTION_MODE_MULTIPLE "multiple"
+
+#define APP_CONTROL_DATA_TYPE_ID "id"
+#define APP_CONTROL_DATA_TYPE_PHONE "phone"
+#define APP_CONTROL_DATA_TYPE_EMAIL "email"
+#define APP_CONTROL_DATA_TYPE_PHONE_OR_EMAIL "phone_or_email"
+#define APP_CONTROL_DATA_TYPE_VCARD "vcf"
+
+#define APP_CONTROL_DATA_TYPE_PHONE_CALL "phone_call"
+#define APP_CONTROL_DATA_TYPE_PHONE_MESSAGE "phone_message"
+
+/**
+ * @brief Request contact creation operation
+ * @param[in] number Phone number to save to the new contact
+ * @return App Control launch result
+ * @see app_control_send_launch_request()
+ */
+int launchContactCreate(const char *number);
+
+/**
+ * @brief Request contact view operation
+ * @param[in] personId ID of person to view
+ * @return App Control launch result
+ * @see app_control_send_launch_request()
+ */
+int launchContactDetails(int personId);
+
+/**
+ * @brief Request contact edit operation
+ * @param[in] personId ID of person to edit or 0 to launch pick first
+ * @param[in] number Phone number to add to the edited contact
+ * @return App Control launch result
+ * @see app_control_send_launch_request()
+ */
+int launchContactEdit(int personId, const char *number);
+
+/**
+ * @brief Request contact pick operation
+ * @param[in] selectionMode One of APP_CONTROL_DATA_SELECTION_MODE_* values
+ * @param[in] resultType One of APP_CONTROL_DATA_TYPE_* values
+ * @param[in] replyCallback Callback to receive selection result
+ * @param[in] userData Data passed to @a replyCallback
+ * @param[in] groupMode Whether to group launched application with current
+ * @param[out] appControl Created App Control handle if not nullptr
+ * @remark If appControl is not nullptr it should be destroyed by the caller
+ * @return App Control launch result
+ * @see app_control_send_launch_request()
+ */
+int launchContactPick(const char *selectionMode, const char *resultType,
+ app_control_reply_cb replyCallback, void *userData,
+ bool groupMode = true, app_control_h *appControl = nullptr);
+
+/**
+ * @brief Request telephony call
+ * @param[in] number Number to call
+ * @return App Control launch result
+ * @see app_control_send_launch_request()
+ */
+int launchCall(const char *number);
+
+/**
+ * @brief Request compose message
+ * @param[in] scheme URI scheme (e.g. sms:, mmsto: or mailto:)
+ * @param[in] to Message recipient
+ * @param[in] subject Message subject
+ * @param[in] text Message text
+ * @return App Control launch result
+ * @see app_control_send_launch_request()
+ */
+int launchMessageComposer(const char *scheme, const char *to, const char *subject = nullptr, const char *text = nullptr,
+ bool groupMode = true);
+
+/**
+ * @brief Request single share of contact
+ * @param[in] personId person id
+ * @param[in] isMyProfile true if person id is My profile id
+ * @return App Control launch result
+ * @see app_control_send_launch_request()
+ */
+int launchShareContact(const char *personId, bool isMyProfile);
+
+/**
+ * @brief Request multi share of contacts
+ * @param[in] personIdArray array of person id
+ * @param[in] count person id count
+ * @return App Control launch result
+ * @see app_control_send_launch_request()
+ */
+int launchMultiShareContacts(const char **personIdArray, int count);
+
+#endif /* _CONTACTS_APP_CONTROL_H_ */
diff --git a/lib-common/inc/ContactsAppControlLauncher.h b/lib-common/inc/ContactsAppControlLauncher.h
new file mode 100644
index 0000000..1aa386d
--- /dev/null
+++ b/lib-common/inc/ContactsAppControlLauncher.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CONTACTS_APP_CONTROL_LAUNCHER_H_
+#define _CONTACTS_APP_CONTROL_LAUNCHER_H_
+
+
+
+#include <app.h>
+//#include <app_control_product.h>
+#include <Evas.h>
+#include <Eina.h>
+#include <Elementary.h>
+#include <memory>
+#include "WEvasObject.h"
+
+
+class WAPP_ASSIST_EXPORT ContactsAppControlLauncher
+{
+public:
+ static ContactsAppControlLauncher& getInstance();
+ static void destroy();
+
+public:
+ bool sendLaunchRequest( app_control_h request, app_control_reply_cb callback, void *userData, Evas_Object* objToBlock );
+ //bool sendAsyncLaunchRequest( app_control_h request, app_control_async_reply_cb callback, void *userData, Evas_Object* objToBlock );
+ void terminate();
+ void unblockUi();
+ bool isUiBlocked();
+
+private:
+ void __clearAll();
+ static Eina_Bool __timeOutCb(void *userData);
+ static void __evasObjDelCb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+private:
+ ContactsAppControlLauncher();
+ virtual ~ContactsAppControlLauncher();
+
+private:
+ static ContactsAppControlLauncher* __instance;
+ Ecore_Timer* __timer;
+ WEvasObjectPtr __evasObjBlocked;
+ app_control_h __appControl;
+
+};
+
+
+#endif // _CONTACTS_APP_CONTROL_LAUNCHER_H_
diff --git a/lib-common/inc/ContactsCommon.h b/lib-common/inc/ContactsCommon.h
new file mode 100755
index 0000000..55f0bde
--- /dev/null
+++ b/lib-common/inc/ContactsCommon.h
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CONTACTS_COMMON_H_
+#define _CONTACTS_COMMON_H_
+
+#include <app.h>
+////#include <efl_assist.h>
+#include "WDefine.h"
+#include <Elementary.h>
+#include <functional>
+#include <string>
+
+#if !defined(EDJDIR)
+# define EDJDIR "edje/"
+#endif
+
+#if !defined(LOCALE_DIR)
+#define LOCALE_DIR "locale/"
+#endif
+
+#define CONTACTS_APPCONTROL_KEY_OPERATION "appcontrol_key_operation"
+#define CONTACTS_APPCONTROL_KEY_URI "appcontrol_key_uri"
+#define CONTACTS_APPCONTROL_KEY_APPID "appcontrol_key_appid"
+
+#define SYSTEM_INFO_KEY_SCREEN_WIDTH "http://tizen.org/feature/screen.width"
+#define SYSTEM_INFO_KEY_SCREEN_HEIGHT "http://tizen.org/feature/screen.height"
+
+//screen width and height according GUI
+#define SCREEN_WIDTH 720
+#define SCREEN_HEIGHT 1280
+//Icon dimensions according GUI
+#define ICON_LOG_DETAIL_HEIGHT 45
+#define ICON_LOG_DETAIL_WIDTH 45
+
+#define TAG_MATCH_PREFIX "<match>"
+#define TAG_MATCH_SUFFIX "</match>"
+
+typedef struct {
+ app_control_h appControl;
+ char *calleeId;
+ std::function<void(app_control_h)> resultCb;
+} ContactsData;
+
+class WAPP_ASSIST_EXPORT ContactsCommon
+{
+public:
+ ContactsCommon();
+ virtual ~ContactsCommon();
+
+public:
+ static bool comparePureNumber(const std::string& number1, const std::string& number2);
+ //static std::string addNumberDashes(const std::string& number);
+ static bool isValidCharForNumber(char character);
+ static bool isValidCharForDisplayNumber(char character);
+ static std::string removeNumberDashes(const std::string& number);
+
+ static void loadLocalization();
+
+ static std::string getAppControlData(app_control_h appControl, const std::string& key);
+ static const std::string getAppEdjePath(const std::string& fileName);
+ static std::string getResourcePath(const std::string& relativePath);
+ static void getAppEdjePath(const std::string& fileName, std::string& edjePath);
+ static int getScaledWidth(int width);
+ static int getScaledHeight(int height);
+
+ /**
+ * @brief Highlight text from position
+ * @param[in] text Text to highlight
+ * @param[in] position Position from which the text should be highlighted
+ * @param[in] length Length of highlighted part of text
+ * @return highlighted string.
+ */
+ static std::string highlightTextByPos(std::string &text, size_t position, size_t length);
+
+ /**
+ * @brief Highlight matched text
+ * @param[in] text Text to highlight
+ * @param[in] searchText Search string
+ * @return highlighted string.
+ */
+ static std::string getHighlightText(const std::string &text, const std::string &searchText);
+};
+#endif // _CONTACTS_COMMON_H_
+
diff --git a/lib-common/inc/ContactsDebug.h b/lib-common/inc/ContactsDebug.h
new file mode 100755
index 0000000..a5a2dbb
--- /dev/null
+++ b/lib-common/inc/ContactsDebug.h
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CONTACTS_DEBUG_H_
+#define _CONTACTS_DEBUG_H_
+
+#include <Elementary.h>
+#include <assert.h>
+#include <glib.h>
+#include <Ecore_X.h>
+
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+
+#define LOG_TAG "PHONE"
+
+#include "WDebugBase.h"
+
+//#include <samsung_log_manager.h>
+//#include <samsung_log_manager_uri.h>
+
+
+#if !defined(PACKAGE)
+# define PACKAGE "contacts"
+#endif
+
+
+#define PHONE_PKG "org.tizen.phone"
+#define CONTACTS_PKG "org.tizen.contacts"
+
+// Add additional your own debug MACRO
+
+#define WPRDT_VM(expr, val, fmt, arg...) do { \
+ if (expr) { \
+ WDEBUG(fmt, ##arg); \
+ return (val); \
+ } \
+} while (0)
+
+#define WPRDT_M(expr, fmt, arg...) do { \
+ if (expr) { \
+ WDEBUG(fmt, ##arg); \
+ return; \
+ } \
+} while (0)
+
+#define WPWARN(expr, fmt, arg...) do { \
+ if (expr) { \
+ WWARNING(fmt, ##arg); \
+ } \
+} while (0)
+
+#define SAFE_STRDUP(src) (src)?strdup(src):NULL
+#define SAFE_STRLEN(src) ((src)?strlen(src):0)
+#define SAFE_STRCMP(src1, str2) ((src1)?strcmp(src1, str2):-1)
+
+
+#define FREEandSTRDUP(dest, src) \
+ do{ \
+ if(dest) {free(dest); dest=NULL;}\
+ if (src) dest = strdup(src); \
+ } while (false)
+
+#define SAFE_FREE(src) \
+ do{ \
+ if(src) { free(src); src=NULL; }\
+ }while(false)
+
+
+// Usage Logging log
+//phone (dialer/logs)
+#define LOGGING_LOG_MAKE_A_CALL "0001" //Phone/Call Button
+#define LOGGING_LOG_MAKE_A_VIDEO_CALL "0002" //Phone/VideoCall Button
+#define LOGGING_LOG_ADD_TO_CONTACTS "0005" //Phone/"+ Add to contacts" Button
+#define LOGGING_LOG_SPEED_DIAL_SETTINGS "0006" //Phone/Option/Speed dial setting
+#define LOGGING_LOG_CALL_SETTINGS "0007" //Phone/Option/Call settings
+#define LOGGING_LOG_VIEW_LOGS "0008" //Phone/Logs
+#define LOGGING_LOG_VIEW_LOGS_BY "0011" //Phone/Logs/Option/View
+#define LOGGING_LOG_DETAIL_LOG "0014" //Phone/Logs/select a item
+
+//contacts
+#define LOGGING_LOG_CONTACT_APP "0016"
+#define LOGGING_LOG_ADD_TO_FAVOR "0018"
+#define LOGGING_LOG_REMOVE_FROM_FAVOR "0019"
+#define LOGGING_LOG_LINK "0026"
+#define LOGGING_LOG_PHONETIC_NAME "0041"
+/*
+#define CONTACTS_LOGGING_LOG(feature) do { \
+ if(feature) \
+ {\
+ unsigned int request_id; \
+ samsung_log_manager_h log_manager; \
+ samsung_log_manager_create(&log_manager); \
+ const char* uri = USE_APP_FEATURE_SURVEY_URI; \
+ bundle* bd = bundle_create(); \
+ bundle_add(bd, "app_id", "org.tizen.contacts"); \
+ bundle_add(bd, "feature", feature); \
+ samsung_log_manager_insert(log_manager, uri, bd, NULL, NULL, &request_id); \
+ bundle_free(bd); \
+ samsung_log_manager_destroy(log_manager); \
+ }\
+ }while(0);
+*/
+
+#endif /* _CT_DEBUG_H_ */
diff --git a/lib-common/inc/ContactsLocalization.h b/lib-common/inc/ContactsLocalization.h
new file mode 100644
index 0000000..68d382c
--- /dev/null
+++ b/lib-common/inc/ContactsLocalization.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CONTACTS_LOCALIZATION_H_
+#define _CONTACTS_LOCALIZATION_H_
+
+#include <libintl.h>
+
+#define TEXT_DOMAIN "contacts"
+#define T_(str) dgettext(TEXT_DOMAIN, str)
+
+#endif /* _CONTACTS_LOCALIZATION_H_ */
diff --git a/lib-common/inc/ContactsNumberItemIcons.h b/lib-common/inc/ContactsNumberItemIcons.h
new file mode 100644
index 0000000..0399482
--- /dev/null
+++ b/lib-common/inc/ContactsNumberItemIcons.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CONTACTS_NUMBER_ITEM_ICONS_H_
+#define _CONTACTS_NUMBER_ITEM_ICONS_H_
+
+/**
+ * @brief Create layout with "call" and "message" icons.
+ * @param parent parent object
+ * @param number number for call or message
+ * @return The pointer to created evas object
+ */
+Evas_Object *createNumberItemIconsLayout(Evas_Object *parent, const char *number = nullptr);
+
+#endif /* _CONTACTS_NUMBER_ITEM_ICONS_H_ */
diff --git a/lib-common/inc/ContactsThumbnail.h b/lib-common/inc/ContactsThumbnail.h
new file mode 100644
index 0000000..dedaa43
--- /dev/null
+++ b/lib-common/inc/ContactsThumbnail.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CONTACTS_THUMBNAIL_H_
+#define _CONTACTS_THUMBNAIL_H_
+
+
+#include <Elementary.h>
+
+enum ThumbnailType {
+ THUMBNAIL_166,
+ THUMBNAIL_98,
+ THUMBNAIL_240
+};
+
+Evas_Object *createThumbnail(Evas_Object *parent, ThumbnailType thumbnailType, const char *thumbnailPath, bool setSize=false);
+
+
+#endif /* _CONTACTS_THUMBNAIL_H_ */
diff --git a/lib-common/inc/ContactsUtils.h b/lib-common/inc/ContactsUtils.h
new file mode 100644
index 0000000..918c4cf
--- /dev/null
+++ b/lib-common/inc/ContactsUtils.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CONTACTS_UTILS_H_
+#define _CONTACTS_UTILS_H_
+
+#include <contacts.h>
+
+#define CONTACTS_LIST_FOREACH(list, record) \
+ bool success = (contacts_list_get_current_record_p(list, &record) == CONTACTS_ERROR_NONE); \
+ for( ; success; \
+ success = ((contacts_list_next(list) == CONTACTS_ERROR_NONE) \
+ && (contacts_list_get_current_record_p(list, &record) == CONTACTS_ERROR_NONE)) \
+ )
+
+#endif /* _CONTACTS_UTILS_H_ */
diff --git a/lib-common/inc/IContactsTabPageView.h b/lib-common/inc/IContactsTabPageView.h
new file mode 100644
index 0000000..b0097c7
--- /dev/null
+++ b/lib-common/inc/IContactsTabPageView.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _ICONTACTS_TAB_PAGE_VIEW_H_
+#define _ICONTACTS_TAB_PAGE_VIEW_H_
+
+#include "WDefine.h"
+#include "WView.h"
+
+#include "ContactsCommon.h"
+
+class WAPP_ASSIST_EXPORT IContactsTabPageView : public WView
+{
+public:
+ virtual ~IContactsTabPageView(){};
+ virtual void onTabSelect(Elm_Object_Item *naviItem) = 0;
+ virtual void onTabUnselect(Elm_Object_Item *naviItem) = 0;
+ virtual bool onTabPop() = 0;
+ virtual void onTabScrollStart() = 0;
+ virtual void onTabScrollStop() = 0;
+};
+
+#endif // _ICONTACTS_TAB_PAGE_VIEW_H_
+
diff --git a/lib-common/inc/SystemSettingsMgr.h b/lib-common/inc/SystemSettingsMgr.h
new file mode 100644
index 0000000..b6569bf
--- /dev/null
+++ b/lib-common/inc/SystemSettingsMgr.h
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _SYSTEM_SETTINGS_MGR_H_
+#define _SYSTEM_SETTINGS_MGR_H_
+
+#include <system_settings.h>
+#include <vector>
+
+#include "WDefine.h"
+
+struct SystemSettingsCallbackEntry
+{
+ system_settings_changed_cb callback;
+ void *userData;
+};
+
+struct SystemSettingsKeyEntry
+{
+ system_settings_key_e key;
+ std::vector<SystemSettingsCallbackEntry> callbacksList;
+};
+
+class WAPP_ASSIST_EXPORT SystemSettingsMgr
+{
+public:
+
+ /**
+ * @brief register callback to system settings manager
+ * @param[in] key event key
+ * @param[in] callback callback function
+ * @param[in] data data
+ * @return error code
+ */
+ int registerChangedCallback(system_settings_key_e key, system_settings_changed_cb callback, void *data);
+
+ /**
+ * @brief unregister callback to system settings manager
+ * @param[in] key event key
+ * @param[in] callback callback function
+ * @return error code
+ */
+ int unregisterChangedCallback(system_settings_key_e key, system_settings_changed_cb callback);
+
+ /**
+ * @brief get instance of system settings manager
+ * @return system settings manager instance
+ */
+ static SystemSettingsMgr& getInstance();
+private:
+ std::vector<SystemSettingsKeyEntry> _systemSettingsKeyList;
+ SystemSettingsMgr() {}
+ SystemSettingsMgr(SystemSettingsMgr const&) = delete;
+ SystemSettingsMgr& operator=( SystemSettingsMgr const& ) = delete;
+ static void __callSystemCb(system_settings_key_e key, void *data);
+ SystemSettingsKeyEntry *__keyEntryGet(system_settings_key_e key);
+ void __keyEntryDel(system_settings_key_e key);
+};
+
+#endif /* _SYSTEM_SETTINGS_MGR_H_ */
diff --git a/lib-common/res/edje/CMakeLists.txt b/lib-common/res/edje/CMakeLists.txt
new file mode 100644
index 0000000..778d7c7
--- /dev/null
+++ b/lib-common/res/edje/CMakeLists.txt
@@ -0,0 +1,30 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+SET(EDJ_PATH "${CMAKE_APP_RES_DIR}/edje/common")
+
+ADD_CUSTOM_TARGET(thumbnail.edj
+ COMMAND edje_cc ${EDJE_CFLAGS}
+ -id ${CMAKE_CURRENT_SOURCE_DIR}/../images
+ ${CMAKE_CURRENT_SOURCE_DIR}/thumbnail.edc thumbnail.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/thumbnail.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} thumbnail.edj)
+INSTALL(FILES thumbnail.edj DESTINATION ${EDJ_PATH})
+
+ADD_CUSTOM_TARGET(number_item_icons.edj
+ COMMAND edje_cc ${EDJE_CFLAGS}
+ -id ${CMAKE_CURRENT_SOURCE_DIR}/../images
+ ${CMAKE_CURRENT_SOURCE_DIR}/number_item_icons.edc number_item_icons.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/number_item_icons.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} number_item_icons.edj)
+INSTALL(FILES number_item_icons.edj DESTINATION ${EDJ_PATH})
+
+ADD_CUSTOM_TARGET(custom_button_styles.edj
+ COMMAND edje_cc ${EDJE_CFLAGS}
+ -id ${CMAKE_CURRENT_SOURCE_DIR}/../images
+ ${CMAKE_CURRENT_SOURCE_DIR}/custom_button_styles.edc custom_button_styles.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/custom_button_styles.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} custom_button_styles.edj)
+INSTALL(FILES custom_button_styles.edj DESTINATION ${EDJ_PATH}) \ No newline at end of file
diff --git a/lib-common/res/edje/ColorClass.h b/lib-common/res/edje/ColorClass.h
new file mode 100644
index 0000000..290da5b
--- /dev/null
+++ b/lib-common/res/edje/ColorClass.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _COLOR_CLASS_H_
+#define _COLOR_CLASS_H_
+
+color_classes {
+ color_class {//A03O003L1
+ name: "predictive_icon";
+ color: 61 185 204 128;
+ }
+ color_class {//A03O003
+ name: "predictive_icon_bg";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "contact_btn_ic";//W0113
+ color: 61 185 204 255;
+ }
+ color_class {
+ name: "contact_btn_ic_pressed";//W0113P
+ color: 34 104 115 255;
+ }
+ color_class {
+ name: "button_normal";
+ color: 0 0 0 45;
+ }
+ color_class {
+ name: "button_pressed";
+ color: 0 0 0 75;
+ }
+}
+
+
+
+#endif /* _COLOR_CLASS_H_ */
diff --git a/lib-common/res/edje/CustomButtonStyles.h b/lib-common/res/edje/CustomButtonStyles.h
new file mode 100644
index 0000000..e964186
--- /dev/null
+++ b/lib-common/res/edje/CustomButtonStyles.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CUSTOM_BUTTON_STYLES_H_
+#define _CUSTOM_BUTTON_STYLES_H_
+
+//images
+#define CORE_DROPDOWN_LABLE_ICON_ARROW "core_dropdown_label_icon_arrow.png"
+#define CORE_LIST_BUTTON_BG "core_list_button_bg.#.png"
+
+#define BUTTON_DROPDOWN_ICON_SIZE 20 20
+#define BUTTON_DROPDOWN_MIN_HEIGHT 100
+#define BUTTON_DROPDOWN_UNDERLINE_HEIGHT 2
+#define BUTTON_DROPDOWN_PADDING_TEXT_WIDTH 10
+#define BUTTON_DROPDOWN_MIN_WIDTH 144
+#define BUTTON_DROPDOWN_PADDING_TOP_BOTTOM 24
+#define BUTTON_DROPDOWN_PADDING_UNDERLINE_HEIGHT 10
+
+#define BUTTON_CORNER_RADIUS "35"
+#define BUTTON_DEFAULT_H 78
+#define BUTTON_TEXT_H 54
+#define BUTTON_TEXT_X 20
+#define BUTTON_TEXT_Y ((BUTTON_DEFAULT_H - BUTTON_TEXT_H) / 2)
+
+#define BUTTON_CIRCLE_SIZE 98
+#define BUTTON_CONTENT_SIZE 60
+#define BUTTON_CONTENT_REL (((BUTTON_CIRCLE_SIZE - BUTTON_CONTENT_SIZE) / 2) / BUTTON_CIRCLE_SIZE)
+
+#endif /* _CUSTOM_BUTTON_STYLES_H_ */
diff --git a/lib-common/res/edje/NumberItemIcons.h b/lib-common/res/edje/NumberItemIcons.h
new file mode 100644
index 0000000..b739707
--- /dev/null
+++ b/lib-common/res/edje/NumberItemIcons.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _NUMBER_ITEM_ICONS_H_
+#define _NUMBER_ITEM_ICONS_H_
+
+#define NUMBER_ITEM_ICONS_EDJ "common/number_item_icons.edj"
+
+//images
+#define CONTACTS_BTN_IC_CALL "contacts_btn_ic_call.png"
+#define CONTACTS_BTN_IC_MESSAGE "contacts_btn_ic_message.png"
+
+#define GROUP_NUMBER_IC_CALL "number_icon_call"
+#define GROUP_NUMBER_IC_MESSAGE "number_icon_message"
+
+#define ICON_SIZE 80
+#define SPACE_SIZE 7
+
+#endif /* _NUMBER_ITEM_ICONS_H_ */
diff --git a/lib-common/res/edje/Thumbnail.h b/lib-common/res/edje/Thumbnail.h
new file mode 100644
index 0000000..4667925
--- /dev/null
+++ b/lib-common/res/edje/Thumbnail.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _THUMBNAIL_H_
+#define _THUMBNAIL_H_
+
+#define THUMBNAIL_EDJ "common/thumbnail.edj"
+
+//images
+#define DEFAULT_THUMBNAIL_166 "contacts_caller_id_default.png"
+#define DEFAULT_THUMBNAIL_98 "contacts_caller_id_default_02.png"
+#define DEFAULT_THUMBNAIL_240 "contacts_caller_id_default_03.png"
+#define DEFAULT_THUMBNAIL_BG_166 "contacts_caller_id_default_bg.png"
+#define DEFAULT_THUMBNAIL_BG_98 "contacts_caller_id_default_bg_02.png"
+#define DEFAULT_THUMBNAIL_BG_240 "contacts_caller_id_default_bg_03.png"
+
+//groups
+#define GROUP_DEFAULT_THUMBNAIL_166 "default_thumbnail_166"
+#define GROUP_DEFAULT_THUMBNAIL_98 "default_thumbnail_98"
+#define GROUP_DEFAULT_THUMBNAIL_240 "default_thumbnail_240"
+#define GROUP_THUMBNAIL_166 "thumbnail_166"
+#define GROUP_THUMBNAIL_98 "thumbnail_98"
+#define GROUP_THUMBNAIL_240 "thumbnail_240"
+
+//parts
+#define PART_SWALLOW_IMAGE "swallow.image"
+
+#endif /* _THUMBNAIL_H_ */
diff --git a/lib-common/res/edje/Utils.h b/lib-common/res/edje/Utils.h
new file mode 100644
index 0000000..9f4833f
--- /dev/null
+++ b/lib-common/res/edje/Utils.h
@@ -0,0 +1,152 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+#ifndef _LAYOUT_UTILS_H_
+#define _LAYOUT_UTILS_H_
+
+
+#define RESOURCE_IMAGE_WITH_COLOR_CODE( GROUP_NAME, COLOR_CODE ) \
+ group { \
+ name: GROUP_NAME; \
+ images.image: GROUP_NAME".png" COMP; \
+ parts { \
+ part { name: "image"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: GROUP_NAME".png"; \
+ color_class: COLOR_CODE; \
+ aspect: 1 1; \
+ aspect_preference: SOURCE; \
+ } \
+ } \
+ } \
+ }
+
+#define RESOURCE_IMAGE_WITH_BG_AND_COLOR_CODE( GROUP_NAME, IMAGE_PATH, BG_IMAGE_PATH, COLOR_CODE, BG_COLOR_CODE ) \
+ group { \
+ name: GROUP_NAME; \
+ images.image: BG_IMAGE_PATH COMP; \
+ images.image: IMAGE_PATH COMP; \
+ parts { \
+ part { name: "image_bg"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: BG_IMAGE_PATH; \
+ color_class: BG_COLOR_CODE; \
+ aspect: 1 1; \
+ aspect_preference: SOURCE; \
+ } \
+ } \
+ } \
+ parts { \
+ part { name: "image"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: IMAGE_PATH; \
+ color_class: COLOR_CODE; \
+ aspect: 1 1; \
+ aspect_preference: SOURCE; \
+ } \
+ } \
+ } \
+ }
+
+#define RESOURCE_IMAGE_WITH_MASK(GROUP_NAME, MASK_PATH, SWALLOW_PART_NAME) \
+ group { \
+ name: GROUP_NAME; \
+ images.image: MASK_PATH COMP; \
+ parts { \
+ part { name: "masking"; \
+ precise_is_inside: 1; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: MASK_PATH; \
+ aspect: 1.0 1.0; \
+ aspect_preference: SOURCE; \
+ } \
+ } \
+ } \
+ parts { \
+ part { name: SWALLOW_PART_NAME; \
+ type: SWALLOW; \
+ clip_to: "masking"; \
+ description { \
+ state: "default" 0.0; \
+ } \
+ } \
+ } \
+ }
+
+#define PLAY_TOUCH_SOUND(SOURCE)\
+ program { name: "play.sound."SOURCE;\
+ signal: "mouse,clicked,1";\
+ source: SOURCE;\
+ action: RUN_PLUGIN "touch_sound";\
+ }
+
+#define RESOURCE_IMAGE_WITH_TOUCH( GROUP_NAME, IMAGE_NAME, COLOR_CODE, COLOR_CODE_P ) \
+ group { \
+ name: GROUP_NAME; \
+ images.image: IMAGE_NAME COMP; \
+ parts { \
+ part { \
+ name: "image"; \
+ type: IMAGE; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: IMAGE_NAME; \
+ color_class: COLOR_CODE; \
+ aspect: 1 1; \
+ aspect_preference: SOURCE; \
+ } \
+ description { \
+ state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: COLOR_CODE_P; \
+ } \
+ } \
+ part { \
+ name: "touch"; \
+ type: RECT; \
+ mouse_events: 1; \
+ description { \
+ state: "default" 0.0; \
+ color: 0 0 0 0; \
+ } \
+ } \
+ } \
+ programs { \
+ PLAY_TOUCH_SOUND("touch"); \
+ program { \
+ name: "mouse.down."GROUP_NAME; \
+ source: "touch"; \
+ signal: "mouse,down,*"; \
+ action: STATE_SET "pressed" 0.0; \
+ target: "image"; \
+ } \
+ program { \
+ name: "mouse.up."GROUP_NAME; \
+ source: "touch"; \
+ signal: "mouse,up,*"; \
+ action: STATE_SET "default" 0.0; \
+ target: "image"; \
+ } \
+ } \
+}
+
+#endif /* _LAYOUT_UTILS_H_ */
diff --git a/lib-common/res/edje/custom_button_styles.edc b/lib-common/res/edje/custom_button_styles.edc
new file mode 100644
index 0000000..8c6098d
--- /dev/null
+++ b/lib-common/res/edje/custom_button_styles.edc
@@ -0,0 +1,339 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "CustomButtonStyles.h"
+#include "ColorClass.h"
+
+styles {
+ style {
+ name: "button_dropdown";
+ base: "font=Tizen:style=Large font_size=40 color=#3DB9CC /*color_class=T1235*/ ellipsis=1.0";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ tag: "b" "+ font_weight=Bold";
+ }
+ style {
+ name: "button_main";
+ base: "font=Tizen:style=Light font_size=40 align=center color=#ffffffff text_class=button_text ellipsis=1.0";
+ }
+}
+
+collections {
+ base_scale: 2.6;
+ group {
+ name: "elm/button/base/custom_dropdown";
+ script {
+ public mouse_down = 0;
+ public multi_down = 0;
+ }
+ images {
+ image: CORE_DROPDOWN_LABLE_ICON_ARROW COMP;
+ }
+ parts {
+ part {
+ name: "base";
+ scale: 1;
+ type: SPACER;
+ description {
+ state: "default" 0.0;
+ min: BUTTON_DROPDOWN_MIN_WIDTH BUTTON_DROPDOWN_MIN_HEIGHT;
+ }
+ description {
+ state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part {
+ name: "padding_top";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.0;
+ rel1.to: "base";
+ rel2 {
+ relative: 0.0 0.0;
+ to: "base";
+ }
+ min: 0 BUTTON_DROPDOWN_PADDING_TOP_BOTTOM;
+ fixed: 1 1;
+ }
+ }
+ part {
+ name: "elm.text";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "padding_top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "padding_after_text";
+ }
+ text {
+ style: "button_dropdown";
+ }
+ }
+ description {
+ state: "invisible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part {
+ name: "arrow_icon";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: BUTTON_DROPDOWN_ICON_SIZE;
+ max: BUTTON_DROPDOWN_ICON_SIZE;
+ image.normal: CORE_DROPDOWN_LABLE_ICON_ARROW;
+ color_class: "predictive_icon";
+ rel2 {
+ to_x: "base";
+ to_y: "underline_bottom";
+ relative: 1.0 0.0;
+ offset: 0 -BUTTON_DROPDOWN_PADDING_UNDERLINE_HEIGHT;
+ }
+ align: 1.0 1.0;
+ }
+ }
+ part {
+ name: "underline_bottom";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 BUTTON_DROPDOWN_UNDERLINE_HEIGHT;
+ color_class:"predictive_icon";
+ rel1 {
+ relative: 0.0 1.0;
+ to: "base";
+ }
+ rel2.to:"base";
+ align: 1.0 1.0 ;
+ fixed: 1 1;
+ }
+ }
+ part {
+ name: "padding_after_text";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: BUTTON_DROPDOWN_PADDING_TEXT_WIDTH 0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "arrow_icon";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "arrow_icon";
+ }
+ align: 0.0 0.0;
+ fixed: 1 1;
+ }
+ }
+ part {
+ name: "event";
+ scale: 1;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "touch_snd";
+ signal: "mouse,clicked,1";
+ source: "event";
+ script {
+ new st[31];
+ new Float:vl;
+ if (get_int(multi_down) == 0) {
+ get_state(PART:"base", st, 30, vl);
+ if (strcmp(st, "disabled")) {
+ run_program(PROGRAM:"touch_sound");
+ emit("elm,action,click", "");
+ }
+ }
+ }
+ }
+ program {
+ name: "touch_sound";
+ action: RUN_PLUGIN "touch_sound";
+ }
+ program {
+ name: "text_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: elm.text;
+ }
+ program {
+ name: "text_hide";
+ signal: "elm,state,text,hidden";
+ source: "elm";
+ action: STATE_SET "invisible" 0.0;
+ target: elm.text;
+ }
+ program {
+ name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "base";
+ }
+ program {
+ name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ }
+ program {
+ name: "multi_down";
+ signal: "elm,action,multi,down";
+ source: "elm";
+ script {
+ set_int(multi_down, 1);
+ }
+ }
+ program {
+ name: "multi_up";
+ signal: "elm,action,multi,up";
+ source: "elm";
+ script {
+ set_int(multi_down, 0);
+ }
+ }
+ }
+ }
+
+ group {
+ name: "elm/button/base/custom_colored";
+
+ parts {
+ part {
+ name: "tizen_vg_shape";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "bg";
+ description {
+ state: "default" 0.0;
+ }
+ }
+ part {
+ name: "bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color_class: "button_normal";
+ }
+ description {
+ state: "pressed" 0.0;
+ color_class: "button_pressed";
+ }
+ }
+ }
+ programs {
+ program {
+ name: "pressed";
+ signal: "mouse,down,*";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: "bg";
+ }
+ program {
+ name: "unpressed";
+ signal: "mouse,up,*";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ }
+ program {
+ name: "clicked";
+ signal: "mouse,clicked,*";
+ source: "*";
+ action: SIGNAL_EMIT "elm,action,click" "";
+ }
+ }
+ }
+
+ group {
+ name: "elm/button/base/custom_default";
+ inherit: "elm/button/base/custom_colored";
+ data.item: "vector_ux" "default";
+ data.item: "corner_radius" BUTTON_CORNER_RADIUS;
+
+ parts {
+ part {
+ name: "elm.text";
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 (BUTTON_TEXT_Y / BUTTON_DEFAULT_H);
+ offset: BUTTON_TEXT_X 0;
+ }
+ rel2 {
+ relative: 1.0 (1.0 - (BUTTON_TEXT_Y / BUTTON_DEFAULT_H));
+ offset: -BUTTON_TEXT_X 0;
+ }
+ text {
+ style: "button_main";
+ min: 1 1;
+ }
+ }
+ }
+ }
+ }
+
+ group {
+ name: "elm/button/base/custom_circle";
+ inherit: "elm/button/base/custom_colored";
+ data.item: "vector_ux" "circle";
+
+ parts {
+ part {
+ name: "elm.swallow.content";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: BUTTON_CONTENT_REL BUTTON_CONTENT_REL;
+ }
+ rel2 {
+ relative: (1.0 - BUTTON_CONTENT_REL) (1.0 - BUTTON_CONTENT_REL);
+ }
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/lib-common/res/edje/number_item_icons.edc b/lib-common/res/edje/number_item_icons.edc
new file mode 100644
index 0000000..46b8646
--- /dev/null
+++ b/lib-common/res/edje/number_item_icons.edc
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ColorClass.h"
+#include "Utils.h"
+#include "NumberItemIcons.h"
+
+collections {
+ base_scale: 2.6;
+ plugins {
+ plugin {
+ name: "touch_sound"; // Name run by RUN_PLUGIN
+ source: "feedback"; // External edje plugin name
+ param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP";
+ }
+ }
+ RESOURCE_IMAGE_WITH_TOUCH(GROUP_NUMBER_IC_CALL, CONTACTS_BTN_IC_CALL, "contact_btn_ic", "contact_btn_ic_pressed")
+ RESOURCE_IMAGE_WITH_TOUCH(GROUP_NUMBER_IC_MESSAGE, CONTACTS_BTN_IC_MESSAGE, "contact_btn_ic", "contact_btn_ic_pressed")
+} \ No newline at end of file
diff --git a/lib-common/res/edje/thumbnail.edc b/lib-common/res/edje/thumbnail.edc
new file mode 100644
index 0000000..6648781
--- /dev/null
+++ b/lib-common/res/edje/thumbnail.edc
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ColorClass.h"
+#include "Utils.h"
+#include "Thumbnail.h"
+
+collections {
+ RESOURCE_IMAGE_WITH_BG_AND_COLOR_CODE(GROUP_DEFAULT_THUMBNAIL_166, DEFAULT_THUMBNAIL_166, DEFAULT_THUMBNAIL_BG_166, "predictive_icon", "predictive_icon_bg")
+ RESOURCE_IMAGE_WITH_BG_AND_COLOR_CODE(GROUP_DEFAULT_THUMBNAIL_98, DEFAULT_THUMBNAIL_98, DEFAULT_THUMBNAIL_BG_98, "predictive_icon", "predictive_icon_bg")
+ RESOURCE_IMAGE_WITH_BG_AND_COLOR_CODE(GROUP_DEFAULT_THUMBNAIL_240, DEFAULT_THUMBNAIL_240, DEFAULT_THUMBNAIL_BG_240, "predictive_icon", "predictive_icon_bg")
+
+ RESOURCE_IMAGE_WITH_MASK(GROUP_THUMBNAIL_166, DEFAULT_THUMBNAIL_BG_166, PART_SWALLOW_IMAGE)
+ RESOURCE_IMAGE_WITH_MASK(GROUP_THUMBNAIL_98, DEFAULT_THUMBNAIL_BG_98, PART_SWALLOW_IMAGE)
+ RESOURCE_IMAGE_WITH_MASK(GROUP_THUMBNAIL_240, DEFAULT_THUMBNAIL_BG_240, PART_SWALLOW_IMAGE)
+} \ No newline at end of file
diff --git a/lib-common/res/images/contacts_btn_ic_call.png b/lib-common/res/images/contacts_btn_ic_call.png
new file mode 100644
index 0000000..7ded7ed
--- /dev/null
+++ b/lib-common/res/images/contacts_btn_ic_call.png
Binary files differ
diff --git a/lib-common/res/images/contacts_btn_ic_message.png b/lib-common/res/images/contacts_btn_ic_message.png
new file mode 100644
index 0000000..2610874
--- /dev/null
+++ b/lib-common/res/images/contacts_btn_ic_message.png
Binary files differ
diff --git a/lib-common/res/images/contacts_caller_id_default.png b/lib-common/res/images/contacts_caller_id_default.png
new file mode 100644
index 0000000..7093c6b
--- /dev/null
+++ b/lib-common/res/images/contacts_caller_id_default.png
Binary files differ
diff --git a/lib-common/res/images/contacts_caller_id_default_02.png b/lib-common/res/images/contacts_caller_id_default_02.png
new file mode 100644
index 0000000..95ba822
--- /dev/null
+++ b/lib-common/res/images/contacts_caller_id_default_02.png
Binary files differ
diff --git a/lib-common/res/images/contacts_caller_id_default_03.png b/lib-common/res/images/contacts_caller_id_default_03.png
new file mode 100644
index 0000000..808a289
--- /dev/null
+++ b/lib-common/res/images/contacts_caller_id_default_03.png
Binary files differ
diff --git a/lib-common/res/images/contacts_caller_id_default_bg.png b/lib-common/res/images/contacts_caller_id_default_bg.png
new file mode 100644
index 0000000..1653730
--- /dev/null
+++ b/lib-common/res/images/contacts_caller_id_default_bg.png
Binary files differ
diff --git a/lib-common/res/images/contacts_caller_id_default_bg_02.png b/lib-common/res/images/contacts_caller_id_default_bg_02.png
new file mode 100644
index 0000000..cf0acc9
--- /dev/null
+++ b/lib-common/res/images/contacts_caller_id_default_bg_02.png
Binary files differ
diff --git a/lib-common/res/images/contacts_caller_id_default_bg_03.png b/lib-common/res/images/contacts_caller_id_default_bg_03.png
new file mode 100644
index 0000000..647d2a1
--- /dev/null
+++ b/lib-common/res/images/contacts_caller_id_default_bg_03.png
Binary files differ
diff --git a/lib-common/res/images/core_dropdown_label_icon_arrow.png b/lib-common/res/images/core_dropdown_label_icon_arrow.png
new file mode 100644
index 0000000..a9b9d97
--- /dev/null
+++ b/lib-common/res/images/core_dropdown_label_icon_arrow.png
Binary files differ
diff --git a/lib-common/src/ContactsAppControl.cpp b/lib-common/src/ContactsAppControl.cpp
new file mode 100644
index 0000000..6d9897e
--- /dev/null
+++ b/lib-common/src/ContactsAppControl.cpp
@@ -0,0 +1,196 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ContactsAppControl.h"
+#include <string>
+
+int launchContactCreate(const char *number)
+{
+ app_control_h request;
+ app_control_create(&request);
+ app_control_set_operation(request, APP_CONTROL_OPERATION_ADD);
+ app_control_set_mime(request, APP_CONTROL_MIME_CONTACT);
+
+ if (number) {
+ app_control_add_extra_data(request, APP_CONTROL_DATA_PHONE, number);
+ }
+
+ app_control_set_launch_mode(request, APP_CONTROL_LAUNCH_MODE_GROUP);
+ int result = app_control_send_launch_request(request, nullptr, nullptr);
+ app_control_destroy(request);
+
+ return result;
+}
+
+int launchContactDetails(int personId)
+{
+ app_control_h request;
+ app_control_create(&request);
+ app_control_set_operation(request, APP_CONTROL_OPERATION_VIEW);
+ app_control_set_mime(request, APP_CONTROL_MIME_CONTACT);
+ app_control_add_extra_data(request, APP_CONTROL_DATA_ID,
+ std::to_string(personId).c_str());
+
+ app_control_set_launch_mode(request, APP_CONTROL_LAUNCH_MODE_GROUP);
+ int result = app_control_send_launch_request(request, nullptr, nullptr);
+ app_control_destroy(request);
+
+ return result;
+}
+
+int launchContactEdit(int personId, const char *number)
+{
+ app_control_h request;
+ app_control_create(&request);
+ app_control_set_operation(request, APP_CONTROL_OPERATION_EDIT);
+ app_control_set_mime(request, APP_CONTROL_MIME_CONTACT);
+
+ if (personId > 0) {
+ app_control_add_extra_data(request, APP_CONTROL_DATA_ID,
+ std::to_string(personId).c_str());
+ }
+ if (number) {
+ app_control_add_extra_data(request, APP_CONTROL_DATA_PHONE, number);
+ }
+
+ app_control_set_launch_mode(request, APP_CONTROL_LAUNCH_MODE_GROUP);
+ int result = app_control_send_launch_request(request, nullptr, nullptr);
+ app_control_destroy(request);
+
+ return result;
+}
+
+int launchContactPick(const char *selectionMode, const char *resultType,
+ app_control_reply_cb replyCallback, void *userData,
+ bool groupMode, app_control_h *appControl)
+{
+ if (!selectionMode || !resultType) {
+ return APP_CONTROL_ERROR_INVALID_PARAMETER;
+ }
+
+ app_control_h request;
+ app_control_create(&request);
+ app_control_set_operation(request, APP_CONTROL_OPERATION_PICK);
+ app_control_set_mime(request, APP_CONTROL_MIME_CONTACT);
+
+ app_control_add_extra_data(request, APP_CONTROL_DATA_SELECTION_MODE, selectionMode);
+ app_control_add_extra_data(request, APP_CONTROL_DATA_TYPE, resultType);
+
+ if (groupMode) {
+ app_control_set_launch_mode(request, APP_CONTROL_LAUNCH_MODE_GROUP);
+ }
+
+ int result = app_control_send_launch_request(request, replyCallback, userData);
+ if (appControl) {
+ *appControl = request;
+ } else {
+ app_control_destroy(request);
+ }
+
+ return result;
+}
+
+int launchCall(const char *number)
+{
+ if (!number) {
+ return APP_CONTROL_ERROR_INVALID_PARAMETER;
+ }
+
+ app_control_h request;
+ app_control_create(&request);
+ app_control_set_operation(request, APP_CONTROL_OPERATION_CALL);
+ app_control_set_uri(request, std::string("tel:").append(number).c_str());
+
+ int result = app_control_send_launch_request(request, NULL, NULL);
+ app_control_destroy(request);
+
+ return result;
+}
+
+int launchMessageComposer(const char *scheme, const char *to,
+ const char *subject, const char *text, bool groupMode)
+{
+ if (!scheme || !to) {
+ return APP_CONTROL_ERROR_INVALID_PARAMETER;
+ }
+
+ app_control_h request;
+ app_control_create(&request);
+ app_control_set_operation(request, APP_CONTROL_OPERATION_COMPOSE);
+ app_control_set_uri(request, std::string(scheme).append(to).c_str());
+
+ if (subject) {
+ app_control_add_extra_data(request, APP_CONTROL_DATA_TITLE, subject);
+ }
+
+ if (text) {
+ app_control_add_extra_data(request, APP_CONTROL_DATA_TEXT, text);
+ }
+
+ if (groupMode) {
+ app_control_set_launch_mode(request, APP_CONTROL_LAUNCH_MODE_GROUP);
+ }
+
+ int result = app_control_send_launch_request(request, NULL, NULL);
+ app_control_destroy(request);
+
+ return result;
+}
+
+int launchShareContact(const char *personId, bool isMyProfile)
+{
+ if (!personId) {
+ return APP_CONTROL_ERROR_INVALID_PARAMETER;
+ }
+
+ app_control_h request;
+ app_control_create(&request);
+ app_control_set_operation(request, APP_CONTROL_OPERATION_SHARE);
+ app_control_set_mime(request, APP_CONTROL_MIME_CONTACT);
+ app_control_add_extra_data(request, APP_CONTROL_DATA_ID, personId);
+ if(isMyProfile) {
+ app_control_add_extra_data(request, APP_CONTROL_DATA_TYPE, "my_profile");
+ }
+ app_control_set_launch_mode(request, APP_CONTROL_LAUNCH_MODE_GROUP);
+ int result = app_control_send_launch_request(request, nullptr, nullptr);
+ app_control_destroy(request);
+
+ return result;
+}
+
+int launchMultiShareContacts(const char **personIdArray, int count)
+{
+ if (!(personIdArray && (count > 0))) {
+ return APP_CONTROL_ERROR_INVALID_PARAMETER;
+ }
+
+ app_control_h request;
+ app_control_create(&request);
+ app_control_set_operation(request, APP_CONTROL_OPERATION_MULTI_SHARE);
+ app_control_set_mime(request, APP_CONTROL_MIME_CONTACT);
+ app_control_add_extra_data_array(request, APP_CONTROL_DATA_ID, personIdArray, count);
+
+ /* FIXME: Remove this hack once share panel fixes multi share contact */
+ const char *dummyPath = "/dummy.vcf";
+ app_control_add_extra_data_array(request, APP_CONTROL_DATA_PATH, &dummyPath, 1);
+
+ app_control_set_launch_mode(request, APP_CONTROL_LAUNCH_MODE_GROUP);
+ int result = app_control_send_launch_request(request, nullptr, nullptr);
+ app_control_destroy(request);
+
+ return result;
+}
diff --git a/lib-common/src/ContactsAppControlLauncher.cpp b/lib-common/src/ContactsAppControlLauncher.cpp
new file mode 100644
index 0000000..20ca40c
--- /dev/null
+++ b/lib-common/src/ContactsAppControlLauncher.cpp
@@ -0,0 +1,180 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ContactsAppControlLauncher.h"
+#include "ContactsDebug.h"
+
+ContactsAppControlLauncher* ContactsAppControlLauncher::__instance = NULL;
+
+const double __UI_LOCK_DURATION = 3.0;
+
+ContactsAppControlLauncher& ContactsAppControlLauncher::getInstance()
+{
+ if( __instance == NULL )
+ __instance = new ContactsAppControlLauncher();
+ return *__instance;
+}
+void ContactsAppControlLauncher::destroy()
+{
+ delete __instance;
+ __instance = NULL;
+}
+
+
+ContactsAppControlLauncher::ContactsAppControlLauncher()
+{
+ __appControl = NULL;
+ __timer = NULL;
+}
+
+ContactsAppControlLauncher::~ContactsAppControlLauncher()
+{
+ __clearAll();
+}
+
+bool ContactsAppControlLauncher::sendLaunchRequest( app_control_h request, app_control_reply_cb callback, void *userData, Evas_Object* objToBlock )
+{
+ WENTER();
+
+ __clearAll();
+
+ __appControl = request;
+
+ if (objToBlock )
+ {
+ __evasObjBlocked = WEvasObject_getWeakPtr( objToBlock );
+ auto p = __evasObjBlocked.lock();
+
+ evas_object_freeze_events_set( p->getEvasObj(), EINA_TRUE);
+
+ __timer = ecore_timer_add(__UI_LOCK_DURATION, __timeOutCb, this ); //navi);
+ evas_object_event_callback_add( p->getEvasObj(), EVAS_CALLBACK_DEL, __evasObjDelCb, this);
+ }
+
+ int ret = app_control_send_launch_request(request, callback, userData);
+ if( ret != APP_CONTROL_ERROR_NONE )
+ {
+ WERROR("app_control ret error code= %d", ret);
+ return false;
+ }
+ return true;
+}
+/*
+bool ContactsAppControlLauncher::sendAsyncLaunchRequest( app_control_h request, app_control_async_reply_cb callback, void *userData, Evas_Object* objToBlock )
+{
+ WENTER();
+
+ __clearAll();
+
+ __appControl = request;
+
+ if (objToBlock )
+ {
+ __evasObjBlocked = WEvasObject_getWeakPtr( objToBlock );
+ auto p = __evasObjBlocked.lock();
+
+ evas_object_freeze_events_set( p->getEvasObj(), EINA_TRUE);
+
+ __timer = ecore_timer_add(__UI_LOCK_DURATION, __timeOutCb, this ); //navi);
+ evas_object_event_callback_add( p->getEvasObj(), EVAS_CALLBACK_DEL, __evasObjDelCb, this);
+ }
+
+ int ret = app_control_send_async_launch_request(request, callback, userData);
+ if( ret != APP_CONTROL_ERROR_NONE )
+ {
+ WERROR("app_control ret error code= %d", ret);
+ return false;
+ }
+ return true;
+}
+*/
+
+void ContactsAppControlLauncher::terminate()
+{
+ __clearAll();
+}
+void ContactsAppControlLauncher::unblockUi()
+{
+ if( auto safeObj = __evasObjBlocked.lock() )
+ {
+ Evas_Object* obj = safeObj->getEvasObj();
+ evas_object_freeze_events_set(obj, EINA_FALSE);
+ evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL, __evasObjDelCb, this);
+ __evasObjBlocked.reset();
+ }
+
+ if( __timer )
+ {
+ ecore_timer_del( __timer );
+ __timer = NULL;
+ }
+}
+
+
+
+bool ContactsAppControlLauncher::isUiBlocked()
+{
+ if ( auto safeObj = __evasObjBlocked.lock() )
+ return true;
+ else
+ return false;
+}
+
+Eina_Bool ContactsAppControlLauncher::__timeOutCb(void* userData)
+{
+ WENTER();
+
+ ContactsAppControlLauncher* p = (ContactsAppControlLauncher*)userData;
+
+ if( auto safeObj = p->__evasObjBlocked.lock() )
+ {
+ Evas_Object* obj = safeObj->getEvasObj();
+ evas_object_freeze_events_set(obj, EINA_FALSE);
+ evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL, __evasObjDelCb, p);
+ p->__evasObjBlocked.reset();
+ }
+ p->__timer = NULL;
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void ContactsAppControlLauncher::__evasObjDelCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ ContactsAppControlLauncher* p = (ContactsAppControlLauncher*)data;
+ if ( p->__timer)
+ {
+ ecore_timer_del( p->__timer);
+ p->__timer = NULL;
+ }
+}
+
+void ContactsAppControlLauncher::__clearAll()
+{
+ if( __appControl )
+ {
+ WHIT();
+ int ret = app_control_send_terminate_request( __appControl );
+ if( ret != APP_CONTROL_ERROR_NONE )
+ {
+ WWARNING("app_control ret error code= %d", ret);
+ }
+ app_control_destroy(__appControl);
+ __appControl = NULL;
+ }
+ unblockUi();
+}
+
diff --git a/lib-common/src/ContactsCommon.cpp b/lib-common/src/ContactsCommon.cpp
new file mode 100755
index 0000000..b6cd3ff
--- /dev/null
+++ b/lib-common/src/ContactsCommon.cpp
@@ -0,0 +1,318 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <dlfcn.h>
+#include <string.h>
+#include <algorithm>
+#include <Elementary.h>
+#include <app.h>
+#include <Eina.h>
+#include <telephony.h>
+#include <system_settings.h>
+#include <system_info.h>
+//#include "csc-feature/csc-feature.h"
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+#define LOG_TAG "PHONE"
+#include "WDebugBase.h"
+
+//#include "phonenumbers/phonenumberutil.h"
+//#include "phonenumbers/asyoutypeformatter.h"
+#include "ContactsCommon.h"
+#include "ContactsDebug.h"
+
+
+#define CT_EDITFIELD_MAX_BUFFER 1000*3
+
+ContactsCommon::ContactsCommon()
+{
+ // TODO Auto-generated constructor stub
+
+}
+
+ContactsCommon::~ContactsCommon()
+{
+ // TODO Auto-generated destructor stub
+}
+/*
+static std::string __getCurrentIso3166Code( void )
+{
+ std::string resultString = "";
+ char* regionString = NULL;
+ system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &regionString);
+
+ if(regionString != NULL)
+ {
+ resultString = "";
+ resultString.push_back((char)regionString[3]);
+ resultString.push_back((char)regionString[4]);
+ free(regionString);
+ }
+ else
+ resultString = "KR";
+
+ return resultString;
+}
+
+std::string ContactsCommon::addNumberDashes(const std::string& number)
+{
+ // libphonenumber implementation
+
+ using namespace i18n::phonenumbers;
+
+ if(csc_feature_get_bool( CSC_FEATURE_DEF_BOOL_CALL_DISABLE_PHONE_NUM_FORMAT ))
+ return number;
+
+ PhoneNumberUtil *util_instance = PhoneNumberUtil::GetInstance();
+ AsYouTypeFormatter* asFormater = util_instance->GetAsYouTypeFormatter(__getCurrentIso3166Code().c_str());
+
+ std::string result;
+
+ for (unsigned i=0; i<number.length(); ++i)
+ asFormater->InputDigit(number[i], &result);
+
+ int len = result.length();
+ if (result[len-1] == ' ' && len > 0)
+ result.erase(len-1, 1);
+
+ delete asFormater;
+ return result;
+}
+*/
+bool ContactsCommon::isValidCharForNumber(char character)
+{
+ if((isdigit(character))
+ ||character=='*'
+ ||character=='#'
+ ||character=='+'
+ ||character==';'
+ ||character==','
+ ||character=='N'
+ ||character=='.'
+ ||character=='/'
+ ||character=='('
+ ||character==')')
+ return true;
+ else
+ return false;
+}
+
+bool ContactsCommon::isValidCharForDisplayNumber(char character)
+{
+ if((isValidCharForNumber(character))
+ ||character=='-'
+ ||character==' '
+ ||character=='('
+ ||character==')'
+ ||character=='/')
+ return true;
+ else
+ return false;
+}
+
+std::string ContactsCommon::removeNumberDashes(const std::string& number)
+{
+ std::string pure_number = "";
+
+ for (unsigned i=0; i<number.length(); ++i)
+ if(isValidCharForNumber(number[i]))
+ pure_number.push_back(number[i]);
+
+ return pure_number;
+}
+
+bool ContactsCommon::comparePureNumber(const std::string& number1, const std::string& number2)
+{
+ return (bool)(removeNumberDashes(number1) == removeNumberDashes(number2));
+}
+
+void ContactsCommon::loadLocalization()
+{
+#if defined RESDIR
+ bindtextdomain(PACKAGE, RESDIR LOCALE_DIR);
+#else
+ char *path = app_get_resource_path();
+ size_t len = strlen(path);
+
+ path = (char*) realloc(path, len + sizeof(LOCALE_DIR));
+ strcpy(path + len, LOCALE_DIR);
+
+ bindtextdomain(PACKAGE, path);
+ free(path);
+#endif
+}
+
+std::string ContactsCommon::getAppControlData(app_control_h appControl, const std::string& key)
+{
+ char* value = NULL;
+ std::string ret = "";
+
+ if (key.compare(CONTACTS_APPCONTROL_KEY_OPERATION) == 0)
+ {
+ app_control_get_operation(appControl, &value);
+ }
+ else if (key.compare(CONTACTS_APPCONTROL_KEY_URI) == 0)
+ {
+ app_control_get_uri(appControl, &value);
+ }
+ else if (key.compare(CONTACTS_APPCONTROL_KEY_APPID) == 0)
+ {
+ app_control_get_app_id(appControl, &value);
+ }
+ else
+ {
+ if (APP_CONTROL_ERROR_NONE != app_control_get_extra_data(appControl, key.c_str(), &value))
+ WINFO("key: [%s] not found", key.c_str());
+ }
+
+ if (value)
+ {
+ ret = value;
+ free(value);
+ WINFO("key: %s, value: %s", key.c_str(), ret.c_str());
+ }
+
+ return ret;
+}
+
+const std::string ContactsCommon::getAppEdjePath(const std::string& fileName)
+{
+ static std::string edjeRootPath;
+ std::string edjePath;
+
+ if (edjeRootPath.empty())
+ {
+ #if defined RESDIR
+ edjeRootPath = RESDIR;
+ #else
+ char *path = app_get_resource_path();
+ edjeRootPath = path;
+ free(path);
+ #endif
+
+ WINFO("app_get_resource_path: [%s]", edjeRootPath.c_str());
+ edjeRootPath += EDJDIR;
+ WINFO("init edje resource rootpath as [%s]", edjeRootPath.c_str());
+ }
+ if (!fileName.empty())
+ edjePath = edjeRootPath + fileName;
+ WINFO("edje resource path[%s]", edjePath.c_str());
+ return edjePath;
+}
+
+void ContactsCommon::getAppEdjePath(const std::string& fileName, std::string& edjePath)
+{
+ static std::string edjeRootPath;
+
+ if (edjeRootPath.empty())
+ {
+ #if defined RESDIR
+ edjeRootPath = RESDIR;
+ #else
+ char *path = app_get_resource_path();
+ edjeRootPath = path;
+ free(path);
+ #endif
+
+ edjeRootPath += EDJDIR;
+ WINFO("init edje resource rootpath as [%s]", edjeRootPath.c_str());
+ }
+
+ if (!fileName.empty())
+ edjePath = edjeRootPath + fileName;
+ WINFO("edje resource path[%s]", edjePath.c_str());
+}
+
+std::string ContactsCommon::getResourcePath(const std::string& relativePath)
+{
+ static std::string resPath;
+ if (resPath.empty()) {
+ #if defined RESDIR
+ resPath = RESDIR;
+ #else
+ char *path = app_get_resource_path();
+ resPath = path;
+ free(path);
+ #endif
+ }
+
+ return std::string(resPath).append(relativePath);
+}
+
+int ContactsCommon::getScaledWidth(int width)
+{
+ int systemWidth = 0;
+ int scaledWidth = 0;
+ int err = system_info_get_platform_int(SYSTEM_INFO_KEY_SCREEN_WIDTH, &systemWidth);
+ if (err != SYSTEM_INFO_ERROR_NONE) {
+ WERROR("system_info_get_platform_int error %d", err);
+ return width;
+ }
+ scaledWidth = (systemWidth * width) / SCREEN_WIDTH;
+ return scaledWidth;
+}
+
+int ContactsCommon::getScaledHeight(int height)
+{
+ int systemHeight = 0;
+ int scaledHeight = 0;
+ int err = system_info_get_platform_int(SYSTEM_INFO_KEY_SCREEN_HEIGHT, &systemHeight);
+ if (err != SYSTEM_INFO_ERROR_NONE) {
+ WERROR("system_info_get_platform_int error %d", err);
+ return height;
+ }
+ scaledHeight = (systemHeight * height) / SCREEN_HEIGHT;
+ return scaledHeight;
+}
+
+std::string ContactsCommon::highlightTextByPos(std::string &text, size_t position, size_t length)
+{
+ std::string highlightText = text;
+ size_t endPos = position + length + sizeof(TAG_MATCH_PREFIX) - 1;
+
+ highlightText.insert(position, TAG_MATCH_PREFIX);
+ highlightText.insert(endPos, TAG_MATCH_SUFFIX);
+
+ return highlightText;
+}
+
+std::string ContactsCommon::getHighlightText(const std::string &text, const std::string &searchText)
+{
+ std::string highlightText = text;
+ if (searchText.length() == 0 || text.length() == 0) {
+ return highlightText;
+ }
+
+ std::string lowerText;
+ lowerText.resize(text.size());
+ std::transform(text.begin(), text.end(), lowerText.begin(), ::tolower);
+
+ std::string lowerSearchText;
+ lowerSearchText.resize(searchText.size());
+ std::transform(searchText.begin(), searchText.end(), lowerSearchText.begin(), ::tolower);
+
+ size_t startPos = lowerText.find(lowerSearchText);
+ if (startPos == lowerText.npos) {
+ return highlightText;
+ }
+
+ highlightText = highlightTextByPos(highlightText, startPos, searchText.size());
+
+ return highlightText;
+}
diff --git a/lib-common/src/ContactsNumberItemIcons.cpp b/lib-common/src/ContactsNumberItemIcons.cpp
new file mode 100644
index 0000000..6a2bee0
--- /dev/null
+++ b/lib-common/src/ContactsNumberItemIcons.cpp
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+#include "NumberItemIcons.h"
+#include "ContactsCommon.h"
+#include "ContactsNumberItemIcons.h"
+#include "ContactsAppControl.h"
+#include "WDebugBase.h"
+
+namespace
+{
+ void iconCallCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ const char *number = (const char*)data;
+ int err = launchCall(number);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ WWARNING("launchMessageComposer() failed(%d)", err);
+ }
+ }
+
+ void iconMessageCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ const char *number = (const char*)data;
+ int err = launchMessageComposer("sms:", number);
+ if (err != APP_CONTROL_ERROR_NONE) {
+ WWARNING("launchMessageComposer() failed(%d)", err);
+ }
+ }
+
+ void createIconLayout(Evas_Object *box, std::string groupName, Evas_Smart_Cb cb, const char* number)
+ {
+ Evas_Object *layout = elm_image_add(box);
+ const std::string edjPath = ContactsCommon::getAppEdjePath(NUMBER_ITEM_ICONS_EDJ);
+ elm_image_file_set(layout, edjPath.c_str(), groupName.c_str());
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.5);
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_min_set(layout, ContactsCommon::getScaledWidth(ICON_SIZE), ContactsCommon::getScaledHeight(ICON_SIZE));
+ if (number) {
+ evas_object_smart_callback_del(layout, "clicked", cb);
+ evas_object_smart_callback_add(layout, "clicked", cb, number);
+ }
+ evas_object_propagate_events_set(layout, EINA_FALSE);
+ elm_box_pack_end(box, layout);
+ evas_object_show(layout);
+ }
+}
+
+Evas_Object *createNumberItemIconsLayout(Evas_Object *parent, const char *number)
+{
+ Evas_Object *box = elm_box_add(parent);
+ elm_box_horizontal_set(box, EINA_TRUE);
+ WDEBUG("number = %s", number);
+ elm_box_padding_set(box, ContactsCommon::getScaledWidth(SPACE_SIZE), 0);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ createIconLayout(box, GROUP_NUMBER_IC_CALL, iconCallCb, number);
+ createIconLayout(box, GROUP_NUMBER_IC_MESSAGE, iconMessageCb, number);
+ return box;
+}
diff --git a/lib-common/src/ContactsThumbnail.cpp b/lib-common/src/ContactsThumbnail.cpp
new file mode 100644
index 0000000..c20f3c4
--- /dev/null
+++ b/lib-common/src/ContactsThumbnail.cpp
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+#include "Thumbnail.h"
+#include "ContactsCommon.h"
+#include "ContactsThumbnail.h"
+
+const char *groupDefaultThumbnail[] = {
+ GROUP_DEFAULT_THUMBNAIL_166,
+ GROUP_DEFAULT_THUMBNAIL_98,
+ GROUP_DEFAULT_THUMBNAIL_240
+};
+
+const char *groupThumbnail[] = {
+ GROUP_THUMBNAIL_166,
+ GROUP_THUMBNAIL_98,
+ GROUP_THUMBNAIL_240
+};
+
+const int thumbnailSize[] = {
+ 166,
+ 98,
+ 240
+};
+
+Evas_Object *createThumbnail(Evas_Object *parent, ThumbnailType thumbnailType, const char *thumbnailPath, bool setSize)
+{
+ Evas_Object *thumbnail = NULL;
+ const std::string edjPath = ContactsCommon::getAppEdjePath(THUMBNAIL_EDJ);
+
+ if(!thumbnailPath || (*thumbnailPath == '\0')) {
+
+ thumbnail = elm_image_add(parent);
+ elm_image_file_set(thumbnail, edjPath.c_str(), groupDefaultThumbnail[thumbnailType]);
+ if (setSize) {
+ evas_object_size_hint_min_set(thumbnail, ContactsCommon::getScaledWidth(thumbnailSize[thumbnailType]), ContactsCommon::getScaledHeight(thumbnailSize[thumbnailType]));
+ }
+
+ } else {
+ thumbnail = elm_layout_add(parent);
+ elm_layout_file_set(thumbnail, edjPath.c_str(), groupThumbnail[thumbnailType]);
+
+ Evas_Object *image = elm_image_add(thumbnail);
+ elm_image_file_set(image, thumbnailPath, nullptr);
+ elm_image_aspect_fixed_set(image, EINA_TRUE);
+ elm_image_fill_outside_set(image, EINA_TRUE);
+ if (setSize) {
+ evas_object_size_hint_min_set(image, ContactsCommon::getScaledWidth(thumbnailSize[thumbnailType]), ContactsCommon::getScaledHeight(thumbnailSize[thumbnailType]));
+ }
+ elm_object_part_content_set(thumbnail, PART_SWALLOW_IMAGE, image);
+ }
+
+ return thumbnail;
+}
diff --git a/lib-common/src/SystemSettingsMgr.cpp b/lib-common/src/SystemSettingsMgr.cpp
new file mode 100644
index 0000000..60ff20f
--- /dev/null
+++ b/lib-common/src/SystemSettingsMgr.cpp
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "SystemSettingsMgr.h"
+#include "ContactsDebug.h"
+
+void SystemSettingsMgr::__callSystemCb(system_settings_key_e key, void *data)
+{
+ SystemSettingsKeyEntry *key_entry = getInstance().__keyEntryGet(key);
+ for(auto &&callback_entry : key_entry->callbacksList)
+ {
+ callback_entry.callback(key, callback_entry.userData);
+ }
+}
+
+int SystemSettingsMgr::registerChangedCallback(system_settings_key_e key, system_settings_changed_cb callback, void *data)
+{
+ if(NULL == callback)
+ {
+ return SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER;
+ }
+
+ SystemSettingsKeyEntry *keyEntry = __keyEntryGet(key);
+ SystemSettingsCallbackEntry callbackEntry = {callback, data};
+ if (NULL == keyEntry )
+ {
+ SystemSettingsKeyEntry newKeyEntry;
+ newKeyEntry.key = key;
+ newKeyEntry.callbacksList.push_back(callbackEntry);
+ _systemSettingsKeyList.push_back(newKeyEntry);
+ system_settings_set_changed_cb(key, __callSystemCb, this);
+ return SYSTEM_SETTINGS_ERROR_NONE;
+ }
+
+ keyEntry->callbacksList.push_back(callbackEntry);
+ return SYSTEM_SETTINGS_ERROR_NONE;
+}
+
+int SystemSettingsMgr::unregisterChangedCallback(system_settings_key_e key, system_settings_changed_cb callback)
+{
+ if(NULL == callback)
+ {
+ return SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER;
+ }
+
+ SystemSettingsKeyEntry *keyEntry = __keyEntryGet(key);
+ if (NULL == keyEntry || keyEntry->callbacksList.empty())
+ {
+ return SYSTEM_SETTINGS_ERROR_NONE;
+ }
+
+ int callback_list_length = keyEntry->callbacksList.size();
+ for(int i = 0; i < callback_list_length; i++)
+ {
+ SystemSettingsCallbackEntry &callbackEntry = keyEntry->callbacksList[i];
+ if (callbackEntry.callback == callback)
+ {
+ keyEntry->callbacksList.erase(keyEntry->callbacksList.begin() + i);
+ break;
+ }
+ }
+
+ if (keyEntry->callbacksList.empty())
+ {
+ int ret = system_settings_unset_changed_cb(key);
+ WPWARN(-1 == ret, "system_settings_unset_changed_cb(%i) Failed", key);
+ __keyEntryDel(key);
+ }
+
+ return SYSTEM_SETTINGS_ERROR_NONE;
+}
+
+SystemSettingsMgr& SystemSettingsMgr::getInstance()
+{
+ static SystemSettingsMgr instance;
+ return instance;
+}
+
+SystemSettingsKeyEntry *SystemSettingsMgr::__keyEntryGet(system_settings_key_e key)
+{
+ int list_length = _systemSettingsKeyList.size();
+ for(int i = 0; i < list_length; i++)
+ {
+ if(_systemSettingsKeyList[i].key == key)
+ {
+ return &_systemSettingsKeyList[i];
+ }
+ }
+ return NULL;
+}
+
+void SystemSettingsMgr::__keyEntryDel(system_settings_key_e key)
+{
+ int list_length = _systemSettingsKeyList.size();
+ for(int i = 0; i < list_length; i++)
+ {
+ if(_systemSettingsKeyList[i].key == key)
+ {
+ _systemSettingsKeyList.erase(_systemSettingsKeyList.begin() + i);
+ break;
+ }
+ }
+}
diff --git a/lib-contact/CMakeLists.txt b/lib-contact/CMakeLists.txt
new file mode 100755
index 0000000..aed78f1
--- /dev/null
+++ b/lib-contact/CMakeLists.txt
@@ -0,0 +1,9 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+ADD_SUBDIRECTORY(ct-list)
+ADD_SUBDIRECTORY(ct-detail)
+ADD_SUBDIRECTORY(ct-importer)
+ADD_SUBDIRECTORY(ct-tab)
+ADD_SUBDIRECTORY(ct-setting)
+ADD_SUBDIRECTORY(ct-common)
+ADD_SUBDIRECTORY(ct-vcard)
diff --git a/lib-contact/ct-common/.cproject b/lib-contact/ct-common/.cproject
new file mode 100644
index 0000000..bc8f3e8
--- /dev/null
+++ b/lib-contact/ct-common/.cproject
@@ -0,0 +1,514 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.691514410">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.691514410" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="a" artifactName="ct-common" buildArtefactType="org.tizen.nativecore.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.staticLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.691514410" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.691514410." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.2009740696" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.593145699" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/ct-common}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.1227963111" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool command="i386-linux-gnueabi-ar" id="org.tizen.nativecore.tool.sbi.gnu.archiver.2091423949" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="i386-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.918331842" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.942532901" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.948776940" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.59936685" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.701449554" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc45.i386.core.staticLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1979815518" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.2143900558" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.772005435" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/inc"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.2058635380" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.564170628" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ <listOptionValue builtIn="false" value="_CONTACTS_EAS_ENABLE"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1470101398" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <option id="gnu.cpp.compiler.option.dialect.std.1804704199" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.736036519"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1495358801" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="i386-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.571385956" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.396717193" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.678618685" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1014425052" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.903860821" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc45.i386.core.staticLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.4265944" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.601685425" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.121396318" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1417547572" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.705446393" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.2081638084"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.512521038" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.89477899" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="i386-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1691048737" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.578109820" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1819646414" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.2137762097" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/Debug}&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.608169094" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="app-assist-efl"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1927193621" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.378611956" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1238590231" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.320194692" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1877021876" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.2098112705" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.2145131180" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1628962850" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.54477225" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.1639123928">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1639123928" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ct-common" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1639123928" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.1639123928." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.2102909390" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1362502348" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/ct-common}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1287607123" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.334471775" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.834073385" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1336392527" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1705549432" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1125036502" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1373967143" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1917199260" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1589651941" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1853379360" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/inc"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.524243909" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.82775161"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1881458277" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1359594252" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1649457629" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.815198694" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1848896510" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.607900344" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.780759297" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1189886472" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.172903393" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.828358636" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1039393934"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.464724140" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.702306790" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1789927415" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1215854844" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1149968053" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1174321458" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.686023384" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1996200748" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.42292016" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1892569141" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.535309428" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1958645038" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.869548175" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.21246305" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.365678594" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="ct-common.org.tizen.nativecore.target.sbi.gcc45.so.716984208" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.1639123928">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.691514410">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/ct-common"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/ct-common"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/lib-contact/ct-common/.project b/lib-contact/ct-common/.project
new file mode 100644
index 0000000..11dbf7c
--- /dev/null
+++ b/lib-contact/ct-common/.project
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ct-common</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1413282478425</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/lib-contact/ct-common/.tproject b/lib-contact/ct-common/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/lib-contact/ct-common/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/lib-contact/ct-common/CMakeLists.txt b/lib-contact/ct-common/CMakeLists.txt
new file mode 100755
index 0000000..86000d5
--- /dev/null
+++ b/lib-contact/ct-common/CMakeLists.txt
@@ -0,0 +1,15 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ct-common CXX)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_LIBRARY(${PROJECT_NAME} STATIC ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "contacts-common"
+)
diff --git a/lib-contact/ct-common/inc/CtCommon.h b/lib-contact/ct-common/inc/CtCommon.h
new file mode 100644
index 0000000..bf9fced
--- /dev/null
+++ b/lib-contact/ct-common/inc/CtCommon.h
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_COMMON_H_
+#define _CT_COMMON_H_
+
+#include <app.h>
+#include <Elementary.h>
+#include <contacts.h>
+#include <string>
+
+#include "CtString.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+//#define ELM_SCALE_SIZE(x) (x / elm_app_base_scale_get() * elm_config_scale_get())
+
+#define _EDJ(obj) (Evas_Object *)elm_layout_edje_get(obj)
+
+//App control launch
+//void ctCommonTerminateAppservice(Evas_Object *navi);
+//void ctCommonResetAppservice(Evas_Object *navi, app_control_h service);
+//void ctCommonUnlockUiForAppsvc(Evas_Object *navi);
+//int ctCommonServiceSendLaunchRequest(Evas_Object *navi, app_control_h service, app_control_reply_cb callback, void *user_data);
+//bool ctCommonIsUiLockedForAppsvc(Evas_Object *navi);
+
+enum DefaultIconType
+{
+ LIST_ICON,
+ DETAIL_ICON
+};
+
+//utils
+char* ctCommonMarkupToUtf8(const char *string);
+bool ctCommonCheckDirtyPhoneNumber(const std::string& str);
+void ctCommonRemoveNewline(char *src);
+Eina_List* ctCommonGetContactsList(int personId);
+Eina_List* ctCommonGetWritableContactList(int personId);
+void ctCommonDestroyRecordList(Eina_List *list);
+
+void ctCommonCleanNumber(const char *src, char *dest, int destSize);
+int ctCommonCheckUtf8(char c);
+
+void ctCommonGetProviderNameByAddressbookId(contacts_record_h recordAddressBook, int addressbookId ,char** providerName, char**userName);
+bool ctCommonIsValidPerson(const int personId);
+
+void ctCommonSendSimpleAppControlResult(app_control_h appControl, const char *key, const char *value, app_control_result_e result);
+
+int ctCommonGetEasDefaultGroupId(int addressbook_id);
+
+void* ctGetDllHandle(const char* dllName);
+int ctCommonGetAddressBookId(char* addressbookName);
+char* ctCommonGetAddressBookName(int addressbookId);
+
+Eina_List* ctCommonGetChekedDuplicatedNumberList(Eina_List *sourceList);
+Eina_List* ctCommonGetChekedDuplicatedEmailList(Eina_List *sourceList);
+
+char *getOtherDirectoryPath();
+std::string createVcardFile(contacts_record_h record);
+void sharePerson(int personId, bool isMyProfile);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // _CT_COMMON_H_
diff --git a/lib-contact/ct-common/inc/CtPath.h b/lib-contact/ct-common/inc/CtPath.h
new file mode 100755
index 0000000..2f1d57c
--- /dev/null
+++ b/lib-contact/ct-common/inc/CtPath.h
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_PATH_H_
+#define __CT_PATH_H_
+
+#ifndef CTIMGDIR
+#define CTIMGDIR "/usr/ug/res/images/ug-phone/contacts"
+#endif
+
+#ifndef CTHDIMGDIR
+#define CTHDIMGDIR "/usr/apps/org.tizen.contacts/res/images/contacts"
+#endif
+
+//TODO should not use WVGA images
+#define IMAGE_PATH "./contacts/images/WVGA/contact_images/"
+
+#define HD_IMAGE_PATH "./contacts/images/HD/"
+
+#define CONTACTS_EDJ "contacts/contacts.edj"
+#define LIST_LAYOUT_EDJ "contacts/list.edj"
+#define DETAIL_LAYOUT_EDJ "contacts/detail_layout.edj"
+#define SETTINGS_LAYOUT_EDJ "contacts/settings_layout.edj"
+#define GENLIST_EXTENDED_ITEM_EDJ "contacts/genlist_extended_item.edj"
+#define CUSTOM_BUTTON_STYLES_EDJ "common/custom_button_styles.edj"
+
+#define CT_IMG_LINKED_CONTACT_SIM1 CTIMGDIR"/logs_icon_sim_1_46.png"
+#define CT_IMG_LINKED_CONTACT_SIM2 CTIMGDIR"/logs_icon_sim_2_46.png"
+#define CT_IMG_LINKED_CONTACT_SIM_MMS CTIMGDIR"/logs_icon_sim_data_46.png"
+#define CT_IMG_LINKED_CONTACT_SIM_OFFICE CTIMGDIR"/logs_icon_sim_office_46.png"
+#define CT_IMG_LINKED_CONTACT_SIM_PHONE CTIMGDIR"/logs_icon_sim_phone_46.png"
+#define CT_IMG_LINKED_CONTACT_SIM_SMS CTIMGDIR"/logs_icon_sim_sms_46.png"
+#define CT_IMG_LINKED_CONTACT_SIM_HEART CTIMGDIR"/logs_icon_sim_heart_46.png"
+#define CT_IMG_LINKED_CONTACT_SIM_HOME CTIMGDIR"/logs_icon_sim_home_46.png"
+#define CT_IMG_LINKED_CONTACT_SIM_INTERNET CTIMGDIR"/logs_icon_sim_internet_46.png"
+
+#define CT_IMG_ICON_PHONE CTIMGDIR"/C02_icon_phone.png"
+#define CT_IMG_ICON_LINKED CTIMGDIR"/contacts_ic_linked.png"
+#define CT_IMG_ICON_LINK CTIMGDIR"/contacts_icon_link.png"
+#define CT_IMG_ICON_INPUT_DELETE CTIMGDIR"/contacts_icon_delete.png"
+#define CT_IMG_ICON_DETAIL_DEFAULT_CALLER_ID CTIMGDIR"/contacts_default_90.png"
+
+#define CT_IMG_ICON_LIST_DEFAULT_CALLER_ID CTIMGDIR"/contacts_caller_id_default_02.png"
+#define CT_IMG_ICON_LIST_DEFAULT_CALLER_ID_BG "contacts_caller_id_default_bg_02.png"
+#define CT_IMG_ICON_LIST_IMG_CHROMAKEY_74 CTIMGDIR"/contacts_caller_id_default_masking_02.png"
+#define CT_IMG_ICON_LIST_ADD_BUTTON CTHDIMGDIR"/core_floating_icon_01.png"
+#define CT_IMG_ICON_DETAIL_CALL CTIMGDIR"/contacts_icon_call.png"
+#define CT_IMG_ICON_DETAIL_MESSAGE CTIMGDIR"/contacts_icon_message.png"
+#define CT_IMG_ICON_INPUT_DELETE CTIMGDIR"/contacts_icon_delete.png"
+#define CT_IMG_ICON_INPUT_DEFAULT_CALLER_ID "contacts_caller_id_default.png"
+#define CT_IMG_ICON_INPUT_DEFAULT_CALLER_ID_BG "contacts_caller_id_default_bg.png"
+#define CT_IMG_ICON_INPUT_IMG_CHROMAKEY_134 CTIMGDIR"/contacts_caller_id_default_masking.png"
+//#define CT_IMG_ICON_DETAIL_FAVORITES CTIMGDIR"/contacts_icon_badgel.png"
+
+#define CT_IMG_ICON_INPUT_RELATIONSHIP HD_IMAGE_PATH"/contacts_btn_ic_multiple.png"
+#define CT_IMG_ICON_INPUT_CALL CTHDIMGDIR"/contacts_circle_btn_ic_call.png"
+#define CT_IMG_ICON_INPUT_EMAIL CTHDIMGDIR"/contacts_circle_btn_ic_email.png"
+#define CT_IMG_ICON_INPUT_NOTE CTHDIMGDIR"/contacts_circle_btn_ic_note.png"
+#define CT_IMG_ICON_INPUT_MORE CTHDIMGDIR"/contacts_circle_btn_ic_more.png"
+
+#define CT_IMG_ICON_DETAIL_FAVORITES CTIMGDIR"/contacts_icon_favorite.png"
+
+//HD
+#define CT_IMG_ICON_DETAIL_EMAIL CTHDIMGDIR"/contacts_btn_ic_email.png"
+#define CT_IMG_ICON_DETAIL_INTERNET CTHDIMGDIR"/contacts_btn_ic_Internet.png"
+
+#define GROUP_BTN_IC_MULTIPLE "contacts_btn_ic_multiple"
+
+#endif
diff --git a/lib-contact/ct-common/inc/CtProgressBarPopup.h b/lib-contact/ct-common/inc/CtProgressBarPopup.h
new file mode 100644
index 0000000..4948373
--- /dev/null
+++ b/lib-contact/ct-common/inc/CtProgressBarPopup.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_PROGRESS_BAR_POPUP_H_
+#define _CT_PROGRESS_BAR_POPUP_H_
+
+#include "WPopup.h"
+#include <string>
+
+
+class CtProgressBarPopup : public WPopup
+{
+public:
+ CtProgressBarPopup(int totalCount, const char* description);
+ CtProgressBarPopup(int totalCount, const char* description, bool autoUpdate);
+
+ void setProgressRemainCount(int count);
+ void setProgressStatusCount(int count);
+
+
+private:
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+ Evas_Object* __createContent(Evas_Object *parent);
+
+private:
+ CtProgressBarPopup();
+ virtual ~CtProgressBarPopup();
+
+private:
+
+ int __totalCount;
+ std::string __description;
+ Evas_Object* __progressbar;
+ Evas_Object* __contentLayout;
+ bool __timerUpdate;
+ int __remainCount;
+ int __statusCount;
+ Ecore_Timer* __timer;
+
+
+};
+
+
+#endif //_CT_PROGRESS_BAR_POPUP_H_
+
diff --git a/lib-contact/ct-common/inc/CtProgressController.h b/lib-contact/ct-common/inc/CtProgressController.h
new file mode 100644
index 0000000..1bdecc2
--- /dev/null
+++ b/lib-contact/ct-common/inc/CtProgressController.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_PROGRESS_CONTROLLER_H_
+#define _CT_PROGRESS_CONTROLLER_H_
+
+#include <functional>
+#include <vector>
+
+#include "IWUiObject.h"
+#include "WDefine.h"
+
+class CtProgressBarPopup;
+
+class WAPP_ASSIST_EXPORT CtProgressController
+{
+public:
+
+ /**
+ * @brief Get Progress popup
+ * @return Progress popup
+ */
+ CtProgressBarPopup *getProgressPopup();
+
+ /**
+ * @brief Run thread.
+ */
+ void run();
+
+ /**
+ * @brief Set End thread callback.
+ * @param[in] handlerFunc The callback
+ */
+ void setOnFinish(std::function<void(CtProgressController&)> handlerFunc);
+
+protected:
+ CtProgressController(const char *title, int totalCount);
+ virtual ~CtProgressController();
+
+ bool onProgress(int count);
+
+ virtual void onStart(Ecore_Thread *thread) = 0;
+ virtual void onCanceled() = 0;
+ virtual bool onCancel();
+
+ void cancel();
+ void createProgressPopup(const char *title, int totalCount);
+
+private:
+ static void onStart(void *data, Ecore_Thread *thread);
+ static void onFinish(void *data, Ecore_Thread *thread);
+ static void onCanceled(void *data, Ecore_Thread *thread);
+
+ WDISABLE_COPY_AND_ASSIGN(CtProgressController);
+
+private:
+ bool m_Cancel;
+ std::function<void(CtProgressController&)> m_FinishFunction;
+ CtProgressBarPopup *m_ProgressPopup;
+ WUiObjectPtr m_PopupMonitor;
+ Ecore_Thread *m_Thread;
+};
+
+#endif // _CT_PROGRESS_CONTROLLER_H_
diff --git a/lib-contact/ct-common/inc/CtRegistryMgr.h b/lib-contact/ct-common/inc/CtRegistryMgr.h
new file mode 100644
index 0000000..58b9d6e
--- /dev/null
+++ b/lib-contact/ct-common/inc/CtRegistryMgr.h
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _Ct_REGISTRY_MGR_H_
+#define _Ct_REGISTRY_MGR_H_
+
+
+#include <string>
+#include <map>
+
+#include "WDefine.h"
+
+//define here all using keys
+typedef enum {
+ REGISTRY_KEY_FAVORITE_UPDATED = 0,
+ REGISTRY_KEY_INSERTED_PERSON_ID,
+ REGISTRY_KEY_DELETED_PERSON_ID,
+ REGISTRY_KEY_INSERTED_PERSON,
+ REGISTRY_KEY_DELETED_PERSON,
+ REGISTRY_KEY_MFC_UPDATED,
+}ctRegistryKey;
+
+typedef enum {
+ REGISTRY_SUCCESS = 0,
+ REGISTRY_NO_DATA,
+ REGISTRY_FAIL,
+}ctRegistryErr;
+
+class WAPP_ASSIST_EXPORT CtRegistryMgr
+{
+public:
+ static CtRegistryMgr* getInstance();
+ void destroy();
+ ctRegistryErr setInt(ctRegistryKey key, int value);
+ ctRegistryErr setStr(ctRegistryKey key, const char *value);
+
+ ctRegistryErr getInt(ctRegistryKey key, int *value);
+ ctRegistryErr getStr(ctRegistryKey key, std::string &value);
+
+private:
+ typedef struct {
+ int intValue;
+ std::string strValue;
+ } CtRegistryData;
+
+
+private:
+ CtRegistryMgr();
+ virtual ~CtRegistryMgr();
+
+private:
+ static CtRegistryMgr* __instance;
+ std::map<ctRegistryKey, CtRegistryData*> __registry;
+
+};
+
+#endif /* _Ct_REGISTRY_MGR_H_ */
diff --git a/lib-contact/ct-common/inc/CtString.h b/lib-contact/ct-common/inc/CtString.h
new file mode 100755
index 0000000..1b37806
--- /dev/null
+++ b/lib-contact/ct-common/inc/CtString.h
@@ -0,0 +1,727 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_STRING_H__
+#define __CT_STRING_H__
+
+#include <app.h>
+#include <Elementary.h>
+#include <contacts.h>
+#include <string>
+
+#include "CtString.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#include <libintl.h>
+
+enum {
+ PHTEXT_KEYPAD,
+ PHTEXT_FAVORITES,
+ PHTEXT_SPEEDDIAL,
+ PHTEXT_VOICE_MAIL,
+ PHTEXT_LOGS,
+ PHTEXT_SPEED_DIAL_REQUEST,
+ PHTEXT_EMERGENCY_CALL,
+ PHTEXT_NO_LOGS,
+ PHTEXT_EXCEED_NUM_MAX_LENGTH,
+ PHTEXT_DELETING_LOGS,
+ PHTEXT_INITIALIZING,
+ PHTEXT_INCOMMING_CALL,
+ PHTEXT_OUTGOING_CALL,
+ PHTEXT_MISSED_CALL,
+ PHTEXT_SENT_MESSAGE,
+ PHTEXT_RECEIVED_MESSAGE,
+ PHTEXT_REJECTED_CALL_ABB,
+ PHTEXT_EDIT_NUMBER_BEFORE_CALL,
+ PHTEXT_SOUND_MODE_SET_TO_SOUND_ABB,
+ PHTEXT_SOUND_MODE_SET_TO_VIBRATE_ABB,
+ PHTEXT_ADD_PD_SEC_PAUSE_ABB,
+ PHTEXT_ALL_LOGS,
+ PHTEXT_ALL_CALLS_ABB,
+ PHTEXT_MISSED_CALLS_ABB,
+ PHTEXT_DIALLED_CALLS,
+ PHTEXT_RECEIVED_CALLS_ABB,
+ PHTEXT_REJECTED_CALLS,
+ PHTEXT_ALL_MESSAGES_M_SMS,
+ PHTEXT_SET_DIAL_TO_START_SCREEN,
+ PHTEXT_CALLER_ID_NOTIFICATION,
+ PHTEXT_CALLER_ID_NON_NOTIFICATION,
+ PHTEXT_CALLER_ID_DISPLAY,
+ PHTEXT_CALLER_ID_NOT_DISPLAY,
+ PHTEXT_INTERNATIONAL_CALL,
+ PHTEXT_SET_START_UP_SCREEN,
+ PHTEXT_SET_RECENT_CALLS_TO_START_SCREEN,
+ PHTEXT_SEARCH_LOCATION,
+ PHTEXT_VOICE_COURIER,
+ PHTEXT_VIEW_BY,
+ PHTEXT_SPEED_DIAL_SETTING,
+ PHTEXT_CONVERT_INTERNATIONAL_PREFIX,
+ PHTEXT_IMADOCO_SEARCH,
+ PHTEXT_IMADOCO_SIMPLE_SEARCH,
+ PHTEXT_CONNECT_TO_THE_SITE,
+ PHTEXT_UPDATE_EXISTING,
+ PHTEXT_EMERGENCY_CONTACTS,
+ PHTEXT_EMERGENCY_SERVICE,
+ PHTEXT_MINIMISE,
+ PHTEXT_UNAVAILABLE,
+ PHTEXT_PAYPHONE,
+ PHTEXT_REJECT_BY_USER,
+ PHTEXT_CONVERT_COUNTRY_CODE,
+ PHTEXT_SET_VOICEMAIL,
+ PHTEXT_PLAY_VOICE_MAIL,
+ PHTEXT_RECORD_KOE_TAKU,
+ PHTEXT_PLAY_KOE_TAKU,
+ PHTEXT_KOE_TAKU_LIST,
+ PHTEXT_KOE_TAKU_SETTING,
+ PHTEXT_START_VOICE_MAIL,
+ PHTEXT_STOP_VOICE_MAIL,
+ PHTEXT_SET_VOICE_MAIL,
+ PHTEXT_RING_TIME,
+ PHTEXT_START_CALL_FWD,
+ PHTEXT_STOP_CALL_FWD,
+ PHTEXT_SET_CALL_FWD,
+ PHTEXT_CHECK_SETTING,
+ PHTEXT_CHECK_OPERATION,
+ PHTEXT_ROAMING_GUIDE,
+ PHTEXT_INCOMING_SETTING,
+ PHTEXT_CALL_SETTING,
+ PHTEXT_MISSING_VOICEMAIL_NUMBER,
+ PHTEXT_ADD_NUMBER,
+ PHTEXT_PIN1_CHANGED,
+ PHTEXT_PIN2_CHANGED,
+ PHTEXT_PASSWORDS_DO_NOT_MATCH,
+ PHTEXT_PUK1_VERIFIED,
+ PHTEXT_PUK2_VERIFIED,
+ PHTEXT_PIN1_BLOCKED,
+ PHTEXT_PIN2_BLOCKED,
+ PHTEXT_INCORRECT_PUK1_CODE,
+ PHTEXT_INCORRECT_PUK2_CODE,
+ PHTEXT_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN,
+ PHTEXT_INCORRECT_PIN1,
+ PHTEXT_INCORRECT_PIN2,
+ PHTEXT_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE,
+ PHTEXT_SELECT_ITEM,
+ PHTEXT_SIM_CARD_BUSY,
+ PHTEXT_SIM_CARD_ERROR,
+ PHTEXT_SIM_BLOCKED,
+ PHTEXT_SIM_RUIM_CARD_LOCKED,
+ PHTEXT_SIM_CARD_INITIALISING_ING,
+ PHTEXT_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE,
+ PHTEXT_REJECTION_SETTINGS_ABB,
+ PHTEXT_VIEW_CONTACT_ABB,
+ PHTEXT_LOGENTRYUNKNOWN,
+ PHTEXT_NO_CALLS,
+ PHTEXT_NO_MISSED_CALLS,
+ PHTEXT_NO_DIALLED_CALLS,
+ PHTEXT_NO_RECEIVED_CALLS,
+ PHTEXT_NO_REJECTED_CALLS,
+ PHTEXT_NO_MESSAGES,
+ PHTEXT_CALL_DURATION,
+ PHTEXT_COPY_TO_DIALLING_SCREEN,
+ PHTEXT_DIALINPUT_SEND_NUMBER_TMO,
+ PHTEXT_SENT_MESSAGES,
+ PHTEXT_RECEIVED_MESSAGES,
+ PHTEXT_SELECT_SPEED_DIAL_CONTACT_ABB,
+ PHTEXT_VOICE_CALL,
+ PHTEXT_ALL_CALLS,
+ PHTEXT_RECEIVED_CALLS,
+ PHTEXT_LAST_CALL,
+ PHTEXT_VIEW_MORE,
+ PHTEXT_SEARCH_RESULT,
+ PHTEXT_ADDED_TO_REJECT_LIST,
+ PHTEXT_REMOVED_FROM_REJECT_LIST,
+ PHTEXT_UNKNOWN_M_NUMBER,
+ PHTEXT_RESET,
+ PHTEXT_MANAGE_REJECT_LIST_IN_CALL_SETTINGS,
+ PHTEXT_DO_NOT_SHOW_AGAIN,
+ PHTEXT_ASSIGN,
+ PHTEXT_ON_ABB,
+ PHTEXT_OFF_ABB_M_STATUS,
+ PHTEXT_SPEED_DIAL_SETTINGS_ABB,
+ PHTEXT_SWAP_SPEED_DIAL_NUMBER_ABB,
+ PHTEXT_VIEW,
+ PHTEXT_ENTER_NUMBER,
+ PHTEXT_SETTING_COMPLETED,
+ PHTEXT_NO_SPEED_DIAL_NUMBER_ASSIGNED_ASSIGN_NOW_Q,
+ PHTEXT_SWIPE_TO_CALL_SEND_MESSAGES_ABB,
+ PHTEXT_UNASSIGNED_M_STATUS_ABB,
+ PHTEXT_EMERGENCY_SERVICES_NUMBER_ABB,
+ PHTEXT_COUNTRY_CODES_ABB,
+ PHTEXT_DOCOMO_WORDING_SEARCH,
+ PHTEXT_DOCOMO_WORDING_UPDATE_EXISTING,
+ PHTEXT_DOCOMO_WORDING_CREATE_CONTACT,
+ PHTEXT_EMERGENCY_CALL_Q,
+ PHTEXT_ENTER_NUMBER_ABB,
+ PHTEXT_REMOVED,
+ PHTEXT_COUNTRY_CODE_NEED,
+ PHTEXT_REMOVE,
+ PHTEXT_PRIVATE_NUMBER,
+ PHTEXT_USE_TOUCH_TONE_KEYPAD,
+ PHTEXT_RETURN_TO_CALL_IN_PROGRESS,
+ PHTEXT_ADD_CALL,
+ PHTEXT_MINI_APPS_CANNOT_BE_OPENED_WHILE_SCREEN_READER_IS_ENABLED_SCREEN_READER_WILL_BE_DISABLED,
+ PHTEXT_CLOSE_APPLICATION_Q,
+ PHTEXT_MAXIMUM_NUMBER_OF_REJECT_LISTS_REACHED,
+ PHTEXT_UNABLE_TO_OPEN_PHONE_IN_MINI_MODE_DURING_CALL_ABB,
+ PHTEXT_HASH,
+ PHTEXT_ASTERISK,
+ PHTEXT_CREATE_CONTACT,
+ PHTEXT_SPEED_DIAL_ASSIGNED,
+ PHTEXT_REMOVE_FROM_EMERGENCY_CONTACT_SHORTCUTS_Q,
+ PHTEXT_UNSAVED_M_NOUN,
+ PHTEXT_LOGS_HEADER_DELETE_LOG_ITEMS_ABB,
+ PHTEXT_LOGS_POP_DELETE_THIS_LOG_ITEM_Q,
+ PHTEXT_LOGS_POP_DELETE_PD_LOG_ITEMS_Q,
+ PHTEXT_DELETE_LOG_ABB,
+ PHTEXT_CLOSE_APPLICATION_ABB,
+ PHTEXT_NO_SPEED_DIAL_ENTRY
+}; //PH_GET_TEXT_BASIC
+
+enum {
+ PHTEXT_OPEN_PS_PHONE,
+ PHTEXT_ENTER_THE_NUMBER_YOU_WANT_TO_DIAL,
+ PHTEXT_TAP_PS_TO_MAKE_A_VOICE_CALL,
+ PHTEXT_TAP_END_CALL,
+ PHTEXT_TAP_PS_TO_MAKE_A_VIDEO_CALL,
+ PHTEXT_NOW_YOU_KNOW_HOW_TO_MAKE_CALLS,
+ PHTEXT_ENTER_THE_NUMBER_YOU_WANT_TO_SAVE,
+ PHTEXT_TAP_ADD_TO_CONTACTS,
+ PHTEXT_ENTER_THE_CONTACT_DETAILS_AND_THEN_TAP_SAVE,
+ PHTEXT_THE_CONTACT_HAS_BEEN_SAVED,
+ PHTEXT_SELECT_A_CONTACT_FROM_THE_LIST,
+ PHTEXT_SELECT_A_SAVING_OPTION,
+}; //PH_GET_TEXT_HELP
+
+enum {
+ CTTEXT_ALL_CONTACTS,
+ CTTEXT_NOT_ASSIGNED,
+ CTTEXT_SDN,
+ CTTEXT_PHONE,
+ CTTEXT_GROUP,
+ CTTEXT_CREATE_CONTACT,
+ CTTEXT_DEFAULT,
+ CTTEXT_WEBSITE,
+ CTTEXT_IM,
+ CTTEXT_EMAIL,
+ CTTEXT_NUMBER,
+ CTTEXT_NOTE,
+ CTTEXT_POSTAL_ADDRESS,
+ CTTEXT_DETAILS,
+ CTTEXT_COMPANY,
+ CTTEXT_SORT_BY,
+ CTTEXT_FIRSTNAME,
+ CTTEXT_LASTNAME,
+ CTTEXT_MIDDLE,
+ CTTEXT_SUFFIX,
+ CTTEXT_NICKNAME,
+ CTTEXT_SELECT,
+ CTTEXT_POSTAL_CODE,
+ CTTEXT_COUNTRY,
+ CTTEXT_CITY,
+ CTTEXT_STREET,
+ CTTEXT_EXPORTED,
+ CTTEXT_DELETING_CONTACTS,
+ CTTEXT_REMOVING_CONTACT,
+ CTTEXT_IMPORTING_SIM_CONTACTS,
+ CTTEXT_IMPORTING_SD_CONTACTS,
+ CTTEXT_VCARD_CONTACTS,
+ CTTEXT_LOADING_VCARD,
+ CTTEXT_IMPORTED,
+ CTTEXT_LINKED_CONTACTS,
+ CTTEXT_MORE_INFORMATION,
+ CTTEXT_JOB_TITLE,
+ CTTEXT_DEPARTMENT,
+ CTTEXT_GROUP_NAME,
+ CTTEXT_ADD_ACCOUNT,
+ CTTEXT_ADDING_MEMBERS_TO_GROUP,
+ CTTEXT_CONTACTS_TO_DISPLAY,
+ CTTEXT_COUNT_CONTACTS,
+ CTTEXT_RELATIONSHIP,
+ CTTEXT_NO_HISTORIES,
+ CTTEXT_ADDING_ING,
+ CTTEXT_CUSTOM,
+ CTTEXT_TEMP_CUSTOM,
+ CTTEXT_INPUT_TEXT,
+ CTTEXT_ADDITIONAL_INFO,
+ CTTEXT_PO_BOX,
+ CTTEXT_STATE,
+ CTTEXT_FRIENDS,
+ CTTEXT_FAMILY,
+ CTTEXT_CO_WORKERS,
+ CTTEXT_EMERGENCY_CONTACTS,
+ CTTEXT_VIBRATIONS,
+ CTTEXT_SET_AS_DEFAULT,
+ CTTEXT_EVENT,
+ CTTEXT_1_CONTACT,
+ CTTEXT_WI_FI_DIRECT,
+ CTTEXT_EXPORT_TO_SIM_CARD,
+ CTTEXT_ACTIVITIES,
+ CTTEXT_GROUP_MESSAGE,
+ CTTEXT_GROUP_EMAIL,
+ CTTEXT_HOURS_AGO,
+ CTTEXT_MINUTE_AGO,
+ CTTEXT_REMOVE_Q,
+ CTTEXT_INSTANT_MESSENGER,
+ CTTEXT_GIVEN_NAME_FIRST,
+ CTTEXT_FAMILY_NAME_FIRST,
+ CTTEXT_DISPLAY_CONTACT,
+ CTTEXT_YANDEX_SEARCH,
+ CTTEXT_YANDEX_SEARCH_HPD,
+ CTTEXT_ONLY_CONTACTS_WITH_PHONES,
+ CTTEXT_DISPLAY_NAMES_BY,
+ CTTEXT_MOST_FREQUENT_CONTACTS,
+ CTTEXT_PHONETIC_LAST_NAME,
+ CTTEXT_PHONETIC_MIDDLE_NAME,
+ CTTEXT_PHONETIC_FIRST_NAME,
+ CTTEXT_PHONETIC_NAME,
+ CTTEXT_MAPS,
+ CTTEXT_EXPORT,
+ CTTEXT_IMPORT,
+ CTTEXT_DOCOMO_PHONEBOOK_JPN_DCM,
+ CTTEXT_MY_NUMBER_JPN_DCM,
+ CTTEXT_NTT_DOCOMO_INC_JPN_DCM,
+ CTTEXT_NUMBER_OF_REGISTERED_DATA_IN_PHONEBOOK_JPN_DCM,
+ CTTEXT_PDDATA_JPN_DCM,
+ CTTEXT_UNABLE_TO_DO_THIS_ACTION_NOT_ENOUGH_MEMORY_JPN_DCM,
+ CTTEXT_TURNED_INTERNATIONAL_USE_SETTING_OFF_BECAUSE_YOU_MOVED_ABROAD_MSG_JPN_DCM,
+ CTTEXT_EDITING_DATA_IS_DISCARDED_BECAUSE_CONTACTS_DATA_IS_ALTERED_JPN_DCM,
+ CTTEXT_MY_PROFILE_JPN_DCM,
+ CTTEXT_VERSION, //not use
+ CTTEXT_APPLICATION_NAME,
+ CTTEXT_HELP,
+ CTTEXT_CLOUD_MENU,
+ CTTEXT_OTHER_SETTINGS_JPN_DCM, //no STMS word.
+ CTTEXT_ABOUT_JPN_DCM, //no STMS word.
+ CTTEXT_PROVIDER_JPN_DCM, //no STMS word.
+ CTTEXT_PREFIX,
+ CTTEXT_ADDED_TO_HOME_SCREEN,
+ CTTEXT_GROUP_INDEX,
+ CTTEXT_UNABLE_TO_SAVE_NO_PHONE_NUMBER_ENTERED_FOR_EMERGENCY_CONTACT,
+ CTTEXT_ONLY_CONTACTS_WITH_PHONES_DESCRIPTION_MSG,
+ CTTEXT_WELCOME_TO_THE_CONTACTS_DASHBOARD, //UI
+ CTTEXT_ADD_YOUR_FAVOURITE_CONTACTS_TO_THE_DASHBOARD,
+ CTTEXT_SAVE_GROUP_TO,
+ CTTEXT_RECOMMENDED,
+ CTTEXT_SET_DEFAULT_NAME,
+ CTTEXT_MERGE_WITH_SAMSUNG_ACCOUNT,
+ CTTEXT_YOUR_FREQUENT_CONTACTS_WILL_BE_DISPLAYED_ON_THE_DASHBOARD,
+ CTTEXT_VCARD_ADDED_TO_CONTACTS,
+ CTTEXT_COPY_TO_CLIPBOARD,
+ CTTEXT_DEVICE,
+ CTTEXT_SD_CARD,
+ CTTEXT_TO_SIGN_IN_TO_YOUR_SAMSUNG_ACCOUNT_OR_CREATE_AN_ACCOUNT_TAP_CONTINUE,
+ CTTEXT_DISPLAY_CONTACTS_IN_SETTINGS,
+ CTTEXT_IMPORT_CONTACTS_FROM,
+ CTTEXT_EXPORT_CONTACTS_TO,
+ CTTEXT_BODY_NUMBER_M_PHONE,
+ CTTEXT_BODY_CALL_T_APPLICATIONSETTINGS,
+ CTTEXT_HEADER_SELECT_GROUP,
+ CTTEXT_BODY_SERVICE_NUMBERS,
+ CTTEXT_HEADER_SELECT_NUMBER,
+ CTTEXT_HEADER_SELECT_ITEM,
+ CTTEXT_ITAB_RECENT,
+ CTTEXT_MESSAGE_ALERT,
+ CTTEXT_FILE_TRANSFER,
+ CTTEXT_CONTACTS,
+ CTTEXT_PB_BODY_CHAT,
+ CTTEXT_PB_BODY_GALLERY,
+ CTTEXT_COM_BODY_RECORD_VIDEO,
+ CTTEXT_COM_BODY_MY_FILES,
+ CTTEXT_COM_BODY_CALENDAR,
+ CTTEXT_UNSELECT_ALL,
+ CTTEXT_BUTTON_T_TTS,
+ CTTEXT_EDITFIELD,
+ CTTEXT_DOUBLE_TAP_TO_OPEN_THE_LIST_T_TTS,
+ CTTEXT_SEND_ALL_NAMECARDS,
+ CTTEXT_SEND_INDIVIDUAL_NAMECARDS,
+ CTTEXT_EMPTY_SLOT_T_TTS,
+ CTTEXT_RECORD_SOUND,
+ CTTEXT_UNFAVOURITE_T_TTS,
+ CTTEXT_SEND_MESSAGE,
+ CTTEXT_SEND_EMAIL,
+ CTTEXT_SEND_MESSAGE_EMAIL,
+ CTTEXT_ACCOUNT,
+ CTTEXT_WHEN_YOU_TRANSFER_HELP_MSG,
+ CTTEXT_DELETE_CONTACT,
+ CTTEXT_CONTACT_SHARING_SETTINGS,
+ CTTEXT_GROUP_AND_GROUP_MEMBERS,
+ CTTEXT_GROUP_ONLY,
+ CTTEXT_CONTACT_PHOTO,
+ CTTEXT_ADD_PHOTO,
+ CTTEXT_REMOVE_FROM_FAVOURITES,
+ CTTEXT_MERGED,
+ CTTEXT_LINKED,
+ CTTEXT_CREATE,
+ CTTEXT_DISCARD_CHANGES_Q,
+ CTTEXT_SAMSUNG_ACCOUNT,
+ CTTEXT_TAKE_PICTURE,
+ CTTEXT_IMAGE,
+ CTTEXT_EMAIL_ADDRESS,
+ CTTEXT_PHONE_NUMBER,
+ CTTEXT_YOUR_DEVICE_CONTACTS_WILL_BE_MERGED_WITH_CONTACTS_FROM_YOUR_SAMSUNG_ACCOUNT,
+ CTTEXT_REORDER,
+ CTTEXT_AFTER_YOU_CREATE_CONTACTS_CONTACTS_WILL_BE_SHOWN_HERE,
+ CTTEXT_CLEAR_ALL,
+ CTTEXT_PROCESSING,
+ CTTEXT_ADD_CALLER_ID_Q,
+ CTTEXT_PICTURES_BY_PEOPLE,
+ CTTEXT_IMPORTING_PS_CANCELLED,
+ CTTEXT_TAB_LOGS,
+ CTTEXT_THIS_GROUP_WILL_BE_DELETED_ONE,
+ CTTEXT_THIS_GROUP_WILL_BE_DELETED_MANY,
+ CTTEXT_DELETE_GROUP_AND_DELETE_ALL_OF_ITS_MEMBERS_FROM_CONTACTS_Q,
+ CTTEXT_DELETE_PD_GROUPS_AND_DELETE_ALL_OF_THEIR_MEMBERS_FROM_CONTACTS_Q,
+ CTTEXT_SOME_INFORMATION_MIGHT_BE_LOST_CONTINUE_Q,
+ CTTEXT_GROUP_PHOTO,
+ CTTEXT_ADDRESS,
+ CTTEXT_EXPAND_BUTTON_T_TTS,
+ CTTEXT_ADD_ALL_CONTACTS,
+ CTTEXT_EDIT_FAVOURITES,
+ CTTEXT_MY_CONTACTS,
+ CTTEXT_BUSINESS_CARD_RECOGNITION_ABB,
+ CTTEXT_PHONE_ABB,
+ CTTEXT_DISCARD,
+ CTTEXT_ABCDEFGHIJKLMNOPQRSTUVWXYZ,
+ CTTEXT_REMOVE_MEMBER,
+ CTTEXT_FAVOURITE_CONTACTS,
+ CTTEXT_DELETE_CONTACTS,
+ CTTEXT_CONTACT_SAVED,
+ CTTEXT_DISPLAY_MAP_DCM,
+ CTTEXT_ADDRESS_ICONICIER_DCM,
+ CTTEXT_MEMO_ICONICIER_DCM,
+ CTTEXT_SITE_ICONICIER_DCM,
+ CTTEXT_SIM_CARD_DCM,
+ CTTEXT_CLOUD_DCM,
+ CTTEXT_APROACH_ANNOUNCEMENT,
+ CTTEXT_NEW_CONTACT_WILL_BE_SAVED_TO_CONTACTS_ON_DEVICE,
+ CTTEXT_NO_FAVOURITES,
+ CTTEXT_P1SS_IS_DISABLED_IN_THIS_APPLICATION_TO_ENABLE_THIS_FUNCTION_MSG,
+ CTTEXT_MAXIMUM_NUMBER_OF_RECIPIENTS_HPD_REACHED,
+ CTTEXT_UP_TO_PD_ITEMS_CAN_BE_SELECTED,
+ CTTEXT_YOUR_FREQUENTLY_USED_CONTACTS_WILL_BE_DISPLAYED_IN_YOUR_FAVOURITES,
+ CTTEXT_REMOVING_MEMBERS_FROM_GROUP_ING,
+ CTTEXT_DELETE_GROUP,
+ CTTEXT_CONTACTS_IN_PS,
+ CTTEXT_MY_PROFILE_SAVED,
+ CTTEXT_EXPORTED_TO_PS,
+ CTTEXT_FREQUENTLY_USED_CONTACTS_CANNOT_BE_REORDERED,
+ CTTEXT_FREQUENT_CONTACTS_ABB,
+ CTTEXT_PAGE_PD_OF_PD,
+ CTTEXT_TTS_RADIO_BUTTON,
+ CTTEXT_TTS_SELECTED,
+ CTTEXT_TTS_DESELECTED,
+ CTTEXT_BODY_DAY,
+ CTTEXT_BODY_MONTH,
+ CTTEXT_BODY_YEAR,
+ CTTEXT_TAB_T_TTS,
+ CTTEXT_SIM_1,
+ CTTEXT_SIM_2,
+ CTTEXT_REMOVE_FROM_PS_Q,
+ CTTEXT_DOUBLE_TAP_TO_ADD_IMAGE,
+ CTTEXT_AFTER_YOU_ADD_CONTACTS_TO_FAVOURITES_THEY_WILL_BE_SHOWN_HERE,
+ CTTEXT_GRID_VIEW,
+ CTTEXT_LIST_VIEW,
+ CTTEXT_SWIPE_TO_CALL_SEND_MSGS,
+ CTTEXT_SERVER_IS_NOT_RESPONDING,
+ CTTEXT_NETWORK_ERROR,
+ CTTEXT_TAP_TO_ADD_A_NEW_BUSINESS_CARD,
+ CTTEXT_AFTER_YOU_ADD_BUSINESS_CARDS_THEY_WILL_BE_SHOWN_HERE,
+ CTTEXT_CHANGE_CONTACT_PICTURE,
+ CTTEXT_DATE_OLDEST,
+ CTTEXT_DATE_MOST_RECENT,
+ CTTEXT_CHANGING_THE_CONTACT_PICTURE_WILL_DELETE_THE_IMAGE_OF_THE_SCANNED_BUSINESS_CARD,
+ CTTEXT_NO_BUSINESS_CARDS,
+ CTTEXT_BUSINESS_CARDS,
+ CTTEXT_SORT,
+ CTTEXT_EXPORTING_CONTACTS,
+ CTTEXT_EXPORTING_CONTACTS_ING,
+ CTTEXT_PRIMARY_CONTACTS,
+ CTTEXT_CREATE_PRIMARY_CONTACT_ABB,
+ CTTEXT_SELECT_FROM_CONTACTS,
+ CTTEXT_DELETE_THIS_CONTACT_Q,
+ CTTEXT_DELETE_PD_GROUPS_Q,
+ CTTEXT_DELETE_THIS_GROUP_Q,
+ CTTEXT_SELECT_PD_OR_MORE_CONTACTS_TO_LINK,
+ CTTEXT_UNABLE_TO_ADD_CONTACTS,
+ CTTEXT_ADD_TO_FAVOURITES_INDICATOR,
+ CTTEXT_REMOVE_FROM_FAVOURITES_INDICATOR,
+ CTTEXT_DELETE_BUSINESS_CARDS,
+ CTTEXT_DELETE_BUSINESS_CARD,
+ CTTEXT_DELETE_BUSINESS_CARD_Q,
+ CTTEXT_ON_OFF_BUTTON,
+ CTTEXT_NOTIFICATION,
+ CTTEXT_DELETE_GROUPS,
+ CTTEXT_UNABLE_TO_ADD_MORE_ITEMS,
+ CTTEXT_UNABLE_TO_SELECT_MORE_ITEMS_ABB,
+ CTTEXT_DELETING_THESE_BUSINESS_CARDS,
+ CTTEXT_DELETING_THIS_BUSINESS_CARD,
+ CTTEXT_UNKNOWN,
+ CTTEXT_SETTINGS,
+}; //CT_GET_TEXT_BASIC
+enum {
+ CTTEXT_TAP_ADD_TO_CONTACTS,
+ CTTEXT_ENTER_THE_CONTACT_DETAILS_AND_THEN_TAP_SAVE,
+ CTTEXT_THE_CONTACT_HAS_BEEN_SAVED,
+ CTTEXT_SELECT_A_CONTACT_FROM_THE_LIST,
+ CTTEXT_TAP_TO_CREATE_A_NEW_CONTACT,
+ CTTEXT_AFTER_YOU_MAKE_RECEIVE_CALLS_AND_SEND_RECEIVE_MESSAGES_OR_EMAILS_THE_LOGS_WILL_BE_SHOWN_HERE,
+ CTTEXT_SELECT_THE_CONTACTS_YOU_WANT_TO_ADD,
+ CTTEXT_TAP_ADD,
+ CTTEXT_TAP_ON_THE_AREA_INDICATED,
+ CTTEXT_ENTER_THE_CONTACT_DETAILS_THEN_TAP_SAVE,
+ CTTEXT_CONTACT_SAVED_HELP,
+ CTTEXT_FLICK_LEFT_OR_RIGHT_TO_CHANGE_PAGE,
+ CTTEXT_FLICK_UP_TO_SHRINK,
+ CTTEXT_FLICK_DOWN_TO_EXPAND,
+ CTTEXT_TAP_AND_HOLD_TO_ENTER_EDIT_MODE,
+ CTTEXT_TUTORIAL_COMPLETE,
+ CTTEXT_ADD_CONTACTS_TO_FAVOURITES,
+ CTTEXT_YOU_HAVE_SUCCESSFULLY_ADDED_THE_CONTACT_TO_YOUR_FAVOURITES,
+ CTTEXT_THE_LAST_SIZE_CHOSEN_WILL_BE_USED_IN_FAVOURITES,
+ CTTEXT_TAP_AND_HOLD_FAVOURITES_TO_REORDER_THEM,
+ CTTEXT_EDITING_FAVOURITES_ABB,
+ CTTEXT_TAP_ANYWHERE_OUTSIDE_OF_THE_FAVOURITES_AREA_TO_EXIT_EDIT_MODE,
+ CTTEXT_SELECT_PS,
+ CTTEXT_TAP_TO_REMOVE_A_FAVOURITE,
+ CTTEXT_FAVOURITES_IS_ONLY_AVAILABLE_IN_PORTRAIT_MODE,
+ CTTEXT_PRESS_THE_MENU_KEY,
+ CTTEXT_ADD_TO_FAVOURITES_HELP,
+ CTTEXT_PRESS_THE_MENU_KEY_THEN_SELECT_EDIT,
+}; //CT_GET_TEXT_HELP
+
+enum {
+ CTTEXT_INVALID_EMAIL,
+ CTTEXT_SAVE_FAIL,
+ CTTEXT_ERR_DB_LOCKED,
+ CTTEXT_ALREADY_EXIST,
+ CTTEXT_NO_GROUP,
+ CTTEXT_NO_NUMBER,
+ CTTEXT_NO_EMAIL,
+ CTTEXT_NO_CONTACTS,
+ CTTEXT_IMPORT_SIM_NO_DATA,
+ CTTEXT_EXCEED_LIMIT,
+ CTTEXT_SIM_MEMORY_FULL,
+ CTTEXT_NO_CONTACTS_HELP_TEXT,
+ CTTEXT_NO_HISTORIES_HELP_TEXT,
+ CTTEXT_UNABLE_TO_SEND_NAME_CARDS,
+ CTTEXT_NONE,
+ CTTEXT_NO_RESULTS_FOUND,
+ CTTEXT_NO_CONTACTS_GROUP_HELP_TEXT,
+};//CT_GET_TEXT_ERR
+
+enum {
+ PHTEXT_SELECT_LOGS,
+ PHTEXT_SELECT_SPEED_DIAL_CONTACTS,
+ PHTEXT_UNBLOCK,
+ PHTEXT_CHANGE_CONTACT,
+ PHTEXT_ADD_PAUSE,
+ PHTEXT_ADD_WAIT,
+ PHTEXT_EXIT,
+}; // PH_GET_TEXT_BASE_OP
+
+enum {
+ PHTEXT_BODY_SUNDAY,
+ PHTEXT_BODY_MONDAY,
+ PHTEXT_BODY_TUESDAY,
+ PHTEXT_BODY_WEDNESDAY,
+ PHTEXT_BODY_THURSDAY,
+ PHTEXT_BODY_FRIDAY,
+ PHTEXT_BODY_SATURDAY,
+}; // PH_GET_TEXT_DAY
+
+enum {
+ CTTEXT_SET_DEFAULT_NUMBER,
+ CTTEXT_SET_DEFAULT_EMAIL,
+ CTTEXT_TAKE_A_PHOTO,
+ CTTEXT_ADD_TO_HOME,
+ CTTEXT_SAVE_CONTACT_TO,
+ CTTEXT_SAVE_TO,
+ CTTEXT_IMPORT_SIM_CONTACTS,
+ CTTEXT_GIVEN_NAME,
+ CTTEXT_FAMILY_NAME,
+ CTTEXT_SHOW,
+ CTTEXT_HIDE,
+ CTTEXT_CREATE_GROUP,
+ CTTEXT_EXPORT_CONTACTS,
+ CTTEXT_IMPORT_CONTACTS,
+ CTTEXT_LINK_CONTACT,
+ CTTEXT_LINK_CONTACTS,
+ CTTEXT_UNLINK_CONTACT,
+ CTTEXT_ALL_LINKED_CONTACTS_WILL_BE_DELETED,
+ CTTEXT_ADD_TO_FAVOURITES,//UI
+ CTTEXT_EDIT_GROUP,//UI
+ CTTEXT_ADD_MEMBER,
+ CTTEXT_GO_TO_FACEBOOK,
+ CTTEXT_SHARE,
+ CTTEXT_SAVE_CONTACT_Q,
+ CTTEXT_REMOVE,
+ CTTEXT_DELETING_SYNC_CONTACT_DELETE_MSG,
+ CTTEXT_DELETING_LINKED_SYNC_CONTACT_DELETE_MSG,
+ CTTEXT_CONTACT_INCLUDED_READ_ONLY_ACCOUNTS_NOTDELETED_BUT_HIDDEN_MSG,
+ CTTEXT_ALL_JOINED_CONTACTS_WILL_BE_DELETED,
+ CTTEXT_DELETING_THIS_BUSINESS_CARD_WILL_DELETE_THE_CONTACTS_LINKED_TO_IT_DELETE_Q,
+ CTTEXT_DELETE_PD_CONTACTS_Q,
+ CTTEXT_DELETE,
+}; //CT_GET_TEXT_BASE_OP
+
+enum {
+ CTTEXT_REL_NONE,
+ CTTEXT_REL_ASSISTANT,//
+ CTTEXT_REL_BROTHER,
+ CTTEXT_REL_CHILD,
+ CTTEXT_REL_DOMESTIC_PARTNER,
+ CTTEXT_REL_FATHER,
+ CTTEXT_REL_FRIEND,
+ CTTEXT_REL_MANAGER,//
+ CTTEXT_REL_MOTHER,
+ CTTEXT_REL_PARENT,
+ CTTEXT_REL_PARTNER,
+ CTTEXT_REL_REFERRED_BY,
+ CTTEXT_REL_RELATIVE,
+ CTTEXT_REL_SISTER,
+ CTTEXT_REL_SPOUSE,
+ CTTEXT_REL_CUSTOM,
+ CTTEXT_REL_ASSISTANT_JPN,
+}; //CT_GET_TEXT_RELATIONSHIP_TYPE
+#if 0
+enum {
+ CTTEXT_EMAIL_TYPE_OTHER,
+ CTTEXT_EMAIL_TYPE_CUSTOM,
+ CTTEXT_EMAIL_TYPE_HOME,
+ CTTEXT_EMAIL_TYPE_WORK,
+ CTTEXT_EMAIL_TYPE_MOBILE,
+};
+
+enum {
+ CTTEXT_ADDRESS_TYPE_OTHER,
+ CTTEXT_ADDRESS_TYPE_CUSTOM,
+ CTTEXT_ADDRESS_TYPE_HOME,
+ CTTEXT_ADDRESS_TYPE_WORK,
+};
+
+enum {
+ CTTEXT_WEBSITE_TYPE_OTHER,
+ CTTEXT_WEBSITE_TYPE_CUSTOM,
+ CTTEXT_WEBSITE_TYPE_HOME,
+ CTTEXT_WEBSITE_TYPE_WORK,
+};
+#endif
+
+enum {
+ PH_GET_TEXT_BASIC,
+ PH_GET_TEXT_BASE_OP,
+ PH_GET_TEXT_DAY,
+ CT_GET_TEXT_BASIC,
+ CT_GET_TEXT_ERR,
+ CT_GET_TEXT_BASE_OP,
+ CT_GET_TEXT_NUM_TYPE,
+ CT_GET_TEXT_EMAIL_TYPE,
+ CT_GET_TEXT_WEBSITE_TYPE,
+ CT_GET_TEXT_POSTAL_TYPE,
+ CT_GET_TEXT_EVENT_TYPE,
+ CT_GET_TEXT_IM_TYPE,
+ CT_GET_TEXT_MONTH,
+ CT_GET_TEXT_RELATIONSHIP_TYPE,
+ PH_GET_TEXT_HELP,
+ CT_GET_TEXT_HELP,
+};
+
+#define V_(str) dgettext("contacts", str)
+
+const char* ctGetContactsString(const char* did);
+
+enum {
+ PH_SYS_SK_OK,
+ CT_SYS_SK_SAVE,
+ CT_SYS_SK_DONE,
+ PH_SYS_SK_EDIT,
+ PH_SYS_SK_DELETE,
+ PH_SYS_SK_CANCEL,
+ PH_SYS_SK3_BLOCK,
+ PH_SYS_SK_NO,
+ PH_SYS_SK_YES,
+ CT_SYS_SK_ADD,
+ CT_SYS_SK_MORE,
+ CT_SYS_SK_NEXT,
+ PH_SYS_BODY_CALL,
+ PH_SYS_BODY_MESSAGE,
+ PH_SYS_BODY_VIDEO_CALL,
+ PH_SYS_BODY_UNKNOWN,
+ PH_SYS_BODY_SELECT_ALL,
+ PH_SYS_BODY_CONTACTS,
+ PH_SYS_BODY_DETAILS,
+ PH_SYS_BODY_TODAY,
+ PH_SYS_BODY_YESTERDAY,
+ PH_SYS_BODY_PREVIOUS,
+ PH_SYS_BODY_NONAME,
+ CT_SYS_BODY_CREATE,
+ CT_SYS_BODY_MOVE,
+ CT_SYS_BODY_COPY,
+ CT_SYS_BODY_PHONE,
+ CT_SYS_BODY_SEARCH,
+ CT_SYS_BODY_BLUETOOTH,
+ CT_SYS_BODY_EMAIL,
+ CT_SYS_BODY_SIM,
+ CT_SYS_BODY_MEMORYCARD,
+ CT_SYS_BODY_NAME,
+ PH_SYS_BODY_ALL,
+ PH_SYS_POP_FAIL,
+ PH_SYS_POP_FAILED,
+ PH_SYS_POP_CLOSE,
+ PH_SYS_POP_REMOVED,
+ PH_SYS_POP_DELETED,
+ PH_SYS_POP_INCORRECT_PASSWORD,
+ PH_SYS_POP_ALREDY_EXISTS,
+ PH_SYS_POP_SELECTED,
+ CT_SYS_POP_SUCCESS,
+ CT_SYS_POP_ERROR,
+ CT_SYS_POP_MOVED,
+ CT_SYS_POP_ADDED,
+ CT_SYS_POP_NOT_ENOUGH_MEMORY,
+ CT_SYS_POP_NOTHING_SELECTED,
+ CT_SYS_POP_FILE_NOT_FOUND,
+ CT_SYS_POP_ADDRESS,
+ PH_SYS_OPT_ADD_TO_CONTACTS,
+ PH_SYS_BODY_SELECTED_DATA_NOT_FOUND,
+ PH_SYS_POP_DELETE_Q,
+ CT_SYS_SK_SET,
+ CT_SYS_SK_RESET,
+ CT_SYS_OPT_MY_FILES,
+ CT_SYS_DAYS_AGO,
+ CT_SYS_BODY_SETTINGS,
+ CT_SYS_BODY_BACK,
+ CT_SYS_BODY_MORE,
+ CT_SYS_BODY_NO_CONTENTS,
+ CT_SYS_BODY_PD_SELECTED,
+ CT_PB_BODY_ABCDEFGHIJKLMNOPQRSTUVWXYZ_M_INDEXLIST,
+ CT_SYS_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED,
+ CT_SYS_SK_SELECT,
+ CT_SYS_OPT_S_MEMO,
+ CT_SYS_BODY_CONTINUE,
+ CT_SYS_POP_CANCELLED,
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // __CT_STRING_H__
+
diff --git a/lib-contact/ct-common/inc/CtThemeMgr.h b/lib-contact/ct-common/inc/CtThemeMgr.h
new file mode 100644
index 0000000..473cc2b
--- /dev/null
+++ b/lib-contact/ct-common/inc/CtThemeMgr.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_THEME_MGR_H_
+#define _CT_THEME_MGR_H_
+
+#include <string>
+#include <vector>
+#include <memory>
+
+#include "WDefine.h"
+
+class WAPP_ASSIST_EXPORT CtThemeMgr
+{
+public:
+ static CtThemeMgr* getInstance();
+ void destroy();
+ void setObjectTheme(Evas_Object *obj);
+ Elm_Theme* getTheme();
+ bool addExtensionTheme(const char *themePath);
+ bool removeExtensionTheme(const char *themePath);
+
+
+private:
+ CtThemeMgr();
+ virtual ~CtThemeMgr();
+
+private:
+ static CtThemeMgr* __instance;
+ Elm_Theme *__theme;
+ std::vector<std::string> __themeList;
+
+};
+
+#endif /* _CT_THEME_MGR_H_ */
diff --git a/lib-contact/ct-common/inc/CtThread.h b/lib-contact/ct-common/inc/CtThread.h
new file mode 100644
index 0000000..353f5dc
--- /dev/null
+++ b/lib-contact/ct-common/inc/CtThread.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_THREAD_H_
+#define _CT_THREAD_H_
+
+#include <pthread.h>
+#include <Eina.h>
+#include <Ecore.h>
+
+
+typedef void* PTHREAD_FN;
+typedef void (*ctThreadJob)(void *data);
+typedef void (*ctThreadCompleteCb)(void *data);
+
+class CtThread
+{
+public:
+ CtThread(ctThreadJob job, void *jobData, ctThreadCompleteCb completeCb, void *completeCbData);
+
+ void start();
+ void cancel();
+ void destroy();
+
+
+private:
+
+ ~CtThread();
+
+ void __cancel();
+
+ static Eina_Bool __ctThreadTimerCb(void *data);
+ static PTHREAD_FN __ctThreadJob(void *data);
+
+
+private:
+
+ bool __isAlive;
+ bool __isComplete;
+ pthread_t __pthread;
+ Ecore_Timer *__timer;
+ ctThreadJob __job;
+ void *__jobData;
+ ctThreadCompleteCb __completeCb;
+ void *__completeCbData;
+
+};
+
+
+#endif //_CT_THREAD_H_
+
diff --git a/lib-contact/ct-common/inc/CtType.h b/lib-contact/ct-common/inc/CtType.h
new file mode 100644
index 0000000..c64ba9f
--- /dev/null
+++ b/lib-contact/ct-common/inc/CtType.h
@@ -0,0 +1,195 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_TYPE_H_
+#define _CT_TYPE_H_
+
+#include <app_control.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#define CT_EDITFIELD_MAX_CHAR 1000
+#define CT_MAIN_NAME_EDITFIELD_MAX_CHAR 5005
+#define CT_SIMNAME_EDITFIELD_MAX_CHAR 14
+#define CT_SIMNUMBER_EDITFIELD_MAX_CHAR 40
+
+
+#define CT_TEXT_MAX_LEN 1024
+#define CT_HELP_TEXT_MAX_LEN 4096
+#define CT_TEXT_SHORT_LEN 256
+#define CT_EDITFIELD_MAX_BUFFER 1000*3
+#define CT_SEARCHBAR_MAX_CHAR 100
+
+#define CT_KEY_APPSVC_TIMER "appsvc_timer"
+#define CT_KEY_SERVICE "app_control_h"
+#define CT_KEY_LIST_MFC_PERSON_IDS "db/private/org.tizen.contacts/list_mfc_person_ids"
+#define CT_KEY_LIST_DISPLAY_ADDRESSBOOK "db/private/org.tizen.contacts/list_display_addressbook"
+#define CT_KEY_INPUT_BASE_ADDRESSBOOK "db/private/org.tizen.contacts/input_base_addressbook"
+#define CT_KEY_SETTING_CONTACT_SHARING_SETTINGS "db/private/org.tizen.contacts/contact_sharing_settings"
+#define CT_KEY_CONTACT_CREATE_FIRST "db/private/org.tizen.contacts/contact_create_first"
+#define CT_KEY_MYPROFILE_CREATE_FIRST "db/private/org.tizen.contacts/myprofile_create_first"
+#define CT_KEY_DISPLAY_WITH_NUMBER "db/private/org.tizen.contacts/display_contacts_with_number"
+#define CT_KEY_LAST_SELECTED_TAB_INDEX_FOR_PHONE "db/private/org.tizen.contacts/last_selected_tab_index_for_phone"
+#define CT_KEY_SHOW_LINK_CONTACTS_TOAST_POPUP "db/private/org.tizen.contacts/show_link_contacts_toast_popup"
+#define CT_KEY_NUM_OF_LINKABLE_CONTACTS "db/private/org.tizen.contacts/num_of_linkable_contacts"
+#define CT_SIM_ADDRESSBOOK_NAME "http://tizen.samsung.com/addressbook/sim"
+#define CT_EAS_ADDRESSBOOK_NAME "Microsoft Exchange ActiveSync"
+#define CT_EAS_ADDRESSBOOK_DISPLAY_NAME "Exchange ActiveSync"
+#define CT_FACEBOOK_ADDRESSBOOK_NAME "Sync apps with Facebook"
+
+#define CT_KEY_SIM_CARD_NUMBER "sim_card_number"
+
+//////////////////////// List Data..We need to hide these enum into list data class////////////////////////
+typedef struct {
+ int addressbookId;
+ int accountId;
+ char *iconPath;
+ char *addressbookName;
+ char *displayName;
+ bool display;
+ int mode;
+} CtAddressbookInfo;
+
+typedef enum {
+ LIST_ADDRESSBOOK_MODE_NONE,
+ LIST_ADDRESSBOOK_MODE_ALL,
+ LIST_ADDRESSBOOK_MODE_VISIBLE,
+ LIST_ADDRESSBOOK_MODE_INVISIBLE,
+}CtListAddressbookMode;
+
+
+//////////////////////////////////////////////////////////////////////////////////////////////////
+
+typedef enum {
+ LIST_DATA_DEFAULT,//Add enumtype refer to op
+ LIST_DATA_ALL_PERSON,
+ LIST_DATA_ALL_FAVORITES,
+ LIST_DATA_PERSON_EXCEPT_SIM,//without sim
+ //Carrier matching
+ LIST_DATA_PERSON_WITH_NUMBER,
+ LIST_DATA_PERSON_EXCEPT_FACEBOOK,
+
+}CtListDataType;
+
+typedef enum {
+ LIST_CTRL_DEFAULT, //go to detail
+ LIST_CTRL_DELETE_CONTACTS,
+ LIST_CTRL_SHARE_CONTACTS,
+ LIST_CTRL_ADD_FAVORITES,
+ LIST_CTRL_REMOVE_FAVORITES,
+ LIST_CTRL_REORDER_FAVORITES,
+ LIST_CTRL_LINK_CONTACT,
+
+ // Brazil carrier matching
+ LIST_CTRL_CARRIER_MATCH_SYNC_CONTACTS,
+
+ //for app control
+ LIST_CTRL_REQUEST_UPDATE_CONTACT, //for choose
+
+ LIST_CTRL_REQUEST_SELECT_FOR_PERSON, //for pick single
+ LIST_CTRL_REQUEST_SELECT_FOR_NUMBER, //
+ LIST_CTRL_REQUEST_SELECT_FOR_EMAIL, //
+ LIST_CTRL_REQUEST_SELECT_FOR_NUMBER_OR_EMAIL, //
+ LIST_CTRL_REQUEST_SELECT_FOR_URL, //
+ LIST_CTRL_REQUEST_SELECT_FOR_VCARD, //
+
+ LIST_CTRL_REQUEST_CHECK_FOR_PERSON, //for pick multiple
+ LIST_CTRL_REQUEST_CHECK_FOR_NUMBER, //
+ LIST_CTRL_REQUEST_CHECK_FOR_EMAIL, //
+ LIST_CTRL_REQUEST_CHECK_FOR_VCARD, //
+ LIST_CTRL_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL, //
+ LIST_CTRL_REQUEST_CHECK_FOR_LINK_CONTACTS,
+
+ LIST_CTRL_SHARE_CONTACT_INFO,
+}CtListCtrlType;
+
+typedef enum {
+ LIST_VIEW_DEFAULT,
+ LIST_VIEW_CHECK,
+ LIST_VIEW_REORDER,
+}CtListViewType;
+
+typedef enum {
+ CHECK_NONE = -1,
+ CHECK_OFF,
+ CHECK_ON,
+}CtCheckState;
+
+typedef enum {
+ RESULT_FAILED = APP_CONTROL_RESULT_FAILED,
+ RESULT_SUCCESS = APP_CONTROL_RESULT_SUCCEEDED,
+ RESULT_CANCELLED = APP_CONTROL_RESULT_CANCELED
+} CtResultType;
+
+enum {
+ INPUT_ADDED_ITEM_INDEX_NONE = 0,
+ INPUT_ADDED_ITEM_INDEX_PHONETIC_INFO,
+ INPUT_ADDED_ITEM_INDEX_NICKNAME,
+ INPUT_ADDED_ITEM_INDEX_ORGANIZATION,
+ INPUT_ADDED_ITEM_INDEX_NUMBER,
+ INPUT_ADDED_ITEM_INDEX_EMAIL,
+ INPUT_ADDED_ITEM_INDEX_NOTE,
+ INPUT_ADDED_ITEM_INDEX_URL,
+ INPUT_ADDED_ITEM_INDEX_ADDRESS,
+ INPUT_ADDED_ITEM_INDEX_IM,
+ INPUT_ADDED_ITEM_INDEX_RELATIONSHIP,
+};
+
+typedef enum {
+ CTTEXT_TYPE_CUSTOM = 1,
+ CTTEXT_TYPE_MOBILE,
+ CTTEXT_TYPE_WORK,
+ CTTEXT_TYPE_HOME,
+ CTTEXT_TYPE_MAIN,
+ CTTEXT_TYPE_FAX_WORK,
+ CTTEXT_TYPE_FAX_HOME,
+ CTTEXT_TYPE_PAGER,
+ CTTEXT_TYPE_OTHER,
+}CtInputNumberDataType;
+
+typedef enum {
+ CTTEXT_EMAIL_TYPE_CUSTOM,
+ CTTEXT_EMAIL_TYPE_HOME,
+ CTTEXT_EMAIL_TYPE_WORK,
+ CTTEXT_EMAIL_TYPE_OTHER,
+}CtInputEmailDataType;
+
+typedef enum {
+ CTTEXT_MESSENGER_TYPE_CUSTOM,
+ CTTEXT_MESSENGER_TYPE_AIM,
+ CTTEXT_MESSENGER_TYPE_YAHOO,
+ CTTEXT_MESSENGER_TYPE_SKYPE,
+ CTTEXT_MESSENGER_TYPE_QQ,
+ CTTEXT_MESSENGER_TYPE_HANGOUTS,
+ CTTEXT_MESSENGER_TYPE_ICQ,
+ CTTEXT_MESSENGER_TYPE_JABBER,
+}CtInputMessengerDataType;
+
+typedef enum {
+ LIST_QUERY_DEFAULT,
+ LIST_QUERY_FAVORITE,
+ LIST_QUERY_MFC,
+}CtListQueryType;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/lib-contact/ct-common/inc/CtView.h b/lib-contact/ct-common/inc/CtView.h
new file mode 100755
index 0000000..8f25f07
--- /dev/null
+++ b/lib-contact/ct-common/inc/CtView.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_VIEW_H_
+#define _CT_VIEW_H_
+
+#include "WView.h"
+
+class WAPP_ASSIST_EXPORT CtView
+{
+public:
+ CtView();
+ virtual ~CtView();
+
+public:
+ int getEmergencyMode();
+ int getEasyMode();
+
+protected:
+ //virtual void onAppPause();
+ //virtual void onAppResume();
+ //virtual bool onWinRotate();
+ virtual void onLanguageChanged() = 0;
+ //virtual void onEasyModeChanged();
+ //virtual void onEmergencyModeChanged();
+
+ Evas_Object* createBaseLayout(Evas_Object* parent);
+
+private:
+ static void __languageChangedCb(void* data, Evas_Object* obj, void* event_info);
+
+private:
+ Evas_Object *__layout;
+ int __easyMode;
+ int __emergencyMode;
+};
+
+#endif // _CT_VIEW_H_
diff --git a/lib-contact/ct-common/inc/ICtChangeListener.h b/lib-contact/ct-common/inc/ICtChangeListener.h
new file mode 100755
index 0000000..d5bdf96
--- /dev/null
+++ b/lib-contact/ct-common/inc/ICtChangeListener.h
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _ICT_CHANGE_LISTENER_H_
+#define _ICT_CHANGE_LISTENER_H_
+
+class ICtChangeListener
+{
+public:
+ virtual ~ICtChangeListener(){};
+ virtual void onDbChanged(const char* viewUri) = 0;
+ virtual void onCompleteGetContacts(int offset) = 0;
+ virtual void onConditionChagned() = 0;
+};
+
+#endif // _CT_CHANGE_LISTENER_H_
+
diff --git a/lib-contact/ct-common/src/CtCommon.cpp b/lib-contact/ct-common/src/CtCommon.cpp
new file mode 100755
index 0000000..f3984d5
--- /dev/null
+++ b/lib-contact/ct-common/src/CtCommon.cpp
@@ -0,0 +1,1069 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <dlfcn.h>
+#include <Elementary.h>
+#include <app.h>
+#include <Eina.h>
+//#include <efl_assist.h>
+#include <metadata_extractor.h>
+#include <account.h>
+#include <tapi_common.h>
+#include <telephony/telephony.h>
+#include <storage.h>
+#include <string>
+#include <fcntl.h>
+//#include "csc-feature/csc-feature.h"
+
+
+#include <errno.h>
+#include <system_settings.h>
+
+#include "CtCommon.h"
+#include "CtType.h"
+#include "CtPath.h"
+#include "ContactsDebug.h"
+#include "ContactsAppControl.h"
+
+#define FILE_ACCESS_MODE 0644
+#define VCARD_NAME_SUFFIX_LEN 16
+
+static bool __ctCommongetProviderCb(char* appId, char* label, char* locale, void* userData);
+
+char* ctCommonMarkupToUtf8(const char *string)
+{
+ unsigned int i;
+ char *ret = NULL;
+
+ ret = elm_entry_markup_to_utf8(string);
+ WPRET_VM(NULL == ret, NULL, "elm_entry_markup_to_utf8() return NULL");
+
+ for (i = 0; i < strlen(ret); i++)
+ if (' ' != ret[i]) return ret;
+
+ ret[0] = '\0';
+ return ret;
+}
+
+//static Eina_Bool __ctCommonAppsvcUiLockTimerCb(void *user_data)
+//{
+// WENTER();
+// WDEBUG("[PAUSE] __common_appsvc_ui_lock_timer_cb");
+// Evas_Object *navi = (Evas_Object*)user_data;
+// WPRET_VM (NULL == navi, ECORE_CALLBACK_CANCEL,"navi null");
+//
+// evas_object_freeze_events_set(navi, EINA_FALSE);
+// evas_object_data_del(navi, CT_KEY_APPSVC_TIMER);
+//
+// return ECORE_CALLBACK_CANCEL;
+//}
+//
+//static void __ctCommonAppsvcNaviDelCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+//{
+// WENTER();
+// WDEBUG("[PAUSE] __common_appsvc_navi_del_cb");
+// Evas_Object *navi = (Evas_Object*)obj;
+// Ecore_Timer *timer = NULL;
+//
+// timer = (Ecore_Timer*)evas_object_data_del(navi, CT_KEY_APPSVC_TIMER);
+// if (timer)
+// ecore_timer_del(timer);
+//}
+
+//void ctCommonTerminateAppservice(Evas_Object *navi)
+//{
+// app_control_h service = NULL;
+// WPRET_M(NULL == navi, "navi null");
+//
+// service = (app_control_h)evas_object_data_del(navi, CT_KEY_SERVICE);
+// WPRET_M(NULL == service, "service null");
+//
+// WHIT();
+// int err = app_control_send_terminate_request(service);
+// app_control_destroy(service);
+//
+// WDEBUG("yunju 222 %p %p err%d", navi, service, err);
+//}
+
+//void ctCommonResetAppservice(Evas_Object *navi, app_control_h service)
+//{
+// app_control_h service_old = NULL;
+// WPRET_M(NULL == navi, "navi null");
+//
+// service_old = (app_control_h)evas_object_data_del(navi, CT_KEY_SERVICE);
+// if (service_old)
+// app_control_destroy(service_old);
+//
+// evas_object_data_set(navi, CT_KEY_SERVICE, service);
+//
+// WDEBUG("yunju 111 %p %p", navi, service);
+//}
+
+//void ctCommonUnlockUiForAppsvc(Evas_Object *navi)
+//{
+// WENTER();
+// WDEBUG("[PAUSE] phct_common_unlock_ui_for_appsvc");
+// Ecore_Timer *timer = NULL;
+// WPRET_M(NULL == navi,"navi null");
+//
+// evas_object_freeze_events_set(navi, EINA_FALSE);
+//
+// timer = (Ecore_Timer*)evas_object_data_del(navi, CT_KEY_APPSVC_TIMER);
+// if (timer) // ui lock for appsvc
+// ecore_timer_del(timer);
+// evas_object_event_callback_del_full(navi, EVAS_CALLBACK_DEL, __ctCommonAppsvcNaviDelCb, navi);
+//}
+//
+//int ctCommonServiceSendLaunchRequest(Evas_Object *navi, app_control_h service, app_control_reply_cb callback, void *user_data)
+//{
+// WENTER();
+// const double ui_lock_duration = 3.0;
+// Ecore_Timer *appsvc_timer = NULL;
+// if (navi) {
+// evas_object_freeze_events_set(navi, EINA_TRUE);
+//
+// appsvc_timer = ecore_timer_add(ui_lock_duration, __ctCommonAppsvcUiLockTimerCb, navi);
+// evas_object_data_set(navi, CT_KEY_APPSVC_TIMER, appsvc_timer);
+//
+// evas_object_event_callback_add(navi, EVAS_CALLBACK_DEL, __ctCommonAppsvcNaviDelCb, navi);
+// }
+//
+// return app_control_send_launch_request(service, callback, user_data);
+//}
+
+//bool ctCommonIsUiLockedForAppsvc(Evas_Object *navi)
+//{
+// WPRET_VM(NULL == navi, false, "navi null");
+// if (evas_object_data_get(navi, CT_KEY_APPSVC_TIMER))
+// return true;
+// return false;
+//}
+
+bool ctCommonCheckDirtyPhoneNumber(const std::string& str)
+{
+ for(auto it =str.begin();it != str.end(); it++) {
+ switch (*it)
+ {
+ case '/':
+ case 'N':
+ case '.':
+ case '0' ... '9':
+ case 'p':
+ case 'w':
+ case 'P':
+ case 'W':
+ case '#':
+ case '*':
+ case '(':
+ case ')':
+ case ',':
+ case ';':
+ case '+':
+ break;
+
+ default:
+ return false;
+ }
+ }
+
+ return true;
+}
+
+void ctCommonRemoveNewline(char *src)
+{
+ int i=0;
+
+ if(!src)
+ return;
+
+ while(src[i])
+ {
+ if (src[i] == '\n')
+ src[i] = ' ';
+ i++;
+ }
+}
+
+Eina_List* ctCommonGetContactsList(int personId)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h contactRecord = NULL;
+ contacts_record_h contactRecordClone = NULL;
+ contacts_list_h contactList = NULL;
+ Eina_List *contactRcordList = NULL;
+ contacts_filter_h filter = NULL;
+ contacts_query_h query = NULL;
+
+ err = contacts_filter_create(_contacts_contact._uri, &filter);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contactcs_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_int(filter, _contacts_contact.person_id, CONTACTS_MATCH_EQUAL, personId);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_filter_add_int() Failed(%d)", err);
+ contacts_filter_destroy(filter);
+ return NULL;
+ }
+ err = contacts_query_create(_contacts_contact._uri, &query);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_query_create() Failed(%d)", err);
+ contacts_filter_destroy(filter);
+ return NULL;
+ }
+ err = contacts_query_set_filter(query, filter);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_query_set_filter() Failed(%d)", err);
+ contacts_filter_destroy(filter);
+ contacts_query_destroy(query);
+ return NULL;
+ }
+ err = contacts_db_get_records_with_query(query, 0, 0, &contactList);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_db_get_records_with_query() Failed(%d)", err);
+ contacts_list_destroy(contactList, true);
+ contacts_filter_destroy(filter);
+ contacts_query_destroy(query);
+ return NULL;
+ }
+
+ contacts_filter_destroy(filter);
+ contacts_query_destroy(query);
+
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(contactList, &contactRecord)) {
+ err = contacts_record_clone(contactRecord, &contactRecordClone);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_clone() Failed(%d)", err);
+ break;
+ }
+ contactRcordList = eina_list_append(contactRcordList, contactRecordClone);
+ contacts_list_next(contactList);
+ }
+ contacts_list_destroy(contactList, true);
+ return contactRcordList;
+}
+
+Eina_List* ctCommonGetWritableContactList(int personId)
+{
+ int addressbookId;
+ int addressbookMode;
+ Eina_List *contactList = NULL;
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h addressbookRecord = NULL;
+ contacts_record_h contactRecordClone = NULL;
+
+ WPRET_VM(personId <= 0, NULL, "Invalid parameter(%d)", personId);
+
+ Eina_List* list = ctCommonGetContactsList(personId);
+ WPRET_VM(list == NULL, NULL, "contact list is null");
+
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h contactRecord = (contacts_record_h)data;
+
+ err = contacts_record_get_int(contactRecord, _contacts_contact.address_book_id, &addressbookId);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ break;
+ }
+
+ err = contacts_db_get_record(_contacts_address_book._uri, addressbookId, &addressbookRecord);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_db_get_record() Failed(%d)", err);
+ break;
+ }
+
+ err = contacts_record_get_int(addressbookRecord, _contacts_address_book.mode, &addressbookMode);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ err = contacts_record_destroy(addressbookRecord, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
+ break;
+ }
+
+ char *name = NULL;
+ err = contacts_record_get_str_p(addressbookRecord, _contacts_address_book.name, &name);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+ err = contacts_record_destroy(addressbookRecord, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
+ break;
+ }
+
+ if (addressbookMode & CONTACTS_ADDRESS_BOOK_MODE_READONLY) {
+ err = contacts_record_destroy(addressbookRecord, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
+ continue;
+ }
+
+ err = contacts_record_destroy(addressbookRecord, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
+
+ err = contacts_record_clone(contactRecord, &contactRecordClone);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_clone() Failed(%d)", err);
+ break;
+ }
+
+ contactList = eina_list_append(contactList, contactRecordClone);
+ }
+
+ ctCommonDestroyRecordList(list);
+
+ return contactList;
+}
+
+void ctCommonDestroyRecordList(Eina_List *list)
+{
+ int err = CONTACTS_ERROR_NONE;
+ void *data = NULL;
+ EINA_LIST_FREE(list, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ err = contacts_record_destroy(record, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_clone() Failed(%d)", err);
+ }
+}
+
+bool __ctCommonCheckDirtyNumber(char digit)
+{
+ switch (digit)
+ {
+ case '/':
+ case 'N':
+ case '.':
+ case '0' ... '9':
+ //case 'p':
+ //case 'w':
+ //case 'P':
+ //case 'W':
+ case '#':
+ case '*':
+ case '(':
+ case ')':
+ case ',':
+ case ';':
+ case '+':
+ case '-':
+ //case ' ':
+ return false;
+ default:
+ return true;
+ }
+}
+
+int ctCommonCheckUtf8(char c)
+{
+ if (c < 128) {
+ return 1;
+ }
+ else if ((c & (char)0xe0) == (char)0xc0) {
+ return 2;
+ }
+ else if ((c & (char)0xf0) == (char)0xe0) {
+ return 3;
+ }
+ else if ((c & (char)0xf8) == (char)0xf0) {
+ return 4;
+ }
+ else if ((c & (char)0xfc) == (char)0xf8) {
+ return 5;
+ }
+ else if ((c & (char)0xfe) == (char)0xfc) {
+ return 6;
+ }
+ else {
+ return -1;
+ }
+}
+
+void ctCommonCleanNumber(const char *src, char *dest, int destSize)
+{
+ int sPos = 0, dPos = 0, charType;
+
+ if (NULL == src) {
+ WDEBUG("The parameter(src) is NULL");
+ }
+ else {
+ while (src[sPos] != 0) {
+ if (dPos >= destSize-2) {
+ break;
+ }
+ charType = ctCommonCheckUtf8(src[sPos]);
+ if (charType <= 1) {
+ if (__ctCommonCheckDirtyNumber(src[sPos])) {
+ sPos++;
+ continue;
+ }
+ dest[dPos++] = src[sPos++];
+ }
+ else {
+ sPos += charType;
+ }
+ }
+ }
+
+ dest[dPos] = 0;
+}
+
+bool __ctCommongetProviderCb(char* appId, char* label, char* locale, void* userData)
+{
+ char ** name = (char **)userData;
+ if(strcmp(locale,"default") == 0) {
+ *name = SAFE_STRDUP(label);
+ }
+
+ return true;
+}
+
+void ctCommonGetProviderNameByAddressbookId(contacts_record_h recordAddressBook, int addressbookId ,char** providerName, char**userName)
+{
+ WHIT();
+ int ret;
+ int accountId;
+ char *appId = NULL;
+ char *addressbookName = NULL;
+ char *addressbookUsername = NULL;
+ account_h account = NULL;
+ int err = CONTACTS_ERROR_NONE;
+// contacts_record_h record = NULL;
+
+ //WASSERT(NULL == providerName);
+ SAFE_FREE(*providerName);
+
+ if (addressbookId <0){
+ return;
+ }
+
+ err = contacts_record_get_str_p(recordAddressBook,_contacts_address_book.name,&addressbookName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+
+ WDEBUG("addressbookName %s", addressbookName);
+
+ if(!strcmp(addressbookName, "http://tizen.org/addressbook/phone"))
+ *providerName = strdup(V_("IDS_PB_OPT_DEVICE"));
+ else if(!strcmp(addressbookName, CT_SIM_ADDRESSBOOK_NAME"/0")) {
+ *providerName = strdup("SIM1");
+ }
+ else if(!strcmp(addressbookName, CT_SIM_ADDRESSBOOK_NAME"/1")) {
+ *providerName = strdup("SIM2");
+ }
+ else if(!strcmp(addressbookName, CT_SIM_ADDRESSBOOK_NAME)) { //for one sim device
+ *providerName = strdup("SIM");
+ }
+
+ err = contacts_record_get_int(recordAddressBook, _contacts_address_book.account_id, &accountId);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ return;
+ }
+
+ if (0 == accountId)
+ return;
+
+ account = NULL;
+ ret = account_create(&account);
+ if (ACCOUNT_ERROR_NONE != ret) {
+ WERROR("account_create() Failed(%d)", ret);
+ return;
+ }
+
+ ret = account_query_account_by_account_id(accountId, &account);
+ if (ACCOUNT_ERROR_NONE != ret) {
+ WERROR("account_query_account_by_account_id(%d) Failed(%d)", accountId, ret);
+ account_destroy(account);
+ return;
+ }
+
+ if(userName) {
+ ret = account_get_user_name(account, &addressbookUsername);
+ if (ACCOUNT_ERROR_NONE != ret) {
+ WERROR("account_get_display_name() Failed(%d)", ret);
+ account_destroy(account);
+ return;
+ }
+ WDEBUG("user name:%s", addressbookUsername);
+ if(addressbookUsername)
+ *userName = addressbookUsername;
+ else
+ *userName = NULL;
+ }
+
+ ret = account_get_package_name(account, &appId);
+ if (ACCOUNT_ERROR_NONE != ret) {
+ WERROR("account_get_display_name() Failed(%d)", ret);
+ account_destroy(account);
+ return;
+ }
+
+ WERROR("package_name = %s", appId);
+
+ ret = account_type_query_label_by_app_id(__ctCommongetProviderCb, appId, providerName);
+ WPWARN(ACCOUNT_ERROR_NONE != ret, "account_type_query_label_by_app_id() Failed(%d)", ret);
+ if(*providerName == NULL){
+ WERROR("provider_name is null");
+ ret = account_get_domain_name(account, providerName);
+ WPWARN(ACCOUNT_ERROR_NONE != ret, "account_get_domain_name() is Failed(%d)", ret);
+ }
+ account_destroy(account);
+ free(appId);
+
+ WDEBUG("providerName %s addressbookName %s", *providerName, addressbookName);
+ if(!strcmp(*providerName, CT_EAS_ADDRESSBOOK_NAME)) {
+ *providerName = strdup(CT_EAS_ADDRESSBOOK_DISPLAY_NAME);
+ if(userName) {
+ *userName = strdup(addressbookName);
+ free(addressbookUsername);
+ }
+ }
+ return;
+}
+
+bool ctCommonIsValidPerson(const int personId)
+{
+ int err = CONTACTS_ERROR_NONE;
+ bool isValidPerson = false;
+ contacts_record_h tempRecord = NULL;
+
+ err = contacts_db_get_record(_contacts_person._uri, personId, &tempRecord);
+ if (CONTACTS_ERROR_NONE == err) {
+ isValidPerson = true;
+ }
+
+ contacts_record_destroy(tempRecord, true);
+
+ return isValidPerson;
+}
+
+void ctCommonSendSimpleAppControlResult(app_control_h appControl, const char *key, const char *value, app_control_result_e result)
+{
+ WDEBUG("result %d, key %s, value %s", result, key, value);
+ app_control_h appControlResult = NULL;
+
+ app_control_create(&appControlResult);
+
+ if (key && value) {
+ app_control_add_extra_data(appControlResult, key, value);
+ }
+
+ app_control_reply_to_launch_request(appControlResult, appControl, result);
+ app_control_destroy(appControlResult);
+}
+
+int ctCommonGetEasDefaultGroupId(int addressbook_id)
+{
+ contacts_filter_h filter = NULL;
+ contacts_query_h query = NULL;
+ contacts_list_h list = NULL;
+ int ret = 0;
+ contacts_record_h group = NULL;
+ contacts_record_h addressbook = NULL;
+ int eas_default_group_id =0;
+ int account_id = 0;
+ account_h account = NULL;
+ char *domain_name = NULL;
+
+ ret = contacts_db_get_record(_contacts_address_book._uri, addressbook_id, &addressbook);
+ WPRET_VM(CONTACTS_ERROR_NONE != ret, -1, "contacts_db_get_record() Failed(%d)", ret);
+
+ ret = contacts_record_get_int(addressbook, _contacts_address_book.account_id, &account_id);
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_record_get_int() Failed(%d)", ret);
+
+ contacts_record_destroy(addressbook, true);
+ return -1;
+ }
+
+ ret = contacts_record_destroy(addressbook, true);
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_record_destroy() Failed(%d)", ret);
+ return -1;
+ }
+
+ if (0 == account_id) {
+ return -1;
+ }
+
+ ret = account_create(&account);
+ if (ACCOUNT_ERROR_NONE != ret) {
+ WERROR("account_create() Failed(%d)", ret);
+
+ return -1;
+ }
+
+ ret = account_query_account_by_account_id(account_id, &account);
+ if (ACCOUNT_ERROR_NONE != ret) {
+ WERROR("account_query_account_by_account_id() Failed(%d)", ret);
+ account_destroy(account);
+ return -1;
+ }
+
+ ret = account_get_domain_name(account, &domain_name);
+ if (ACCOUNT_ERROR_NONE != ret) {
+ WERROR("account_get_display_name() Failed(%d)", ret);
+ if(domain_name)
+ free(domain_name);
+ account_destroy(account);
+ return -1;
+ }
+ if(domain_name && strcmp(domain_name, "Exchange") != 0){
+ WERROR("domain name: %s", domain_name);
+ free(domain_name);
+ account_destroy(account);
+ return -1;
+ }
+ free(domain_name);
+ account_destroy(account);
+
+
+ ret = contacts_filter_create(_contacts_group._uri, &filter);
+ WPRET_VM(CONTACTS_ERROR_NONE != ret, -1, "contacts_filter_create() Failed(%d)", ret);
+
+ ret = contacts_filter_add_int(filter, _contacts_group.address_book_id, CONTACTS_MATCH_EQUAL, addressbook_id);
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_filter_add_int() Failed(%d)", ret);
+ contacts_filter_destroy(filter);
+ return -1;
+ }
+
+ ret = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_filter_add_operator() Failed(%d)", ret);
+ contacts_filter_destroy(filter);
+ return -1;
+ }
+
+ ret = contacts_filter_add_str(filter, _contacts_group.name, CONTACTS_MATCH_EXACTLY, "Contacts");
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_filter_add_str() Failed(%d)", ret);
+ contacts_filter_destroy(filter);
+ return -1;
+ }
+
+ ret = contacts_query_create(_contacts_group._uri, &query);
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_query_create() Failed(%d)", ret);
+ contacts_filter_destroy(filter);
+ return -1;
+ }
+
+ ret = contacts_query_set_filter(query, filter);
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_query_create() Failed(%d)", ret);
+ contacts_query_destroy(query);
+ contacts_filter_destroy(filter);
+ return -1;
+ }
+
+ ret = contacts_db_get_records_with_query(query, 0, 0, &list);
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_db_get_records_with_query() Failed(%d)", ret);
+ contacts_list_destroy(list, true);
+ contacts_query_destroy(query);
+ contacts_filter_destroy(filter);
+ return -1;
+ }
+
+ ret = contacts_list_get_current_record_p(list, &group);
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_list_get_current_record_p() Failed(%d)", ret);
+ contacts_list_destroy(list, true);
+ contacts_query_destroy(query);
+ contacts_filter_destroy(filter);
+ return -1;
+ }
+
+ ret = contacts_record_get_int(group, _contacts_group.id, &eas_default_group_id);
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_record_get_int() Failed(%d)", ret);
+ contacts_list_destroy(list, true);
+ contacts_query_destroy(query);
+ contacts_filter_destroy(filter);
+ return -1;
+ }
+
+ ret = contacts_list_destroy(list, true);
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_record_get_int() Failed(%d)", ret);
+ contacts_query_destroy(query);
+ contacts_filter_destroy(filter);
+ return -1;
+ }
+
+ ret = contacts_query_destroy(query);
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_query_destroy() Failed(%d)", ret);
+ contacts_filter_destroy(filter);
+ return -1;
+ }
+
+ ret = contacts_filter_destroy(filter);
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_record_get_int() Failed(%d)", ret);
+ return -1;
+ }
+
+ return eas_default_group_id;
+}
+
+void* ctGetDllHandle(const char* dllName)
+{
+ if (strcmp(dllName, "libct-detail.so") == 0) {
+ static void* detailDllHandle = NULL;
+ if (detailDllHandle == NULL) {
+ detailDllHandle = dlopen("libct-detail.so", RTLD_LAZY);
+ if (!detailDllHandle) {
+ WERROR("%s", dlerror());
+ }
+ }
+
+ return detailDllHandle;
+ }
+ else if (strcmp(dllName, "libct-setting.so") == 0) {
+ static void* settingDllHandle = NULL;
+ if (settingDllHandle == NULL) {
+ settingDllHandle = dlopen("libct-setting.so", RTLD_LAZY);
+ if (!settingDllHandle) {
+ WERROR("%s", dlerror());
+ }
+ }
+
+ return settingDllHandle;
+ }
+
+ return NULL;
+}
+
+int ctCommonGetAddressBookId(char* addressbookName)
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_filter_h filter = NULL;
+ contacts_query_h query = NULL;
+ contacts_list_h list = NULL;
+ contacts_record_h record = NULL;
+ int addressbookId = -1;//0 is phone addressbook id
+ WPRET_VM(NULL == addressbookName, -1, "addressbookName is null");
+
+ err = contacts_filter_create(_contacts_address_book._uri, &filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_str(filter,_contacts_address_book.name , CONTACTS_MATCH_FULLSTRING, addressbookName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_str() Failed(%d)", err);
+ err = contacts_query_create(_contacts_address_book._uri, &query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)", err);
+ err = contacts_query_set_filter(query, filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_filter() Failed(%d)", err);
+ err = contacts_db_get_records_with_query(query, 0, 0, &list);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_records_with_query() Failed(%d)", err);
+ err = contacts_list_get_current_record_p(list, &record);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_current_record_p() Failed(%d)", err);
+ if (record){
+ err = contacts_record_get_int(record,_contacts_address_book.id, &addressbookId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ }
+
+ contacts_list_destroy(list, true);
+ contacts_filter_destroy(filter);
+ contacts_query_destroy(query);
+
+ return addressbookId;
+}
+
+char* ctCommonGetAddressBookName(int addressbookId)
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+ char* val = NULL;
+ char* name = NULL;
+
+ err = contacts_db_get_record(_contacts_address_book._uri, addressbookId, &record);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)", err);
+ err = contacts_record_get_str_p(record, _contacts_address_book.name, &val);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+
+ name = SAFE_STRDUP(val);
+ err = contacts_record_destroy(record, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
+
+ return name;
+}
+
+Eina_List* ctCommonGetChekedDuplicatedNumberList(Eina_List *sourceList)
+{
+ WENTER();
+ bool bAlready = false;
+ void *info = NULL;
+ Eina_List *list = NULL;
+ Eina_List *checkedDuplicatedList = NULL;
+
+ if(NULL == sourceList)
+ return NULL;
+
+ EINA_LIST_FOREACH(sourceList, list, info) {
+ contacts_record_h recordClone = (contacts_record_h)info;
+ void *checked_info = NULL;
+ Eina_List *checked_list = NULL;
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(recordClone, _contacts_number.number, &value);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ EINA_LIST_FOREACH(checkedDuplicatedList, checked_list, checked_info) {
+ contacts_record_h checked_recordClone = (contacts_record_h)checked_info;
+ char *checked_value = NULL;
+ err = contacts_record_get_str_p(checked_recordClone, _contacts_number.number, &checked_value);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ if (strcmp(value, checked_value) == 0) {
+ bAlready = true;
+ err = contacts_record_destroy(recordClone, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_clone() Failed(%d)", err);
+ break;
+ }
+ }
+ WDEBUG("bAlready %d %s", bAlready, value);
+ if(false == bAlready)
+ checkedDuplicatedList = eina_list_append(checkedDuplicatedList, info);
+ }
+
+ eina_list_free(sourceList);
+
+ return checkedDuplicatedList;
+}
+
+Eina_List* ctCommonGetChekedDuplicatedEmailList(Eina_List *sourceList)
+{
+ WENTER();
+ bool bAlready = false;
+ void *info = NULL;
+ Eina_List *list = NULL;
+ Eina_List *checkedDuplicatedList = NULL;
+
+ if(NULL == sourceList)
+ return NULL;
+
+ EINA_LIST_FOREACH(sourceList, list, info) {
+ contacts_record_h recordClone = (contacts_record_h)info;
+ void *checked_info = NULL;
+ Eina_List *checked_list = NULL;
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(recordClone, _contacts_email.email, &value);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ EINA_LIST_FOREACH(checkedDuplicatedList, checked_list, checked_info) {
+ contacts_record_h checked_recordClone = (contacts_record_h)checked_info;
+ char *checked_value = NULL;
+ err = contacts_record_get_str_p(checked_recordClone, _contacts_email.email, &checked_value);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ if (strcmp(value, checked_value) == 0) {
+ bAlready = true;
+ err = contacts_record_destroy(recordClone, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_clone() Failed(%d)", err);
+ break;
+ }
+ }
+ WDEBUG("bAlready %d %s", bAlready, value);
+ if(false == bAlready)
+ checkedDuplicatedList = eina_list_append(checkedDuplicatedList, info);
+ }
+
+ eina_list_free(sourceList);
+
+ return checkedDuplicatedList;
+}
+
+static bool __isUsableVcardChar(char c)
+{
+ switch (c) {
+ case '\\':
+ case '/':
+ case ':':
+ case '*':
+ case '?':
+ case '\"':
+ case '<':
+ case '>':
+ case '|':
+ case ';':
+ case ' ':
+ return false;
+ default:
+ return true;
+ }
+}
+
+static bool check_blank_string(const char *display)
+{
+ for (size_t i = 0; display[i]; ++i) {
+ if (display[i] != ' ') {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+static bool __storageCb(int storageId, storage_type_e type, storage_state_e state, const char *path, void *userData)
+{
+ if (type == STORAGE_TYPE_INTERNAL) {
+ int *internalStorage = (int *)userData;
+ *internalStorage = storageId;
+ return false;
+ }
+ return true;
+}
+
+char *getOtherDirectoryPath()
+{
+ WHIT();
+ char *dirPath = NULL;
+ int storageId = 0;
+ int error = storage_foreach_device_supported(__storageCb, &storageId);
+ WPRET_VM(error != STORAGE_ERROR_NONE, NULL, "storage_foreach_device_supported() failed");
+
+ error = storage_get_directory(storageId, STORAGE_DIRECTORY_OTHERS, &dirPath);
+ WPRET_VM(error != STORAGE_ERROR_NONE, NULL, "storage_get_directory() failed");
+
+ return dirPath;
+}
+
+static std::string __makeVcardName(const char* displayName)
+{
+ WHIT();
+ char *dirPath = getOtherDirectoryPath();
+ WPRET_VM(!dirPath, "", "directory path is empty");
+
+ struct stat buf;
+ std::string firstFilePath;
+ std::string filePathStr = dirPath;
+ free(dirPath);
+ filePathStr += '/';
+
+ size_t nameLength = strlen(displayName);
+
+ if (false == check_blank_string(displayName)) {
+ size_t dirPathLength = filePathStr.length();
+
+ for (size_t i = 0; i < nameLength; ++i) {
+ if ((filePathStr.length() - dirPathLength + 1) > (NAME_MAX - VCARD_NAME_SUFFIX_LEN)) {
+ WDEBUG("File name is too long. It will be cut.");
+ break;
+ }
+ if (__isUsableVcardChar(displayName[i])) {
+ filePathStr += displayName[i];
+ } else if (iscntrl(displayName[i])) {
+ filePathStr += ' ';
+ }
+ }
+ } else {
+ const char *unknown = V_("IDS_LOGS_MBODY_UNKNOWN");
+
+ filePathStr += unknown;
+ }
+
+ firstFilePath = filePathStr;
+ firstFilePath += ".vcf";
+
+ if (stat(firstFilePath.c_str(), &buf) != 0) {
+ filePathStr = firstFilePath;
+ } else {
+ size_t i = 1;
+
+ do {
+ char filePath[BUFSIZ] = { '\0' };
+ snprintf(filePath, BUFSIZ - 1, "%s_%d.vcf", filePathStr.c_str(), i++);
+ if(stat(filePath, &buf) != 0) {
+ filePathStr = filePath;
+ break;
+ }
+ } while (true);
+ }
+
+ return filePathStr;
+}
+
+std::string createVcardFile(contacts_record_h record)
+{
+ WHIT();
+ const char *uri = NULL;
+ char *displayName = NULL;
+ char *vcard = NULL;
+ int fd = -1;
+ std::string vcardPath;
+
+ contacts_record_get_uri_p(record, &uri);
+ if (0 == strcmp(_contacts_person._uri, uri)) {
+ contacts_record_get_str_p(record, _contacts_person.display_name, &displayName);
+ contacts_vcard_make_from_person(record, &vcard);
+ } else if (0 == strcmp(_contacts_contact._uri, uri)) {
+ contacts_record_get_str_p(record, _contacts_contact.display_name, &displayName);
+ contacts_vcard_make_from_contact(record, &vcard);
+ } else if (0 == strcmp(_contacts_my_profile._uri, uri)) {
+ contacts_record_get_str_p(record, _contacts_my_profile.display_name, &displayName);
+ contacts_vcard_make_from_my_profile(record, &vcard);
+ }
+
+ bool failed_occured = false;
+ do {
+
+ if (!vcard) {
+ WERROR("vcard is NULL");
+ failed_occured = true;
+ break;
+ }
+
+ if (!displayName) {
+ WERROR("displayName is NULL");
+ failed_occured = true;
+ break;
+ }
+
+ vcardPath = __makeVcardName(displayName);
+ if (vcardPath.empty()) {
+ WERROR("__makeVcardName() failed");
+ failed_occured = true;
+ break;
+ }
+
+ fd = open(vcardPath.c_str(), O_WRONLY|O_CREAT|O_TRUNC, FILE_ACCESS_MODE);
+ if (fd < 0) {
+ WERROR("open(%s) Failed(%s)", vcardPath.c_str(), strerror(errno));
+ failed_occured = true;
+ break;
+ }
+
+ int ret = write(fd, vcard, strlen(vcard));
+ if (ret == -1) {
+ WERROR("write() Failed(%s)", strerror(errno));
+ }
+
+ close(fd);
+ } while (false);
+
+ free(vcard);
+
+ if(!failed_occured) {
+ return vcardPath;
+ }
+
+ return "";
+}
+
+void sharePerson(int personId, bool isMyProfile)
+{
+ char buf[CT_TEXT_SHORT_LEN] = { 0, };
+ snprintf(buf, sizeof(buf), "%d", personId);
+
+ int err = launchShareContact(buf, isMyProfile);
+ WPWARN(err != APP_CONTROL_ERROR_NONE, "launchShareContact() failed(%d)", err);
+}
diff --git a/lib-contact/ct-common/src/CtProgressBarPopup.cpp b/lib-contact/ct-common/src/CtProgressBarPopup.cpp
new file mode 100644
index 0000000..7a81aac
--- /dev/null
+++ b/lib-contact/ct-common/src/CtProgressBarPopup.cpp
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ContactsCommon.h"
+
+#include "CtPath.h"
+#include "CtType.h"
+#include "ContactsDebug.h"
+#include "CtProgressBarPopup.h"
+#include "CtThemeMgr.h"
+#include "CtString.h"
+
+CtProgressBarPopup::CtProgressBarPopup(int totalCount, const char* description)
+{
+ __totalCount = totalCount;
+ __description = description;
+ __progressbar = NULL;
+ __contentLayout = NULL;
+ __timerUpdate = false;
+ __remainCount = 0;
+ __statusCount = 0;
+ __timer = NULL;
+
+}
+
+CtProgressBarPopup::CtProgressBarPopup(int totalCount, const char* description, bool timerUpdate)
+{
+ __totalCount = totalCount;
+ __description = description;
+ __progressbar = NULL;
+ __contentLayout = NULL;
+ __timerUpdate = timerUpdate;
+ __remainCount = 0;
+ __statusCount = 0;
+
+ __timer = ecore_timer_add(0.1, [](void* data)->Eina_Bool{
+ CtProgressBarPopup* p = static_cast<CtProgressBarPopup*>(data);
+
+ char percent[CT_TEXT_SHORT_LEN] = {0,};
+ char percentTotal[CT_TEXT_SHORT_LEN] = {0, };
+ double value = 0.0;
+
+ if(p->__remainCount > 0 ){
+ value = (double)(p->__totalCount - p->__remainCount) / (double)(p->__totalCount);
+ snprintf(percent, sizeof(percent), "%d%%", (int)(100.0 * (double)(p->__totalCount- p->__remainCount)/(double)(p->__totalCount)));
+ snprintf(percentTotal, sizeof(percentTotal), "%d/%d", p->__totalCount- p->__remainCount, p->__totalCount);
+ }
+ else if(p->__statusCount >0){
+ value = (double)(p->__statusCount) / (double)(p->__totalCount);
+ snprintf(percent, sizeof(percent), "%d%%", (int)(100.0 * (double)(p->__statusCount)/(double)(p->__totalCount)));
+ snprintf(percentTotal, sizeof(percentTotal), "%d/%d", p->__statusCount, p->__totalCount);
+ }
+ else
+ return ECORE_CALLBACK_RENEW;
+
+ elm_progressbar_value_set(p->__progressbar, value);
+ elm_object_part_text_set(p->__progressbar, "elm.text.bottom.left", percent);
+ elm_object_part_text_set(p->__progressbar, "elm.text.bottom.right", percentTotal);
+
+ if (value == 1)
+ return ECORE_CALLBACK_CANCEL;
+
+ return ECORE_CALLBACK_RENEW;
+ }, this);
+
+}
+
+Evas_Object* CtProgressBarPopup::__createContent(Evas_Object *parent)
+{
+ WENTER();
+
+ char percentTotal[CT_TEXT_SHORT_LEN] = {0, };
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ /* layout */
+ __contentLayout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->addExtensionTheme(contactsEdjePath.c_str());
+ CtThemeMgr::getInstance()->setObjectTheme(__contentLayout);
+ elm_layout_file_set(__contentLayout, contactsEdjePath.c_str(), "popup_text_progressbar_view_layout");
+ evas_object_size_hint_weight_set(__contentLayout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ /* progressbar */
+ __progressbar = elm_progressbar_add(__contentLayout);
+ evas_object_size_hint_align_set(__progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(__progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ snprintf(percentTotal, sizeof(percentTotal), "%d/%d", 0, __totalCount);
+ elm_object_part_text_set(__progressbar, "elm.text.bottom.left", "0%");
+ elm_object_part_text_set(__progressbar, "elm.text.bottom.right", percentTotal);
+
+ elm_progressbar_pulse(__progressbar, EINA_TRUE);
+ elm_object_signal_emit(__progressbar, "elm,units,show", "elm");
+ elm_object_part_content_set(__contentLayout, "progressbar", __progressbar);
+ elm_object_content_set(parent, __contentLayout);
+
+ return __contentLayout;
+}
+
+Evas_Object* CtProgressBarPopup::onCreate( Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+
+ setContent([this](Evas_Object* parent)->Evas_Object* {
+ return __createContent(parent);
+ });
+
+ setTitle(__description.c_str());
+ return WPopup::onCreate(parent, viewParam);
+}
+void CtProgressBarPopup::setProgressRemainCount(int count)
+{
+ char percent[CT_TEXT_SHORT_LEN] = {0,};
+ char percentTotal[CT_TEXT_SHORT_LEN] = {0, };
+ double value = 0.0;
+
+ if(__timerUpdate){
+ __remainCount = count;
+ }
+ else {
+ value = (double)(__totalCount-count) / (double)__totalCount;
+ elm_progressbar_value_set(__progressbar, value);
+ snprintf(percent, sizeof(percent), "%d%%", (int)(100.0 * (double)(__totalCount-count)/(double)__totalCount));
+ snprintf(percentTotal, sizeof(percentTotal), "%d/%d", count, __totalCount);
+ elm_object_part_text_set(__progressbar, "elm.text.bottom.left", percent);
+ elm_object_part_text_set(__progressbar, "elm.text.bottom.right", percentTotal);
+ }
+}
+
+void CtProgressBarPopup::setProgressStatusCount(int count)
+{
+ char percent[CT_TEXT_SHORT_LEN] = {0,};
+ char percentTotal[CT_TEXT_SHORT_LEN] = {0, };
+ double value = 0.0;
+
+ if(__timerUpdate)
+ __statusCount = count;
+ else {
+ value = (double)count / (double)__totalCount;
+ elm_progressbar_value_set(__progressbar, value);
+ snprintf(percent, sizeof(percent), "%d%%", (int)(100.0 * (double)count/(double)__totalCount));
+ snprintf(percentTotal, sizeof(percentTotal), "%d/%d", count, __totalCount);
+ elm_object_part_text_set(__progressbar, "elm.text.bottom.left", percent);
+ elm_object_part_text_set(__progressbar, "elm.text.bottom.right", percentTotal);
+ }
+}
+
+
+void CtProgressBarPopup::onDestroy()
+{
+ WENTER();
+
+ if (__timer){
+ ecore_timer_del(__timer);
+ __timer = NULL;
+ }
+}
+
+CtProgressBarPopup::~CtProgressBarPopup()
+{
+
+}
+
diff --git a/lib-contact/ct-common/src/CtProgressController.cpp b/lib-contact/ct-common/src/CtProgressController.cpp
new file mode 100644
index 0000000..ee8b246
--- /dev/null
+++ b/lib-contact/ct-common/src/CtProgressController.cpp
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ContactsDebug.h"
+#include "CtProgressBarPopup.h"
+#include "CtString.h"
+#include "CtProgressController.h"
+
+CtProgressController::CtProgressController(const char *title, int totalCount)
+: m_Cancel(false)
+, m_ProgressPopup(NULL)
+, m_Thread(NULL)
+{
+ WHIT();
+ createProgressPopup(title, totalCount);
+}
+
+CtProgressController::~CtProgressController()
+{
+ WHIT();
+ if (auto popup = m_PopupMonitor.lock()) {
+ popup->destroy();
+ }
+}
+
+CtProgressBarPopup *CtProgressController::getProgressPopup()
+{
+ return m_ProgressPopup;
+}
+
+void CtProgressController::run()
+{
+ WHIT();
+ m_Thread = ecore_thread_run(onStart, onFinish, onCanceled, this);
+}
+
+void CtProgressController::setOnFinish(std::function<void(CtProgressController&)> handlerFunc)
+{
+ m_FinishFunction = std::move(handlerFunc);
+}
+
+bool CtProgressController::onProgress(int currentCount)
+{
+ m_ProgressPopup->setProgressStatusCount(currentCount);
+ return !m_Cancel;
+}
+
+void CtProgressController::onStart(void *data, Ecore_Thread *thread)
+{
+ WPRDT_M(!data, "invalid data");
+ CtProgressController *vcardProgressPopup = (CtProgressController *) data;
+ vcardProgressPopup->onStart(vcardProgressPopup->m_Thread);
+}
+
+void CtProgressController::onFinish(void *data, Ecore_Thread *thread)
+{
+ WPRDT_M(!data, "invalid data");
+ CtProgressController *vcardProgressPopup = (CtProgressController *) data;
+ vcardProgressPopup->m_FinishFunction(*vcardProgressPopup);
+
+ delete vcardProgressPopup;
+}
+
+void CtProgressController::onCanceled(void *data, Ecore_Thread *thread)
+{
+ WPRDT_M(!data, "invalid data");
+ CtProgressController *vcardProgressPopup = (CtProgressController *) data;
+ vcardProgressPopup->onCanceled();
+
+ delete vcardProgressPopup;
+}
+
+bool CtProgressController::onCancel()
+{
+ WHIT();
+ return true;
+}
+
+void CtProgressController::cancel()
+{
+ WHIT();
+ m_Cancel = true;
+}
+
+void CtProgressController::createProgressPopup(const char *title, int totalCount)
+{
+ m_ProgressPopup = new CtProgressBarPopup(totalCount, title, true);
+
+ auto cancelFunction = [this](bool *destroyPopup)->void {
+ if (onCancel()) {
+ cancel();
+ }
+ *destroyPopup = false;
+ };
+
+ m_ProgressPopup->addButton(V_("IDS_PB_BUTTON_CANCEL"), cancelFunction);
+ m_ProgressPopup->setOnBack(cancelFunction);
+
+ m_PopupMonitor = m_ProgressPopup->getWeakPtr();
+}
diff --git a/lib-contact/ct-common/src/CtRegistryMgr.cpp b/lib-contact/ct-common/src/CtRegistryMgr.cpp
new file mode 100644
index 0000000..ddca140
--- /dev/null
+++ b/lib-contact/ct-common/src/CtRegistryMgr.cpp
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "CtRegistryMgr.h"
+
+#include "ContactsDebug.h"
+
+CtRegistryMgr* CtRegistryMgr::__instance = NULL;
+
+CtRegistryMgr* CtRegistryMgr::getInstance()
+{
+ if( __instance == NULL )
+ __instance = new CtRegistryMgr();
+ return __instance;
+}
+
+CtRegistryMgr::CtRegistryMgr()
+{
+ WHIT();
+}
+
+CtRegistryMgr::~CtRegistryMgr()
+{
+ WHIT();
+}
+
+void CtRegistryMgr::destroy()
+{
+ WHIT();
+ delete __instance;
+ __instance = NULL;
+}
+
+ctRegistryErr CtRegistryMgr::setInt(ctRegistryKey key, int value)
+{
+ WDEBUG("key %d, value %d", key, value);
+ std::map<ctRegistryKey, CtRegistryData*>::iterator iter;
+ iter = __registry.find(key);
+ if(iter != __registry.end()) {
+ WDEBUG("replace as new value");
+ delete (*iter).second;
+ __registry.erase(iter);
+ }
+
+ CtRegistryData *registryData = new CtRegistryData;
+ registryData->intValue = value;
+
+ __registry.insert(std::make_pair(key, registryData));
+
+ return REGISTRY_SUCCESS;
+}
+
+ctRegistryErr CtRegistryMgr::setStr(ctRegistryKey key, const char *value)
+{
+ WDEBUG("key %d, value %s", key, value);
+ std::map<ctRegistryKey, CtRegistryData*>::iterator iter;
+ iter = __registry.find(key);
+ if(iter != __registry.end()) {
+ WDEBUG("replace as new value");
+ delete (*iter).second;
+ __registry.erase(iter);
+ }
+
+ CtRegistryData *registryData = new CtRegistryData;
+ registryData->strValue = value;
+
+ __registry.insert(std::make_pair(key, registryData));
+
+ return REGISTRY_SUCCESS;
+}
+
+ctRegistryErr CtRegistryMgr::getInt(ctRegistryKey key, int *value)
+{
+ WDEBUG("key %d", key);
+
+ std::map<ctRegistryKey, CtRegistryData*>::iterator iter;
+ iter = __registry.find(key);
+ if(iter != __registry.end()) {
+ *value = (*iter).second->intValue;
+ delete (*iter).second;
+ __registry.erase(iter);
+
+ return REGISTRY_SUCCESS;
+ }
+ else
+ return REGISTRY_NO_DATA;
+}
+
+ctRegistryErr CtRegistryMgr::getStr(ctRegistryKey key, std::string &value)
+{
+ WDEBUG("key %d", key);
+ std::map<ctRegistryKey, CtRegistryData*>::iterator iter;
+ iter = __registry.find(key);
+ if(iter != __registry.end()) {
+ value = (*iter).second->strValue;
+ delete (*iter).second;
+ __registry.erase(iter);
+
+ return REGISTRY_SUCCESS;
+ }
+ else
+ return REGISTRY_NO_DATA;
+}
+
diff --git a/lib-contact/ct-common/src/CtString.cpp b/lib-contact/ct-common/src/CtString.cpp
new file mode 100755
index 0000000..aeaca3e
--- /dev/null
+++ b/lib-contact/ct-common/src/CtString.cpp
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ContactsDebug.h"
+#include "CtString.h"
+
+
+const char* ctGetContactsString(const char* did)
+{
+ return dgettext("contacts", did);
+}
diff --git a/lib-contact/ct-common/src/CtThemeMgr.cpp b/lib-contact/ct-common/src/CtThemeMgr.cpp
new file mode 100644
index 0000000..f938af1
--- /dev/null
+++ b/lib-contact/ct-common/src/CtThemeMgr.cpp
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "CtCommon.h"
+#include "CtThemeMgr.h"
+
+#include "ContactsDebug.h"
+
+CtThemeMgr* CtThemeMgr::__instance = NULL;
+
+CtThemeMgr* CtThemeMgr::getInstance()
+{
+ if( __instance == NULL )
+ __instance = new CtThemeMgr();
+ return __instance;
+}
+
+CtThemeMgr::CtThemeMgr()
+{
+ WENTER();
+ __theme = elm_theme_new();
+ elm_theme_ref_set(__theme, NULL);
+}
+
+CtThemeMgr::~CtThemeMgr()
+{
+ WHIT();
+ for (auto iter = __themeList.begin(); iter != __themeList.end(); iter++) {
+ WDEBUG("theme %s", (*iter).c_str());
+ elm_theme_extension_del(__theme, (*iter).c_str());
+ }
+
+ elm_theme_free(__theme);
+ __themeList.clear();
+}
+
+void CtThemeMgr::destroy()
+{
+ WHIT();
+ delete __instance;
+ __instance = NULL;
+}
+
+
+void CtThemeMgr::setObjectTheme(Evas_Object *obj)
+{
+ elm_object_theme_set(obj, __theme);
+}
+
+Elm_Theme* CtThemeMgr::getTheme()
+{
+ return __theme;
+}
+
+bool CtThemeMgr::addExtensionTheme(const char *themePath)
+{
+ WENTER();
+ WPRET_VM(themePath == NULL, false, "themePath is NULL");
+
+ for (auto iter = __themeList.begin(); iter != __themeList.end(); iter++)
+ {
+ WDEBUG("themePath:%s", themePath);
+ if(strcmp(themePath, (*iter).c_str()) == 0) {
+ return false;
+ }
+ }
+
+ WDEBUG("themePath %s", themePath);
+ __themeList.push_back(themePath);
+ elm_theme_extension_add(__theme, themePath);
+
+ WLEAVE();
+ return true;
+}
+
+
+
+bool CtThemeMgr::removeExtensionTheme(const char *themePath)
+{
+ WENTER();
+ WPRET_VM(themePath == NULL, false, "themePath is NULL");
+
+ for (auto iter = __themeList.begin(); iter != __themeList.end(); iter++)
+ {
+ if(strcmp(themePath, (*iter).c_str()) == 0) {
+ __themeList.erase(iter);
+ elm_theme_extension_del(__theme, themePath);
+ WDEBUG("themePath %s", themePath);
+ return true;
+ }
+ }
+
+ return false;
+}
diff --git a/lib-contact/ct-common/src/CtThread.cpp b/lib-contact/ct-common/src/CtThread.cpp
new file mode 100644
index 0000000..2110749
--- /dev/null
+++ b/lib-contact/ct-common/src/CtThread.cpp
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "CtType.h"
+#include "ContactsDebug.h"
+#include "CtThread.h"
+
+#define CT_THREAD_TIMER_DURATION 0.02
+
+CtThread::CtThread(ctThreadJob job, void *jobData, ctThreadCompleteCb completeCb, void *completeCbData)
+{
+ WHIT();
+ __isAlive = false;
+ __isComplete = false;
+ __pthread = 0;
+ __timer = NULL;
+ __job = job;
+ __jobData = jobData;
+ __completeCb = completeCb;
+ __completeCbData = completeCbData;
+}
+
+
+void CtThread::start()
+{
+ WENTER();
+
+ int ret;
+ ret = pthread_create(&__pthread, NULL, __ctThreadJob, this);
+ WPRET_M(0 != ret, "pthread_create() Failed(%d)", ret);
+
+ __isAlive = true;
+ __timer = ecore_timer_add(CT_THREAD_TIMER_DURATION, __ctThreadTimerCb, this);
+
+}
+
+void CtThread::__cancel()
+{
+ WENTER();
+ if(__timer){
+ ecore_timer_del(__timer);
+ }
+ __timer = NULL;
+
+ __completeCb = NULL;
+
+ __isAlive = false;
+ __isComplete = false;
+
+ WDEBUG("pthread_join(%p)", __pthread);
+
+ if(__pthread > 0) {
+ WDEBUG("thread join start");
+ pthread_join(__pthread, NULL);
+ __pthread = 0;
+ WDEBUG("thread join end");
+ }
+
+ WLEAVE();
+}
+
+void CtThread::destroy()
+{
+ WHIT();
+
+ __cancel();
+
+ delete this;
+}
+
+
+Eina_Bool CtThread::__ctThreadTimerCb(void *data)
+{
+ CtThread *self = (CtThread*)data;
+ WPRET_VM(NULL == self, ECORE_CALLBACK_CANCEL, "data NULL");
+ WPRET_VM(self->__isAlive, ECORE_CALLBACK_RENEW, "thread alive yet");
+
+ WDEBUG("pthread_join(%p)", self->__pthread);
+
+ if(self->__pthread > 0) {
+ WDEBUG("thread join start");
+ pthread_join(self->__pthread, NULL);
+ self->__pthread = 0;
+ WDEBUG("thread join end");
+ }
+
+ self->__timer = NULL;
+
+ if (self->__isComplete && self->__completeCb) {
+ self->__completeCb(self->__completeCbData);
+ }
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
+
+
+PTHREAD_FN CtThread::__ctThreadJob(void *data)
+{
+ WENTER();
+
+ CtThread *self = (CtThread*)data;
+ WDEBUG("thread job start");
+ if(self->__job)
+ self->__job(self->__jobData);
+ WDEBUG("thread job end");
+ self->__isAlive = false;
+ self->__isComplete = true;
+ WDEBUG("thread pthread_exit");
+ pthread_exit(NULL);
+
+ WLEAVE();
+}
+
+CtThread::~CtThread()
+{
+
+}
+
diff --git a/lib-contact/ct-common/src/CtView.cpp b/lib-contact/ct-common/src/CtView.cpp
new file mode 100755
index 0000000..e31fd2d
--- /dev/null
+++ b/lib-contact/ct-common/src/CtView.cpp
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "CtView.h"
+#include "ContactsDebug.h"
+
+
+CtView::CtView()
+{
+ WHIT();
+ __layout = NULL;
+ __emergencyMode = 0;
+ __easyMode = 0;
+
+
+ //evas_object_smart_callback_add(layout, "language,changed", __languageChangedCb , this);
+ //evas_object_smart_callback_add(getWindow()->getEvasObj(), "wm,rotation,changed", __windowChangedCb , this);
+}
+
+CtView::~CtView()
+{
+ WHIT();
+
+ evas_object_smart_callback_del_full(__layout, "language,changed", __languageChangedCb , this);
+/*
+ evas_object_smart_callback_del_full(__layout, "language,changed", __languageChangedCb , this);
+ evas_object_smart_callback_del_full(getWindow()->getEvasObj(), "wm,rotation,changed", __windowRotationCb , this);
+*/
+}
+
+int CtView::getEmergencyMode()
+{
+ return __emergencyMode;
+}
+
+int CtView::getEasyMode()
+{
+ return __easyMode;
+}
+
+
+void CtView::__languageChangedCb(void* data, Evas_Object* obj, void* event_info)
+{
+ WHIT();
+ CtView *self = (CtView*)data;
+ self->onLanguageChanged();
+}
+/*
+void CtView::__windowRotationCb(void* data, Evas_Object* obj, void* event_info)
+{
+ WHIT();
+ CtView *self = data;
+ self->onWinRotate();
+}
+*/
+//
+Evas_Object* CtView::createBaseLayout(Evas_Object* parent)
+{
+ WHIT();
+ Evas_Object *layout = elm_layout_add(parent);
+ elm_layout_theme_set(layout, "layout", "application", "default");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(layout);
+
+ evas_object_smart_callback_add(layout, "language,changed", __languageChangedCb , this);
+
+ return layout;
+
+}
+
+
diff --git a/lib-contact/ct-detail/.cproject b/lib-contact/ct-detail/.cproject
new file mode 100644
index 0000000..a5e05c9
--- /dev/null
+++ b/lib-contact/ct-detail/.cproject
@@ -0,0 +1,578 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.733114978">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.733114978" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ct-detail" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.733114978" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.733114978." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1671982753" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1231818368" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/ct-detail}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.1949297261" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.719434481" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.841462338" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.402083544" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.23706693" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1160483029" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1674850922" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1665723509" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.2041721148" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.579365461" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-list/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/carriermatch/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/inc"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.3949846" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.489348503" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1928107877" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.1352902830"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.884132498" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1064904422" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1637741243" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.794423367" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.2013731222" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.668102284" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.296102097" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1429147713" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.770925106" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.2029254141" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.577182294" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.777610520"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.761875954" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.909890089" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1209336056" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1852977643" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.654120521" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1550545908" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-list/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/carriermatch/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/Debug"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.1793899734" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="ct-list"/>
+ <listOptionValue builtIn="false" value="carriermatch"/>
+ <listOptionValue builtIn="false" value="common"/>
+ <listOptionValue builtIn="false" value="ct-common"/>
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="app-assist-efl"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2139934058" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.975714952" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.767526932" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.458239630" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.535206278" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.574602431" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.2087777887" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1612499143" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1549270031" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
+ <externalSettings containerId="ct-list;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ </storageModule>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.924732129">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.924732129" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ct-detail" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.924732129" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.924732129." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.1948418090" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1449119755" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/ct-detail}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.2081669966" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.871632349" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.642992971" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1091784034" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1304367202" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.2087093264" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1768795935" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1032766660" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1197857985" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1977030670" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/inc"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.959566350" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.819638528"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1733628775" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.2003263497" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.35944084" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.526622017" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1131372015" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.1867659485" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.868237870" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1921633924" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.946929662" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.2114978419" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.238407475"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1054529306" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1219515644" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1883968601" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1928692397" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1496466690" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1440159667" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1945866080" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.936961471" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.910232452" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.514808697" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1157111406" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.901335212" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.811302152" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.55510356" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.320528601" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="ct-detail.org.tizen.nativecore.target.sbi.gcc45.so.101672261" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.733114978">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.924732129">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/ct-detail"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/ct-detail"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/lib-contact/ct-detail/.project b/lib-contact/ct-detail/.project
new file mode 100644
index 0000000..12d82bf
--- /dev/null
+++ b/lib-contact/ct-detail/.project
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ct-detail</name>
+ <comment></comment>
+ <projects>
+ <project>ct-list</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1413282507945</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/lib-contact/ct-detail/.tproject b/lib-contact/ct-detail/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/lib-contact/ct-detail/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/lib-contact/ct-detail/CMakeLists.txt b/lib-contact/ct-detail/CMakeLists.txt
new file mode 100755
index 0000000..ebd50b1
--- /dev/null
+++ b/lib-contact/ct-detail/CMakeLists.txt
@@ -0,0 +1,21 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ct-detail CXX)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-list/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "contacts-common"
+ "ct-common"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_LIB_DIR})
diff --git a/lib-contact/ct-detail/inc/CtDetailView.h b/lib-contact/ct-detail/inc/CtDetailView.h
new file mode 100755
index 0000000..0ae0ede
--- /dev/null
+++ b/lib-contact/ct-detail/inc/CtDetailView.h
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_DETAIL_VIEW_H_
+#define _CT_DETAIL_VIEW_H_
+
+#include <Ecore.h>
+#include <Elementary.h>
+#include <contacts.h>
+
+#include "WDefine.h"
+#include "WPopup.h"
+#include "WNaviframe.h"
+#include "WView.h"
+
+#include "ContactsCommon.h"
+
+#include "ICtChangeListener.h"
+#include "CtType.h"
+#include "CtView.h"
+
+class CtDetailData;
+class CtDetailViewBasicInfoControl;
+
+class WAPP_ASSIST_EXPORT CtDetailView: public WView, public CtView, public ICtChangeListener
+{
+public:
+ CtDetailView(int personId);
+ virtual const char* getClassName();
+ int getPersoinId(void);
+
+
+protected:
+ virtual Evas_Object* onCreate(Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+ virtual void onPushed(Elm_Object_Item* naviItem);
+ virtual void onEvent(int eventType);
+
+protected:
+ virtual void onLanguageChanged();
+
+private:
+
+ virtual void onDbChanged(const char* viewUri);
+ virtual void onCompleteGetContacts(int offset);
+ virtual void onConditionChagned();
+
+private:
+ typedef enum {
+ DETAIL_NUMBER = 0,
+ DETAIL_EMAIL,
+ DETAIL_ADDRESS,
+ DETAIL_MESSENGER,
+ DETAIL_WEBSITE,
+ DETAIL_RELATIONSHIP,
+ DETAIL_EVENT,
+ DETAIL_NOTE,
+ DETAIL_ADDRBOOK,
+ DETAIL_ITEMS_MAX,
+ } CtDetailItems;
+ void __initialize();
+ Evas_Object* __getWindow(void);
+
+ void __setItemClassStyle();
+ void __addAllItems();
+ void __addItem(CtDetailItems itemType);
+
+ void __addNumberItems();
+ void __addEmailItems();
+ void __addNoteItems();
+ void __addAddressItems();
+ void __addEventItems();
+ void __addRelationItems();
+ void __addWebsiteItems();
+ void __addMessengerItems();
+ void __addAddressbookItems();
+ void __updateGenlist();
+
+ static void __onBasicInfoFavoritesClickedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onNumberCallIconSelectedCb(void *data, Evas_Object *obj, const char *emission, const char *source);
+ static void __onNumberMessageIconSelectedCb(void *data, Evas_Object *obj, const char *emission, const char *source);
+ static void __onPhonenumberItemSelectedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onEmailItemSelectedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onWebsiteItemSelectedCb(void *data, Evas_Object *obj, void *event_info);
+
+ static void __onEditCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onDeleteCb(void *data, Evas_Object *obj, void *event_info);
+ static int __deleteContacts(void *data);
+ static void __onShareCb(void *data, Evas_Object *obj, void *event_info);
+
+ static void __detailBackBtnCb(void *data, Evas_Object *obj, const char *emission, const char *source);
+
+ void __createBaseInfo();
+ void __updateNumberFields();
+ int __getHeightByItemCount(Evas_Object* win, int count);
+
+ static void __linkContactReplyCb(app_control_h request, app_control_h reply, app_control_result_e result, void *data);
+ static void __launchVideoCall(CtDetailView *p, Eina_List *numberList);
+
+ bool __checkConditionForGenlistHomogeneous(CtDetailData *detailData);
+private:
+ CtDetailView();
+ virtual ~CtDetailView();
+
+private:
+ CtDetailData *__detailData;
+ CtDetailViewBasicInfoControl *__basicInfo;
+
+ Evas_Object *__mainLayout;
+ Evas_Object *__genlist;
+ Elm_Object_Item *__genlistItems[DETAIL_ITEMS_MAX];
+ Elm_Object_Item *__genlistItemNumberFirst;
+ Elm_Object_Item *__genlistItemNumberLast;
+
+ int __appendIndex;
+ bool __checkStatus;
+ Elm_Object_Item* __emailItem;
+ bool __needHomogeneous;
+};
+
+#endif /* _CT_DETAIL_VIEW_H_ */
diff --git a/lib-contact/ct-detail/inc/CtDetailViewBasicInfoControl.h b/lib-contact/ct-detail/inc/CtDetailViewBasicInfoControl.h
new file mode 100644
index 0000000..9c9483e
--- /dev/null
+++ b/lib-contact/ct-detail/inc/CtDetailViewBasicInfoControl.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+#ifndef _CT_DETAIL_VIEW_BASIC_INFO_CONTROL_H_
+#define _CT_DETAIL_VIEW_BASIC_INFO_CONTROL_H_
+
+#include "WControl.h"
+
+class CtDetailDataBase;
+
+class CtDetailViewBasicInfoControl : public WControl
+{
+public:
+ /**
+ * @brief Create Basic info view
+ * @param[in] data Base detail data
+ * @param[in] showFavoriteIcon True if favorite icon should be shown
+ */
+ CtDetailViewBasicInfoControl(CtDetailDataBase *data, bool showFavoriteIcon);
+
+protected:
+ virtual Evas_Object *onCreate(Evas_Object *parent, void *param);
+
+private:
+ int getLinesCount();
+ void updateBaseLayout(Evas_Object *parent);
+ void setThumbnail();
+ void setFavoriteBtn();
+ void setText(const char *text, const char *textPart);
+
+ static void onBasicInfoFavoritesClickedCb(void *data, Evas_Object *obj, void *event_info);
+
+private:
+ CtDetailDataBase *m_DetailData;
+ Evas_Object *m_BaseLayout;
+ bool m_ShowFavoriteIcon;
+ bool m_FavoriteReference;
+};
+
+#endif /* _CT_DETAIL_VIEW_BASIC_INFO_CONTROL_H_ */
diff --git a/lib-contact/ct-detail/inc/CtEditTabView.h b/lib-contact/ct-detail/inc/CtEditTabView.h
new file mode 100644
index 0000000..fc1c80e
--- /dev/null
+++ b/lib-contact/ct-detail/inc/CtEditTabView.h
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_EDIT_TAB_VIEW_H_
+#define _CT_EDIT_TAB_VIEW_H_
+
+#include <vector>
+#include <app.h>
+#include <string>
+#include <memory>
+#include <Ecore.h>
+
+#include "WPageSlideView.h"
+
+#include "ContactsCommon.h"
+#include "CtInputView.h"
+
+
+class CtInputView;
+#define EDIT_TAB_VIEW_MAX 10
+class WAPP_ASSIST_EXPORT CtEditTabView: public WPageSlideView
+{
+public:
+ CtEditTabView(Eina_List* contactList);
+
+public:
+ void updateSaveBtn(Eina_Bool empty);
+
+
+private:
+ virtual Evas_Object* onCreate(Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+ virtual Elm_Object_Item* onPushToNaviframe( Evas_Object* naviFrame);
+ virtual void onPushed(Elm_Object_Item* naviItem);
+ virtual bool onPop();
+
+private:
+ bool __checkViewExist(Elm_Object_Item *tabItem);
+ void __getTabViewTitle(contacts_record_h recordContact, char *buf, int bufLen);
+
+ static void __onTabChangedCb(void* data, Evas_Object* obj, void* event_info);
+ static void __pageScrollStopCb(void* data, Evas_Object* obj, void* event_info);
+ static void __pageScrollStartCb(void* data, Evas_Object* obj, void* event_info);
+ static void __cancelCb(void *data, Evas_Object *obj, void *event_info);
+ static void __saveCb(void *data, Evas_Object *obj, void *event_info);
+
+ void __tabChanged(Elm_Object_Item *selectedItem);
+
+ static Eina_Bool __createRestViewTimerCb(void* data);
+
+private:
+ ~CtEditTabView();
+
+private:
+ Evas_Object* __tabbar;
+ Evas_Object* __saveBtn;
+ Elm_Object_Item* __tabItem[EDIT_TAB_VIEW_MAX];
+ int __tabCount;
+ int __selectedView;
+ bool __subViewLoaded[EDIT_TAB_VIEW_MAX];
+ CtInputView* __subView[EDIT_TAB_VIEW_MAX];
+ bool __hasTitle;
+ bool __discard;
+ Ecore_Timer *__timer;
+ Ecore_Idler *__idler;
+
+};
+
+
+
+#endif // _CT_EDIT_TAB_VIEW_H_
diff --git a/lib-contact/ct-detail/inc/CtInputView.h b/lib-contact/ct-detail/inc/CtInputView.h
new file mode 100644
index 0000000..93a256a
--- /dev/null
+++ b/lib-contact/ct-detail/inc/CtInputView.h
@@ -0,0 +1,122 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_H_
+#define _CT_INPUT_VIEW_H_
+
+#include <Elementary.h>
+
+#include <contacts.h>
+
+#include "WNaviframe.h"
+#include "WPopup.h"
+#include "WView.h"
+
+#include "ContactsCommon.h"
+
+#include "IContactsTabPageView.h"
+#include "ICtChangeListener.h"
+#include "CtEditTabView.h"
+#include "CtType.h"
+#include "CtView.h"
+#include "CtThread.h"
+
+class CtData;
+class CtInputViewControl;
+class CtEditTabView;
+
+class WAPP_ASSIST_EXPORT CtInputView: public CtView, public IContactsTabPageView, public ICtChangeListener
+{
+public:
+ CtInputView(contacts_record_h contactRecord);
+ CtInputView(contacts_record_h contactRecord, CtEditTabView* tabView, bool isSubView);
+ CtInputView(int personId, const char* number, const char* email, const char* uri);
+ CtInputView(const char* name, const char* number, const char* email, const char* uri);
+
+public:
+ bool getIsCreate() { return __isCreate; }
+ bool getIsDestroy() { return __destroy; }
+ Evas_Object* getNaviframeEvasObj();
+ Evas_Object* getWindowEvasObj();
+ Evas_Object* getConformantEvasObject();
+ void setOnResult(const std::function<void(int, CtResultType)>& handlerFunc);
+
+ void createEditSubViewContent();
+ void createInputViewControl(Evas_Object *base);
+ void updateSaveBtn(Eina_Bool empty);
+ void updateNumberSaveBtn(Eina_Bool isEmpty);
+ void saveContactForEditTabSubView();
+ void getChangedForEditTabSubView(bool* changed);
+ void getEmptyForEditTabSubView(bool* empty);
+ virtual void onTabSelect(Elm_Object_Item *naviItem);
+ virtual void onTabUnselect(Elm_Object_Item *naviItem);
+ virtual bool onTabPop();
+ virtual void onTabScrollStart() {return;}
+ virtual void onTabScrollStop() {return;}
+ void resetTheme();
+
+protected:
+ virtual Evas_Object* onCreate(Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+ virtual void onPushed(Elm_Object_Item* naviItem);
+ virtual void onEvent(int eventType);
+ virtual bool onPop();
+
+protected:
+ virtual void onLanguageChanged();
+
+private:
+
+ virtual void onDbChanged(const char* viewUri);
+ virtual void onCompleteGetContacts(int offset);
+ virtual void onConditionChagned();
+
+ void __initialize();
+
+ void __createToastPopup(const char* msg);
+ static void __saveCb(void *data, Evas_Object *obj, void *event_info);
+ static void __cancelCb(void *data, Evas_Object *obj, void *event_info);
+ int __getPersonIdByContactId(int contactId);
+
+ static Eina_Bool __createAddressbookPopupIdlerCb(void *data);
+
+private:
+ CtInputView();
+ virtual ~CtInputView();
+
+private:
+
+ WUiObjectPtr __inputControl;
+ CtEditTabView *__tabView;
+ std::shared_ptr<CtData> __inputData;
+
+ int __savedAddressbookId;
+ bool __isCreate;
+ bool __saved;
+ bool __discard;
+ bool __changed;
+ bool __destroy;
+
+ Evas_Object* __saveBtn;
+ Evas_Object* __baseLayout;
+
+ Ecore_Idler *__popupIdler;
+ Ecore_Event_Handler* __windowVisibilityChangeHandler;
+ std::function<void(int, CtResultType)> __resultHandler;
+};
+
+#endif /* _CT_INPUT_VIEW_H_ */
diff --git a/lib-contact/ct-detail/inc/CtMyProfileDetailView.h b/lib-contact/ct-detail/inc/CtMyProfileDetailView.h
new file mode 100755
index 0000000..e1ae43d
--- /dev/null
+++ b/lib-contact/ct-detail/inc/CtMyProfileDetailView.h
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_MYPROFILE_DETAIL_VIEW_H_
+#define _CT_MYPROFILE_DETAIL_VIEW_H_
+
+#include <Elementary.h>
+#include <contacts.h>
+
+#include "WDefine.h"
+#include "WPopup.h"
+#include "WNaviframe.h"
+#include "WView.h"
+
+#include "ContactsCommon.h"
+
+#include "ICtChangeListener.h"
+#include "CtType.h"
+#include "CtView.h"
+
+class CtMyProfileDetailData;
+
+class WAPP_ASSIST_EXPORT CtMyProfileDetailView: public WView, public CtView, public ICtChangeListener
+{
+public:
+ CtMyProfileDetailView();
+ virtual const char* getClassName();
+
+ int getPersoinId(void);
+
+
+protected:
+ virtual Evas_Object* onCreate(Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+ virtual void onPushed(Elm_Object_Item* naviItem);
+ virtual void onEvent(int eventType);
+
+public:
+
+ virtual void onDbChanged(const char* viewUri);
+ virtual void onCompleteGetContacts(int offset);
+ virtual void onConditionChagned();
+
+protected:
+ virtual void onLanguageChanged();
+
+private:
+ typedef enum {
+ MYPROFILE_DETAIL_MSISDN = 0,
+ MYPROFILE_DETAIL_NUMBER,
+ MYPROFILE_DETAIL_EMAIL,
+ MYPROFILE_DETAIL_NOTE,
+ MYPROFILE_DETAIL_ADDRESS,
+ MYPROFILE_DETAIL_EVENT,
+ MYPROFILE_DETAIL_RELATIONSHIP,
+ MYPROFILE_DETAIL_WEBSITE,
+ MYPROFILE_DETAIL_MESSENGER,
+ MYPROFILE_DETAIL_ITEMS_MAX,
+ } CtMyProfileDetailItems;
+ void __initialize();
+ Evas_Object* __getWindow(void);
+
+ void __setItemClassStyle();
+ void __addAllItems();
+ void __addItem(int itemType);
+
+ void __createBaseInfo();
+
+ void __addMsisdnItem();
+ void __addNumberItems();
+ void __addEmailItems();
+ void __addNoteItems();
+ void __addAddressItems();
+ void __addEventItems();
+ void __addRelationItems();
+ void __addWebsiteItems();
+ void __addMessengerItems();
+
+ static void __basicInfoBackBtnCb(void *data, Evas_Object *obj, const char *emission, const char *source);
+ static void __onShareCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onDeleteCb(void *data, Evas_Object *obj, void *event_info);
+ bool __isContactSyncToAnyAccount(contacts_record_h personRecord);
+ int __deleteContacts(void *data);
+
+ void __updateGenlist();
+
+private:
+ virtual ~CtMyProfileDetailView();
+
+private:
+
+ CtMyProfileDetailData *__detailData;
+
+ Evas_Object *__mainLayout;
+ Evas_Object *__genlist;
+ Elm_Object_Item *__genlistItems[MYPROFILE_DETAIL_ITEMS_MAX];
+};
+
+#endif /* _CT_MYPROFILE_DETAIL_VIEW_H_ */
diff --git a/lib-contact/ct-detail/inc/CtMyProfileInputView.h b/lib-contact/ct-detail/inc/CtMyProfileInputView.h
new file mode 100755
index 0000000..ad06b18
--- /dev/null
+++ b/lib-contact/ct-detail/inc/CtMyProfileInputView.h
@@ -0,0 +1,185 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_MYPROFILE_INPUT_VIEW_H_
+#define _CT_MYPROFILE_INPUT_VIEW_H_
+
+#include <Elementary.h>
+
+#include <contacts.h>
+
+#include "WNaviframe.h"
+#include "WPopup.h"
+#include "WView.h"
+
+#include "ContactsCommon.h"
+
+#include "ICtChangeListener.h"
+#include "CtType.h"
+#include "CtView.h"
+
+class CtData;
+
+class WAPP_ASSIST_EXPORT CtMyProfileInputView: public WView, public CtView, public ICtChangeListener
+{
+public:
+ CtMyProfileInputView(contacts_record_h contactRecord);
+
+protected:
+ virtual Evas_Object* onCreate(Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+ virtual void onPushed(Elm_Object_Item* naviItem);
+ virtual void onEvent(int eventType);
+ virtual bool onPop();
+
+private:
+
+ virtual void onDbChanged(const char* viewUri);
+ virtual void onCompleteGetContacts(int offset);
+ virtual void onConditionChagned();
+
+protected:
+ virtual void onLanguageChanged();
+
+private:
+ typedef struct {
+ CtMyProfileInputView *view;
+ contacts_record_h record;
+ Elm_Object_Item *item;
+ const char *view_uri;
+ bool isChanged;
+ char *oldVal;
+ }CtMyProfileInputViewItem;
+
+ void __initialize();
+ void __addAllItems();
+ void __addItem(int itemType);
+
+ Evas_Object* __getWindowEvasObj(void);
+ Evas_Object* __getNaviframeEvasObj(void);
+
+ static void __onGallerySelCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onCameraSelCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onRemoveSelCb(void *data, Evas_Object *obj, void *event_info);
+
+ static void __importantSubitemSelectedCb(void* data, Evas_Object* obj, void* event_info);
+ void __addNumberClickedCb();
+ void __addEmailClickedCb();
+ void __addNoteClickedCb();
+ void __addMoreClickedCb();
+ bool __checkIsEmpty();
+ bool __checkIsChanged();
+ void __updateSaveBtn();
+ void __updateNoteBtn(bool isNoteInput);
+ void __save();
+
+
+ static void __saveCb(void *data, Evas_Object *obj, void *event_info);
+ static void __cancelCb(void *data, Evas_Object *obj, void *event_info);
+ static void __genlistRealizedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __genlistUnrealizedCb(void *data, Evas_Object *obj, void *event_info);
+
+ static void __galleryReplyCb(app_control_h request, app_control_h reply, app_control_result_e result, void *data);
+ static void __launchGallery(CtMyProfileInputView *view);
+
+ static void __cameraReplyCb(app_control_h request, app_control_h reply, app_control_result_e result, void *data);
+ static void __launchCamera(CtMyProfileInputView *view);
+
+ void __itemChanged();
+ void __basicInfoItemImageClicked(Evas_Object* obj);
+ void __basicInfoItemDeleted( int deletedInfo);
+ void __basicInfoItemShowCreateKeypad( Evas_Object* obj);
+ void __basicInfoExpandClickedCb();
+ void __basicInfoUpdateImage();
+
+ Elm_Object_Item* __getLastItem(Elm_Object_Item* deleteItem);
+ void __numberItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __emailItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __addressItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __messengerItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __websiteItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __eventItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __noteItemDeleted( Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __activateNextEntry(Evas_Object* obj, Elm_Object_Item* item);
+ void __updateEntryReturnKeyType(Elm_Object_Item* deleteItem);
+ void __updateBasicInfoItem();
+ void __createEventDataPopup();
+ void __appendEventItem(int year, int month, int day);
+
+private:
+ CtMyProfileInputView();
+ virtual ~CtMyProfileInputView();
+
+private:
+
+ typedef enum {
+ MYPROFILE_INPUT_BASIC_INFO = 0,
+ MYPROFILE_INPUT_MSISDN,
+ MYPROFILE_INPUT_NUMBER,
+ MYPROFILE_INPUT_EMAIL,
+ MYPROFILE_INPUT_NOTE,
+
+ MYPROFILE_INPUT_ADDRESS,
+ MYPROFILE_INPUT_EVENT,
+ MYPROFILE_INPUT_URL,
+ MYPROFILE_INPUT_MESSENGER,
+
+ MYPROFILE_INPUT_IMPORTANT_FIELDS,
+ MYPROFILE_INPUT_IMPORTANT_SUBITEM,
+ MYPROFILE_INPUT_ITEMS_MAX,
+ }CtMyProfileInputItems;
+
+ typedef enum {
+ MYPROFILE_INPUT_IMPORTANT_ADDRESS = 1,
+ MYPROFILE_INPUT_IMPORTANT_EVENT,
+ MYPROFILE_INPUT_IMPORTANT_NICKNAME,
+ MYPROFILE_INPUT_IMPORTANT_ORGANIZATION,
+ MYPROFILE_INPUT_IMPORTANT_URL,
+ MYPROFILE_INPUT_IMPORTANT_MESSENGER,
+ MYPROFILE_INPUT_IMPORTANT_PHONETIC_INFO,
+ MYPROFILE_INPUT_IMPORTANT_MAX,
+ }CtMyProfileInputSubItems;
+
+ std::shared_ptr<bool> __birthdayEventExist;
+ std::shared_ptr<CtData> __inputData;
+
+ int __contactId;
+ WPopup* __popup;
+ Evas_Object *__genlist;
+ Evas_Object *__ctxpopup;
+ Evas_Object *__customEntry;
+ int __savedAddressbookId;
+
+ bool __saved;
+ bool __discard;
+ bool __changed;
+
+ int __appendIndex;
+ int __addedIndex;
+
+ Elm_Genlist_Item_Class __inputItc[MYPROFILE_INPUT_ITEMS_MAX];
+ Elm_Object_Item *__genlistItems[MYPROFILE_INPUT_ITEMS_MAX];
+
+ Evas_Object *__nameEntry;
+ char *__basicInfoFullName;
+ Evas_Object* __saveBtn;
+
+ bool __baseInfoExpanded;
+ bool __isCreate;
+};
+
+#endif /* _CT_MYPROFILE_INPUT_VIEW_H_ */
diff --git a/lib-contact/ct-detail/src/CtData.h b/lib-contact/ct-detail/src/CtData.h
new file mode 100755
index 0000000..fc99425
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtData.h
@@ -0,0 +1,181 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_DATA_H_
+#define _CT_DATA_H_
+
+#include <Eina.h>
+
+#include <contacts.h>
+//#include <contacts_product.h>
+
+#include "ContactsCommon.h"
+#include "ICtChangeListener.h"
+
+#include "CtType.h"
+
+class CtData
+{
+public:
+ virtual ~CtData(){};
+public:
+
+ virtual int insertContact(int *contactId) = 0;
+ virtual int updateContact() = 0;
+
+ virtual int separateFullName(contacts_record_h nameRecord, const char *full_name) = 0;
+ virtual int separatePhoneticFullName(contacts_record_h nameRecord, const char *full_name) = 0;
+ virtual int setPrefixName(const char *text) = 0;
+ virtual int setSuffixName(const char *text) = 0;
+ virtual int setPhoneticFullName(const char *text) = 0;
+ virtual int setPhoneticFirstName(const char *text) = 0;
+ virtual int setPhoneticMiddleName(const char *text) = 0;
+ virtual int setPhoneticLastName(const char *text) = 0;
+ virtual int setNickname(const char *text) = 0;
+ virtual int setCompany(const char *text) = 0;
+ virtual int setJobTitle(const char *text) = 0;
+ virtual int setFullName(const char *text) = 0;
+ virtual int setFirstName(const char *text) = 0;
+ virtual int setMiddleName(const char *text) = 0;
+ virtual int setLastName(const char *text) = 0;
+ virtual const char* getPrefixName() = 0;
+ virtual const char* getSuffixName() = 0;
+ virtual const char* getPhoneticFirstName() = 0;
+ virtual const char* getPhoneticMiddleName() = 0;
+ virtual const char* getPhoneticLastName() = 0;
+ virtual const char* getNickname() = 0;
+ virtual const char* getCompany() = 0;
+ virtual const char* getJobTitle() = 0;
+ virtual void getFullName(std::string &Name) = 0;
+ virtual const char* getFirstName() = 0;
+ virtual const char* getMiddleName() = 0;
+ virtual const char* getLastName() = 0;
+ // ...
+ virtual bool getFavorite() =0;
+ virtual int getPersonId() =0;
+ //virtual bool getMFC()=0;
+
+ virtual int getAddressbookId() = 0;
+ virtual const char* getAddressbookName() = 0;
+ virtual const char* getUserName() = 0;
+ virtual void setAddressbookInfo(int addressbookId) = 0;
+ virtual void setPreferenceCreateFirst(bool isFirst) = 0;
+
+ virtual const char* getImagePath() = 0;
+ virtual contacts_record_h getImageRecord() = 0;
+ virtual int removeImage(contacts_record_h record) = 0;
+ virtual int setImage(contacts_record_h record, char *image, int type) = 0;
+
+ virtual contacts_record_h getEmergencyNumber() = 0;
+ virtual Eina_List* getNumberList() = 0;
+ virtual contacts_record_h addNumber(const char *number) = 0;
+ virtual int setNumberNumber(contacts_record_h record, const char *number) = 0;
+ virtual int setNumberType(contacts_record_h record, int type, const char *customStr) = 0;
+ virtual int removeNumber(contacts_record_h record) = 0;
+ virtual const char* getNumberNumber(contacts_record_h record) = 0;
+ virtual int getNumberType(contacts_record_h record) = 0;
+ virtual const char *getDataTypeCustom(contacts_record_h record, int property_id) = 0;
+ virtual void getNumberTypeStr(contacts_record_h record, int numberType, std::string &typeString) = 0;
+ virtual int getNumberRetType(int indexType) = 0;
+ virtual int getNumberIndexType(int numberType) = 0;
+ virtual int getNextNumberType() = 0;
+
+ virtual Eina_List* getEmailList() = 0;
+ virtual contacts_record_h addEmail(const char *email) = 0;
+ virtual int setEmailEmail(contacts_record_h record, const char *email) = 0;
+ virtual int setEmailType(contacts_record_h record, int type, char *customStr) = 0;
+ virtual const char* getEmailEmail(contacts_record_h record) = 0;
+ virtual int getEmailType(contacts_record_h record) = 0;
+ virtual void getEmailTypeStr(contacts_record_h record, int indexType, std::string &typeString) = 0;
+ virtual int getNextEmailType() = 0;
+ virtual int removeEmail(contacts_record_h record) = 0;
+
+ virtual Eina_List* getNoteList() = 0;
+ virtual contacts_record_h getNoteRecord() = 0;
+ virtual contacts_record_h addNote(const char *note) = 0;
+ virtual int setNote(contacts_record_h record, const char *note) = 0;
+ virtual const char* getNote(contacts_record_h record) = 0;
+ virtual int removeNote(contacts_record_h record) = 0;
+
+ virtual Eina_List* getAddressList() = 0;
+ virtual contacts_record_h addAddress(const char *address) = 0;
+ virtual int setAddressAddress(contacts_record_h record, const char *address) = 0;
+ virtual int setAddressType(contacts_record_h record, int type, const char *customStr) = 0;
+ virtual int getAddressAddress(contacts_record_h record, char *buf, int length) = 0;
+ virtual int getAddressType(contacts_record_h record) = 0;
+ virtual void getAddressTypeStr(contacts_record_h record, int indexType, std::string &typeString) = 0;
+ virtual int getNextAddressType() = 0;
+ virtual int removeAddress(contacts_record_h record) = 0;
+
+ virtual Eina_List* getMessengerList() = 0;
+ virtual contacts_record_h addMessenger(const char *messenger) = 0;
+ virtual int setMessengerMessenger(contacts_record_h record, const char *messenger) = 0;
+ virtual int setMessengerType(contacts_record_h record, int type, const char *customStr) = 0;
+ virtual int getMessengerIndexType(int emailType) = 0;
+ virtual int getMessengerRetType(int indexType) = 0;
+ virtual const char* getMessengerMessenger(contacts_record_h record) = 0;
+ virtual int getMessengerType(contacts_record_h record) = 0;
+ virtual void getMessengerTypeStr(contacts_record_h record, int indexType, std::string &typeString) = 0;
+ virtual int getNextMessengerType() = 0;
+ virtual int removeMessenger(contacts_record_h record) = 0;
+
+ virtual Eina_List* getWebsiteList() = 0;
+ virtual contacts_record_h addWebsite(const char *url) = 0;
+ virtual int setWebsiteWebsite(contacts_record_h record, const char *url) = 0;
+ virtual const char* getWebsiteWebsite(contacts_record_h record) = 0;
+ virtual int removeWebsite(contacts_record_h record) = 0;
+
+ virtual Eina_List* getRelationshipList() = 0;
+ virtual contacts_record_h addRelationship(const char *relationship) = 0;
+ virtual int setRelationshipRelationship(contacts_record_h record, const char *relationship) = 0;
+ virtual int setRelationshipType(contacts_record_h record, int type, const char *customStr) = 0;
+ virtual const char* getRelationshipRelationship(contacts_record_h record) = 0;
+ virtual int getRelationshipType(contacts_record_h record) = 0;
+ virtual void getRelationshipTypeStr(contacts_record_h record, int indexType, std::string &typeString) = 0;
+ virtual int getNextRelationshipType() = 0;
+ virtual int removeRelationship(contacts_record_h record) = 0;
+
+ virtual Eina_List* getEventList() = 0;
+ virtual contacts_record_h addEvent(int date) = 0;
+ virtual int setEventEvent(contacts_record_h record, int date) = 0;
+ virtual int setEventType(contacts_record_h record, int type, char *customStr) = 0;
+ virtual int getEventEvent(contacts_record_h record) = 0;
+ virtual int getEventType(contacts_record_h record) = 0;
+ virtual void getEventTypeStr(contacts_record_h record, int eventType, std::string &typeString) = 0;
+ virtual int getNextEventType() = 0;
+ virtual int removeEvent(contacts_record_h record) = 0;
+ // ...
+
+
+ virtual int getContactId() = 0;
+
+ virtual contacts_record_h getDefaultEmail() = 0;
+ virtual contacts_record_h getDefaultNumber() = 0;
+ virtual bool checkChangedTypeIsDeleted() = 0;
+
+ virtual void attachListener(ICtChangeListener* listener) = 0;
+ virtual void detachListener() = 0;
+
+ virtual contacts_record_h addGroupRelation(int groupId) = 0;
+
+ // for check input addressbook item is added or not
+ virtual void setInputAddressbookItem(bool added) = 0;
+ virtual bool getInputAddressbookItem(void) = 0;
+
+};
+
+#endif //_CT_DATA_H_
diff --git a/lib-contact/ct-detail/src/CtDetailData.cpp b/lib-contact/ct-detail/src/CtDetailData.cpp
new file mode 100755
index 0000000..078ba73
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtDetailData.cpp
@@ -0,0 +1,1571 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ContactsDebug.h"
+
+#include "CtDetailData.h"
+#include "CtCommon.h"
+#include "CtPath.h"
+
+#include "ICtChangeListener.h"
+
+CtDetailData::CtDetailData(int personId)
+{
+ WDEBUG("personId %d", personId);
+ __personId = personId;
+ __personRecord = NULL;
+
+ init();
+
+}
+
+CtDetailData::CtDetailData(contacts_record_h personRecord)
+{
+ WHIT();
+ __personId = 0;
+ __personRecord = personRecord;
+
+ init();
+
+}
+
+CtDetailData::CtDetailData()
+{
+ init();
+}
+
+CtDetailData::~CtDetailData()
+{
+ deInit();
+}
+
+void CtDetailData::deInit()
+{
+ SAFE_FREE(__displayName);
+ SAFE_FREE(__imagePath);
+ SAFE_FREE(__vibration);
+ SAFE_FREE(__messageAlert);
+ SAFE_FREE(__nickName);
+ SAFE_FREE(__phoneticName);
+ SAFE_FREE(__extraName);
+ __freeRecordList(__numberList);
+ __freeRecordList(__emailList);
+ __freeRecordList(__addressList);
+ __freeRecordList(__messengerList);
+ __freeRecordList(__relationshipList);
+ __freeRecordList(__urlList);
+ __freeRecordList(__eventList);
+ __freeRecordList(__noteList);
+ __freeRecordList(__contactList);
+
+ if (__formatter)
+ i18n_udate_destroy (__formatter);
+ if (__personRecord)
+ contacts_record_destroy(__personRecord, true);
+
+ int err = contacts_db_remove_changed_cb(_contacts_person._uri, __onPersonChanged, this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_remove_changed_cb() Failed(%d)", err);
+}
+
+void CtDetailData::init()
+{
+ WENTER();
+ int err = CONTACTS_ERROR_NONE;
+
+ __link_count = 0;
+ __imagePath = NULL;
+ __displayName = NULL;
+ __extraName = NULL;
+ __phoneticName = NULL;
+ __nickName = NULL;
+ __company = NULL;
+ __messageAlert = NULL;
+ __vibration = NULL;
+
+ __contactList = NULL;
+ __numberList = NULL;
+ __emailList = NULL;
+ __addressList = NULL;
+ __messengerList = NULL;
+ __relationshipList = NULL;
+ __urlList = NULL;
+ __eventList = NULL;
+ __noteList = NULL;
+ __listener = NULL;
+ __favorite = NULL;
+
+ // get person record
+ if(__personRecord == NULL && __personId > 0)
+ __personRecord = __getPerson(__personId);
+
+ if(__personRecord && __personId == 0)
+ {
+ err = contacts_record_get_int(__personRecord, _contacts_person.id, &__personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ }
+
+ //get link count
+ err = contacts_record_get_int(__personRecord, _contacts_person.link_count, &__link_count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ // get contact list
+ __contactList = ctCommonGetContactsList(__personId);
+
+ // get basic info
+ __getBasicInfo(__personRecord, __contactList);
+
+ // get number list
+ __numberList = __getChildDataList(__contactList, _contacts_contact.number);
+ // get email list
+ __emailList = __getChildDataList(__contactList, _contacts_contact.email);
+ // get address list
+ __addressList = __getChildDataList(__contactList, _contacts_contact.address);
+ // get messenger list
+ __messengerList = __getChildDataList(__contactList, _contacts_contact.messenger);
+ // get url list
+ __urlList = __getChildDataList(__contactList, _contacts_contact.url);
+ // get relationship list
+ __relationshipList = __getChildDataList(__contactList, _contacts_contact.relationship);
+ // get event list
+ __eventList = __getChildDataList(__contactList, _contacts_contact.event);
+ // get note list
+ __noteList = __getChildDataList(__contactList, _contacts_contact.note);
+
+
+ // set db change noti
+ contacts_db_get_current_version(&__version);
+ err = contacts_db_add_changed_cb(_contacts_person._uri, __onPersonChanged, this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_add_changed_cb() Failed(%d)", err);
+
+ __formatter = __initTimeFormatter();
+
+ WLEAVE();
+}
+
+void CtDetailData::attachListener(ICtChangeListener* listener)
+{
+ WPRET_M(NULL == listener, "listener is NULL");
+ __listener = listener;
+}
+
+void CtDetailData::detachListener()
+{
+ __listener = NULL;
+}
+
+int CtDetailData::getPersonId()
+{
+ return __personId;
+}
+
+Eina_List* CtDetailData::getContactsList()
+{
+ return __contactList;
+}
+
+int CtDetailData::__setImage(contacts_record_h record, char *image, int type)
+{
+ WDEBUG("image %s", image);
+ int err = CONTACTS_ERROR_NONE;
+
+ if(image && *image) {
+ //for update
+ free(__imagePath);
+ __imagePath = strdup(image);
+ err = contacts_record_set_str(record, _contacts_image.path, image);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ err = contacts_record_set_int(record, _contacts_image.type, type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_int() Failed(%d)", err);
+ }
+ return err;
+}
+
+int CtDetailData::__removeImage(contacts_record_h contactRecord, contacts_record_h imageRecord)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ //for update
+ free(__imagePath);
+ __imagePath = NULL;
+ err = contacts_record_remove_child_record(contactRecord, _contacts_contact.image, imageRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ err = contacts_record_destroy(imageRecord, true);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_destroy() Failed(%d)", err);
+
+ return err;
+}
+
+
+bool CtDetailData::__getHasReadOnlyMode(void)
+{
+ WHIT();
+ int addressbookId = -1;
+ //int addressbookMode = CONTACTS_ADDRESS_BOOK_MODE_EX_NONE;
+ int addressbookMode = CONTACTS_ADDRESS_BOOK_MODE_NONE;
+ int err = CONTACTS_ERROR_NONE;
+ Eina_List *l;
+ void* tmp = NULL;
+ contacts_record_h recordContact = NULL;
+ contacts_record_h recordAddressbook = NULL;
+
+ WPRET_VM(NULL == __contactList, true, "listContacts is NULL");
+
+ EINA_LIST_FOREACH(__contactList, l, tmp) {
+ if (NULL == tmp) {
+ continue;
+ }
+ recordContact = (contacts_record_h)tmp;
+
+ err = contacts_record_get_int(recordContact, _contacts_contact.address_book_id, &addressbookId);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_db_get_record(_contacts_address_book._uri, addressbookId, &recordAddressbook);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_db_get_record() Failed(%d)", err);
+
+ err = contacts_record_get_int(recordAddressbook, _contacts_address_book.mode, &addressbookMode);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_destroy(recordAddressbook, true);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_record_destroy() Failed(%d)", err);
+
+// if (CONTACTS_ADDRESS_BOOK_MODE_EX_READONLY & addressbookMode) {
+ if (CONTACTS_ADDRESS_BOOK_MODE_READONLY & addressbookMode) {
+ return true;
+ }
+ }
+ return false;
+}
+
+
+int CtDetailData::setFavorite(bool favorite)
+{
+ WDEBUG("favorite %d", favorite);
+ int err = CONTACTS_ERROR_NONE;
+ __favorite = favorite;
+
+ if(__getHasReadOnlyMode())
+ {
+ err = contacts_record_set_bool(__personRecord, _contacts_person.is_favorite, __favorite);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_set_bool() Failed(%d)", err);
+ err = contacts_db_update_record(__personRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_update_record() Failed(%d)", err);
+ return err;
+ }
+
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ EINA_LIST_FOREACH(__contactList, cursor, data) {
+ contacts_record_h contactRecord = (contacts_record_h)data;
+
+ err = contacts_record_set_bool(contactRecord, _contacts_contact.is_favorite, __favorite);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_set_bool() Failed(%d)", err);
+ err = contacts_db_update_record(contactRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_update_record() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+bool CtDetailData::getFavorite()
+{
+ return __favorite;
+}
+/*
+bool CtDetailData::getMFC()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h personUsageList = NULL;
+ contacts_query_h query= NULL;
+ contacts_filter_h filter = NULL;
+
+ err = contacts_query_create(_contacts_person_usage._uri, &query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person_usage._uri, &filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ do {
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_usage.times_used, CONTACTS_MATCH_GREATER_THAN_OR_EQUAL, 1))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_usage.usage_type, CONTACTS_MATCH_EQUAL, CONTACTS_USAGE_STAT_TYPE_OUTGOING_CALL))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_bool(filter, _contacts_person_usage.is_favorite, false))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_query_set_filter(query, filter))) break;
+ } while (0);
+
+ err = contacts_query_set_sort(query, _contacts_person_usage.times_used, false);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_sort() Failed(%d)", err);
+
+ err = contacts_db_get_records_with_query(query, 0, 5, &personUsageList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_get_list() Failed(%d)", err);
+
+ contacts_filter_destroy(filter);
+ contacts_query_destroy(query);
+ contacts_record_h recordPerson = NULL;
+ int mfcIndex = 1;
+
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(personUsageList, &recordPerson)) {
+ if(mfcIndex >5)
+ break;
+ int personId = -1;
+ err = contacts_record_get_int(recordPerson, _contacts_person.id, &personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ if(__personId == personId){
+ contacts_list_destroy(personUsageList, true);
+ return true;
+ }
+ mfcIndex++;
+ contacts_list_next(personUsageList);
+ }
+ contacts_list_destroy(personUsageList, true);
+ return false;
+}
+*/
+const char* CtDetailData::getImagePath()
+{
+ return __imagePath;
+}
+
+const char* CtDetailData::getDisplayName()
+{
+ return __displayName;
+}
+
+const char* CtDetailData::getExtraName()
+{
+ return __extraName;
+}
+
+const char* CtDetailData::getPhoneticName()
+{
+ return __phoneticName;
+}
+
+const char* CtDetailData::getNickName()
+{
+ return __nickName;
+}
+
+const char* CtDetailData::getCompany()
+{
+ return __company;
+}
+
+const char* CtDetailData::getMessageAlert()
+{
+ return __messageAlert;
+}
+
+const char* CtDetailData::getVibration()
+{
+ return __vibration;
+}
+
+
+Eina_List* CtDetailData::getNumberList()
+{
+ return __numberList;
+}
+
+Eina_List* CtDetailData::getEmailList()
+{
+ return __emailList;
+}
+
+Eina_List* CtDetailData::getAddressList()
+{
+ return __addressList;
+}
+
+Eina_List* CtDetailData::getMessengerList()
+{
+ return __messengerList;
+}
+
+Eina_List* CtDetailData::getUrlList()
+{
+ return __urlList;
+}
+
+Eina_List* CtDetailData::getRelationshipList()
+{
+ return __relationshipList;
+}
+
+Eina_List* CtDetailData::getEventList()
+{
+ return __eventList;
+}
+
+Eina_List* CtDetailData::getNoteList()
+{
+ return __noteList;
+}
+
+const char* CtDetailData::getNumber(contacts_record_h record)
+{
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_number.number, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ return value;
+}
+
+int CtDetailData::getNumberType(contacts_record_h record)
+{
+ int type = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_number.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, CONTACTS_NUMBER_TYPE_OTHER, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtDetailData::getNumberTypeStr(contacts_record_h record, int numberType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+ char buf[128] = {0,};
+
+ if (numberType & CONTACTS_NUMBER_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_number.label);
+
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_CELL) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ snprintf(buf, sizeof(buf),"%s 2", V_("IDS_PB_OPT_HOME_ABB"));
+ typeStr = buf;
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ snprintf(buf, sizeof(buf),"%s 2", V_("IDS_PB_OPT_WORK"));
+ typeStr = buf;
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_MOBILE");
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_VOICE) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_FAX) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_FAX_HHOME_ABB");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_FAX_HWORK_ABB");
+ }
+ else {
+ typeStr = V_("IDS_PB_BODY_FAX");
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_MAIN) {
+ typeStr = V_("IDS_PB_OPT_MAIN");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_PAGER) {
+ typeStr = V_("IDS_PB_OPT_PAGER");
+ }
+ else {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+const char* CtDetailData::getNumberTypeCustom(contacts_record_h record)
+{
+ char* type = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_number.label, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+const char* CtDetailData::getEmail(contacts_record_h record)
+{
+ WHIT();
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_email.email, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ return value;
+}
+
+int CtDetailData::getEmailType(contacts_record_h record)
+{
+ WHIT();
+ int type = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_email.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, CONTACTS_EMAIL_TYPE_OTHER, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtDetailData::getEmailTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType & CONTACTS_EMAIL_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_email.label);
+ }
+ else if (indexType & CONTACTS_EMAIL_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (indexType & CONTACTS_EMAIL_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtDetailData::getAddress(contacts_record_h record, char *buf, int length)
+{
+ WHIT();
+ return __getFullAddress(record, buf, length);
+}
+
+
+int CtDetailData::getAddressType(contacts_record_h record)
+{
+ int type = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_address.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+const char* CtDetailData::getDataTypeCustom(contacts_record_h record, int property_id)
+{
+ char* typeStr = NULL;
+ const char* result = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, property_id, &typeStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_int() Failed(%d)", err);
+
+ result = typeStr;
+ return result;
+}
+
+void CtDetailData::getAddressTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType & CONTACTS_ADDRESS_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_address.label);
+ }
+ else if (indexType & CONTACTS_ADDRESS_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (indexType & CONTACTS_ADDRESS_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+const char* CtDetailData::getUrl(contacts_record_h record)
+{
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_url.url, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ return value;
+}
+
+int CtDetailData::getUrlType(contacts_record_h record)
+{
+ int type = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_url.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+const char* CtDetailData::getMessenger(contacts_record_h record)
+{
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_messenger.im_id, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ return value;
+}
+
+int CtDetailData::getMessengerType(contacts_record_h record)
+{
+ int type = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_messenger.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtDetailData::getMessengerTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType == CONTACTS_MESSENGER_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_messenger.label);
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_AIM) {
+ typeStr = V_("IDS_PB_OPT_AIM");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_YAHOO) {
+ typeStr = V_("IDS_PB_OPT_YAHOO_E");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_SKYPE) {
+ typeStr = V_("IDS_PB_BODY_SKYPE");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_QQ) {
+ typeStr = V_("IDS_PB_OPT_QQ");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_GOOGLE) {
+ typeStr = V_("IDS_PB_OPT_HANGOUTS");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_ICQ) {
+ typeStr = V_("IDS_PB_OPT_ICQ");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_JABBER) {
+ typeStr = V_("IDS_PB_OPT_JABBER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtDetailData::getEvent(contacts_record_h record)
+{
+ int date = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_event.date, &date);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return date;
+}
+
+int CtDetailData::getEventType(contacts_record_h record)
+{
+ int type = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_event.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtDetailData::getEventTypeStr(contacts_record_h record, int eventType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (eventType == CONTACTS_EVENT_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_event.label);
+ }
+ else if (eventType == CONTACTS_EVENT_TYPE_BIRTH) {
+ typeStr = V_("IDS_PB_OPT_BIRTHDAY");
+ }
+ else if (eventType == CONTACTS_EVENT_TYPE_ANNIVERSARY) {
+ typeStr = V_("IDS_PB_OPT_ANNIVERSARY_ABB");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+const char* CtDetailData::getRelationship(contacts_record_h record)
+{
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_relationship.name, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ return value;
+}
+
+int CtDetailData::getRelationshipType(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int type = 0;
+
+ err = contacts_record_get_int(record, _contacts_relationship.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtDetailData::getRelationshipTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType == CONTACTS_RELATIONSHIP_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_relationship.label);
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_ASSISTANT) {
+ typeStr = V_("IDS_PB_OPT_ASSISTANT_M_CONTACTS");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_BROTHER) {
+ typeStr = V_("IDS_PB_OPT_BROTHER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_CHILD) {
+ typeStr = V_("IDS_PB_OPT_CHILD");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_DOMESTIC_PARTNER) {
+ typeStr = V_("IDS_PB_OPT_DOMESTIC_PARTNER_ABB2");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_FATHER) {
+ typeStr = V_("IDS_PB_OPT_FATHER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_FRIEND) {
+ typeStr = V_("IDS_PB_OPT_FRIEND");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_MANAGER) {
+ typeStr = V_("IDS_PB_OPT_MANAGER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_MOTHER) {
+ typeStr = V_("IDS_PB_OPT_MOTHER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_PARENT) {
+ typeStr = V_("IDS_PB_OPT_PARENT");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_PARTNER) {
+ typeStr = V_("IDS_PB_OPT_PARTNER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_REFERRED_BY) {
+ typeStr = V_("IDS_PB_OPT_REFERRED_BY_ABB");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_RELATIVE) {
+ typeStr = V_("IDS_PB_OPT_RELATIVE");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_SISTER) {
+ typeStr = V_("IDS_PB_OPT_SISTER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_SPOUSE) {
+ typeStr = V_("IDS_PB_OPT_SPOUSE");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+
+const char* CtDetailData::getNote(contacts_record_h record)
+{
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_note.note, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ return value;
+}
+
+
+void CtDetailData::__onPersonChanged(const char *viewUri, void *userData)
+{
+ WHIT();
+
+ WPRET_M(NULL == userData, "userData is NULL");
+ CtDetailData* data = (CtDetailData*)userData;
+ int err = CONTACTS_ERROR_NONE;
+ Eina_List *cursor = NULL;
+ void *record = NULL;
+ int link_count = 0;
+ int version = 0;
+ bool matched = false;
+
+ if(data->__personRecord) {
+ contacts_record_h personRecord = NULL;
+ err = contacts_db_get_record(_contacts_person._uri, data->__personId, &personRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d) id", err);
+ err = contacts_record_get_int(personRecord, _contacts_person.link_count, &link_count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d) id", err);
+ }
+ if(data->__link_count != link_count)
+ matched = true;
+
+ EINA_LIST_FOREACH(data->__contactList, cursor, record) {
+ contacts_record_h contactRecord = (contacts_record_h)record;
+ int addressbookId = 0;
+ int contactId = 0;
+ contacts_list_h chagnedList = NULL;
+ contacts_record_h changedRecord = NULL;
+
+ err = contacts_record_get_int(contactRecord, _contacts_contact.address_book_id, &addressbookId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d) address_book_id", err);
+
+ err = contacts_record_get_int(contactRecord, _contacts_contact.id, &contactId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d) id", err);
+
+ err = contacts_db_get_changes_by_version(_contacts_contact_updated_info._uri, addressbookId, data->__version, &chagnedList, &version);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_changes_by_version() Failed(%d)", err);
+
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(chagnedList, &changedRecord)) {
+ int changedId = 0;
+ err = contacts_record_get_int(changedRecord, _contacts_contact_updated_info.contact_id, &changedId);
+ if(contactId == changedId) {
+ WDEBUG("update matched");
+ matched = true;
+ break;
+ }
+ contacts_list_next(chagnedList);
+ }
+
+ err = contacts_list_destroy(chagnedList, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy(out_change_list) Failed(%d)", err);
+
+ if(matched == true) {
+ break;
+ }
+ }
+
+ if(version > 0)
+ data->__version = version;
+
+ if(matched && data->__listener)
+ data->__listener->onDbChanged(viewUri);
+}
+
+
+
+void CtDetailData::__freeRecordList(Eina_List *recordList)
+{
+ int err = CONTACTS_ERROR_NONE;
+ void *data = NULL;
+ if(NULL == recordList) {
+ return;
+ }
+
+ EINA_LIST_FREE(recordList, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if (NULL == record) continue;
+ err = contacts_record_destroy(record, true);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_destroy() Failed(%d)", err);
+ continue;
+ }
+ }
+}
+
+
+contacts_record_h CtDetailData::__getPerson(int personId)
+{
+ WHIT();
+ contacts_record_h personRecord = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_db_get_record(_contacts_person._uri, personId, &personRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_db_get_record() Failed(%d)", err);
+
+ return personRecord;
+}
+
+void CtDetailData::__getBasicInfo(contacts_record_h personRecord, Eina_List *contactList)
+{
+ WENTER();
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str(personRecord, _contacts_person.display_name, &__displayName);
+ if(err != CONTACTS_ERROR_NONE) {
+ WERROR("contacts_record_get_str display_name %d", err);
+ }
+ err = contacts_record_get_str(personRecord, _contacts_person.image_thumbnail_path, &__imagePath);
+ if(err != CONTACTS_ERROR_NONE) {
+ WERROR("contacts_record_get_str image_thumbnail_path %d", err);
+ }
+ err = contacts_record_get_str(personRecord, _contacts_person.vibration, &__vibration);
+ if(err != CONTACTS_ERROR_NONE) {
+ WERROR("contacts_record_get_str vibration %d", err);
+ }
+ err = contacts_record_get_str(personRecord, _contacts_person.message_alert, &__messageAlert);
+ if(err != CONTACTS_ERROR_NONE) {
+ WERROR("contacts_record_get_str message_alert %d", err);
+ }
+ err = contacts_record_get_bool(personRecord, _contacts_person.is_favorite, &__favorite);
+ if(err != CONTACTS_ERROR_NONE) {
+ WERROR("contacts_record_get_str is_favorite %d", err);
+ }
+
+ ctCommonRemoveNewline(__displayName);
+
+ __getCompany(contactList, &__company);
+
+ __getExtraName1(contactList, &__nickName, &__phoneticName);
+
+ __getExtraName2(__nickName, __phoneticName, &__extraName);
+
+ WLEAVE();
+}
+
+void CtDetailData::__getCompany(Eina_List *contactList, char **dest)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ void *data;
+ contacts_record_h companyRecord = NULL;
+ Eina_List *l;
+ WPRET_M(NULL == contactList, "contactList is NULL");
+
+ EINA_LIST_FOREACH(contactList, l, data) {
+ contacts_record_h contactRecord = (contacts_record_h)data;
+ if (NULL == contactRecord)
+ continue;
+ err = contacts_record_get_child_record_at_p(contactRecord, _contacts_contact.company, 0, &companyRecord);
+ if(CONTACTS_ERROR_NONE != err)
+ WERROR("contacts_record_get_child_record_at_p() Failed(%d)", err);
+ else {
+ __getCompanyStr(companyRecord, dest);
+ break;
+ }
+ }
+}
+
+void CtDetailData::__getExtraName2(char* nick, char* phonetic, char** extra)
+{
+ WHIT();
+ char name[CT_TEXT_MAX_LEN+1] = {0, };
+
+ free(*extra);
+
+ if(phonetic && *phonetic) {
+ if(nick && *nick)
+ snprintf(name, sizeof(name), "%s, %s", phonetic, nick);
+ else
+ snprintf(name, sizeof(name), "%s", phonetic);
+ }
+ else if(nick && *nick)
+ snprintf(name, sizeof(name), "%s", nick);
+
+ if( strlen(name) > 0)
+ *extra = strdup(name);
+ else
+ *extra = NULL;
+}
+
+
+void CtDetailData::__getExtraName1(Eina_List *contactList, char **nick, char **phonetic)
+{
+ WHIT();
+ int err1 = CONTACTS_ERROR_NONE;
+ int err2 = CONTACTS_ERROR_NONE;
+ void *data;
+ contacts_record_h nameRecord = NULL;
+ contacts_record_h nicknameRecord = NULL;
+ Eina_List *l;
+
+ WPRET_M(NULL == contactList, "contact_list is NULL");
+
+ EINA_LIST_FOREACH(contactList, l, data) {
+ contacts_record_h contactRecord = (contacts_record_h)data;
+ if (NULL == contactRecord)
+ continue;
+
+ err1 = contacts_record_get_child_record_at_p(contactRecord, _contacts_contact.name, 0, &nameRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err1, "contacts_record_get_child_record_at_p() name Failed(%d)", err1);
+ err2 = contacts_record_get_child_record_at_p(contactRecord, _contacts_contact.nickname, 0, &nicknameRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err2, "contacts_record_get_child_record_at_p() nickname Failed(%d)", err2);
+
+ if (CONTACTS_ERROR_NONE == err1 || CONTACTS_ERROR_NONE == err2) {
+ __getExtraNameStr(nameRecord, nicknameRecord, nick, phonetic);
+ break;
+ }
+ }
+}
+
+void CtDetailData::__getExtraNameStr(contacts_record_h nameRecord, contacts_record_h nicknameRecord, char **nick, char **phonetic)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *nickname = NULL;
+ int length = 0;
+
+ free(*nick);
+ free(*phonetic);
+ *nick = NULL;
+ *phonetic = NULL;
+ char *phoneticFirst = NULL;
+ char *phoneticMiddle = NULL;
+ char *phoneticLast = NULL;
+ char *phoneticFull = NULL;
+
+ if(nicknameRecord) {
+ err = contacts_record_get_str_p(nicknameRecord, _contacts_nickname.name, (char**)&nickname);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() name Failed(%d)", err);
+ *nick = SAFE_STRDUP(nickname);
+ }
+
+ if(nameRecord) {
+
+ contacts_name_display_order_e name_display_order;
+ contacts_setting_get_name_display_order(&name_display_order);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.phonetic_first, (char**)&phoneticFirst);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() phoneticname Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.phonetic_middle, (char**)&phoneticMiddle);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() phoneticname Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.phonetic_last, (char**)&phoneticLast);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() phoneticname Failed(%d)", err);
+
+ int phoneticLength = SAFE_STRLEN(phoneticFirst) + SAFE_STRLEN(phoneticMiddle) + SAFE_STRLEN(phoneticLast) + 3;
+ WDEBUG("phoneticLength = %d", phoneticLength);
+ phoneticFull = (char*)malloc(sizeof(char)*phoneticLength);
+ WPRET_M(NULL == phoneticFull, "failed to malloc");
+ memset(phoneticFull, 0, sizeof(char)*phoneticLength);
+
+ if (CONTACTS_NAME_DISPLAY_ORDER_FIRSTLAST == name_display_order) {
+ if (phoneticFirst && *phoneticFirst) {
+ strncat(phoneticFull, phoneticFirst, SAFE_STRLEN(phoneticFirst));
+ }
+ if (phoneticMiddle && *phoneticMiddle) {
+ if (phoneticFull && *phoneticFull) {
+ strncat(phoneticFull, " ", 1);
+ }
+ strncat(phoneticFull, phoneticMiddle, SAFE_STRLEN(phoneticMiddle));
+ }
+ if (phoneticLast && *phoneticLast) {
+ if (phoneticFull && *phoneticFull) {
+ strncat(phoneticFull, " ", 1);
+ }
+ strncat(phoneticFull, phoneticLast, SAFE_STRLEN(phoneticLast));
+ }
+ }
+ else {
+ if (phoneticLast && *phoneticLast) {
+ strncat(phoneticFull, phoneticLast, SAFE_STRLEN(phoneticLast));
+ }
+ if (phoneticFirst && *phoneticFirst) {
+ if (phoneticFull && *phoneticFull) {
+ strncat(phoneticFull, " ", 1);
+ }
+ strncat(phoneticFull, phoneticFirst, SAFE_STRLEN(phoneticFirst));
+ }
+ if (phoneticMiddle && *phoneticMiddle) {
+ if (phoneticFull && *phoneticFull) {
+ strncat(phoneticFull, " ", 1);
+ }
+ strncat(phoneticFull, phoneticMiddle, SAFE_STRLEN(phoneticMiddle));
+ }
+ }
+ length += phoneticLength;
+
+ *phonetic = SAFE_STRDUP(phoneticFull);
+ free(phoneticFull);
+ }
+
+}
+
+void CtDetailData::__getCompanyStr(contacts_record_h companyRecord, char **dest)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *company, *job, *department;
+ char *fullName = NULL;
+ int length = 0;
+ *dest = NULL;
+
+ err = contacts_record_get_str_p(companyRecord, _contacts_company.name, (char**)&company);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ err = contacts_record_get_str_p(companyRecord, _contacts_company.department, (char**)&department);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ err = contacts_record_get_str_p(companyRecord, _contacts_company.job_title, (char**)&job);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+
+ length = SAFE_STRLEN(company) + SAFE_STRLEN(department) + SAFE_STRLEN(job) + 5;
+ WDEBUG("length = %d", length);
+
+ fullName = (char*)malloc(sizeof(char)*length);
+ WPRET_M(NULL == fullName, "failed to malloc");
+ memset(fullName, 0, sizeof(char)*length);
+
+ if (company) {
+ strncat(fullName, company, SAFE_STRLEN(company));
+ }
+
+ if (department) {
+ if (fullName && *fullName) {
+ strncat(fullName, ", ", 2);
+ }
+ strncat(fullName, department, SAFE_STRLEN(department));
+ }
+
+ if (job) {
+ if (fullName && *fullName) {
+ strncat(fullName, ", ", 2);
+ }
+ strncat(fullName, job, SAFE_STRLEN(job));
+ }
+
+ *dest = SAFE_STRDUP(fullName);
+ free(fullName);
+ fullName = NULL;
+}
+
+bool CtDetailData::__isDataExist(Eina_List *dataList, contacts_record_h record, unsigned int propertyId)
+{
+ WHIT();
+ Eina_List *l;
+ char *originText = NULL;
+ char *tempText = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ void* data;
+
+ unsigned int dataPropertyId;
+
+ if(propertyId == _contacts_contact.number)
+ dataPropertyId = _contacts_number.number;
+ else if(propertyId == _contacts_contact.email)
+ dataPropertyId = _contacts_email.email;
+ else if(propertyId == _contacts_contact.messenger)
+ dataPropertyId = _contacts_messenger.im_id;
+ else if(propertyId == _contacts_contact.url)
+ dataPropertyId = _contacts_url.url;
+ else if(propertyId == _contacts_contact.relationship)
+ dataPropertyId = _contacts_relationship.name;
+ else if(propertyId == _contacts_contact.note)
+ dataPropertyId = _contacts_note.note;
+ else {
+ WERROR("cannot handle %d", propertyId);
+ return false;
+ }
+
+ err = contacts_record_get_str_p(record, dataPropertyId, &originText);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_record_get_str_p() Failed(%d)", err);
+
+ EINA_LIST_FOREACH(dataList, l, data) {
+ contacts_record_h tempRecord = (contacts_record_h)data;
+ if (NULL == tempRecord)
+ continue;
+
+ err = contacts_record_get_str_p(tempRecord, dataPropertyId, &tempText);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_record_get_str_p() Failed(%d)", err);
+
+ if (NULL == tempText)
+ continue;
+
+ if (0 == strcmp(originText, tempText))
+ return true;
+ }
+ return false;
+}
+
+bool CtDetailData::__isAddressExist(Eina_List *dataList, contacts_record_h record)
+{
+ WHIT();
+ Eina_List *l;
+ void *data;
+ char originAddress[CT_TEXT_MAX_LEN] = {0,};
+
+ __getFullAddress(record, originAddress, sizeof(originAddress));
+
+ EINA_LIST_FOREACH(dataList, l, data) {
+ char tempAddress[CT_TEXT_MAX_LEN] = {0,};
+ contacts_record_h tempRecord = (contacts_record_h)data;
+ if (NULL == tempRecord)
+ continue;
+
+ __getFullAddress(tempRecord, tempAddress, sizeof(tempAddress));
+ if (0 == strcmp(tempAddress, originAddress)) {
+ return true;
+ }
+ }
+ return false;
+}
+
+bool CtDetailData::__isEventExist(Eina_List *dataList, contacts_record_h record)
+{
+ WHIT();
+ Eina_List *l;
+ int originDate;
+ int tempDate;
+ int err = CONTACTS_ERROR_NONE;
+ void *data;
+
+ err = contacts_record_get_int(record, _contacts_event.date, &originDate);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_record_get_int() Failed(%d)", err);
+
+ EINA_LIST_FOREACH(dataList, l, data) {
+ contacts_record_h tempRecord = (contacts_record_h)data;
+ if (NULL == tempRecord)
+ continue;
+
+ err = contacts_record_get_int(tempRecord, _contacts_event.date, &tempDate);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_record_get_int() Failed(%d)", err);
+
+ if(originDate == tempDate)
+ return true;
+
+ }
+ return false;
+}
+
+void CtDetailData::__appendStringWithLinebreak(const char *src, char *dest, int length)
+{
+ char temp[CT_TEXT_MAX_LEN];
+ if (src && '\0' != src[0]) {
+ if ('\0' == dest[0])
+ snprintf(dest, length, "%s", src);
+ else {
+ snprintf(temp, sizeof(temp), "%s\n%s", src, dest);
+ snprintf(dest, length, "%s", temp);
+ }
+ }
+}
+
+int CtDetailData::__getFullAddress(contacts_record_h addresssRecord, char *buf, int length)
+{
+ WHIT();
+ const char *code = NULL;
+ const char *region = NULL;
+ const char *locality = NULL;
+ const char *street = NULL;
+ const char *extended = NULL;
+ const char *country = NULL;
+ const char *pobox = NULL;
+ int err = CONTACTS_ERROR_NONE;
+
+ do {
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.postal_code , (char**)&code))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.extended , (char**)&extended))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.postbox , (char**)&pobox))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.street , (char**)&street))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.locality , (char**)&locality))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.region , (char**)&region))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.country ,(char**)&country))) break;
+ } while (0);
+ if(CONTACTS_ERROR_NONE != err)
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+
+ __appendStringWithLinebreak(country, buf, length);
+ __appendStringWithLinebreak(code, buf, length);
+ __appendStringWithLinebreak(region, buf, length);
+ __appendStringWithLinebreak(locality, buf, length);
+ __appendStringWithLinebreak(street, buf, length);
+ __appendStringWithLinebreak(extended, buf, length);
+ __appendStringWithLinebreak(pobox, buf, length);
+ return 0;
+}
+
+Eina_List* CtDetailData::__getChildDataList(Eina_List *contactList, unsigned int propertyId)
+{
+ WDEBUG("propertyId %d", propertyId);
+ Eina_Bool checkduplicate = false;
+ int index = 0;
+ Eina_List *l;
+ Eina_List *dataRecordList = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h dataRecord = NULL;
+ contacts_record_h dataRecordClone = NULL;
+ void *data = NULL;
+
+ EINA_LIST_FOREACH(contactList, l, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ index = 0;
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(record, propertyId, index++, &dataRecord)) {
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+ break;
+ }
+
+ if (checkduplicate) {
+ if(propertyId == _contacts_contact.address) {
+ if (__isAddressExist(dataRecordList, dataRecord) == true) {
+ WERROR("__isDataExist() return true %d", propertyId);
+ continue;
+ }
+ }
+ else if(propertyId == _contacts_contact.event) {
+ if (__isEventExist(dataRecordList, dataRecord) == true) {
+ WERROR("__isDataExist() return true %d", propertyId);
+ continue;
+ }
+ }
+ else {
+ if (__isDataExist(dataRecordList, dataRecord, propertyId) == true) {
+ WERROR("__isDataExist() return true %d", propertyId);
+ continue;
+ }
+ }
+
+ }
+ err = contacts_record_clone(dataRecord, &dataRecordClone);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_list_get_current_record_p() Failed(%d)", err);
+ break;
+ }
+ dataRecordList = eina_list_append(dataRecordList, dataRecordClone);
+ }
+ checkduplicate = true;
+ }
+
+ WDEBUG("count %d", eina_list_count(dataRecordList));
+
+ return dataRecordList;
+}
+
+i18n_udate_format_h CtDetailData::__initTimeFormatter()
+{
+ const char *locale;
+ int32_t pattern_capacity;
+ i18n_uchar pattern[256];
+ i18n_uchar customSkeleton[256];
+ i18n_udate_format_h formatter = NULL;
+ i18n_udatepg_h generator = NULL;
+ int status = I18N_ERROR_NONE;
+ int bestPatternLength;
+
+ i18n_ustring_copy_ua_n(customSkeleton, "yMMMMd", SAFE_STRLEN("yMMMMd"));
+
+ status = i18n_ulocale_get_default(&locale);
+ WPRET_VM(NULL == locale, NULL, "uloc_getDefault() return NULL");
+
+ status = i18n_udatepg_create (locale, &generator);
+
+ pattern_capacity = (int32_t) (sizeof(pattern) / sizeof((pattern)[0]));
+ status = i18n_udatepg_get_best_pattern (generator, customSkeleton, 6, pattern, pattern_capacity, &bestPatternLength);
+
+ if (!status)
+ status = i18n_udate_create (I18N_UDATE_PATTERN , I18N_UDATE_PATTERN , locale, NULL, -1, pattern, -1, &formatter);
+
+ i18n_udatepg_destroy(generator);
+ return formatter;
+}
+
+
+char* CtDetailData::getDatetimeStr(i18n_udate_format_h formatter, int year, int mon, int day)
+{
+ char *ret_str = NULL;
+ char formatted_str[256];
+ i18n_uchar formatted[256] = {0, };
+ int status = I18N_ERROR_NONE;
+ i18n_udate millis = 0;
+ i18n_ucalendar_h cal = NULL;
+ int formattedLength = 0;
+
+ const char* locale = NULL;
+ status = i18n_ulocale_get_default(&locale);
+
+ status = i18n_ucalendar_create(NULL, -1, locale, I18N_UCALENDAR_TRADITIONAL , &cal);
+ WPRET_VM(status, NULL, "ucal_open() Failed()");
+
+ status = i18n_ucalendar_set_date_time(cal, year, mon-1, day, 0, 0, 0);
+
+ status = i18n_ucalendar_set_attribute(cal, I18N_UCALENDAR_LENIENT , 1);
+
+ status = i18n_ucalendar_get_milliseconds(cal, &millis);
+
+ if (status) {
+ WDEBUG("i18n_ucalendar_get_milliseconds() Failed()");
+ i18n_ucalendar_destroy(cal);
+ return NULL;
+ }
+
+ status = i18n_udate_format_date(formatter, millis, formatted, 256, NULL, &formattedLength);
+
+ if (status) {
+ WDEBUG("udat_format() Failed()");
+ i18n_ucalendar_destroy(cal);
+ return NULL;
+ }
+
+ i18n_ustring_copy_au (formatted_str, formatted);
+ ret_str = g_strdup(formatted_str);
+ i18n_ucalendar_destroy(cal);
+
+ return ret_str;
+}
+
+i18n_udate_format_h CtDetailData::getDateFormater()
+{
+ return __formatter;
+}
+
+
+Eina_List* CtDetailData::getContactsWithoutReadOnly()
+{
+ WHIT();
+ int addressbookId = -1;
+ //int addressbookMode = CONTACTS_ADDRESS_BOOK_MODE_EX_FACEBOOK;
+ int addressbookMode = CONTACTS_ADDRESS_BOOK_MODE_READONLY;
+ int err = CONTACTS_ERROR_NONE;
+ Eina_List *l;
+ void* tmp = NULL;
+ contacts_record_h recordContact = NULL;
+ contacts_record_h contactRecordClone = NULL;
+ contacts_record_h recordAddressbook = NULL;
+ Eina_List *outList = NULL;
+
+ WPRET_VM(NULL == __contactList, NULL, "listContacts is NULL");
+
+ EINA_LIST_FOREACH(__contactList, l, tmp) {
+ if (NULL == tmp) {
+ continue;
+ }
+ recordContact = (contacts_record_h)tmp;
+
+ err = contacts_record_get_int(recordContact, _contacts_contact.address_book_id, &addressbookId);
+ if(CONTACTS_ERROR_NONE != err)
+ {
+ WWARNING("contacts_record_get_int() Failed(%d)", err);
+ continue;
+ }
+ err = contacts_db_get_record(_contacts_address_book._uri, addressbookId, &recordAddressbook);
+ if(CONTACTS_ERROR_NONE != err)
+ {
+ WWARNING("contacts_record_get_int() Failed(%d)", err);
+ contacts_record_destroy(recordAddressbook, true);
+ continue;
+ }
+
+ err = contacts_record_get_int(recordAddressbook, _contacts_address_book.mode, &addressbookMode);
+ if(CONTACTS_ERROR_NONE != err)
+ {
+ WWARNING("contacts_record_get_int() Failed(%d)", err);
+ contacts_record_destroy(recordAddressbook, true);
+ continue;
+ }
+
+ err = contacts_record_destroy(recordAddressbook, true);
+ if(CONTACTS_ERROR_NONE != err)
+ WWARNING("contacts_record_destroy() Failed(%d)", err);
+
+// if (CONTACTS_ADDRESS_BOOK_MODE_EX_READONLY & addressbookMode) {
+ if (CONTACTS_ADDRESS_BOOK_MODE_READONLY & addressbookMode) {
+ continue;
+ }
+ err = contacts_record_clone(recordContact, &contactRecordClone);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_clone() Failed(%d)", err);
+ continue;
+ }
+ outList = eina_list_append(outList, contactRecordClone);
+ }
+ return outList;
+}
+
+bool CtDetailData::getReadOnlyMode()
+{
+ WHIT();
+ int addressbookId = -1;
+// int addressbookMode = CONTACTS_ADDRESS_BOOK_MODE_EX_FACEBOOK;
+ int addressbookMode = CONTACTS_ADDRESS_BOOK_MODE_READONLY;
+ int err = CONTACTS_ERROR_NONE;
+ Eina_List *l;
+ void* tmp = NULL;
+ contacts_record_h recordContact = NULL;
+ contacts_record_h recordAddressbook = NULL;
+
+ WPRET_VM(NULL == __contactList, true, "listContacts is NULL");
+
+ EINA_LIST_FOREACH(__contactList, l, tmp) {
+ if (NULL == tmp) {
+ continue;
+ }
+ recordContact = (contacts_record_h)tmp;
+
+ err = contacts_record_get_int(recordContact, _contacts_contact.address_book_id, &addressbookId);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_db_get_record(_contacts_address_book._uri, addressbookId, &recordAddressbook);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_db_get_record() Failed(%d)", err);
+
+ err = contacts_record_get_int(recordAddressbook, _contacts_address_book.mode, &addressbookMode);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_destroy(recordAddressbook, true);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_record_destroy() Failed(%d)", err);
+
+// if (CONTACTS_ADDRESS_BOOK_MODE_EX_READONLY & addressbookMode)
+ if (CONTACTS_ADDRESS_BOOK_MODE_READONLY & addressbookMode)
+ continue;
+ return false;
+ }
+ return true;
+}
+
+bool CtDetailData::isCurrentPersonValid()
+{
+ WHIT();
+
+ int personId = getPersonId();
+
+ return ctCommonIsValidPerson(personId);
+}
+
+char* CtDetailData::getVcardStream() const
+{
+ char* vcardStream = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_vcard_make_from_person(__personRecord, &vcardStream);
+ WPRET_VM(err != CONTACTS_ERROR_NONE, NULL, "contacts_vcard_make_from_person() Failed(%d)", err);
+
+ return vcardStream;
+}
diff --git a/lib-contact/ct-detail/src/CtDetailData.h b/lib-contact/ct-detail/src/CtDetailData.h
new file mode 100755
index 0000000..a17ed65
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtDetailData.h
@@ -0,0 +1,173 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_DETAIL_DATA_H_
+#define _CT_DETAIL_DATA_H_
+
+#include <utils_i18n.h>
+
+#include <contacts.h>
+//#include <contacts_product.h>
+
+#include "ContactsCommon.h"
+
+#include "CtType.h"
+#include "CtDetailDataBase.h"
+#include "CtData.h"
+
+#if 0
+#include "CtGalSearchMgr.h"
+#endif
+
+class CtDetailData : public CtDetailDataBase
+{
+public:
+ CtDetailData(int personId);
+ CtDetailData(contacts_record_h personRecord);
+#if 0
+ CtDetailData(CtGalSearchContact* galSearchContact);
+#endif
+ CtDetailData();
+ virtual ~CtDetailData();
+
+public:
+
+ void init();
+ void deInit();
+
+ int getPersonId();
+ Eina_List* getContactsList();
+ int setFavorite(bool favorite);
+
+ const char* getImagePath();
+ const char* getDisplayName();
+ const char* getExtraName();
+ const char* getPhoneticName();
+ const char* getNickName();
+ const char* getCompany();
+ const char* getMessageAlert();
+ const char* getVibration();
+ bool getFavorite();
+ //bool getMFC();
+
+ Eina_List* getNumberList();
+ const char* getNumber(contacts_record_h record);
+ int getNumberType(contacts_record_h record);
+ void getNumberTypeStr(contacts_record_h record, int numberType, std::string &typeString);
+ const char* getNumberTypeCustom(contacts_record_h record);
+ Eina_List* getEmailList();
+ const char* getEmail(contacts_record_h record);
+ int getEmailType(contacts_record_h record);
+ void getEmailTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ Eina_List* getAddressList();
+ int getAddress(contacts_record_h record, char *buf, int length);
+ const char* getDataTypeCustom(contacts_record_h record, int property_id);
+ int getAddressType(contacts_record_h record);
+ void getAddressTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ Eina_List* getMessengerList();
+ const char* getMessenger(contacts_record_h record);
+ int getMessengerType(contacts_record_h record);
+ void getMessengerTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ Eina_List* getUrlList();
+ const char* getUrl(contacts_record_h record);
+ int getUrlType(contacts_record_h record);
+ Eina_List* getRelationshipList();
+ const char* getRelationship(contacts_record_h record);
+ int getRelationshipType(contacts_record_h record);
+ void getRelationshipTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ Eina_List* getEventList();
+ int getEvent(contacts_record_h record);
+ int getEventType(contacts_record_h record);
+ void getEventTypeStr(contacts_record_h record, int eventType, std::string &typeString);
+ Eina_List* getNoteList();
+ const char* getNote(contacts_record_h record);
+ char* getDatetimeStr(i18n_udate_format_h formatter, int year, int mon, int day);
+ i18n_udate_format_h getDateFormater();
+ bool getReadOnlyMode();
+ void attachListener(ICtChangeListener* listener);
+ void detachListener();
+ Eina_List* getContactsWithoutReadOnly();
+
+ bool isCurrentPersonValid();
+
+ char* getVcardStream() const;
+
+private:
+ static void __onPersonChanged(const char *viewUri, void *userData);
+ void __freeRecordList(Eina_List *recordList);
+
+ contacts_record_h __getPerson(int personId);
+ Eina_List* __getContactsList(int personId);
+
+ Eina_List* __getChildDataList(Eina_List *contactList, unsigned int propertyId);
+ int __getFullAddress(contacts_record_h addresssRecord, char *buf, int length);
+ bool __isEventExist(Eina_List *dataList, contacts_record_h record);
+ bool __isAddressExist(Eina_List *dataList, contacts_record_h record);
+ bool __isDataExist(Eina_List *dataList, contacts_record_h record, unsigned int propertyId);
+ void __appendStringWithLinebreak(const char *src, char *dest, int length);
+ int __setImage(contacts_record_h record, char *image, int type);
+ int __removeImage(contacts_record_h contactRecord, contacts_record_h imageRecord);
+ bool __getHasReadOnlyMode(void);
+
+ void __getBasicInfo(contacts_record_h personRecord, Eina_List *contactList);
+ void __getCompany(Eina_List *contactList, char **dest);
+ void __getExtraName1(Eina_List *contactList, char **nick, char **phonetic);
+ void __getExtraName2(char* nick, char* phonetic, char** extra);
+ void __getExtraNameStr(contacts_record_h nameRecord, contacts_record_h nicknameRecord, char **nick, char **phonetic);
+ void __getCompanyStr(contacts_record_h companyRecord, char **dest);
+ i18n_udate_format_h __initTimeFormatter();
+#if 0
+ void __initGalSearchContact(CtGalSearchContact* galSearchContact);
+#endif
+
+private:
+
+ int __version;
+
+ int __personId;
+ contacts_record_h __personRecord;
+
+ int __link_count;
+ char *__imagePath;
+ char *__displayName;
+ char *__extraName;
+ char *__phoneticName;
+ char *__nickName;
+ char *__company;
+ char *__messageAlert;
+ char *__vibration;
+ bool __favorite;
+
+ Eina_List *__contactList;
+ Eina_List *__numberList;
+ Eina_List *__emailList;
+ Eina_List *__addressList;
+ Eina_List *__messengerList;
+ Eina_List *__urlList;
+ Eina_List *__relationshipList;
+ Eina_List *__eventList;
+ Eina_List *__noteList;
+
+ i18n_udate_format_h __formatter;
+ ICtChangeListener* __listener;
+#if 0
+ CtGalSearchContact* __galSearchContact;
+#endif
+
+};
+
+#endif //_CT_DETAIL_DATA_H_
diff --git a/lib-contact/ct-detail/src/CtDetailDataBase.h b/lib-contact/ct-detail/src/CtDetailDataBase.h
new file mode 100755
index 0000000..14cafec
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtDetailDataBase.h
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_DETAIL_DATA_BASE_H_
+#define _CT_DETAIL_DATA_BASE_H_
+
+#include <utils_i18n.h>
+
+#include <contacts.h>
+
+#include "ContactsCommon.h"
+
+#include "CtType.h"
+
+class CtDetailDataBase
+{
+public:
+ virtual ~CtDetailDataBase(){};
+
+public:
+
+ virtual void init() = 0;
+ virtual void deInit() = 0;
+
+ virtual int getPersonId() = 0;
+ virtual Eina_List* getContactsList() = 0;
+ virtual int setFavorite(bool favorite) = 0;
+
+ virtual const char* getImagePath() = 0;
+ virtual const char* getDisplayName() = 0;
+ virtual const char* getExtraName() = 0;
+ virtual const char* getPhoneticName() = 0;
+ virtual const char* getNickName() = 0;
+ virtual const char* getCompany() = 0;
+ virtual const char* getMessageAlert() = 0;
+ virtual const char* getVibration() = 0;
+ virtual bool getFavorite() = 0;
+ //virtual bool getMFC() = 0;
+
+ virtual Eina_List* getNumberList() = 0;
+ virtual const char* getNumber(contacts_record_h record) = 0;
+ virtual int getNumberType(contacts_record_h record) = 0;
+ virtual void getNumberTypeStr(contacts_record_h record, int numberType, std::string &typeString) = 0;
+ virtual const char* getNumberTypeCustom(contacts_record_h record) = 0;
+ virtual Eina_List* getEmailList() = 0;
+ virtual const char* getEmail(contacts_record_h record) = 0;
+ virtual int getEmailType(contacts_record_h record) = 0;
+ virtual void getEmailTypeStr(contacts_record_h record, int indexType, std::string &typeString) = 0;
+ virtual Eina_List* getAddressList() = 0;
+ virtual int getAddress(contacts_record_h record, char *buf, int length) = 0;
+ virtual const char* getDataTypeCustom(contacts_record_h record, int property_id) = 0;
+ virtual int getAddressType(contacts_record_h record) = 0;
+ virtual void getAddressTypeStr(contacts_record_h record, int indexType, std::string &typeString) = 0;
+ virtual Eina_List* getMessengerList() = 0;
+ virtual const char* getMessenger(contacts_record_h record) = 0;
+ virtual int getMessengerType(contacts_record_h record) = 0;
+ virtual void getMessengerTypeStr(contacts_record_h record, int indexType, std::string &typeString) = 0;
+ virtual Eina_List* getUrlList() = 0;
+ virtual const char* getUrl(contacts_record_h record) = 0;
+ virtual int getUrlType(contacts_record_h record) = 0;
+ virtual Eina_List* getRelationshipList() = 0;
+ virtual const char* getRelationship(contacts_record_h record) = 0;
+ virtual int getRelationshipType(contacts_record_h record) = 0;
+ virtual void getRelationshipTypeStr(contacts_record_h record, int indexType, std::string &typeString) = 0;
+ virtual Eina_List* getEventList() = 0;
+ virtual int getEvent(contacts_record_h record) = 0;
+ virtual int getEventType(contacts_record_h record) = 0;
+ virtual void getEventTypeStr(contacts_record_h record, int eventType, std::string &typeString) = 0;
+ virtual Eina_List* getNoteList() = 0;
+ virtual const char* getNote(contacts_record_h record) = 0;
+ virtual char* getDatetimeStr(i18n_udate_format_h formatter, int year, int mon, int day) = 0;
+ virtual i18n_udate_format_h getDateFormater() = 0;
+ virtual bool getReadOnlyMode() = 0;
+};
+
+#endif //_CT_DETAIL_DATA_BASE_H_
diff --git a/lib-contact/ct-detail/src/CtDetailView.cpp b/lib-contact/ct-detail/src/CtDetailView.cpp
new file mode 100755
index 0000000..7d2ad58
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtDetailView.cpp
@@ -0,0 +1,664 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <app.h>
+#include <contacts.h>
+#include <notification.h>
+#include <app_preference.h>
+
+#include "WNaviframe.h"
+#include "WWindow.h"
+#include "WMenuPopup.h"
+#include "WToastPopup.h"
+
+#include "ContactsDebug.h"
+#include "ContactsAppControlLauncher.h"
+#include "ContactsAppControl.h"
+#include "CtPath.h"
+#include "CtCommon.h"
+#include "CtThemeMgr.h"
+#include "CtRegistryMgr.h"
+#include "ContactsCommon.h"
+
+#include "CtDetailView.h"
+#include "CtDetailViewBasicInfoControl.h"
+#include "CtDetailViewNumberItem.h"
+#include "CtDetailViewEmailItem.h"
+#include "CtDetailViewNoteItem.h"
+#include "CtDetailViewAddressItem.h"
+#include "CtDetailViewEventItem.h"
+#include "CtDetailViewMessengerItem.h"
+#include "CtDetailViewRelationItem.h"
+#include "CtDetailViewWebsiteItem.h"
+#include "CtDetailData.h"
+#include "CtInputView.h"
+#include "CtEditTabView.h"
+
+#define __ITEM_HEIGHT 98
+#define __MAX_HEIGHT 680
+#define __MAX_HEIGHT_LANDSCAPE 360
+#define CT_DETAIL_UPDATE_TIMER 3.0
+
+CtDetailView::CtDetailView(int personId)
+{
+ __initialize();
+ __detailData = new CtDetailData(personId);
+ __needHomogeneous = __checkConditionForGenlistHomogeneous(__detailData);
+}
+
+CtDetailView::~CtDetailView()
+{
+ WHIT();
+
+ destroyPopup();
+
+ delete __detailData;
+ // TODO Auto-generated destructor stub
+}
+
+bool CtDetailView::__checkConditionForGenlistHomogeneous(CtDetailData *detailData)
+{
+ //addressbook item is multiple line
+ Eina_List *addressList = detailData->getAddressList();
+ Eina_List *noteList = detailData->getNoteList();
+ if(addressList) {
+ WDEBUG("address count %d", eina_list_count(addressList));
+ if(eina_list_count(addressList) > 0)
+ return false;
+ }
+
+ if(noteList) {
+ WDEBUG("note count %d", eina_list_count(noteList));
+ if(eina_list_count(noteList) > 0)
+ return false;
+ }
+
+ return true;
+}
+
+void CtDetailView::__updateGenlist()
+{
+ WHIT();
+
+ int personId = getPersoinId();
+
+ delete __detailData;
+ __detailData = new CtDetailData(personId);
+ __detailData->attachListener(this);
+
+ elm_genlist_clear(__genlist);
+
+ __needHomogeneous = __checkConditionForGenlistHomogeneous(__detailData);
+
+ if(__needHomogeneous)
+ elm_genlist_homogeneous_set(__genlist, EINA_TRUE);
+ else
+ elm_genlist_homogeneous_set(__genlist, EINA_FALSE);
+
+ __emailItem = NULL;
+ __appendIndex = 0;
+ __genlistItemNumberFirst = NULL;
+ __genlistItemNumberLast = NULL;
+ memset( __genlistItems, 0, sizeof(__genlistItems) );
+
+ __addAllItems();
+}
+
+void CtDetailView::__initialize()
+{
+ WENTER();
+ __basicInfo = NULL;
+ __appendIndex = 0;
+ __genlistItemNumberFirst = NULL;
+ __genlistItemNumberLast = NULL;
+ __emailItem = NULL;
+ __needHomogeneous = false;
+ memset( __genlistItems, 0, sizeof(__genlistItems) );
+
+ WLEAVE();
+}
+const char* CtDetailView::getClassName()
+{
+ return "CtDetailView";
+}
+
+void CtDetailView::onDbChanged(const char* viewUri)
+{
+ WENTER();
+
+ std::string contactsEdjePath;
+ std::string detailLayoutEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ ContactsCommon::getAppEdjePath(DETAIL_LAYOUT_EDJ, detailLayoutEdjePath);
+ // if launch ct-list UG(like select relationship), when destroy ct-list UG, CtThemeMgr instance will be deleted, so it need to recreate
+ CtThemeMgr::getInstance()->addExtensionTheme(contactsEdjePath.c_str());
+ CtThemeMgr::getInstance()->addExtensionTheme(detailLayoutEdjePath.c_str());
+ CtThemeMgr::getInstance()->setObjectTheme(getEvasObj());
+
+ bool isPersonValid = false;
+ isPersonValid = __detailData->isCurrentPersonValid();
+ if(false == isPersonValid) {
+ popOut();
+ return;
+ }
+
+ __updateGenlist();
+ __createBaseInfo();
+}
+
+void CtDetailView::onCompleteGetContacts(int offset)
+{
+ WENTER();
+}
+
+void CtDetailView::onConditionChagned()
+{
+ WENTER();
+}
+
+Evas_Object* CtDetailView::__getWindow(void)
+{
+ if(getWindow())
+ return getWindow()->getEvasObj();
+ else
+ WASSERT_EX(0, "window null");
+
+ return NULL;
+}
+
+void CtDetailView::onDestroy()
+{
+ WHIT();
+}
+
+void CtDetailView::onEvent(int eventType)
+{
+ WENTER();
+
+}
+
+void CtDetailView::__detailBackBtnCb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ WHIT();
+ WPRET_M(!data, "data is NULL");
+ CtDetailView* view = (CtDetailView*)data;
+
+ view->popOut();
+}
+
+void CtDetailView::__createBaseInfo()
+{
+ WHIT();
+
+ __basicInfo = new CtDetailViewBasicInfoControl(__detailData, true);
+ __basicInfo->create(__mainLayout, NULL);
+ edje_object_signal_callback_add(_EDJ(__basicInfo->getEvasObj()), "mouse,clicked,*", "back_btn", __detailBackBtnCb, this);
+
+ elm_object_part_content_set(__mainLayout, "swallow.base_info", __basicInfo->getEvasObj());
+}
+
+void CtDetailView::onPushed(Elm_Object_Item* naviItem)
+{
+ WENTER();
+
+ __addAllItems();
+ elm_naviframe_item_title_enabled_set(naviItem, EINA_FALSE, EINA_FALSE);
+
+ __detailData->attachListener(this);
+ enableMoreButton(naviItem, [](void *data, Evas_Object *obj, void *event_info){
+ CtDetailView* view = static_cast<CtDetailView*>(data);
+ Eina_List* list = view->__detailData->getContactsList();
+ // gal search contact does not have contact list
+ WPRET_M(0 == eina_list_count(list), "contacts list is empty");
+
+ WMenuPopup* popup = new WMenuPopup();
+ popup->prepare(view->__getWindow(), view->getNaviframe()->getEvasObj() );
+
+ if (!view->__detailData->getReadOnlyMode()) {
+ popup->appendItem(V_("IDS_PB_OPT_EDIT"), [view]()
+ {
+ view->__onEditCb(view, NULL, NULL);
+ });
+ }
+ popup->appendItem(V_("IDS_PB_BUTTON_DELETE_ABB4"), [view]()
+ {
+ view->__onDeleteCb(view, NULL, NULL);
+ });
+ if (!view->__detailData->getReadOnlyMode()) {
+ popup->appendItem(V_("IDS_PB_HEADER_SHARE_VIA"), [view]()
+ {
+ view->__onShareCb(view, NULL, NULL);
+ });
+ }
+
+ view->attachPopup( popup );
+
+ }, this);
+
+ __createBaseInfo();
+
+ WLEAVE();
+}
+
+Evas_Object* CtDetailView::onCreate(Evas_Object* parent, void* viewParam)
+{
+ WENTER();
+ std::string contactsEdjePath;
+ std::string detailLayoutEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ ContactsCommon::getAppEdjePath(DETAIL_LAYOUT_EDJ, detailLayoutEdjePath);
+ CtThemeMgr::getInstance()->addExtensionTheme(contactsEdjePath.c_str());
+ CtThemeMgr::getInstance()->addExtensionTheme(detailLayoutEdjePath.c_str());
+
+ __mainLayout = elm_layout_add(parent);
+ elm_layout_file_set(__mainLayout, ContactsCommon::getAppEdjePath(DETAIL_LAYOUT_EDJ).c_str(), "main_layout");
+
+ CtThemeMgr::getInstance()->setObjectTheme(__mainLayout);
+
+ Evas_Object* genlist = elm_genlist_add(__mainLayout);
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+ if(__needHomogeneous)
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+
+ evas_object_show(genlist);
+ __genlist = genlist;
+ elm_object_part_content_set(__mainLayout, "swallow.content", genlist);
+
+ WLEAVE();
+ return __mainLayout;
+}
+
+void CtDetailView::onLanguageChanged()
+{
+ WHIT();
+
+ if(__genlist)
+ elm_genlist_realized_items_update(__genlist);
+}
+
+int CtDetailView::getPersoinId(void)
+{
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ return __detailData->getPersonId();
+}
+
+void CtDetailView::__addAllItems()
+{
+ WENTER();
+ for (int i = __appendIndex; i < DETAIL_ITEMS_MAX; i++) {
+ __addItem((CtDetailItems) i);
+ }
+
+ WLEAVE();
+}
+
+void CtDetailView::__addItem(CtDetailItems itemType)
+{
+ WENTER();
+ WDEBUG("itemType %d", (int)itemType);
+ switch(itemType) {
+ case DETAIL_NUMBER:
+ __addNumberItems();
+ break;
+ case DETAIL_EMAIL:
+ __addEmailItems();
+ break;
+ case DETAIL_NOTE:
+ __addNoteItems();
+ break;
+ case DETAIL_ADDRESS:
+ __addAddressItems();
+ break;
+ case DETAIL_EVENT:
+ __addEventItems();
+ break;
+ case DETAIL_RELATIONSHIP:
+ __addRelationItems();
+ break;
+ case DETAIL_WEBSITE:
+ __addWebsiteItems();
+ break;
+ case DETAIL_MESSENGER:
+ __addMessengerItems();
+ break;
+ case DETAIL_ADDRBOOK:
+ __addAddressbookItems();
+ break;
+
+ default:
+ WDEBUG("Unsupported type: %d", itemType);
+ break;
+ }
+ WLEAVE();
+}
+
+void CtDetailView::__addNumberItems()
+{
+ WENTER();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getNumberList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewNumberItem *item = new CtDetailViewNumberItem(__detailData, record);
+ Elm_Object_Item *obj = elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, __onPhonenumberItemSelectedCb, item);
+ item->setElmObjectItem(obj);
+ if (NULL == __genlistItemNumberFirst)
+ __genlistItemNumberFirst = (Elm_Object_Item*)item->getElmObjectItem();
+ __genlistItemNumberLast= (Elm_Object_Item*)item->getElmObjectItem();
+ }
+
+ WLEAVE();
+}
+
+void CtDetailView::__addEmailItems()
+{
+ WENTER();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getEmailList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewEmailItem *item = new CtDetailViewEmailItem(__detailData, record);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, __onEmailItemSelectedCb, item));
+ __emailItem = (Elm_Object_Item*)item->getElmObjectItem();
+ }
+ WLEAVE();
+}
+
+void CtDetailView::__addNoteItems()
+{
+ WENTER();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getNoteList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewNoteItem *item = new CtDetailViewNoteItem(__detailData, record);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL));
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+ WLEAVE();
+}
+
+void CtDetailView::__addAddressItems()
+{
+ WENTER();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getAddressList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewAddressItem *item = new CtDetailViewAddressItem(__detailData, record);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL));
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+ WLEAVE();
+}
+
+void CtDetailView::__addEventItems()
+{
+ WENTER();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getEventList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewEventItem *item = new CtDetailViewEventItem(__detailData, record);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL));
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+ WLEAVE();
+}
+
+void CtDetailView::__addRelationItems()
+{
+ WENTER();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getRelationshipList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewRelationItem *item = new CtDetailViewRelationItem(__detailData, record);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL));
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+ WLEAVE();
+}
+
+void CtDetailView::__addWebsiteItems()
+{
+ WENTER();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getUrlList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewWebsiteItem *item = new CtDetailViewWebsiteItem(__detailData, record);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, __onWebsiteItemSelectedCb, item) );
+ }
+ WLEAVE();
+}
+
+void CtDetailView::__addMessengerItems()
+{
+ WENTER();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getMessengerList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewMessengerItem *item = new CtDetailViewMessengerItem(__detailData, record);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL) );
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+ WLEAVE();
+}
+
+void CtDetailView::__addAddressbookItems()
+{
+ WENTER();
+ WLEAVE();
+}
+
+void CtDetailView::__onPhonenumberItemSelectedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+
+ CtDetailViewNumberItem* item = (CtDetailViewNumberItem*)data;
+ Elm_Object_Item * elmItem = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(elmItem, EINA_FALSE);
+
+ item->onSelect(data, obj, event_info);
+}
+
+void CtDetailView::__onEmailItemSelectedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtDetailViewEmailItem* item = (CtDetailViewEmailItem*)data;
+ Elm_Object_Item *elmItem = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(elmItem, EINA_FALSE);
+
+ item->onSelect(data, obj, event_info);
+}
+
+void CtDetailView::__onWebsiteItemSelectedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+
+ CtDetailViewWebsiteItem* item = (CtDetailViewWebsiteItem*)data;
+ Elm_Object_Item *elmItem = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(elmItem, EINA_FALSE);
+
+ item->onSelect(data, obj, event_info);
+}
+
+void CtDetailView::__onEditCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtDetailView* view = static_cast<CtDetailView*>(data);
+ Eina_List* contactList = view->__detailData->getContactsWithoutReadOnly();
+ int err = CONTACTS_ERROR_NONE;
+ unsigned int count = eina_list_count(contactList);
+ if (count == 1) {
+ contacts_record_h record_contact = static_cast<contacts_record_h>(contactList->data);
+ contacts_record_h record_contact_cloned = NULL;
+ err = contacts_record_clone(record_contact, &record_contact_cloned);
+ WPRDT_M(CONTACTS_ERROR_NONE != err, "contacts_record_clone() Failed(%d)", err);
+ view->getNaviframe()->push(new CtInputView(record_contact_cloned), NULL, NULL);
+ }
+ else {
+ view->getNaviframe()->push(new CtEditTabView(contactList), NULL, NULL);
+ }
+}
+
+void CtDetailView::__onDeleteCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtDetailView* view = static_cast<CtDetailView*>(data);
+ Eina_List* contactList = view->__detailData->getContactsList();
+ unsigned int count = eina_list_count(contactList);
+
+ WPopup *popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle("IDS_PB_BUTTON_DELETE_ABB4");
+
+ if (count > 1) {
+ popup->setContent("IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED");
+ }
+ else {
+ popup->setContent("IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED");
+ }
+
+ popup->addButton("IDS_PB_BUTTON_CANCEL", [](bool* destroyPopup){
+ WDEBUG("Cancel");
+ *destroyPopup = true;
+ });
+ popup->addButton("IDS_PB_BUTTON_DELETE_ABB4", [view](bool* destroyPopup){
+ WDEBUG("Delete");
+ if (CONTACTS_ERROR_NONE == __deleteContacts(view)) {
+// view->popOut(); // popOut is called twice
+ *destroyPopup = false;
+ }
+ else {
+ *destroyPopup = true;
+ }
+ });
+
+ view->attachPopup( popup );
+}
+
+int CtDetailView::__deleteContacts(void *data)
+{
+ WHIT();
+ CtDetailView* view = static_cast<CtDetailView*>(data);
+ int err = CONTACTS_ERROR_NONE;
+
+ CtRegistryMgr::getInstance()->setInt(REGISTRY_KEY_DELETED_PERSON, 1);
+ CtRegistryMgr::getInstance()->setInt(REGISTRY_KEY_DELETED_PERSON_ID, view->getPersoinId());
+
+ err = contacts_db_delete_record(_contacts_person._uri, view->getPersoinId());
+ WPWARN(err != CONTACTS_ERROR_NONE, "contacts_db_delete_record() fail(%d)",err);
+ return err;
+}
+
+void CtDetailView::__onShareCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ CtDetailView* view = static_cast<CtDetailView*>(data);
+ WPRET_M(!(view && view->__detailData), "invalid data");
+
+ sharePerson(view->__detailData->getPersonId(), false);
+}
+
+void CtDetailView::__updateNumberFields()
+{
+ WHIT();
+ Elm_Object_Item* item = __genlistItemNumberFirst;
+
+ while (item) {
+ elm_genlist_item_fields_update(item, "elm.icon.left.bottom", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ if (item == __genlistItemNumberLast) {
+ break;
+ }
+ item = elm_genlist_item_next_get(item);
+ }
+}
+
+int CtDetailView::__getHeightByItemCount(Evas_Object* win, int count)
+{
+ int height = ELM_SCALE_SIZE(__ITEM_HEIGHT * count);
+ int maxHeight = ELM_SCALE_SIZE(__MAX_HEIGHT);
+ int rotation = elm_win_rotation_get(win);
+ if (90 == rotation || 270 == rotation) {
+ maxHeight = ELM_SCALE_SIZE(__MAX_HEIGHT_LANDSCAPE);
+ }
+ if (height > maxHeight) {
+ return maxHeight;
+ }
+ else {
+ return height;
+ }
+}
diff --git a/lib-contact/ct-detail/src/CtDetailViewAddressItem.h b/lib-contact/ct-detail/src/CtDetailViewAddressItem.h
new file mode 100644
index 0000000..f0ecde4
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtDetailViewAddressItem.h
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_DETAIL_VIEW_ADDRESS_ITEM_H_
+#define _CT_DETAIL_VIEW_ADDRESS_ITEM_H_
+
+#include "WGenlistItem.h"
+#include "CtDetailDataBase.h"
+
+class CtDetailViewAddressItem : public WGenlistItem
+{
+public:
+ CtDetailViewAddressItem(CtDetailDataBase *data, contacts_record_h record)
+ {
+ m_DetailData = data;
+ m_Record = record;
+ }
+
+public:
+ virtual Elm_Genlist_Item_Class *getItemClassStatic()
+ {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "multiline";
+ itc.func.text_get = getTextAddress;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+private:
+ static char *getTextAddress(void *data, Evas_Object *obj, const char *part)
+ {
+ WPRET_VM(!data, NULL, "data is NULL");
+ CtDetailViewAddressItem *item = (CtDetailViewAddressItem *)data;
+ WPRET_VM(!item->m_DetailData, NULL, "m_DetailData is NULL");
+
+ if (0 == strcmp(part, "elm.text")) {
+ char text[CT_TEXT_MAX_LEN] = {0,};
+ int type = item->m_DetailData->getAddressType( item->m_Record );
+ std::string typeStr;
+
+ item->m_DetailData->getAddressTypeStr( item->m_Record, type, typeStr);
+ snprintf(text, sizeof(text), "<font_size=32><font color=#4D4D4D>%s</font></font_size>", typeStr.c_str());
+ return SAFE_STRDUP(text);
+
+ } else if (0 == strcmp(part, "elm.text.multiline")) {
+ char text[CT_TEXT_MAX_LEN] = {0,};
+ char *markupText=NULL;
+
+ item->m_DetailData->getAddress( item->m_Record, text, sizeof(text));
+ markupText = elm_entry_utf8_to_markup(text);
+ snprintf(text, sizeof(text), "<font_size=40><font color=#000000>%s</font></font_size>", markupText);
+ free(markupText);
+
+ return SAFE_STRDUP(text);
+ }
+ return NULL;
+ }
+
+private:
+ CtDetailViewAddressItem();
+ CtDetailDataBase *m_DetailData;
+ contacts_record_h m_Record;
+};
+
+
+#endif /* _CT_DETAIL_VIEW_ADDRESS_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtDetailViewBasicInfoControl.cpp b/lib-contact/ct-detail/src/CtDetailViewBasicInfoControl.cpp
new file mode 100644
index 0000000..8bf3c78
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtDetailViewBasicInfoControl.cpp
@@ -0,0 +1,148 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+#include "ContactsThumbnail.h"
+#include "CtCommon.h"
+#include "CtDetailDataBase.h"
+#include "CtDetailViewBasicInfoControl.h"
+#include "CtPath.h"
+#include "CtRegistryMgr.h"
+#include "WDebugBase.h"
+
+
+
+CtDetailViewBasicInfoControl::CtDetailViewBasicInfoControl(CtDetailDataBase *data, bool showFavoriteIcon)
+{
+ m_DetailData = data;
+ m_BaseLayout = NULL;
+ m_ShowFavoriteIcon = showFavoriteIcon;
+ m_FavoriteReference = false;
+}
+
+Evas_Object *CtDetailViewBasicInfoControl::onCreate(Evas_Object *parent, void *viewParam)
+{
+ WHIT();
+ WPRET_VM(!m_DetailData, NULL, "__detailData is NULL");
+
+ m_BaseLayout = elm_layout_add(parent);
+ updateBaseLayout(parent);
+
+ setThumbnail();
+ setFavoriteBtn();
+ setText(m_DetailData->getDisplayName(), "text_1line");
+
+ if ((m_DetailData->getPhoneticName() && *m_DetailData->getPhoneticName())) {
+ setText(m_DetailData->getPhoneticName(), "text_2line");
+
+ if ((m_DetailData->getCompany() && *m_DetailData->getCompany())) {
+ setText(m_DetailData->getCompany(), "text_3line");
+ }
+
+ } else if ((m_DetailData->getCompany() && *m_DetailData->getCompany())) {
+ setText(m_DetailData->getCompany(), "text_2line");
+ }
+
+ return m_BaseLayout;
+}
+
+int CtDetailViewBasicInfoControl::getLinesCount()
+{
+ WPRET_VM(!m_DetailData, -1, "__detailData is NULL");
+ int count = 0;
+
+ if (m_DetailData->getPhoneticName() && *m_DetailData->getPhoneticName()) {
+ ++count;
+ }
+ if (m_DetailData->getCompany() && *m_DetailData->getCompany()) {
+ ++count;
+ }
+ WDEBUG("count %d", count);
+
+ return count;
+}
+
+void CtDetailViewBasicInfoControl::updateBaseLayout(Evas_Object *parent)
+{
+ WPRET_M(!m_DetailData, "__detailData is NULL");
+
+ const char *signal[] = {
+ "set_1line",
+ "set_2lines",
+ "set_3lines"
+ };
+ const char *groupName[] = {
+ "base_info_1line",
+ "base_info_2lines",
+ "base_info_3lines"
+ };
+ int count = getLinesCount();
+ if (count >= 0) {
+ WDEBUG("signal: %s, group name: %s", signal[count], groupName[count]);
+
+ elm_object_signal_emit(parent, signal[count], "");
+ elm_layout_file_set(m_BaseLayout, ContactsCommon::getAppEdjePath(DETAIL_LAYOUT_EDJ).c_str(), groupName[count]);
+ }
+}
+
+void CtDetailViewBasicInfoControl::setThumbnail()
+{
+ WPRET_M(!m_DetailData, "__detailData is NULL");
+
+ Evas_Object *thumbnail = createThumbnail(m_BaseLayout, THUMBNAIL_240, m_DetailData->getImagePath());
+ elm_object_part_content_set(m_BaseLayout, "swallow.image_thumbnail", thumbnail);
+}
+
+void CtDetailViewBasicInfoControl::setFavoriteBtn()
+{
+ WPRET_M(!m_DetailData, "__detailData is NULL");
+
+ if (m_ShowFavoriteIcon) {
+ m_FavoriteReference = m_DetailData->getFavorite();
+ Evas_Object *check = elm_check_add(m_BaseLayout);
+ elm_object_style_set(check, "favorite");
+ elm_check_state_set(check, m_FavoriteReference);
+ evas_object_smart_callback_add(check, "changed", onBasicInfoFavoritesClickedCb, this);
+ elm_layout_content_set(m_BaseLayout, "swallow.favor_btn", check);
+ }
+}
+
+void CtDetailViewBasicInfoControl::setText(const char *text, const char *textPart)
+{
+ char *markupText = elm_entry_utf8_to_markup(text);
+ if (markupText && *markupText) {
+ WDEBUG("text = %s", markupText);
+ elm_object_part_text_set(m_BaseLayout, textPart, markupText);
+ }
+ free(markupText);
+}
+
+void CtDetailViewBasicInfoControl::onBasicInfoFavoritesClickedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M(!data, "data is NULL");
+
+ CtDetailViewBasicInfoControl *basicInfo = (CtDetailViewBasicInfoControl*) data;
+ WPRET_M(!basicInfo->m_DetailData, "__detailData is NULL");
+
+ CtRegistryMgr::getInstance()->setInt(REGISTRY_KEY_FAVORITE_UPDATED, 1);
+
+ basicInfo->m_FavoriteReference = !basicInfo->m_FavoriteReference;
+ basicInfo->m_DetailData->setFavorite(basicInfo->m_FavoriteReference);
+
+ WDEBUG("favorite %d", basicInfo->m_DetailData->getFavorite());
+}
diff --git a/lib-contact/ct-detail/src/CtDetailViewEmailItem.h b/lib-contact/ct-detail/src/CtDetailViewEmailItem.h
new file mode 100755
index 0000000..8280193
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtDetailViewEmailItem.h
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_DETAIL_VIEW_EMAIL_ITEM_H_
+#define _CT_DETAIL_VIEW_EMAIL_ITEM_H_
+
+#include "WGenlistItem.h"
+#include "ContactsAppControl.h"
+#include "CtDetailDataBase.h"
+
+#define ICON_EMAIL_SIZE 80
+#define ICON_EMAIL_COLOR 61, 185, 204, 255
+
+class CtDetailViewEmailItem : public WGenlistItem
+{
+public:
+ CtDetailViewEmailItem(CtDetailDataBase *data, contacts_record_h record, bool myProfile = false)
+ {
+ m_DetailData = data;
+ m_Record = record;
+ m_MyProfile = myProfile;
+ }
+public:
+ virtual Elm_Genlist_Item_Class *getItemClassStatic()
+ {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "type2";
+ itc.func.content_get = getContentEmail;
+ itc.func.text_get = getTextEmail;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+ virtual void onSelect(void *data, Evas_Object *obj, void *event_info)
+ {
+ WPRET_M(!data, "data is NULL");
+ CtDetailViewEmailItem *item = (CtDetailViewEmailItem *)data;
+ WPRET_M(!item->m_DetailData, "m_DetailData is NULL");
+
+ int err = launchMessageComposer("mailto:", item->m_DetailData->getEmail(item->m_Record));
+ WPWARN(err != APP_CONTROL_ERROR_NONE, "launchMessageComposer() failed(%d)", err);
+ }
+
+private:
+ static Evas_Object *getContentEmail(void *data, Evas_Object *obj, const char *part)
+ {
+ WPRET_VM(!data, NULL, "data is NULL");
+ CtDetailViewEmailItem *item = (CtDetailViewEmailItem *)data;
+
+ if (0 == strcmp(part, "elm.swallow.end")) {
+ if (item->m_MyProfile) {
+ return NULL;
+ }
+
+ Evas_Object *iconEmail = elm_image_add(obj);
+ elm_image_file_set(iconEmail, CT_IMG_ICON_DETAIL_EMAIL, nullptr);
+ evas_object_color_set(iconEmail, ICON_EMAIL_COLOR);
+ elm_image_aspect_fixed_set(iconEmail, EINA_TRUE);
+ evas_object_size_hint_min_set(iconEmail, ContactsCommon::getScaledWidth(ICON_EMAIL_SIZE), ContactsCommon::getScaledHeight(ICON_EMAIL_SIZE));
+
+ return iconEmail;
+ }
+ return NULL;
+ }
+
+ static char *getTextEmail(void *data, Evas_Object *obj, const char *part)
+ {
+ WPRET_VM(!data, NULL, "data is NULL");
+ CtDetailViewEmailItem *item = (CtDetailViewEmailItem *)data;
+ WPRET_VM(!item->m_DetailData, NULL, "m_DetailData is NULL");
+
+ if (0 == strcmp(part, "elm.text.sub")) {
+ int type = item->m_DetailData->getEmailType(item->m_Record);
+ std::string typeStr;
+ item->m_DetailData->getEmailTypeStr(item->m_Record, type, typeStr);
+ return SAFE_STRDUP(typeStr.c_str());
+ } else if (0 == strcmp(part, "elm.text")) {
+ return elm_entry_utf8_to_markup(item->m_DetailData->getEmail(item->m_Record));
+ }
+ return NULL;
+ }
+
+private:
+ CtDetailViewEmailItem();
+ CtDetailDataBase *m_DetailData;
+ contacts_record_h m_Record;
+ bool m_MyProfile;
+};
+
+#endif /* _CT_DETAIL_VIEW_EMAIL_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtDetailViewEventItem.h b/lib-contact/ct-detail/src/CtDetailViewEventItem.h
new file mode 100644
index 0000000..411c11e
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtDetailViewEventItem.h
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_DETAIL_VIEW_EVENT_ITEM_H_
+#define _CT_DETAIL_VIEW_EVENT_ITEM_H_
+
+#include "WGenlistItem.h"
+#include "CtDetailDataBase.h"
+
+class CtDetailViewEventItem : public WGenlistItem
+{
+public:
+ CtDetailViewEventItem(CtDetailDataBase *data, contacts_record_h record)
+ {
+ m_DetailData = data;
+ m_Record = record;
+ }
+public:
+ virtual Elm_Genlist_Item_Class *getItemClassStatic()
+ {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "type2";
+ itc.func.text_get = getTextEvent;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+private:
+
+ static char *getTextEvent(void *data, Evas_Object *obj, const char *part)
+ {
+ WPRET_VM(!data, NULL, "data is NULL");
+ CtDetailViewEventItem *item = (CtDetailViewEventItem *)data;
+ WPRET_VM(!item->m_DetailData, NULL, "m_DetailData is NULL");
+
+ if (0 == strcmp(part, "elm.text.sub")) {
+ int type = item->m_DetailData->getEventType( item->m_Record);
+ std::string typeStr;
+ item->m_DetailData->getEventTypeStr( item->m_Record, type, typeStr);
+ return SAFE_STRDUP(typeStr.c_str());
+ } else if (0 == strcmp(part, "elm.text")) {
+ int date = item->m_DetailData->getEvent( item->m_Record);
+ int day = date%100;
+ int mon = (date%10000)/100;
+ int year = date/10000;
+ WPRET_VM(mon < 1 || 12 < mon || day < 1 || 31 < day, NULL, "Invalid date(mon=%d,day=%d)",mon,day);
+ return item->m_DetailData->getDatetimeStr(item->m_DetailData->getDateFormater(), year, mon, day);
+ }
+ return NULL;
+ }
+
+private:
+ CtDetailViewEventItem();
+ CtDetailDataBase *m_DetailData;
+ contacts_record_h m_Record;
+};
+
+#endif /* _CT_DETAIL_VIEW_EVENT_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtDetailViewMessengerItem.h b/lib-contact/ct-detail/src/CtDetailViewMessengerItem.h
new file mode 100644
index 0000000..911de86
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtDetailViewMessengerItem.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_DETAIL_VIEW_MESSENGER_ITEM_H_
+#define _CT_DETAIL_VIEW_MESSENGER_ITEM_H_
+
+#include "WGenlistItem.h"
+#include "CtDetailDataBase.h"
+
+class CtDetailViewMessengerItem : public WGenlistItem
+{
+public:
+ CtDetailViewMessengerItem(CtDetailDataBase *data, contacts_record_h record)
+ {
+ m_DetailData = data;
+ m_Record = record;
+ }
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassStatic()
+ {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "type2";
+ itc.func.text_get = getTextMessenger;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+private:
+ static char *getTextMessenger(void *data, Evas_Object *obj, const char *part)
+ {
+ WPRET_VM(!data, NULL, "data is NULL");
+ CtDetailViewMessengerItem *item = (CtDetailViewMessengerItem *)data;
+ WPRET_VM(!item->m_DetailData, NULL, "m_DetailData is NULL");
+
+ if (0 == strcmp(part, "elm.text.sub")) {
+ int type = item->m_DetailData->getMessengerType( item->m_Record );
+ std::string typeStr;
+ item->m_DetailData->getMessengerTypeStr( item->m_Record, type, typeStr);
+ return SAFE_STRDUP(typeStr.c_str());
+ } else if (0 == strcmp(part, "elm.text")) {
+ return elm_entry_utf8_to_markup( item->m_DetailData->getMessenger( item->m_Record ));
+ }
+ return NULL;
+ }
+
+private:
+ CtDetailViewMessengerItem();
+ CtDetailDataBase *m_DetailData;
+ contacts_record_h m_Record;
+};
+
+
+
+#endif /* _CT_DETAIL_VIEW_MESSENGER_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtDetailViewNoteItem.h b/lib-contact/ct-detail/src/CtDetailViewNoteItem.h
new file mode 100644
index 0000000..dab04fc
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtDetailViewNoteItem.h
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_DETAIL_VIEW_NOTE_ITEM_H_
+#define _CT_DETAIL_VIEW_NOTE_ITEM_H_
+
+#include "WGenlistItem.h"
+#include "CtDetailDataBase.h"
+
+class CtDetailViewNoteItem : public WGenlistItem
+{
+public:
+ CtDetailViewNoteItem(CtDetailDataBase *data, contacts_record_h record)
+ {
+ m_DetailData = data;
+ m_Record = record;
+ }
+
+public:
+ virtual Elm_Genlist_Item_Class *getItemClassStatic()
+ {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style ) {
+ return &itc;
+ }
+ itc.item_style = "multiline";
+ itc.func.text_get = getTextNote;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+private:
+ static char *getTextNote(void *data, Evas_Object *obj, const char *part)
+ {
+ WPRET_VM(!data, NULL, "data is NULL");
+ CtDetailViewNoteItem *item = (CtDetailViewNoteItem *)data;
+ WPRET_VM(!item->m_DetailData, NULL, "m_DetailData is NULL");
+
+ if (0 == strcmp(part, "elm.text.multiline")) {
+ return elm_entry_utf8_to_markup(item->m_DetailData->getNote(item->m_Record));
+ }
+ return NULL;
+ }
+
+private:
+ CtDetailViewNoteItem();
+ CtDetailDataBase *m_DetailData;
+ contacts_record_h m_Record;
+};
+
+
+#endif /* _CT_DETAIL_VIEW_NOTE_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtDetailViewNumberItem.h b/lib-contact/ct-detail/src/CtDetailViewNumberItem.h
new file mode 100644
index 0000000..1223610
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtDetailViewNumberItem.h
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_DETAIL_VIEW_NUMBER_ITEM_H_
+#define _CT_DETAIL_VIEW_NUMBER_ITEM_H_
+
+#include "ContactsAppControl.h"
+#include "ContactsNumberItemIcons.h"
+#include "CtDetailDataBase.h"
+#include "CtThemeMgr.h"
+#include "WGenlistItem.h"
+
+class CtDetailViewNumberItem : public WGenlistItem
+{
+public:
+ CtDetailViewNumberItem(CtDetailDataBase *data, contacts_record_h record, bool myProfile = false)
+ {
+ m_DetailData = data;
+ m_Record = record;
+ m_MyProfile = myProfile;
+ }
+
+public:
+ virtual Elm_Genlist_Item_Class *getItemClassStatic()
+ {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "type2";
+ itc.func.content_get = getContentNumber;
+ itc.func.text_get = getTextNumber;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+ virtual void onSelect(void *data, Evas_Object *obj, void *event_info)
+ {
+ WPRET_M(!m_DetailData, "m_DetailData is NULL");
+
+ int err = launchCall(m_DetailData->getNumber(m_Record));
+ WPWARN(err != APP_CONTROL_ERROR_NONE, "launchCall() failed(0x%x)", err);
+ }
+
+ contacts_record_h getRecord()
+ {
+ return m_Record;
+ }
+
+private:
+ static Evas_Object *getContentNumber(void *data, Evas_Object *obj, const char *part)
+ {
+ WHIT();
+ WPRET_VM(!data, NULL, "data is NULL");
+ CtDetailViewNumberItem *item = (CtDetailViewNumberItem *)data;
+
+ if (0 == strcmp(part, "elm.swallow.end")){
+ if (item->m_MyProfile) {
+ return NULL;
+ }
+
+ return createNumberItemIconsLayout(obj, item->m_DetailData->getNumber(item->m_Record));
+ }
+ return NULL;
+ }
+
+ static char *getTextNumber(void *data, Evas_Object *obj, const char *part)
+ {
+ WPRET_VM(!data, NULL, "data is NULL");
+ CtDetailViewNumberItem *item = (CtDetailViewNumberItem*)data;
+ WPRET_VM(!item->m_DetailData, NULL, "m_DetailData is NULL");
+
+ if (0 == strcmp(part, "elm.text.sub")) {
+ std::string typeStr;
+ int type = item->m_DetailData->getNumberType(item->m_Record);
+ item->m_DetailData->getNumberTypeStr(item->m_Record, type, typeStr);
+ WDEBUG("type %d text %s", type, typeStr.c_str());
+ return SAFE_STRDUP(typeStr.c_str());
+ } else if (0 == strcmp(part, "elm.text")) {
+ return elm_entry_utf8_to_markup( item->m_DetailData->getNumber( item->m_Record ));
+ }
+ return NULL;
+ }
+
+private:
+ CtDetailViewNumberItem();
+ CtDetailDataBase *m_DetailData;
+ contacts_record_h m_Record;
+ bool m_MyProfile;
+};
+
+
+#endif /* _CT_DETAIL_VIEW_NUMBER_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtDetailViewRelationItem.h b/lib-contact/ct-detail/src/CtDetailViewRelationItem.h
new file mode 100644
index 0000000..4d6f423
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtDetailViewRelationItem.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_DETAIL_VIEW_RELATION_ITEM_H_
+#define _CT_DETAIL_VIEW_RELATION_ITEM_H_
+
+#include "WGenlistItem.h"
+#include "CtDetailDataBase.h"
+
+class CtDetailViewRelationItem : public WGenlistItem
+{
+public:
+ CtDetailViewRelationItem(CtDetailDataBase *data, contacts_record_h record)
+ {
+ m_DetailData = data;
+ m_Record = record;
+ }
+public:
+ virtual Elm_Genlist_Item_Class *getItemClassStatic()
+ {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "type2";
+ itc.func.text_get = getTextRelationship;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+private:
+ static char *getTextRelationship(void *data, Evas_Object *obj, const char *part)
+ {
+ WPRET_VM(!data, NULL, "data is NULL");
+ CtDetailViewRelationItem *item = (CtDetailViewRelationItem *)data;
+ WPRET_VM(!item->m_DetailData, NULL, "m_DetailData is NULL");
+
+ if (0 == strcmp(part, "elm.text.sub")) {
+ int type = item->m_DetailData->getRelationshipType( item->m_Record);
+ std::string typeStr;
+ item->m_DetailData->getRelationshipTypeStr( item->m_Record, type, typeStr);
+ return SAFE_STRDUP(typeStr.c_str());
+ } else if (0 == strcmp(part, "elm.text")) {
+ return elm_entry_utf8_to_markup(item->m_DetailData->getRelationship( item->m_Record));
+ }
+ return NULL;
+ }
+
+private:
+ CtDetailViewRelationItem();
+ CtDetailDataBase *m_DetailData;
+ contacts_record_h m_Record;
+};
+
+#endif /* _CT_DETAIL_VIEW_RELATION_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtDetailViewWebsiteItem.h b/lib-contact/ct-detail/src/CtDetailViewWebsiteItem.h
new file mode 100755
index 0000000..27359ba
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtDetailViewWebsiteItem.h
@@ -0,0 +1,128 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_DETAIL_VIEW_WEBSITE_ITEM_H_
+#define _CT_DETAIL_VIEW_WEBSITE_ITEM_H_
+
+#include "WGenlistItem.h"
+#include "CtDetailDataBase.h"
+#include "CtString.h"
+
+#define ICON_WEBSITE_SIZE 80
+
+class CtDetailViewWebsiteItem : public WGenlistItem
+{
+public:
+ CtDetailViewWebsiteItem(CtDetailDataBase *data, contacts_record_h record, bool myProfile = false)
+ {
+ m_DetailData = data;
+ m_Record = record;
+ m_MyProfile = myProfile;
+ }
+public:
+ virtual Elm_Genlist_Item_Class *getItemClassStatic()
+ {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "type1";
+ itc.func.content_get = getContentWebsite;
+ itc.func.text_get = getTextWebsite;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+ virtual void onSelect(void *data, Evas_Object *obj, void *event_info)
+ {
+ WPRET_M(!m_DetailData, "m_DetailData is NULL");
+
+ launchWebsite(m_DetailData, m_Record);
+ }
+private:
+ static char *getTextWebsite(void *data, Evas_Object *obj, const char *part)
+ {
+ WPRET_VM(!data, NULL, "data is NULL");
+ CtDetailViewWebsiteItem *item = (CtDetailViewWebsiteItem *)data;
+ WPRET_VM(!item->m_DetailData, NULL, "m_DetailData is NULL");
+
+ if (0 == strcmp(part, "elm.text")) {
+ return elm_entry_utf8_to_markup( item->m_DetailData->getUrl( item->m_Record));
+ }
+ return NULL;
+ }
+
+ static Evas_Object *getContentWebsite(void *data, Evas_Object *obj, const char *part)
+ {
+ WPRET_VM(!data, NULL, "data is NULL");
+ CtDetailViewWebsiteItem *item = (CtDetailViewWebsiteItem *)data;
+ WPRET_VM(!item->m_DetailData, NULL, "m_DetailData is NULL");
+
+ if (0 == strcmp(part, "elm.swallow.end")) {
+ if (item->m_MyProfile) {
+ return NULL;
+ }
+
+ Evas_Object *iconWebsite = elm_image_add(obj);
+ elm_image_file_set(iconWebsite, CT_IMG_ICON_DETAIL_INTERNET, nullptr);
+ evas_object_color_set(iconWebsite, 61, 185, 204, 255);
+ elm_image_aspect_fixed_set(iconWebsite, EINA_TRUE);
+ evas_object_size_hint_min_set(iconWebsite, ContactsCommon::getScaledWidth(ICON_WEBSITE_SIZE), ContactsCommon::getScaledHeight(ICON_WEBSITE_SIZE));
+ evas_object_smart_callback_add(iconWebsite, "clicked", onWebsiteIconClickedCb, item);
+
+ return iconWebsite;
+ }
+ return NULL;
+ }
+
+ void launchWebsite(CtDetailDataBase *detailData, contacts_record_h record)
+ {
+ WHIT();
+ app_control_h service;
+ const char *website = detailData->getUrl( record );
+
+ app_control_create(&service);
+ app_control_set_operation(service, APP_CONTROL_OPERATION_VIEW );
+ if (strstr(website, "http"))
+ app_control_set_uri(service, website);
+ else {
+ char *new_url = g_strdup_printf("http://%s", website);
+ app_control_set_uri(service, new_url);
+ free(new_url);
+ }
+ app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+
+ app_control_send_launch_request(service, NULL, NULL);
+ app_control_destroy(service);
+ }
+
+ static void onWebsiteIconClickedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ WPRET_M(!data, "data is NULL");
+ CtDetailViewWebsiteItem *item = (CtDetailViewWebsiteItem *)data;
+ WPRET_M(!item->m_DetailData, "m_DetailData is NULL");
+
+ item->launchWebsite(item->m_DetailData, item->m_Record);
+ }
+
+private:
+ CtDetailViewWebsiteItem();
+ CtDetailDataBase *m_DetailData;
+ contacts_record_h m_Record;
+ bool m_MyProfile;
+};
+
+#endif /* _CT_DETAIL_VIEW_WEBSITE_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtEditTabView.cpp b/lib-contact/ct-detail/src/CtEditTabView.cpp
new file mode 100755
index 0000000..e08bfca
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtEditTabView.cpp
@@ -0,0 +1,428 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+//#include <ui_extension.h>
+
+#include "WPageSlideView.h"
+
+#include "ContactsDebug.h"
+//#include "ContactsAppControlLauncher.h"
+
+#include "CtCommon.h"
+#include "CtString.h"
+#include "CtEditTabView.h"
+#include "CtInputView.h"
+
+#define CT_TAB_CREATE_SUB_VIEW_TIMER 1.0
+
+CtEditTabView::CtEditTabView(Eina_List* contactList)
+{
+ WENTER();
+ __idler = NULL;
+ __timer = NULL;
+ __tabbar = NULL;
+ __tabCount = eina_list_count(contactList);
+ __discard = false;
+ __selectedView = 0;
+
+ int i = 0;
+ Eina_List *l = NULL;
+ void* data = NULL;
+ char buf[CT_TEXT_MAX_LEN] = {0};
+ WDEBUG("__tabCount %d", __tabCount);
+ if (__tabCount > EDIT_TAB_VIEW_MAX) {
+ __tabCount = EDIT_TAB_VIEW_MAX;
+ }
+
+ for( i=0; i<__tabCount; i++) {
+ __tabItem[i] = NULL;
+ __subViewLoaded[i] = false;
+ __subView[i] = NULL;
+ }
+ i = 0;
+ EINA_LIST_FOREACH(contactList, l, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if (NULL == record) break;
+ contacts_record_h recordCloned = NULL;
+ int err = contacts_record_clone(record, &recordCloned);
+ WPRDT_M(CONTACTS_ERROR_NONE != err, "contacts_record_clone() Failed(%d)", err);
+ __subView[i] = new CtInputView(recordCloned, this, true);
+ __getTabViewTitle(recordCloned, buf, sizeof(buf));
+ __subView[i]->setName(buf);
+ i++;
+ if(i == EDIT_TAB_VIEW_MAX)
+ break;
+ }
+
+ WLEAVE();
+}
+
+CtEditTabView::~CtEditTabView()
+{
+ WHIT();
+}
+
+
+Evas_Object* CtEditTabView::onCreate(Evas_Object* parent, void* viewParam)
+{
+ WENTER();
+
+ Evas_Object* layout = elm_layout_add(parent);
+ elm_layout_theme_set(layout, "layout", "application", "default");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ setOnInitScroller( [](Evas_Object* scroller)
+ {
+ elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ //uxt_scroller_set_auto_scroll_enabled(scroller, EINA_FALSE);
+ });
+
+ Evas_Object* slideViewObj = WPageSlideView::onCreate(layout, NULL);
+
+ elm_object_part_content_set(layout, "elm.swallow.content", slideViewObj);
+ evas_object_smart_callback_add(getScroller(), "scroll,anim,stop", __pageScrollStopCb, this );
+ evas_object_smart_callback_add(getScroller(), "scroll,drag,start", __pageScrollStartCb, this );
+
+ evas_object_show(layout);
+
+ WDEBUG("layout %p", layout);
+
+ return layout;
+
+}
+
+
+void CtEditTabView::onDestroy()
+{
+ if(__idler)
+ ecore_idler_del(__idler);
+ __idler = NULL;
+
+ if(__timer)
+ ecore_timer_del(__timer);
+ __timer = NULL;
+}
+
+Elm_Object_Item* CtEditTabView::onPushToNaviframe(Evas_Object* naviFrame)
+{
+ WDEBUG("page set");
+
+ //create tabbar
+ Evas_Object* tabbar = elm_toolbar_add(naviFrame);
+ elm_toolbar_shrink_mode_set(tabbar, ELM_TOOLBAR_SHRINK_EXPAND);
+ elm_toolbar_select_mode_set(tabbar, ELM_OBJECT_SELECT_MODE_ALWAYS);
+ elm_toolbar_transverse_expanded_set(tabbar, EINA_TRUE);
+
+ Elm_Object_Item* naviItem = NULL;
+ elm_object_style_set(tabbar, "tabbar_with_title");
+ naviItem = elm_naviframe_item_push(naviFrame, V_("IDS_PB_OPT_EDIT"), NULL, NULL, getEvasObj(), "tabbar");
+
+ elm_object_item_part_content_set(naviItem, "tabbar", tabbar);
+ __tabbar = tabbar;
+ for( int i = 0; i<__tabCount; i++) {
+ const char *tabName = NULL;
+ tabName = __subView[i]->getName();
+
+ WDEBUG("tabName %s %d", tabName, i);
+ __tabItem[i] = elm_toolbar_item_append(tabbar, NULL, tabName, __onTabChangedCb, this);
+ elm_object_item_domain_text_translatable_set(__tabItem[i], PACKAGE, EINA_TRUE);
+ }
+
+ WLEAVE();
+
+ return naviItem;
+
+}
+
+void CtEditTabView::onPushed(Elm_Object_Item* naviItem)
+{
+ WENTER();
+
+ for( int i = 0; i<__tabCount; i++) {
+ if(__subView[i])
+ appendPage();
+ }
+
+ //set first show page
+ if(__subView[__selectedView]) {
+ setPageContent(__selectedView, __subView[__selectedView]);
+ __subView[__selectedView]->createEditSubViewContent();
+ __subViewLoaded[__selectedView] = true;
+ //elm_toolbar_item_selected_set(__tabItem[__selectedView], EINA_TRUE);
+
+ // showPage(__selectedView, false);
+ //__timer = ecore_timer_add(CT_TAB_CREATE_SUB_VIEW_TIMER, __createRestViewTimerCb, this);
+ }
+
+ __saveBtn = elm_button_add(getNaviframe()->getEvasObj());
+ elm_object_style_set(__saveBtn, "naviframe/title_done");
+ elm_object_text_set(__saveBtn, V_("IDS_TPLATFORM_ACBUTTON_DONE_ABB"));
+ evas_object_smart_callback_add(__saveBtn, "clicked", __saveCb, this);
+ elm_object_item_part_content_set(naviItem, "title_right_btn", __saveBtn);
+
+ Evas_Object* cancelBtn = elm_button_add(getNaviframe()->getEvasObj());
+ elm_object_style_set(cancelBtn, "naviframe/title_cancel");
+ elm_object_text_set(cancelBtn, V_("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"));
+ evas_object_smart_callback_add(cancelBtn, "clicked", __cancelCb, this);
+ elm_object_item_part_content_set(naviItem, "title_left_btn", cancelBtn);
+ WLEAVE();
+}
+
+bool CtEditTabView::onPop( )
+{
+ WHIT();
+ bool changed = false;
+
+ for( int i = 0; i<__tabCount; i++) {
+ if (__subView[i]) {
+ __subView[i]->onTabPop();
+ bool changedSub = false;
+ __subView[i]->getChangedForEditTabSubView(&changedSub);
+ changed = changed | changedSub;
+ }
+ }
+ if (__discard) {
+ return true;
+ }
+
+ if (changed) {
+ WDEBUG("changed");
+
+ WPopup *popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle("IDS_PB_HEADER_DISCARD_CHANGES_ABB");
+ popup->setContent("IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED");
+
+ popup->addButton("IDS_PB_BUTTON_CANCEL", [](bool* destroyPopup){
+ WDEBUG("Cancel");
+ *destroyPopup = true;
+ });
+ popup->addButton(V_("IDS_PB_BUTTON_DISCARD_ABB"), [this](bool* destroyPopup){
+ WDEBUG("Discard");
+ __discard = true;
+ popOut();
+ *destroyPopup = false;
+ });
+
+ attachPopup(popup);
+ return false;
+ }
+
+ return true;
+}
+
+void CtEditTabView::updateSaveBtn(Eina_Bool empty)
+{
+ if (!empty) {
+ bool emptyAll = false;
+ for( int i = 0; i<__tabCount; i++) {
+ if (__subView[i]) {
+ bool emptySub = false;
+ __subView[i]->getEmptyForEditTabSubView(&emptySub);
+ emptyAll = emptyAll | emptySub;
+ if (emptyAll) {
+ break;
+ }
+ }
+ }
+ empty = emptyAll;
+ }
+ elm_object_disabled_set(__saveBtn, empty);
+ WPRET_M(true == empty, "all fields are empty, can't save");
+}
+
+void CtEditTabView::__saveCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtEditTabView* view = (CtEditTabView*)data;
+
+ for( int i = 0; i<view->__tabCount; i++) {
+ if (view->__subView[i]) {
+ bool changedSub = false;
+ view->__subView[i]->getChangedForEditTabSubView(&changedSub);
+ if (changedSub) {
+ view->__subView[i]->saveContactForEditTabSubView();
+ }
+ }
+ }
+ view->destroyPopup();
+ elm_object_item_del(view->getNaviItem());
+
+ //view->popOut();
+}
+
+void CtEditTabView::__cancelCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtEditTabView* view = (CtEditTabView*)data;
+ view->popOut();
+}
+
+void CtEditTabView::__onTabChangedCb(void* data, Evas_Object* obj, void* event_info)
+{
+ WHIT();
+ CtEditTabView* view = (CtEditTabView*)data;
+ Elm_Object_Item *selectedItem = elm_toolbar_selected_item_get(obj);
+
+ view->__tabChanged(selectedItem);
+
+}
+
+void CtEditTabView::__tabChanged(Elm_Object_Item *selectedItem)
+{
+ WHIT();
+
+ if(getPageCount() == 0) {
+ WERROR("page item not added");
+ return;
+ }
+
+ if(selectedItem != __tabItem[__selectedView]) {
+ int i = 0;
+ WDEBUG("%d", __selectedView);
+
+ if(selectedItem) {
+
+ if(__subView[__selectedView] && __subViewLoaded[__selectedView])
+ __subView[__selectedView]->onTabUnselect(getNaviItem());
+
+ for (i=0;i<__tabCount;i++) {
+ if (__tabItem[i]) {
+ if (selectedItem == __tabItem[i]) {
+ if(__subView[i]) {
+ setPageContent(i, __subView[i]);
+ __subViewLoaded[i] = true;
+ __subView[i]->onTabSelect(getNaviItem());
+ }
+ break;
+ }
+ }
+ }
+
+ __selectedView = i;
+ }
+ else {//first selected(launched)
+ WDEBUG("first launched");
+ if(__subView[__selectedView] && __subViewLoaded[__selectedView]) {
+ __subView[__selectedView]->onTabSelect(getNaviItem());
+ }
+ }
+ }
+
+ showPage(__selectedView, false);
+
+}
+
+void CtEditTabView::__pageScrollStopCb(void* data, Evas_Object* obj, void* event_info)
+{
+ CtEditTabView* view = (CtEditTabView*)data;
+ for(int i = 0; i < view->__tabCount; i++) {
+ if(view->__subView[i] && view->__subViewLoaded[i])
+ view->__subView[i]->onTabScrollStop();
+ }
+
+ int hpage = 0;
+ elm_scroller_current_page_get(obj, &hpage, NULL);
+ WDEBUG("pagen %d", hpage);
+
+ elm_toolbar_item_selected_set(view->__tabItem[hpage], EINA_TRUE);
+ return;
+}
+
+void CtEditTabView::__pageScrollStartCb(void* data, Evas_Object* obj, void* event_info)
+{
+ WHIT();
+ CtEditTabView* view = (CtEditTabView*)data;
+ for( int i = 0; i<view->__tabCount; i++) {
+ WDEBUG("subView %d", i);
+ if(view->__subView[i] && view->__subViewLoaded[i] == false) {
+ view->setPageContent(i, view->__subView[i]);
+ view->__subViewLoaded[i] = true;
+ }
+ view->__subView[i]->onTabScrollStart();
+ }
+
+ return;
+}
+
+bool CtEditTabView::__checkViewExist(Elm_Object_Item *tabItem)
+{
+ bool result = false;
+ int i = 0;
+ for(i=0;i<__tabCount;i++) {
+ if(__tabItem[i] == tabItem) {
+ if(__subView[i]) {
+ result = true;
+ break;
+ }
+ }
+ }
+
+ return result;
+}
+
+
+void CtEditTabView::__getTabViewTitle(contacts_record_h recordContact, char *buf, int bufLen)
+{
+ int addressbookId = -1;
+ int err = CONTACTS_ERROR_NONE;
+ char *addressbookName = NULL;
+ contacts_record_h recordAddressbook = NULL;
+
+ buf[0] = '\0';
+
+ err = contacts_record_get_int(recordContact, _contacts_contact.address_book_id, &addressbookId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_db_get_record(_contacts_address_book._uri, addressbookId, &recordAddressbook);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)", err);
+
+ ctCommonGetProviderNameByAddressbookId(recordAddressbook, addressbookId, &addressbookName, NULL);
+ WDEBUG("addressbookName %s ", addressbookName);
+
+ err = contacts_record_destroy(recordAddressbook, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
+
+ snprintf(buf, bufLen, "%s", addressbookName);
+
+ free(addressbookName);
+}
+
+Eina_Bool CtEditTabView::__createRestViewTimerCb(void* data)
+{
+ WHIT();
+ CtEditTabView* view = (CtEditTabView*)data;
+ view->__timer = NULL;
+
+ view->__idler = ecore_idler_add([](void* data)->Eina_Bool {
+ CtEditTabView* view = (CtEditTabView*)data;
+
+ for( int i = 0; i<view->__tabCount; i++) {
+ WDEBUG("subView %d", i);
+ if(view->__subView[i] && view->__subViewLoaded[i] == false) {
+ view->setPageContent(i, view->__subView[i]);
+ view->__subView[i]->createEditSubViewContent();
+ view->__subViewLoaded[i] = true;
+ }
+ }
+ view->__idler = NULL;
+
+ return ECORE_CALLBACK_CANCEL;
+ }, view );
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
diff --git a/lib-contact/ct-detail/src/CtInputData.cpp b/lib-contact/ct-detail/src/CtInputData.cpp
new file mode 100644
index 0000000..0cc73cb
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputData.cpp
@@ -0,0 +1,2792 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <vector>
+#include <app_preference.h>
+
+#include "ContactsDebug.h"
+#include "CtInputData.h"
+#include "CtCommon.h"
+#include "CtString.h"
+
+CtInputData::CtInputData(contacts_record_h contactRecord)
+{
+ WHIT();
+ __contactRecord = contactRecord;
+ __contactId = 0;
+ __baseAddressbookId = 0;
+ __baseAddressbookName = NULL;
+ __userName = NULL;
+ __personId = 0;
+ __favorite = false;
+ __init();
+}
+
+CtInputData::CtInputData(int personId, const char *number, const char *email, const char *url)
+{
+ WHIT();
+ __contactRecord = NULL;
+ __contactId = 0;
+ __baseAddressbookId = 0;
+ __baseAddressbookName = NULL;
+ __userName = NULL;
+ __contactRecord = __getInitContact(personId, number, email, url);
+ __personId = 0;
+ __favorite = false;
+ __init();
+}
+
+CtInputData::CtInputData(const char *name, const char *number, const char *email, const char *url)
+{
+ WHIT();
+ __contactRecord = NULL;
+ __contactId = 0;
+ __baseAddressbookId = 0;
+ __baseAddressbookName = NULL;
+ __userName = NULL;
+ __contactRecord = NULL;
+ __personId = 0;
+ __favorite = false;
+ __init();
+
+ if (name) {
+ setFullName(name);
+ }
+ if (number) {
+ addNumber(number);
+ }
+ if (email) {
+ addEmail(email);
+ }
+ if (url) {
+ addWebsite(url);
+ }
+}
+
+CtInputData::CtInputData()
+{
+ WHIT();
+ __init();
+}
+
+CtInputData::~CtInputData()
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ free(__baseAddressbookName);
+ free(__userName);
+ err = contacts_db_remove_changed_cb(_contacts_contact._uri, __onPersonChanged, this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_remove_changed_cb() Failed(%d)", err);
+
+ err = contacts_record_destroy(__contactRecord, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
+}
+
+void CtInputData::__init()
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+// contacts_record_h addressbookRecord;
+ __currentVersion = 0;
+ __listener = NULL;
+ __inputAddressbook = false;
+ __favorite = false;
+
+ if (__contactRecord == NULL) {
+ if(__contactId > 0) {
+ WDEBUG("get contact %d", __contactId);
+// contacts_record_h personRecord = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_db_get_record(_contacts_contact._uri, __contactId, &__contactRecord);
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)", err);
+
+ }
+ else {
+ WDEBUG("create contact");
+ err = contacts_record_create(_contacts_contact._uri, &__contactRecord);
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_record_create() Failed(%d))", err);
+
+ __baseAddressbookId = __getBaseAddressbookId();
+ }
+ } else {
+ err = contacts_record_get_int(__contactRecord, _contacts_contact.id, &__contactId);
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ WDEBUG("get contact id %d", __contactId);
+ if(__contactId > 0) {
+ err = contacts_record_get_int(__contactRecord, _contacts_contact.address_book_id, &(__baseAddressbookId));
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ }
+ else {
+ __baseAddressbookId = __getBaseAddressbookId();
+ }
+
+ err = contacts_record_get_int(__contactRecord, _contacts_contact.person_id, &__personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_get_bool(__contactRecord, _contacts_contact.is_favorite, &__favorite);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str is_favorite %d", err);
+ }
+
+ err = contacts_db_get_current_version(&__currentVersion);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_current_version() Failed(%d)", err);
+
+ err = contacts_db_add_changed_cb(_contacts_contact._uri, __onPersonChanged, this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_add_changed_cb() Failed(%d)", err);
+
+ setAddressbookInfo(__baseAddressbookId);
+}
+
+void CtInputData::__onPersonChanged(const char *viewUri, void *userData)
+{
+ WHIT();
+ WPRET_M(NULL == userData, "userData is NULL");
+ CtInputData* data = (CtInputData*)userData;
+
+ WPRET_M(0 == data->__contactId, "no need to update");
+
+ int err = CONTACTS_ERROR_NONE;
+ int version = 0;
+ bool matched = false;
+ contacts_list_h chagnedList = NULL;
+ contacts_record_h changedRecord = NULL;
+
+ err = contacts_db_get_changes_by_version(_contacts_contact_updated_info._uri, data->__baseAddressbookId, data->__currentVersion, &chagnedList, &version);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_changes_by_version() Failed(%d)", err);
+
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(chagnedList, &changedRecord)) {
+ int changedId = 0;
+ err = contacts_record_get_int(changedRecord, _contacts_contact_updated_info.contact_id, &changedId);
+ if(data->__contactId == changedId) {
+ WDEBUG("update matched");
+ matched = true;
+ break;
+ }
+ contacts_list_next(chagnedList);
+ }
+
+ err = contacts_list_destroy(chagnedList, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy(out_change_list) Failed(%d)", err);
+
+ if(version > 0)
+ data->__currentVersion = version;
+
+ if(matched && data->__listener)
+ data->__listener->onDbChanged(viewUri);
+}
+
+bool CtInputData::checkChangedTypeIsDeleted()
+{
+ WENTER();
+ contacts_list_h list = NULL;
+ int contactId = 0;
+ int currentVersion = 0;
+
+ int type = -1;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h updatedRecord = NULL;
+
+ err = contacts_record_get_int(__contactRecord, _contacts_contact.address_book_id, &__baseAddressbookId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_db_get_changes_by_version(_contacts_contact_updated_info._uri, __baseAddressbookId, __currentVersion, &list, &currentVersion);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_changes_by_version() Failed(%d)", err);
+
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(list, &updatedRecord)) {
+ err = contacts_record_get_int(updatedRecord, _contacts_contact_updated_info.contact_id, &contactId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)", err);
+ if (CONTACTS_ERROR_NONE != err) {
+ err = contacts_list_next(list);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)", err);
+ continue;
+ }
+
+ if (contactId == __contactId) {
+ err = contacts_record_get_int(updatedRecord, _contacts_contact_updated_info.type, &type);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ break;
+ }
+ contacts_list_next(list);
+ }
+ err = contacts_list_destroy(list, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destrot() Failed(%d)", err);
+
+ if (currentVersion) {
+ __currentVersion = currentVersion;
+ }
+
+ if (CONTACTS_CHANGE_DELETED == type) {
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+void CtInputData::setPreferenceCreateFirst(bool isFirst)
+{
+ WHIT();
+
+ preference_set_boolean(CT_KEY_CONTACT_CREATE_FIRST, isFirst);
+}
+
+void CtInputData::__setContactInfo(int personId)
+{
+ WHIT();
+
+ WDEBUG("personID %d", personId);
+
+ int err = CONTACTS_ERROR_NONE;
+
+ if(personId > 0) {
+ __contactRecord = __getWritableContact(personId);
+ err = contacts_record_get_int(__contactRecord, _contacts_contact.id, &__contactId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_get_int(__contactRecord, _contacts_contact.person_id, &__personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_get_bool(__contactRecord, _contacts_contact.is_favorite, &__favorite);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str is_favorite %d", err);
+ }
+
+ if (__contactRecord == NULL) {
+ WDEBUG("create contact");
+ err = contacts_record_create(_contacts_contact._uri, &__contactRecord);
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_record_create() Failed(%d))", err);
+
+ __baseAddressbookId = __getBaseAddressbookId();
+ }
+}
+
+contacts_record_h CtInputData::__getInitContact(int personId, const char *number, const char *email, const char *url)
+{
+ WHIT();
+
+ __setContactInfo(personId);
+ setAddressbookInfo(__baseAddressbookId);
+
+ if (number) {
+ addNumber(number);
+ }
+ if (email) {
+ addEmail(email);
+ }
+ if (url) {
+ addWebsite(url);
+ }
+
+ return __contactRecord;
+}
+/*
+bool CtInputData::getMFC()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h personUsageList = NULL;
+ contacts_query_h query= NULL;
+ contacts_filter_h filter = NULL;
+
+
+ err = contacts_query_create(_contacts_person_usage._uri, &query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person_usage._uri, &filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ do {
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_usage.times_used, CONTACTS_MATCH_GREATER_THAN_OR_EQUAL, 1))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_usage.usage_type, CONTACTS_MATCH_EQUAL, CONTACTS_USAGE_STAT_TYPE_OUTGOING_CALL))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_bool(filter, _contacts_person_usage.is_favorite, false))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_query_set_filter(query, filter))) break;
+ } while (0);
+
+ err = contacts_query_set_sort(query, _contacts_person_usage.times_used, false);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_sort() Failed(%d)", err);
+
+ err = contacts_db_get_records_with_query(query, 0, 5, &personUsageList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_get_list() Failed(%d)", err);
+
+ contacts_filter_destroy(filter);
+ contacts_query_destroy(query);
+ int mfcIndex = 0;
+ contacts_record_h recordPerson = NULL;
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(personUsageList, &recordPerson)) {
+ if(mfcIndex >5)
+ break;
+ int personId = 0;
+ err = contacts_record_get_int(recordPerson, _contacts_person.id, &personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ if(__personId == personId){
+ contacts_list_destroy(personUsageList, true);
+ return true;
+ }
+ mfcIndex++;
+ contacts_list_next(personUsageList);
+ }
+ contacts_list_destroy(personUsageList, true);
+ return false;
+}
+*/
+contacts_record_h CtInputData::__getWritableContact(int personId)
+{
+ WDEBUG("personId %d", personId);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h contactRecord = NULL;
+
+ if(personId > 0) {
+ Eina_List *contactList = ctCommonGetWritableContactList(personId);
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ EINA_LIST_FOREACH(contactList, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ err = contacts_record_clone(record, &contactRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_clone() Failed(%d)", err);
+ break;
+ }
+
+ ctCommonDestroyRecordList(contactList);
+ }
+ else {
+ err = contacts_record_create(_contacts_contact._uri, &contactRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_create() Failed(%d)", err);
+ }
+
+ return contactRecord;
+}
+
+
+void CtInputData::setAddressbookInfo(int addressbookId)
+{
+ WDEBUG("addressbookId %d", addressbookId);
+
+ __baseAddressbookId = addressbookId;
+
+ contacts_list_h list = NULL;
+ contacts_record_h record_address_book = NULL;
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_db_get_all_records(_contacts_address_book._uri, 0, 0, &list);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_all_records() Failed(%d)", err);
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(list, &record_address_book)) {
+ int addressbook_id;
+ char *addressbook_name = NULL;
+ char *addressbook_username = NULL;
+
+ err = contacts_record_get_int(record_address_book, _contacts_address_book.id, &addressbook_id);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ ctCommonGetProviderNameByAddressbookId(record_address_book, addressbook_id, &addressbook_name, &addressbook_username);
+
+ if(addressbook_id == __baseAddressbookId) {
+ FREEandSTRDUP(__baseAddressbookName, addressbook_name);
+ FREEandSTRDUP(__userName, addressbook_username);
+ WDEBUG("addressbook_id %d is %s", addressbook_id, addressbook_name);
+ SAFE_FREE(addressbook_name);
+ SAFE_FREE(addressbook_username);
+ err = contacts_list_destroy(list, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)", err);
+ return;
+ }
+ SAFE_FREE(addressbook_name);
+ SAFE_FREE(addressbook_username);
+ contacts_list_next(list);
+ }
+ err = contacts_list_destroy(list, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)", err);
+ __baseAddressbookName = NULL;
+ __userName = NULL;
+ return;
+}
+
+bool CtInputData::__hasSuffix(const char *src)
+{
+ int index = strlen(src) - 1;
+ bool delim = false;
+ for (int i = index; i >= 0; i--) {
+ if (src[i] == ' ' || src[i] == '.') {
+ delim = true;
+ } else if (src[i] == ',') {
+ return true;
+ } else if (delim) {
+ return false;
+ }
+ }
+ return false;
+}
+
+int CtInputData::separateFullName(contacts_record_h nameRecord, const char *full_name)
+{
+ WHIT();
+ WPRET_VM(NULL == nameRecord, -1, "nameRecord is NULL");
+ WPRET_VM(NULL == full_name, -1, "full_name is NULL");
+ int err = CONTACTS_ERROR_NONE;
+ char *tmp_name = NULL;
+ char *tmp_str = NULL;
+ char tmp[CT_TEXT_MAX_LEN] = {0};
+ std::string tmp_first;
+ snprintf(tmp, sizeof(tmp), "%s", full_name);
+ std::vector<char*> fields;
+
+ tmp_str = strtok_r(tmp, ",. ", &tmp_name);
+ while(tmp_str && *tmp_str) {
+ fields.push_back(tmp_str);
+ tmp_str = strtok_r(NULL, ",. ", &tmp_name);
+ }
+
+ if ((fields.size() > 2) && __hasSuffix(full_name)) {
+ err = contacts_record_set_str(nameRecord, _contacts_name.suffix, fields.back());
+ fields.pop_back();
+ } else {
+ err = contacts_record_set_str(nameRecord, _contacts_name.suffix, NULL);
+ }
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ if (fields.size() > 1) {
+ err = contacts_record_set_str(nameRecord, _contacts_name.last, fields.back());
+ fields.pop_back();
+ } else {
+ err = contacts_record_set_str(nameRecord, _contacts_name.last, NULL);
+ }
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ if (fields.size() > 1) {
+ err = contacts_record_set_str(nameRecord, _contacts_name.addition, fields.back());
+ fields.pop_back();
+ } else {
+ err = contacts_record_set_str(nameRecord, _contacts_name.addition, NULL);
+ }
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ if (fields.size() < 1) {
+ err = contacts_record_set_str(nameRecord, _contacts_name.prefix, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.first, NULL);
+ } else {
+ for (auto &str : fields) {
+ tmp_first.append(str);
+ tmp_first.append(" ");
+ }
+ tmp_first.pop_back();
+ err = contacts_record_set_str(nameRecord, _contacts_name.first, tmp_first.c_str());
+ }
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtInputData::separatePhoneticFullName(contacts_record_h nameRecord, const char *full_name)
+{
+ WHIT();
+ WPRET_VM(NULL == nameRecord, -1, "nameRecord is NULL");
+ int err = CONTACTS_ERROR_NONE;
+ char *temp_name = NULL;
+ char *temp_first = NULL;
+ char *temp_middle = NULL;
+ char *temp_last = NULL;
+ char tmp[CT_TEXT_MAX_LEN] = {0};
+
+ if (NULL == full_name) {
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_first, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_middle, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_last, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ return err;
+ }
+
+ snprintf(tmp, sizeof(tmp), "%s", full_name);
+
+ temp_first = strtok_r(tmp, " ", &temp_name);
+ if (temp_first) {
+ temp_middle = strtok_r(NULL, " ", &temp_name);
+ if (temp_middle) {
+ temp_last = temp_name;
+ }
+ }
+
+ WDEBUG("full_name %s, first %s, middle %s, last %s", full_name, temp_first, temp_middle, temp_last);
+
+ if(temp_first && *temp_first) {
+ if(temp_last && *temp_last) {
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_first, temp_first);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_middle, temp_middle);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_last, temp_last);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ else {
+ if(temp_middle && *temp_middle) {
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_first, temp_first);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_middle, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_last, temp_middle);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ else {
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_first, temp_first);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_middle, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_last, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ }
+ }else {
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_first, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_middle, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_last, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtInputData::setPrefixName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.prefix, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtInputData::setSuffixName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.suffix, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtInputData::setPhoneticFullName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+
+ if(nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = separatePhoneticFullName(nameRecord, text);
+ return err;
+}
+
+int CtInputData::setPhoneticFirstName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_first, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtInputData::setPhoneticMiddleName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_middle, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+int CtInputData::setPhoneticLastName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_last, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtInputData::setNickname(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.nickname, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_nickname._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.nickname, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_nickname.name, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtInputData::setCompany(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.company, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_company._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.company, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_company.name, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtInputData::setJobTitle(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.company, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_company._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.company, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_company.job_title, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtInputData::setFullName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+ //WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ if(nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = separateFullName(nameRecord, text);
+ return err;
+}
+
+int CtInputData::setFirstName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.first, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtInputData::setMiddleName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.addition, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtInputData::setLastName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.last, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+const char* CtInputData::getPrefixName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *prefix = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.prefix, &prefix);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ ctCommonRemoveNewline(prefix);
+
+ return prefix;
+}
+
+const char* CtInputData::getSuffixName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *suffix = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.suffix, &suffix);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ ctCommonRemoveNewline(suffix);
+
+ return suffix;
+}
+
+const char* CtInputData::getPhoneticFirstName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *phoneticName = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.phonetic_first, &phoneticName);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ ctCommonRemoveNewline(phoneticName);
+
+ return phoneticName;
+}
+
+const char* CtInputData::getPhoneticMiddleName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *phoneticName = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.phonetic_middle, &phoneticName);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ ctCommonRemoveNewline(phoneticName);
+
+ return phoneticName;
+}
+
+const char* CtInputData::getPhoneticLastName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *phoneticName = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.phonetic_last, &phoneticName);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ ctCommonRemoveNewline(phoneticName);
+
+ return phoneticName;
+}
+
+const char* CtInputData::getNickname()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *nickname = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.nickname, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_nickname.name, &nickname);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ return nickname;
+}
+
+const char* CtInputData::getCompany()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *company = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.company, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_company.name, &company);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ return company;
+}
+
+const char* CtInputData::getJobTitle()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *jobTitle = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.company, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_company.job_title, &jobTitle);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ return jobTitle;
+}
+
+/**
+ * @return must be freed by you
+ */
+void CtInputData::getFullName(std::string &Name)
+{
+ int strLen = 0;
+ const char *firstName = NULL;
+ const char *middleName = NULL;
+ const char *lastName = NULL;
+ const char *prefixName = NULL;
+ const char *suffixName = NULL;
+ char *fullName = NULL;
+
+ firstName = getFirstName();
+ middleName = getMiddleName();
+ lastName = getLastName();
+ prefixName = getPrefixName();
+ suffixName = getSuffixName();
+
+ strLen = SAFE_STRLEN(prefixName) + SAFE_STRLEN(firstName) + SAFE_STRLEN(middleName) + SAFE_STRLEN(lastName) + SAFE_STRLEN(suffixName) + 6;
+ WDEBUG("strLen = %d", strLen);
+
+ fullName = (char*)malloc(sizeof(char)*strLen);
+ WPRET_M(NULL == fullName, "failed to malloc");
+ memset(fullName, 0, sizeof(char)*strLen);
+
+ if (prefixName && *prefixName) {
+ strncat(fullName, prefixName, SAFE_STRLEN(prefixName));
+ }
+ if (firstName && *firstName) {
+ if (fullName && *fullName) {
+ strncat(fullName, " ", 1);
+ }
+ strncat(fullName, firstName, SAFE_STRLEN(firstName));
+ }
+ if (middleName && *middleName) {
+ if (fullName && *fullName) {
+ strncat(fullName, " ", 1);
+ }
+ strncat(fullName, middleName, SAFE_STRLEN(middleName));
+ }
+ if (lastName && *lastName) {
+ if (fullName && *fullName) {
+ strncat(fullName, " ", 1);
+ }
+ strncat(fullName, lastName, SAFE_STRLEN(lastName));
+ }
+ if (suffixName && *suffixName) {
+ if (fullName && *fullName) {
+ strncat(fullName, ", ", 2);
+ }
+ strncat(fullName, suffixName, SAFE_STRLEN(suffixName));
+ }
+
+ Name = fullName;
+ free(fullName);
+}
+
+const char* CtInputData::getFirstName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *firstName = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.first, &firstName);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ ctCommonRemoveNewline(firstName);
+
+ result = firstName;
+ return result;
+}
+
+const char* CtInputData::getMiddleName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *middleName = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.addition, &middleName);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ ctCommonRemoveNewline(middleName);
+
+ result = middleName;
+ return result;
+}
+
+const char* CtInputData::getLastName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *lastName = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.last, &lastName);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ ctCommonRemoveNewline(lastName);
+
+ result = lastName;
+ return result;
+}
+
+int CtInputData::removeImage(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_contact.image, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ err = contacts_record_destroy(record, true);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_destroy() Failed(%d)", err);
+
+ return err;
+}
+
+const char* CtInputData::getImagePath()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h imageRecord = NULL;
+ char *image = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.image, 0, &imageRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(imageRecord, _contacts_image.path, &image);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ result = image;
+ return result;
+}
+
+contacts_record_h CtInputData::getImageRecord()
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.image, 0, &record);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+ if (NULL != record) {
+ return record;
+ }
+
+ return record;
+}
+
+int CtInputData::setImage(contacts_record_h record, char *image, int type)
+{
+ WDEBUG("image %s", image);
+ int err = CONTACTS_ERROR_NONE;
+
+ if(image && *image) {
+ if(record == NULL) {
+ err = contacts_record_create(_contacts_image._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.image, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_add_child_record() Failed(%d)", err);
+ }
+ err = contacts_record_set_int(record, _contacts_image.type, type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_int() Failed(%d)", err);
+ err = contacts_record_set_str(record, _contacts_image.path, image);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+Eina_List* CtInputData::getNumberList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_contact.number);
+}
+
+contacts_record_h CtInputData::addNumber(const char *number)
+{
+ WDEBUG("number %s", number);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_number._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setNumberNumber(record, number);
+ setNumberType(record, getNextNumberType(), NULL);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.number, record);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtInputData::setNumberNumber(contacts_record_h record, const char *number)
+{
+ WDEBUG("number %s", number);
+ int err = CONTACTS_ERROR_NONE;
+
+ if(number) {
+ err = contacts_record_set_str(record, _contacts_number.number, number);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtInputData::setNumberType(contacts_record_h record, int type, const char *customStr)
+{
+ WDEBUG("type %d", type);
+ WDEBUG("customStr %s", customStr);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (type >= 0) {
+ err = contacts_record_set_int(record, _contacts_number.type, type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ if (customStr) {
+ err = contacts_record_set_str(record, _contacts_number.label, customStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ return err;
+}
+
+int CtInputData::removeNumber(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_contact.number, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+const char* CtInputData::getNumberNumber(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *number = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_str_p(record, _contacts_number.number, &number);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ result = number;
+ return result;
+}
+
+contacts_record_h CtInputData::getEmergencyNumber()
+{
+ WHIT();
+ /*
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h numberRecord = NULL;
+ contacts_record_h emergencyRecord = NULL;
+ contacts_query_h query = NULL;
+ contacts_filter_h filter = NULL;
+ contacts_list_h emergencyList = NULL;
+ int personId = 0;
+ int numberId = 0;
+ int index = 0;
+
+ err = contacts_record_get_int(__contactRecord, _contacts_contact.person_id, &personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_filter_create(_contacts_emergency._uri, &filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+
+ do {
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_emergency.person_id, CONTACTS_MATCH_EQUAL, personId))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_query_create(_contacts_emergency._uri, &query))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_query_set_filter(query, filter))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_db_get_records_with_query(query, 0, 0, &emergencyList))) break;
+ } while (0);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_get_list() Failed(%d)", err);
+
+ contacts_filter_destroy(filter);
+ contacts_query_destroy(query);
+ if (emergencyList && CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(emergencyList, &emergencyRecord)) {
+ err = contacts_record_get_int(emergencyRecord,_contacts_emergency.number_data_id, &numberId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ }
+ contacts_list_destroy(emergencyList, true);
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.number, index++, &numberRecord)) {
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+ break;
+ }
+ int id = 0;
+ err = contacts_record_get_int(numberRecord, _contacts_number.id, &id);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ if (id == numberId) {
+ break;
+ }
+ }
+
+ return numberRecord;
+ */
+ return NULL;
+}
+
+contacts_record_h CtInputData::getDefaultNumber()
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.number, 0, &record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_child_record_at_p() Failed(%d)", err);
+ }
+ return record;
+}
+
+int CtInputData::getNumberType(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int type = 0;
+
+ err = contacts_record_get_int(record, _contacts_number.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+Eina_List* CtInputData::getEmailList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_contact.email);
+}
+
+const char* CtInputData::getDataTypeCustom(contacts_record_h record, int property_id)
+{
+ char* typeStr = NULL;
+ const char* result = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, property_id, &typeStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_int() Failed(%d)", err);
+
+ result = typeStr;
+ return result;
+}
+
+void CtInputData::getNumberTypeStr(contacts_record_h record, int numberType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+ char buf[128] = {0,};
+
+ if (numberType & CONTACTS_NUMBER_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_number.label);
+
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_CELL) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ snprintf(buf, sizeof(buf),"%s 2", V_("IDS_PB_OPT_HOME_ABB"));
+ typeStr = buf;
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ snprintf(buf, sizeof(buf),"%s 2", V_("IDS_PB_OPT_WORK"));
+ typeStr = buf;
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_MOBILE");
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_VOICE) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_FAX) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_FAX_HHOME_ABB");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_FAX_HWORK_ABB");
+ }
+ else {
+ typeStr = V_("IDS_PB_BODY_FAX");
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_MAIN) {
+ typeStr = V_("IDS_PB_OPT_MAIN");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_PAGER) {
+ typeStr = V_("IDS_PB_OPT_PAGER");
+ }
+ else {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtInputData::getNumberRetType(int indexType)
+{
+ int retType;
+
+ switch (indexType) {
+ case CTTEXT_TYPE_MOBILE:
+ retType = CONTACTS_NUMBER_TYPE_CELL;
+ break;
+ case CTTEXT_TYPE_HOME:
+ retType = CONTACTS_NUMBER_TYPE_VOICE | CONTACTS_NUMBER_TYPE_HOME;
+ break;
+ case CTTEXT_TYPE_WORK:
+ retType = CONTACTS_NUMBER_TYPE_VOICE | CONTACTS_NUMBER_TYPE_WORK;
+ break;
+ case CTTEXT_TYPE_FAX_HOME:
+ retType = CONTACTS_NUMBER_TYPE_FAX | CONTACTS_NUMBER_TYPE_HOME;
+ break;
+ case CTTEXT_TYPE_FAX_WORK:
+ retType = CONTACTS_NUMBER_TYPE_FAX | CONTACTS_NUMBER_TYPE_WORK;
+ break;
+ case CTTEXT_TYPE_PAGER:
+ retType = CONTACTS_NUMBER_TYPE_PAGER;
+ break;
+ case CTTEXT_TYPE_CUSTOM:
+ retType = CONTACTS_NUMBER_TYPE_CUSTOM;
+ break;
+ case CTTEXT_TYPE_MAIN:
+ retType = CONTACTS_NUMBER_TYPE_MAIN;
+ break;
+ case CTTEXT_TYPE_OTHER:
+ default:
+ retType = CONTACTS_NUMBER_TYPE_OTHER;
+ break;
+ }
+
+ return retType;
+}
+int CtInputData::getNumberIndexType(int numberType)
+{
+ if (numberType & CONTACTS_NUMBER_TYPE_CUSTOM) {
+ return (CTTEXT_TYPE_OTHER);
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_CELL) {
+ return (CTTEXT_TYPE_MOBILE);
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_VOICE) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ return (CTTEXT_TYPE_HOME);
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ return (CTTEXT_TYPE_WORK);
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_FAX) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME)
+ return (CTTEXT_TYPE_FAX_HOME);
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK)
+ return (CTTEXT_TYPE_FAX_WORK);
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_PAGER)
+ return (CTTEXT_TYPE_PAGER);
+ else if (numberType & CONTACTS_NUMBER_TYPE_MAIN)
+ return (CTTEXT_TYPE_MAIN);
+ else {
+ if (numberType == CONTACTS_NUMBER_TYPE_HOME)
+ return (CTTEXT_TYPE_HOME);
+ else if (numberType == CONTACTS_NUMBER_TYPE_WORK)
+ return (CTTEXT_TYPE_WORK);
+ else
+ return (CTTEXT_TYPE_OTHER);
+ }
+
+ return CTTEXT_TYPE_MOBILE;
+}
+
+int CtInputData::getNextNumberType()
+{
+ int i;
+ int numberType;
+ int indexType;
+ int index = 0;
+ int err = CONTACTS_ERROR_NONE;
+ int used[CTTEXT_TYPE_OTHER+1] = {0};
+ contacts_record_h record = NULL;
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.number, index++, &record)) {
+ err = contacts_record_get_int(record, _contacts_number.type, &numberType);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ continue;
+ }
+ indexType = getNumberIndexType(numberType);
+ used[indexType] = 1;
+ }
+
+ for (i=CTTEXT_TYPE_MOBILE;i<CTTEXT_TYPE_OTHER;i++) {
+ if (0 == used[i]) {
+
+ return getNumberRetType(i);
+ }
+ }
+
+ return CONTACTS_NUMBER_TYPE_OTHER;
+
+}
+
+contacts_record_h CtInputData::addEmail(const char *email)
+{
+ WDEBUG("email %s", email);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_email._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setEmailEmail(record, email);
+ setEmailType(record, getNextEmailType(), NULL);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.email, record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtInputData::setEmailEmail(contacts_record_h record, const char *email)
+{
+ WDEBUG("email %s", email);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (email) {
+ err = contacts_record_set_str(record, _contacts_email.email, email);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtInputData::setEmailType(contacts_record_h record, int type, char *customStr)
+{
+ WDEBUG("type %d", type);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (type >= 0) {
+ err = contacts_record_set_int(record, _contacts_email.type, type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ if (customStr) {
+ err = contacts_record_set_str(record, _contacts_email.label, customStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+const char* CtInputData::getEmailEmail(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *email = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_str_p(record, _contacts_email.email, &email);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ result = email;
+ return result;
+}
+
+contacts_record_h CtInputData::getDefaultEmail()
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.email, 0, &record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_child_record_at_p() Failed(%d)", err);
+ }
+ return record;
+}
+
+int CtInputData::getEmailType(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int type = 0;
+
+ err = contacts_record_get_int(record, _contacts_email.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtInputData::getEmailTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+
+ const char* typeStr = NULL;
+
+ if (indexType & CONTACTS_EMAIL_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_email.label);
+ }
+ else if (indexType & CONTACTS_EMAIL_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (indexType & CONTACTS_EMAIL_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtInputData::getNextEmailType()
+{
+ int i;
+ int used = 0;
+ int emailType;
+ int index = 0;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.email, index++, &record)) {
+ err = contacts_record_get_int(record, _contacts_email.type, &emailType);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ continue;
+ }
+ used |= emailType;
+ }
+
+ int maxType = CONTACTS_EMAIL_TYPE_WORK;
+ for (i=1;(1<<i)<=maxType;i++) {
+ if (!(used & (1<<i))) {
+ return 1<<i;
+ }
+ }
+
+ return CONTACTS_EMAIL_TYPE_OTHER;
+
+}
+
+int CtInputData::removeEmail(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_contact.email, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+contacts_record_h CtInputData::getNoteRecord()
+{
+ WHIT();
+ contacts_record_h record = NULL;
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.note, 0, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+ return record;
+}
+
+Eina_List* CtInputData::getNoteList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_contact.note);
+}
+
+contacts_record_h CtInputData::addNote(const char *note)
+{
+ WDEBUG("note %s", note);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_note._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setNote(record, note);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.note, record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtInputData::setNote(contacts_record_h record, const char *note)
+{
+ WDEBUG("note %s", note);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (note) {
+ err = contacts_record_set_str(record, _contacts_note.note, note);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+const char* CtInputData::getNote(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *note = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_str_p(record, _contacts_note.note, &note);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ result = note;
+ return result;
+}
+
+int CtInputData::removeNote(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_contact.note, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+Eina_List* CtInputData::getAddressList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_contact.address);
+}
+
+contacts_record_h CtInputData::addAddress(const char *address)
+{
+ WDEBUG("address %s", address);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_address._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setAddressAddress(record, address);
+ setAddressType(record, getNextAddressType(), NULL);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.address, record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtInputData::setAddressAddress(contacts_record_h record, const char *address)
+{
+ WDEBUG("address %s", address);
+ int ret = CONTACTS_ERROR_NONE;
+
+ if (address) {
+ do {
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.postbox, NULL))) break;
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.postal_code, NULL))) break;
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.region, NULL))) break;
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.locality, NULL))) break;
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.street, address))) break;
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.country, NULL))) break;
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.extended, NULL))) break;
+ } while (0);
+ WPRET_VM(CONTACTS_ERROR_NONE != ret, ret, "contacts_record_set_str() Failed(%d)", ret);
+ }
+
+ return ret;
+}
+
+int CtInputData::setAddressType(contacts_record_h record, int type, const char *customStr)
+{
+ WDEBUG("type %d", type);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (type >= 0) {
+ err = contacts_record_set_int(record, _contacts_address.type, type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ if (customStr) {
+ err = contacts_record_set_str(record, _contacts_address.label, customStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtInputData::getAddressAddress(contacts_record_h record, char *buf, int length)
+{
+ WHIT();
+ return __getFullAddress(record, buf, length);
+}
+
+void CtInputData::__appendStringWithLinebreak(const char *src, char *dest, int length)
+{
+ char temp[CT_TEXT_MAX_LEN];
+ if (src && '\0' != src[0]) {
+ if ('\0' == dest[0])
+ snprintf(dest, length, "%s", src);
+ else {
+ snprintf(temp, sizeof(temp), "%s\n%s", src, dest);
+ snprintf(dest, length, "%s", temp);
+ }
+ }
+}
+
+int CtInputData::__getFullAddress(contacts_record_h addresssRecord, char *buf, int length)
+{
+ WHIT();
+
+ const char *code = NULL;
+ const char *region = NULL;
+ const char *locality = NULL;
+ const char *street = NULL;
+ const char *extended = NULL;
+ const char *country = NULL;
+ const char *pobox = NULL;
+ int err = CONTACTS_ERROR_NONE;
+
+ do {
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.postal_code , (char**)&code))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.extended , (char**)&extended))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.postbox , (char**)&pobox))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.street , (char**)&street))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.locality , (char**)&locality))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.region , (char**)&region))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.country ,(char**)&country))) break;
+ } while (0);
+ if(CONTACTS_ERROR_NONE != err)
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+
+ __appendStringWithLinebreak(country, buf, length);
+ __appendStringWithLinebreak(code, buf, length);
+ __appendStringWithLinebreak(region, buf, length);
+ __appendStringWithLinebreak(locality, buf, length);
+ __appendStringWithLinebreak(street, buf, length);
+ __appendStringWithLinebreak(extended, buf, length);
+ __appendStringWithLinebreak(pobox, buf, length);
+
+ return 0;
+}
+
+int CtInputData::getAddressType(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int type = 0;
+
+ err = contacts_record_get_int(record, _contacts_address.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtInputData::getAddressTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType & CONTACTS_ADDRESS_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_address.label);
+ }
+ else if (indexType & CONTACTS_ADDRESS_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (indexType & CONTACTS_ADDRESS_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtInputData::getNextAddressType()
+{
+ int i;
+ int used = 0;
+ int addressType;
+ int index = 0;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.address, index++, &record)) {
+ err = contacts_record_get_int(record, _contacts_address.type, &addressType);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ continue;
+ }
+ used |= addressType;
+ }
+
+ int maxType = CONTACTS_ADDRESS_TYPE_WORK;
+ for (i=1;(1<<i)<=maxType;i++) {
+ if (!(used & (1<<i))) {
+ return 1<<i;
+ }
+ }
+
+ return CONTACTS_ADDRESS_TYPE_OTHER;
+
+}
+
+int CtInputData::removeAddress(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_contact.address, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+Eina_List* CtInputData::getMessengerList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_contact.messenger);
+}
+
+contacts_record_h CtInputData::addMessenger(const char *messenger)
+{
+ WDEBUG("messenger %s", messenger);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_messenger._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setMessengerMessenger(record, messenger);
+ setMessengerType(record, getNextMessengerType(), NULL);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.messenger, record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtInputData::setMessengerMessenger(contacts_record_h record, const char *messenger)
+{
+ WDEBUG("messenger %s", messenger);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (messenger) {
+ err = contacts_record_set_str(record, _contacts_messenger.im_id, messenger);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtInputData::setMessengerType(contacts_record_h record, int type, const char *customStr)
+{
+ WDEBUG("type %d", type);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (type >= 0) {
+ err = contacts_record_set_int(record, _contacts_messenger.type, type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ if (customStr) {
+ err = contacts_record_set_str(record, _contacts_messenger.label, customStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtInputData::getMessengerIndexType(int emailType)
+{
+ switch (emailType) {
+ case CONTACTS_MESSENGER_TYPE_CUSTOM:
+ return CTTEXT_MESSENGER_TYPE_CUSTOM;
+ case CONTACTS_MESSENGER_TYPE_AIM:
+ return CTTEXT_MESSENGER_TYPE_AIM;
+ case CONTACTS_MESSENGER_TYPE_YAHOO:
+ return CTTEXT_MESSENGER_TYPE_YAHOO;
+ case CONTACTS_MESSENGER_TYPE_SKYPE:
+ return CTTEXT_MESSENGER_TYPE_SKYPE;
+ case CONTACTS_MESSENGER_TYPE_QQ:
+ return CTTEXT_MESSENGER_TYPE_QQ;
+ case CONTACTS_MESSENGER_TYPE_GOOGLE:
+ return CTTEXT_MESSENGER_TYPE_HANGOUTS;
+ case CONTACTS_MESSENGER_TYPE_ICQ:
+ return CTTEXT_MESSENGER_TYPE_ICQ;
+ case CONTACTS_MESSENGER_TYPE_JABBER:
+ default:
+ return CTTEXT_MESSENGER_TYPE_JABBER;
+ }
+}
+
+int CtInputData::getMessengerRetType(int indexType)
+{
+ int retType;
+
+ switch (indexType) {
+ case CTTEXT_MESSENGER_TYPE_CUSTOM:
+ retType = CONTACTS_MESSENGER_TYPE_CUSTOM;
+ break;
+ case CTTEXT_MESSENGER_TYPE_AIM:
+ retType = CONTACTS_MESSENGER_TYPE_AIM;
+ break;
+ case CTTEXT_MESSENGER_TYPE_YAHOO:
+ retType = CONTACTS_MESSENGER_TYPE_YAHOO;
+ break;
+ case CTTEXT_MESSENGER_TYPE_SKYPE:
+ retType = CONTACTS_MESSENGER_TYPE_SKYPE;
+ break;
+ case CTTEXT_MESSENGER_TYPE_QQ:
+ retType = CONTACTS_MESSENGER_TYPE_QQ;
+ break;
+ case CTTEXT_MESSENGER_TYPE_HANGOUTS:
+ retType = CONTACTS_MESSENGER_TYPE_GOOGLE;
+ break;
+ case CTTEXT_MESSENGER_TYPE_ICQ:
+ retType = CONTACTS_MESSENGER_TYPE_ICQ;
+ break;
+ case CTTEXT_MESSENGER_TYPE_JABBER:
+ default:
+ retType = CONTACTS_MESSENGER_TYPE_JABBER;
+ break;
+ }
+
+ return retType;
+}
+
+const char* CtInputData::getMessengerMessenger(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *messenger = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_str_p(record, _contacts_messenger.im_id, &messenger);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ result = messenger;
+ return result;
+}
+
+int CtInputData::getMessengerType(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int type = 0;
+
+ err = contacts_record_get_int(record, _contacts_messenger.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtInputData::getMessengerTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType == CONTACTS_MESSENGER_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_messenger.label);
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_AIM) {
+ typeStr = V_("IDS_PB_OPT_AIM");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_YAHOO) {
+ typeStr = V_("IDS_PB_OPT_YAHOO_E");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_SKYPE) {
+ typeStr = V_("IDS_PB_BODY_SKYPE");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_QQ) {
+ typeStr = V_("IDS_PB_OPT_QQ");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_GOOGLE) {
+ typeStr = V_("IDS_PB_OPT_HANGOUTS");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_ICQ) {
+ typeStr = V_("IDS_PB_OPT_ICQ");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_JABBER) {
+ typeStr = V_("IDS_PB_OPT_JABBER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtInputData::getNextMessengerType()
+{
+ int i;
+ int messengerType;
+ int indexType;
+ int index = 0;
+ int err = CONTACTS_ERROR_NONE;
+ int used[CTTEXT_TYPE_OTHER+1] = {0};
+ contacts_record_h record = NULL;
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.messenger, index++, &record)) {
+ err = contacts_record_get_int(record, _contacts_messenger.type, &messengerType);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ continue;
+ }
+ indexType = getMessengerIndexType(messengerType);
+ used[indexType] = 1;
+ }
+
+ for (i=CTTEXT_MESSENGER_TYPE_AIM;i<=CTTEXT_MESSENGER_TYPE_JABBER;i++) {
+ if (0 == used[i]) {
+ return getMessengerRetType(i);
+ }
+ }
+
+ return CONTACTS_MESSENGER_TYPE_JABBER;
+}
+
+int CtInputData::removeMessenger(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_contact.messenger, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+Eina_List* CtInputData::getWebsiteList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_contact.url);
+}
+
+contacts_record_h CtInputData::addWebsite(const char *url)
+{
+ WDEBUG("url %s", url);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_url._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setWebsiteWebsite(record, url);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.url, record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtInputData::setWebsiteWebsite(contacts_record_h record, const char *url)
+{
+ WDEBUG("url %s", url);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (url) {
+ err = contacts_record_set_str(record, _contacts_url.url, url);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+const char* CtInputData::getWebsiteWebsite(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *url = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_str_p(record, _contacts_url.url, &url);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ result = url;
+ return result;
+}
+
+int CtInputData::removeWebsite(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_contact.url, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+Eina_List* CtInputData::getRelationshipList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_contact.relationship);
+}
+
+contacts_record_h CtInputData::addRelationship(const char *relationship)
+{
+ WDEBUG("relationship %s", relationship);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_relationship._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setRelationshipRelationship(record, relationship);
+ setRelationshipType(record, getNextRelationshipType(), NULL);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.relationship, record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtInputData::setRelationshipRelationship(contacts_record_h record, const char *relationship)
+{
+ WDEBUG("relationship %s", relationship);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (relationship) {
+ err = contacts_record_set_str(record, _contacts_relationship.name, relationship);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtInputData::setRelationshipType(contacts_record_h record, int type, const char *customStr)
+{
+ WDEBUG("type %d", type);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (type >= 0) {
+ err = contacts_record_set_int(record, _contacts_relationship.type, type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ if (customStr) {
+ err = contacts_record_set_str(record, _contacts_relationship.label, customStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+const char* CtInputData::getRelationshipRelationship(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *relationship = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_str_p(record, _contacts_relationship.name, &relationship);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ result = relationship;
+ return result;
+}
+
+int CtInputData::getRelationshipType(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int type = 0;
+
+ err = contacts_record_get_int(record, _contacts_relationship.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtInputData::getRelationshipTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType == CONTACTS_RELATIONSHIP_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_relationship.label);
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_ASSISTANT) {
+ typeStr = V_("IDS_PB_OPT_ASSISTANT_M_CONTACTS");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_BROTHER) {
+ typeStr = V_("IDS_PB_OPT_BROTHER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_CHILD) {
+ typeStr = V_("IDS_PB_OPT_CHILD");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_DOMESTIC_PARTNER) {
+ typeStr = V_("IDS_PB_OPT_DOMESTIC_PARTNER_ABB2");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_FATHER) {
+ typeStr = V_("IDS_PB_OPT_FATHER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_FRIEND) {
+ typeStr = V_("IDS_PB_OPT_FRIEND");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_MANAGER) {
+ typeStr = V_("IDS_PB_OPT_MANAGER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_MOTHER) {
+ typeStr = V_("IDS_PB_OPT_MOTHER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_PARENT) {
+ typeStr = V_("IDS_PB_OPT_PARENT");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_PARTNER) {
+ typeStr = V_("IDS_PB_OPT_PARTNER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_REFERRED_BY) {
+ typeStr = V_("IDS_PB_OPT_REFERRED_BY_ABB");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_RELATIVE) {
+ typeStr = V_("IDS_PB_OPT_RELATIVE");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_SISTER) {
+ typeStr = V_("IDS_PB_OPT_SISTER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_SPOUSE) {
+ typeStr = V_("IDS_PB_OPT_SPOUSE");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtInputData::getNextRelationshipType()
+{
+ int i;
+ int relationshipType;
+ int index = 0;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+ int used[CONTACTS_RELATIONSHIP_TYPE_SPOUSE+1] = {0};
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.relationship, index++, &record)) {
+ err = contacts_record_get_int(record, _contacts_relationship.type, &relationshipType);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ continue;
+ }
+ used[relationshipType] = 1;
+ }
+
+ for (i=CONTACTS_RELATIONSHIP_TYPE_ASSISTANT;i<=CONTACTS_RELATIONSHIP_TYPE_SPOUSE;i++) {
+ if (!used[i])
+ return i;
+ }
+
+ return CONTACTS_RELATIONSHIP_TYPE_SPOUSE;
+
+}
+
+int CtInputData::removeRelationship(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_contact.relationship, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+Eina_List* CtInputData::getEventList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_contact.event);
+}
+
+contacts_record_h CtInputData::addEvent(int date)
+{
+ WDEBUG("date %d", date);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_event._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setEventEvent(record, date);
+ setEventType(record, getNextEventType(), NULL);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.event, record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtInputData::setEventEvent(contacts_record_h record, int date)
+{
+ WDEBUG("date %d", date);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (date > 0) {
+ err = contacts_record_set_int(record, _contacts_event.date, date);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_int() Failed(%d)", err);
+ }
+ return err;
+}
+
+int CtInputData::setEventType(contacts_record_h record, int type, char *customStr)
+{
+ WDEBUG("type %d", type);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (type >= 0) {
+ err = contacts_record_set_int(record, _contacts_event.type, type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ if (customStr) {
+ err = contacts_record_set_str(record, _contacts_event.label, customStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtInputData::getEventEvent(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int date = 0;
+
+ err = contacts_record_get_int(record, _contacts_event.date, &date);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return date;
+}
+
+int CtInputData::getEventType(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int type = 0;
+
+ err = contacts_record_get_int(record, _contacts_event.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtInputData::getEventTypeStr(contacts_record_h record, int eventType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (eventType == CONTACTS_EVENT_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_event.label);
+ }
+ else if (eventType == CONTACTS_EVENT_TYPE_BIRTH) {
+ typeStr = V_("IDS_PB_OPT_BIRTHDAY");
+ }
+ else if (eventType == CONTACTS_EVENT_TYPE_ANNIVERSARY) {
+ typeStr = V_("IDS_PB_OPT_ANNIVERSARY_ABB");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtInputData::getNextEventType()
+{
+ int eventType;
+ int index = 0;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+ bool usedBirthday = false;
+ bool usedAnniversary = false;
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_contact.event, index++, &record)) {
+ err = contacts_record_get_int(record, _contacts_event.type, &eventType);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ continue;
+ }
+ if (CONTACTS_EVENT_TYPE_BIRTH == eventType) {
+ usedBirthday = true;
+ }
+ else if (CONTACTS_EVENT_TYPE_ANNIVERSARY == eventType) {
+ usedAnniversary = true;
+ }
+ if (usedBirthday && usedAnniversary) {
+ break;
+ }
+ }
+
+ if (!usedBirthday) {
+ return CONTACTS_EVENT_TYPE_BIRTH;
+ }
+ else if (!usedAnniversary) {
+ return CONTACTS_EVENT_TYPE_ANNIVERSARY;
+ }
+
+ return CONTACTS_EVENT_TYPE_OTHER;
+
+}
+
+int CtInputData::removeEvent(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_contact.event, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+void CtInputData::__removeEmptyFiedls()
+{
+ removeEmptyFieldRecord(_contacts_contact.number, _contacts_number.number);
+ removeEmptyFieldRecord(_contacts_contact.email, _contacts_email.email);
+ removeEmptyFieldRecord(_contacts_contact.address, _contacts_address.street);
+ removeEmptyFieldRecord(_contacts_contact.url, _contacts_url.url);
+ removeEmptyFieldRecord(_contacts_contact.messenger, _contacts_messenger.im_id);
+ removeEmptyFieldRecord(_contacts_contact.note, _contacts_note.note);
+ removeEmptyFieldRecord(_contacts_contact.relationship, _contacts_relationship.name);
+}
+
+int CtInputData::insertContact(int *contactId)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_set_int(__contactRecord, _contacts_contact.address_book_id, __baseAddressbookId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_set_int() Failed(%d)", err);
+ err = contacts_record_set_int(__contactRecord, _contacts_contact.link_mode, CONTACTS_CONTACT_LINK_MODE_IGNORE_ONCE);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_set_int() Failed(%d)", err);
+ return contacts_db_insert_record(__contactRecord, contactId);
+}
+
+int CtInputData::updateContact()
+{
+ WHIT();
+ return contacts_db_update_record(__contactRecord);
+}
+
+int CtInputData::getContactId()
+{
+ WHIT();
+ return __contactId;
+}
+
+int CtInputData::__getBaseAddressbookId(void)
+{
+ WHIT();
+ int addressBookId = 0;
+ char* addressbookName = NULL;
+
+ int error = preference_get_string(CT_KEY_INPUT_BASE_ADDRESSBOOK, &addressbookName);
+ WPRET_VM(error != PREFERENCE_ERROR_NONE, 0, "preference_get_string failed error code (%d)", error);
+ WPRET_VM(!addressbookName, 0, "preference_get_string(%d) Failed", CT_KEY_INPUT_BASE_ADDRESSBOOK);
+
+ if (addressbookName && *addressbookName) {
+ addressBookId = ctCommonGetAddressBookId(addressbookName);
+ }
+ else {
+ addressBookId = 0;
+ }
+ free(addressbookName);
+
+ if(addressBookId == -1) {
+ addressBookId = 0;
+ }
+
+ WDEBUG("%d",addressBookId);
+ return addressBookId;
+}
+
+Eina_List* CtInputData::__getChildDataList(contacts_record_h contactRecord, unsigned int propertyId)
+{
+ WDEBUG("propertyId %d", propertyId);
+ int index = 0;
+// Eina_List *l;
+ Eina_List *dataRecordList = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h dataRecord = NULL;
+// contacts_record_h dataRecordClone = NULL;
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(contactRecord, propertyId, index++, &dataRecord)) {
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+ break;
+ }
+
+ //err = contacts_record_clone(dataRecord, &dataRecordClone);
+ //if (CONTACTS_ERROR_NONE != err) {
+ // WERROR("contacts_list_get_current_record_p() Failed(%d)", err);
+ // break;
+ //}
+ dataRecordList = eina_list_append(dataRecordList, dataRecord);
+ }
+
+ return dataRecordList;
+}
+
+void CtInputData::removeEmptyFieldRecord(int property_id, int property_id_str)
+{
+ int i;
+ int count;
+ char *str1 = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+ bool empty = false;
+
+ err = contacts_record_get_child_record_count(__contactRecord, property_id, &count);
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_record_get_child_record_count() Failed(%d)", err);
+
+ for (i=count-1;0<=i;i--) {
+ empty = false;
+ err = contacts_record_get_child_record_at_p(__contactRecord, property_id, i, &record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_child_record_at_p() Failed(%d)", err);
+ continue;
+ }
+
+ err = contacts_record_get_str(record, property_id_str, &str1);
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+ if (CONTACTS_ERROR_NONE != err || NULL == str1 || '\0' == *str1) {
+ empty = true;
+ }
+ free(str1);
+
+ if (empty) {
+ err = contacts_record_remove_child_record(__contactRecord, property_id, record);
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_record_remove_child_record() Failed(%d)", err);
+ err = contacts_record_destroy(record, true);
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
+ }
+ }
+}
+
+void CtInputData::attachListener(ICtChangeListener* listener)
+{
+ WPRET_M(NULL == listener, "listener is NULL");
+ __listener = listener;
+}
+
+void CtInputData::detachListener()
+{
+ __listener = NULL;
+}
+
+contacts_record_h CtInputData::addGroupRelation(int groupId)
+{
+ contacts_record_h groupRelationRecord= NULL;
+ int err = contacts_record_create(_contacts_group_relation._uri, &groupRelationRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_set_int(groupRelationRecord, _contacts_group_relation.group_id, groupId);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_set_int() Failed(%d)", err);
+ contacts_record_destroy(groupRelationRecord, true);
+
+ return NULL;
+ }
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_contact.group_relation, groupRelationRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(groupRelationRecord, true);
+
+ return NULL;
+ }
+
+ return groupRelationRecord;
+}
+
+// for check input addressbook item is added or not
+void CtInputData::setInputAddressbookItem(bool added)
+{
+ __inputAddressbook = added;
+}
+bool CtInputData::getInputAddressbookItem(void)
+{
+ return __inputAddressbook;
+}
diff --git a/lib-contact/ct-detail/src/CtInputData.h b/lib-contact/ct-detail/src/CtInputData.h
new file mode 100755
index 0000000..95fa5c4
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputData.h
@@ -0,0 +1,213 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_DATA_H_
+#define _CT_INPUT_DATA_H_
+
+#include <Eina.h>
+
+#include <contacts.h>
+//#include <contacts_product.h>
+
+#include "ContactsCommon.h"
+
+#include "CtType.h"
+#include "CtData.h"
+
+class CtInputData:public CtData
+{
+public:
+ CtInputData(contacts_record_h contactRecord);
+ CtInputData(int personId, const char *number, const char *email, const char *url);
+ CtInputData(const char *name, const char *number, const char *email, const char *url);
+ CtInputData();
+ virtual ~CtInputData();
+
+public:
+
+ int insertContact(int *contactId);
+ int updateContact();
+
+ int separateFullName(contacts_record_h nameRecord, const char *full_name);
+ int separatePhoneticFullName(contacts_record_h nameRecord, const char *full_name);
+ int setPrefixName(const char *text);
+ int setSuffixName(const char *text);
+ int setPhoneticFullName(const char *text);
+ int setPhoneticFirstName(const char *text);
+ int setPhoneticMiddleName(const char *text);
+ int setPhoneticLastName(const char *text);
+ int setNickname(const char *text);
+ int setCompany(const char *text);
+ int setJobTitle(const char *text);
+ int setFullName(const char *text);
+ int setFirstName(const char *text);
+ int setMiddleName(const char *text);
+ int setLastName(const char *text);
+ const char* getPrefixName();
+ const char* getSuffixName();
+ const char* getPhoneticFirstName();
+ const char* getPhoneticMiddleName();
+ const char* getPhoneticLastName();
+ const char* getNickname();
+ const char* getCompany();
+ const char* getJobTitle();
+ void getFullName(std::string &Name);
+ const char* getFirstName();
+ const char* getMiddleName();
+ const char* getLastName();
+ // ...
+
+ int getAddressbookId() {return __baseAddressbookId;}
+ const char* getAddressbookName() {return (const char*)__baseAddressbookName;}
+ const char* getUserName() {return (const char*)__userName;}
+ void setAddressbookInfo(int addressbookId);
+ void setPreferenceCreateFirst(bool isFirst);
+
+ bool getFavorite(){return __favorite;}
+ //bool getMFC();
+ int getPersonId(){return __personId;}
+ const char* getImagePath();
+ contacts_record_h getImageRecord();
+ int removeImage(contacts_record_h record);
+ int setImage(contacts_record_h record, char *image, int type);
+
+ contacts_record_h getEmergencyNumber();
+ Eina_List* getNumberList();
+ contacts_record_h addNumber(const char *number);
+ int setNumberNumber(contacts_record_h record, char const *number);
+ int setNumberType(contacts_record_h record, int type, const char *customStr);
+ int removeNumber(contacts_record_h record);
+ const char* getNumberNumber(contacts_record_h record);
+ contacts_record_h getDefaultEmail();
+ contacts_record_h getDefaultNumber();
+ int getNumberType(contacts_record_h record);
+ const char *getDataTypeCustom(contacts_record_h record, int property_id);
+ void getNumberTypeStr(contacts_record_h record, int numberType, std::string &typeString);
+ int getNumberRetType(int indexType);
+ int getNumberIndexType(int numberType);
+ int getNextNumberType();
+
+ Eina_List* getEmailList();
+ Eina_List* getNoteList();
+ contacts_record_h addEmail(const char *email);
+ int setEmailEmail(contacts_record_h record, const char *email);
+ int setEmailType(contacts_record_h record, int type, char *customStr);
+ const char* getEmailEmail(contacts_record_h record);
+ int getEmailType(contacts_record_h record);
+ void getEmailTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ int getNextEmailType();
+ int removeEmail(contacts_record_h record);
+
+ contacts_record_h getNoteRecord();
+ contacts_record_h addNote( const char *note);
+ int setNote(contacts_record_h record, const char *note);
+ const char* getNote(contacts_record_h record);
+ int removeNote(contacts_record_h record);
+
+ Eina_List* getAddressList();
+ contacts_record_h addAddress(const char *address);
+ int setAddressAddress(contacts_record_h record, const char *address);
+ int setAddressType(contacts_record_h record, int type, const char *customStr);
+ int getAddressAddress(contacts_record_h record, char *buf, int length);
+ int getAddressType(contacts_record_h record);
+ void getAddressTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ int getNextAddressType();
+ int removeAddress(contacts_record_h record);
+
+ Eina_List* getMessengerList();
+ contacts_record_h addMessenger(const char *messenger);
+ int setMessengerMessenger(contacts_record_h record, const char *messenger);
+ int setMessengerType(contacts_record_h record, int type, const char *customStr);
+ int getMessengerIndexType(int emailType);
+ int getMessengerRetType(int indexType);
+ const char* getMessengerMessenger(contacts_record_h record);
+ int getMessengerType(contacts_record_h record);
+ void getMessengerTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ int getNextMessengerType();
+ int removeMessenger(contacts_record_h record);
+
+ Eina_List* getWebsiteList();
+ contacts_record_h addWebsite(const char *url);
+ int setWebsiteWebsite(contacts_record_h record, const char *url);
+ const char* getWebsiteWebsite(contacts_record_h record);
+ int removeWebsite(contacts_record_h record);
+
+ Eina_List* getRelationshipList();
+ contacts_record_h addRelationship(const char *relationship);
+ int setRelationshipRelationship(contacts_record_h record, const char *relationship);
+ int setRelationshipType(contacts_record_h record, int type, const char *customStr);
+ const char* getRelationshipRelationship(contacts_record_h record);
+ int getRelationshipType(contacts_record_h record);
+ void getRelationshipTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ int getNextRelationshipType();
+ int removeRelationship(contacts_record_h record);
+
+ Eina_List* getEventList();
+ contacts_record_h addEvent(int date);
+ int setEventEvent(contacts_record_h record, int date);
+ int setEventType(contacts_record_h record, int type, char *customStr);
+ int getEventEvent(contacts_record_h record);
+ int getEventType(contacts_record_h record);
+ void getEventTypeStr(contacts_record_h record, int eventType, std::string &typeString);
+ int getNextEventType();
+ int removeEvent(contacts_record_h record);
+ void removeEmptyFieldRecord(int property_id, int property_id_str);
+
+ int getContactId();
+
+
+ bool checkChangedTypeIsDeleted();
+ void attachListener(ICtChangeListener* listener);
+ void detachListener();
+
+ contacts_record_h addGroupRelation(int groupId);
+
+ // for check input addressbook item is added or not
+ void setInputAddressbookItem(bool added);
+ bool getInputAddressbookItem(void);
+
+private:
+ void __init();
+ static void __onPersonChanged(const char *viewUri, void *userData);
+
+ contacts_record_h __getInitContact(int personId, const char *number, const char *email, const char *url);
+ contacts_record_h __getWritableContact(int personId);
+ int __getBaseAddressbookId(void);
+
+ void __appendStringWithLinebreak(const char *src, char *dest, int length);
+ int __getFullAddress(contacts_record_h addresssRecord, char *buf, int length);
+ Eina_List* __getChildDataList(contacts_record_h contactRecord, unsigned int propertyId);
+ void __removeEmptyFiedls();
+ void __setContactInfo(int personId);
+ bool __hasSuffix(const char *src);
+
+private:
+ contacts_record_h __contactRecord;
+
+ int __personId;
+ bool __favorite;
+ int __contactId;
+ int __baseAddressbookId;
+ char* __baseAddressbookName;
+ char* __userName;
+ int __currentVersion;
+ bool __inputAddressbook;
+
+ ICtChangeListener* __listener;
+};
+
+#endif //_CT_INPUT_DATA_H_
diff --git a/lib-contact/ct-detail/src/CtInputDataTypeCtxPopup.cpp b/lib-contact/ct-detail/src/CtInputDataTypeCtxPopup.cpp
new file mode 100755
index 0000000..92b050e
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputDataTypeCtxPopup.cpp
@@ -0,0 +1,265 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <Elementary.h>
+
+#include <contacts.h>
+#include <efl_extension.h>
+#include <vector>
+
+#include "CtInputView.h"
+#include "WPopup.h"
+#include "ContactsDebug.h"
+#include "CtCommon.h"
+#include "CtPath.h"
+#include "CtInputDataTypeCtxPopup.h"
+
+CtInputDataTypeCtxPopup::CtInputDataTypeCtxPopup(Evas_Object *genlist, Evas_Object *typeBtn, const char *viewUri, const char* customLabel )
+{
+ WHIT();
+ __viewUri = SAFE_STRDUP( viewUri );
+ __customLabel = SAFE_STRDUP( customLabel );
+ __removeBirthdayType = false;
+ __genlist = genlist;
+ __typeButton = typeBtn;
+ __createPopupTimer = NULL;
+}
+
+CtInputDataTypeCtxPopup::~CtInputDataTypeCtxPopup()
+{
+ WHIT();
+ SAFE_FREE( __viewUri );
+ SAFE_FREE( __customLabel );
+
+ if(__createPopupTimer)
+ ecore_timer_del(__createPopupTimer);
+}
+
+void CtInputDataTypeCtxPopup::__movePopup(Evas_Object* popup)
+{
+ Evas_Coord x, y, w, h;
+ Eina_Bool directionDown = EINA_FALSE;
+
+ evas_object_geometry_get(__typeButton, &x, &y, &w, &h);
+
+ WDEBUG("x %d, y %d, h %d", x, y, h);
+
+ evas_object_move(popup, x, y + h);
+
+ directionDown = elm_ctxpopup_direction_available_get(popup, ELM_CTXPOPUP_DIRECTION_DOWN);
+ if(!directionDown) {
+ elm_ctxpopup_direction_priority_set(popup, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_UP);
+ evas_object_move(popup, x , y);
+ }
+
+ evas_object_show(popup);
+}
+
+void CtInputDataTypeCtxPopup::setOnSelectCb(std::function<void (int type)> selectCb)
+{
+ __selectCb = selectCb;
+}
+
+Evas_Object* CtInputDataTypeCtxPopup::onCreate(Evas_Object* parent, void* viewParam)
+{
+ Evas_Object *popup = elm_ctxpopup_add(elm_object_top_widget_get(parent));
+ elm_object_style_set(popup, "dropdown/label");
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_ctxpopup_back_cb, NULL);
+ evas_object_smart_callback_add(popup, "dismissed", [](void* data, Evas_Object* obj, void* event_info){
+ CtInputDataTypeCtxPopup* p = (CtInputDataTypeCtxPopup*)data;
+ p->destroy();
+ }, this);
+
+ elm_ctxpopup_direction_priority_set(popup, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN);
+ evas_object_data_set(popup, "popup_data", this);
+
+ if (0 == strcmp(__viewUri, _contacts_number._uri)) {
+ if( __customLabel && __customLabel[0] !='\0' )
+ elm_ctxpopup_item_append(popup, __customLabel, NULL, __dataTypeNumberChangedCb, (void *)-1);
+
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_MOBILE"), NULL, __dataTypeNumberChangedCb, (void *)CTTEXT_TYPE_MOBILE);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_WORK"), NULL, __dataTypeNumberChangedCb, (void *)CTTEXT_TYPE_WORK);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_HOME_ABB"), NULL, __dataTypeNumberChangedCb, (void *)CTTEXT_TYPE_HOME);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_MAIN"), NULL, __dataTypeNumberChangedCb, (void *)CTTEXT_TYPE_MAIN);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_FAX_HWORK_ABB"), NULL, __dataTypeNumberChangedCb, (void *)CTTEXT_TYPE_FAX_WORK);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_FAX_HHOME_ABB"), NULL, __dataTypeNumberChangedCb, (void *)CTTEXT_TYPE_FAX_HOME);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_PAGER"), NULL, __dataTypeNumberChangedCb, (void *)CTTEXT_TYPE_PAGER);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_OTHER"), NULL, __dataTypeNumberChangedCb, (void *)CTTEXT_TYPE_OTHER);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_CUSTOM"), NULL, __dataTypeNumberChangedCb, (void *)CTTEXT_TYPE_CUSTOM);
+ }
+ else if (0 == strcmp(__viewUri, _contacts_email._uri)) {
+ if( __customLabel && __customLabel[0] !='\0' )
+ elm_ctxpopup_item_append(popup, __customLabel, NULL, __dataTypeEmailChangedCb, (void *)-1);
+
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_HOME_ABB"), NULL, __dataTypeEmailChangedCb, (void *)CONTACTS_EMAIL_TYPE_HOME);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_WORK"), NULL, __dataTypeEmailChangedCb, (void *)CONTACTS_EMAIL_TYPE_WORK);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_OTHER"), NULL, __dataTypeEmailChangedCb, (void *)CONTACTS_EMAIL_TYPE_OTHER);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_CUSTOM"), NULL, __dataTypeEmailChangedCb, (void *)CONTACTS_EMAIL_TYPE_CUSTOM);
+ }
+ else if (0 == strcmp(__viewUri, _contacts_address._uri)) {
+ if( __customLabel && __customLabel[0] !='\0' )
+ elm_ctxpopup_item_append(popup, __customLabel, NULL, __dataTypeAddressChangedCb, (void *)-1);
+
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_HOME_ABB"), NULL, __dataTypeAddressChangedCb, (void *)CONTACTS_ADDRESS_TYPE_HOME);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_WORK"), NULL, __dataTypeAddressChangedCb, (void *)CONTACTS_ADDRESS_TYPE_WORK);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_OTHER"), NULL, __dataTypeAddressChangedCb, (void *)CONTACTS_ADDRESS_TYPE_OTHER);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_CUSTOM"), NULL, __dataTypeAddressChangedCb, (void *)CONTACTS_ADDRESS_TYPE_CUSTOM);
+ }
+ else if (0 == strcmp(__viewUri, _contacts_messenger._uri)) {
+ if( __customLabel && __customLabel[0] !='\0' )
+ elm_ctxpopup_item_append(popup, __customLabel, NULL, __dataTypeMessengerChangedCb, (void *)-1);
+
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_AIM"), NULL, __dataTypeMessengerChangedCb, (void *)CONTACTS_MESSENGER_TYPE_AIM);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_YAHOO_E"), NULL, __dataTypeMessengerChangedCb, (void *)CONTACTS_MESSENGER_TYPE_YAHOO);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_BODY_SKYPE"), NULL, __dataTypeMessengerChangedCb, (void *)CONTACTS_MESSENGER_TYPE_SKYPE);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_QQ"), NULL, __dataTypeMessengerChangedCb, (void *)CONTACTS_MESSENGER_TYPE_QQ);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_HANGOUTS"), NULL, __dataTypeMessengerChangedCb, (void *)CONTACTS_MESSENGER_TYPE_GOOGLE);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_ICQ"), NULL, __dataTypeMessengerChangedCb, (void *)CONTACTS_MESSENGER_TYPE_ICQ);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_JABBER"), NULL, __dataTypeMessengerChangedCb, (void *)CONTACTS_MESSENGER_TYPE_JABBER);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_CUSTOM"), NULL, __dataTypeMessengerChangedCb, (void *)CONTACTS_MESSENGER_TYPE_CUSTOM);
+ }
+ else if (0 == strcmp(__viewUri, _contacts_relationship._uri)) {
+ if( __customLabel && __customLabel[0] !='\0' )
+ elm_ctxpopup_item_append(popup, __customLabel, NULL, __dataTypeFriendshipChangedCb, (void *)-1);
+
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_ASSISTANT_M_CONTACTS"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_ASSISTANT);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_BROTHER"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_BROTHER);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_CHILD"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_CHILD);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_DOMESTIC_PARTNER);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_FATHER"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_FATHER);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_FRIEND"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_FRIEND);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_MANAGER"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_MANAGER);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_MOTHER"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_MOTHER);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_PARENT"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_PARENT);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_PARTNER"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_PARTNER);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_REFERRED_BY_ABB"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_REFERRED_BY);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_RELATIVE"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_RELATIVE);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_SISTER"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_SISTER);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_SPOUSE"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_SPOUSE);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_CUSTOM"), NULL, __dataTypeFriendshipChangedCb, (void *)CONTACTS_RELATIONSHIP_TYPE_CUSTOM);
+ }
+ else if (0 == strcmp(__viewUri, _contacts_event._uri)) {
+ if( __customLabel && __customLabel[0] !='\0' )
+ elm_ctxpopup_item_append(popup, __customLabel, NULL, __dataTypeEventChangedCb, (void *)-1);
+
+ if( !__removeBirthdayType )
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_BIRTHDAY"), NULL, __dataTypeEventChangedCb, (void *)CONTACTS_EVENT_TYPE_BIRTH);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_ANNIVERSARY_ABB"), NULL, __dataTypeEventChangedCb, (void *)CONTACTS_EVENT_TYPE_ANNIVERSARY);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_OTHER"), NULL, __dataTypeEventChangedCb, (void *)CONTACTS_EVENT_TYPE_OTHER);
+ elm_ctxpopup_item_append(popup, V_("IDS_PB_OPT_CUSTOM"), NULL, __dataTypeEventChangedCb, (void *)CONTACTS_EVENT_TYPE_CUSTOM);
+ }
+
+ __movePopup(popup);
+
+ return popup;
+
+}
+
+void CtInputDataTypeCtxPopup::onDestroy()
+{
+ WHIT();
+}
+
+
+void CtInputDataTypeCtxPopup::__dataTypeNumberChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ int indexType = (int)data;
+ CtInputDataTypeCtxPopup* p = (CtInputDataTypeCtxPopup*)evas_object_data_get(obj, "popup_data");
+ WPRET_M(!p, "popup data is NULL");
+
+ if (indexType == -1)
+ {
+ p->destroy();
+ return;
+ }
+
+ p->__selectCb( indexType );
+}
+
+void CtInputDataTypeCtxPopup::__dataTypeEmailChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ int emailType = (int)data;
+ CtInputDataTypeCtxPopup* p = (CtInputDataTypeCtxPopup*)evas_object_data_get(obj, "popup_data");
+ WPRET_M(!p, "popup data is NULL");
+
+ if (emailType == -1) {
+ p->destroy();
+ return;
+ }
+
+ p->__selectCb( emailType );
+}
+
+void CtInputDataTypeCtxPopup::__dataTypeAddressChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ int addressType = (int)data;
+ CtInputDataTypeCtxPopup* p = (CtInputDataTypeCtxPopup*)evas_object_data_get(obj, "popup_data");
+ WPRET_M(!p, "popup data is NULL");
+
+ if (addressType == -1) {
+ p->destroy();
+ return;
+ }
+
+ p->__selectCb( addressType );
+}
+
+void CtInputDataTypeCtxPopup::__dataTypeMessengerChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ int MessengerType = (int)data;
+ CtInputDataTypeCtxPopup* p = (CtInputDataTypeCtxPopup*)evas_object_data_get(obj, "popup_data");
+ WPRET_M(!p, "popup data is NULL");
+
+ if (MessengerType == -1) {
+ p->destroy();
+ return;
+ }
+ p->__selectCb( MessengerType );
+}
+
+void CtInputDataTypeCtxPopup::__dataTypeFriendshipChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ int relationshipType = (int)data;
+ CtInputDataTypeCtxPopup* p = (CtInputDataTypeCtxPopup*)evas_object_data_get(obj, "popup_data");
+ WPRET_M(!p, "popup data is NULL");
+
+ if (relationshipType == -1) {
+ p->destroy();
+ return;
+ }
+ p->__selectCb( relationshipType );
+}
+
+void CtInputDataTypeCtxPopup::__dataTypeEventChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ int eventType = (int)data;
+ CtInputDataTypeCtxPopup* p = (CtInputDataTypeCtxPopup*)evas_object_data_get(obj, "popup_data");
+ WPRET_M(!p, "popup data is NULL");
+
+ if (eventType == -1) {
+ p->destroy();
+ return;
+ }
+ p->__selectCb( eventType );
+}
+
diff --git a/lib-contact/ct-detail/src/CtInputDataTypeCtxPopup.h b/lib-contact/ct-detail/src/CtInputDataTypeCtxPopup.h
new file mode 100644
index 0000000..ce805df
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputDataTypeCtxPopup.h
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_DATA_TYPE_POPUP2_H_
+#define _CT_INPUT_DATA_TYPE_POPUP2_H_
+
+#include <Ecore.h>
+#include <Elementary.h>
+#include <functional>
+#include "WControl.h"
+
+class CtInputDataTypeCtxPopup : public WControl
+{
+public:
+ CtInputDataTypeCtxPopup(Evas_Object *genlist, Evas_Object *typeBtn, const char *viewUri, const char* customLabel);
+
+ void setOnSelectCb(std::function<void (int type)> selectCb);
+
+ void setRemoveBirthdayType(){ __removeBirthdayType = true; }
+private:
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+private:
+
+ static void __dataTypeNumberChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __dataTypeEmailChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __dataTypeAddressChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __dataTypeMessengerChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __dataTypeFriendshipChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __dataTypeEventChangedCb(void *data, Evas_Object *obj, void *event_info);
+
+ void __movePopup(Evas_Object *popup);
+private:
+ CtInputDataTypeCtxPopup();
+ virtual ~CtInputDataTypeCtxPopup();
+
+private:
+ char* __viewUri;
+ char* __customLabel;
+ Evas_Coord __x, __y, __w, __h;
+ std::function<void (int type)> __selectCb;
+ bool __removeBirthdayType;
+ Ecore_Timer *__createPopupTimer;
+ Evas_Object *__genlist;
+ Evas_Object *__typeButton;
+
+};
+
+#endif //_CT_INPUT_DATA_TYPE_POPUP_H_
diff --git a/lib-contact/ct-detail/src/CtInputDataTypeCustomPopup.cpp b/lib-contact/ct-detail/src/CtInputDataTypeCustomPopup.cpp
new file mode 100644
index 0000000..7ca1d96
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputDataTypeCustomPopup.cpp
@@ -0,0 +1,252 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <Elementary.h>
+#include <contacts.h>
+//#include <efl_assist.h>
+#include <notification.h>
+
+#include "ContactsCommon.h"
+#include "ContactsDebug.h"
+#include "CtCommon.h"
+#include "CtPath.h"
+#include "CtType.h"
+#include "CtInputDataTypeCustomPopup.h"
+#include "CtThemeMgr.h"
+#include "WEditfield.h"
+
+CtInputDataTypeCustomPopup::CtInputDataTypeCustomPopup()
+{
+ __customEntry = NULL;
+ __resultCb = NULL;
+ __notificationTimer = NULL;
+}
+
+void CtInputDataTypeCustomPopup::setOnResultCb(std::function<void (const char* text)> resultCb)
+{
+ __resultCb = resultCb;
+}
+void CtInputDataTypeCustomPopup:: __entryShowCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ elm_object_focus_set(obj, EINA_TRUE);
+ evas_object_event_callback_del(obj, EVAS_CALLBACK_SHOW, __entryShowCb);
+}
+
+Evas_Object* CtInputDataTypeCustomPopup::onCreate(Evas_Object* parent, void* viewParam)
+{
+ Evas_Object* popup = NULL;
+
+ setTitle(V_("IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"));
+ setContent( [this](Evas_Object* parent)->Evas_Object* {
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ Evas_Object *layout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "popup_input_text");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_content_set(parent, layout);
+
+ WEditfield *editfield = __createEditField(layout, V_("IDS_MF_POP_INPUT_TEXT"), false, NULL, NULL, NULL, NULL);
+ Evas_Object *entry = editfield->getEntry();
+
+ elm_object_part_content_set(layout, "elm.swallow.content" , editfield->getEvasObj());
+ evas_object_smart_callback_add(entry, "changed", __dataTypeCustomEntryChangedCb, this);
+ evas_object_smart_callback_add(entry, "preedit,changed", __dataTypeCustomEntryChangedCb, this);
+
+ Evas_Object *clear_btn = editfield->getClearButton();
+ evas_object_smart_callback_add(clear_btn, "clicked", __dataTypeCustomEntryChangedCb, this);
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_SHOW, __entryShowCb, NULL);
+ //evas_object_smart_callback_add(entry, "activated", ct_common_entry_done_activated_cb, NULL);
+ __customEntry = entry;
+ return layout;
+ });
+
+ addButton( V_("IDS_PB_BUTTON_CANCEL"), NULL );
+ addButton( V_("IDS_PB_SK_CREATE_ABB"), [this](bool* destroyPopup){
+ __saveCustomDataType();
+ *destroyPopup = true;
+ });
+ popup = WPopup::onCreate( parent, viewParam );
+ Evas_Object* saveBtn = elm_object_part_content_get(popup, "button2");
+ elm_object_disabled_set(saveBtn, EINA_TRUE);
+
+ return popup;
+}
+
+void CtInputDataTypeCustomPopup::onDestroy()
+{
+ WHIT();
+}
+
+CtInputDataTypeCustomPopup::~CtInputDataTypeCustomPopup()
+{
+ if (__notificationTimer) {
+ ecore_timer_del(__notificationTimer);
+ }
+}
+
+WEditfield* CtInputDataTypeCustomPopup::__createEditField(Evas_Object *parent, const char *guideText, bool multiline,
+ Evas_Smart_Cb unfocusedCallback, void *userData1, Evas_Smart_Cb focusedCallback, void *userData2)
+{
+ WHIT();
+ WEditfield *editfield = new WEditfield();
+ editfield->create(parent, NULL);
+
+ Evas_Object *entry = editfield->getEntry();
+
+ if (guideText && *guideText)
+ elm_object_domain_translatable_part_text_set(entry, "elm.guide", PACKAGE, guideText);
+
+ if (!multiline)
+ elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_NEXT);
+
+ Elm_Entry_Filter_Limit_Size filter;
+ filter.max_char_count = CT_EDITFIELD_MAX_CHAR;
+ elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &filter);
+
+ elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
+ elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
+ evas_object_smart_callback_add(entry, "maxlength,reached", __editfieldTextMaxReachedCb, this);
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+
+ elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE);
+ elm_entry_input_panel_imdata_set(entry, (void*)"allowEmoji=true", 15);
+
+// if (unfocusedCallback)
+// evas_object_smart_callback_add(entry, "unfocused", unfocusedCallback, userData1);
+//
+// if (focusedCallback)
+// evas_object_smart_callback_add(entry, "focused", focusedCallback, userData2);
+
+ return editfield;
+}
+
+void CtInputDataTypeCustomPopup::__editfieldTextMaxReachedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M(NULL == data, "data is NULL");
+ CtInputDataTypeCustomPopup *customPopup = (CtInputDataTypeCustomPopup*)data;
+
+ if (customPopup->__notificationTimer) {
+ return;
+ }
+
+ customPopup->__showTickerNotification(V_("IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"));
+ customPopup->__notificationTimer = ecore_timer_add(3.5, __notificationTimerCb, customPopup);
+}
+
+Eina_Bool CtInputDataTypeCustomPopup::__notificationTimerCb(void *data)
+{
+ WHIT();
+ WPRET_VM(NULL == data, ECORE_CALLBACK_CANCEL, "parameter(data) is NULL");
+ CtInputDataTypeCustomPopup *customPopup = (CtInputDataTypeCustomPopup*)data;
+
+ customPopup->__notificationTimer = NULL;
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void CtInputDataTypeCustomPopup::__showTickerNotification(const char *msg)
+{
+ WHIT();
+ int err = notification_status_message_post(msg);
+ WPWARN(CONTACTS_ERROR_NONE != err, "notification_status_message_post() Failed(%d)", err);
+}
+
+void CtInputDataTypeCustomPopup::__saveCustomDataType()
+{
+// WHIT();
+// CtInputDataTypeCustomPopup *p = (CtInputDataTypeCustomPopup *)data;
+// int err = CONTACTS_ERROR_NONE;
+// Evas_Object *typeBtn = NULL;
+ char *realStr = NULL;
+ size_t i = 0;
+// char* temp = NULL;
+
+ char *text = ctCommonMarkupToUtf8(elm_entry_entry_get(__customEntry));
+
+ // remove ' ' in the head of string
+ for (i = 0; i < SAFE_STRLEN(text); i++) {
+ if (' ' != text[i]){
+ realStr = text + i;
+ break;
+ }
+ }
+
+ if (realStr != NULL) {
+ // remove ' ' at the end of string
+ for (i = (SAFE_STRLEN(realStr) - 1); i > 0; i--) {
+ if (' ' != realStr[i]){
+ realStr[i+1] = '\0';
+ break;
+ }
+ }
+ }
+
+ if( realStr && __resultCb)
+ __resultCb( realStr );
+ free(text);
+
+// if (0 == strcmp(p->__viewUri, _contacts_number._uri)) {
+//
+// p->__inputData->setNumberType(p->__record, CONTACTS_NUMBER_TYPE_CUSTOM, realStr);
+// }
+// else if (0 == strcmp(p->__viewUri, _contacts_email._uri)) {
+// p->__inputData->setEmailType(p->__record, CONTACTS_EMAIL_TYPE_CUSTOM, realStr);
+// }
+// else if (0 == strcmp(p->__viewUri, _contacts_address._uri)) {
+// p->__inputData->setAddressType(p->__record, CONTACTS_ADDRESS_TYPE_CUSTOM, realStr);
+// }
+// else if (0 == strcmp(p->__viewUri, _contacts_messenger._uri)) {
+// p->__inputData->setMessengerType(p->__record, CONTACTS_MESSENGER_TYPE_CUSTOM, realStr);
+// }
+// else if (0 == strcmp(p->__viewUri, _contacts_relationship._uri)) {
+// p->__inputData->setRelationshipType(p->__record, CONTACTS_RELATIONSHIP_TYPE_CUSTOM, realStr);
+// }
+// else if (0 == strcmp(p->__viewUri, _contacts_event._uri)) {
+// p->__inputData->setEventType(p->__record, CONTACTS_EVENT_TYPE_CUSTOM, realStr);
+// }
+//
+// elm_genlist_item_fields_update(p->__item, "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+// p->destroy();
+
+}
+
+void CtInputDataTypeCustomPopup::__dataTypeCustomEntryChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M(NULL == data, "data is NULL");
+ CtInputDataTypeCustomPopup *customPopup = (CtInputDataTypeCustomPopup*)data;
+ Evas_Object *popup = customPopup->getEvasObj();
+ Evas_Object *saveBtn = NULL;
+ char *text;
+
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ saveBtn = elm_object_part_content_get(popup, "button2");
+
+ if (text && *text)
+ elm_object_disabled_set(saveBtn, EINA_FALSE);
+ else
+ elm_object_disabled_set(saveBtn, EINA_TRUE);
+ free(text);
+}
+//void CtInputDataTypeCustomPopup::__dataTypeCustomCancelCb(void *data, Evas_Object *obj, void *event_info)
+//{
+// CtInputDataTypeCustomPopup *p = (CtInputDataTypeCustomPopup *)data;
+// p->destroy();
+//}
+
diff --git a/lib-contact/ct-detail/src/CtInputDataTypeCustomPopup.h b/lib-contact/ct-detail/src/CtInputDataTypeCustomPopup.h
new file mode 100644
index 0000000..3f5eb42
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputDataTypeCustomPopup.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_DATA_TYPE_CUSTOM_POPUP_H_
+#define _CT_INPUT_DATA_TYPE_CUSTOM_POPUP_H_
+
+#include <Elementary.h>
+#include <functional>
+#include "WPopup.h"
+
+class WEditfield;
+
+class CtInputDataTypeCustomPopup : public WPopup
+{
+public:
+ CtInputDataTypeCustomPopup();
+
+ void setOnResultCb(std::function<void (const char* text)> resultCb);
+private:
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+ virtual ~CtInputDataTypeCustomPopup();
+private:
+ void __saveCustomDataType();
+ WEditfield* __createEditField(Evas_Object *parent, const char *guideText, bool multiline,
+ Evas_Smart_Cb unfocusedCallback, void *userData1, Evas_Smart_Cb focusedCallback, void *userData2);
+ static void __dataTypeCustomCancelCb(void *data, Evas_Object *obj, void *event_info);
+ static void __dataTypeCustomEntryChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __entryShowCb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+
+ static Eina_Bool __notificationTimerCb(void *data);
+ static void __editfieldTextMaxReachedCb(void *data, Evas_Object *obj, void *event_info);
+ void __showTickerNotification(const char *msg);
+private:
+ Evas_Object* __customEntry;
+ Ecore_Timer *__notificationTimer;
+
+ std::function<void (const char* text)> __resultCb;
+};
+
+#endif //_CT_INPUT_DATA_TYPE_CUSTOM_POPUP_H_
diff --git a/lib-contact/ct-detail/src/CtInputView.cpp b/lib-contact/ct-detail/src/CtInputView.cpp
new file mode 100644
index 0000000..c585f42
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputView.cpp
@@ -0,0 +1,530 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <app_preference.h>
+#include <contacts.h>
+
+#include "WPopup.h"
+#include "WToastPopup.h"
+
+#include "ContactsDebug.h"
+#include "ContactsAppControl.h"
+#include "ContactsAppControlLauncher.h"
+
+#include "CtString.h"
+#include "CtPath.h"
+#include "CtInputData.h"
+#include "CtInputView.h"
+#include "CtCommon.h"
+#include "CtDetailView.h"
+#include "CtInputViewControl.h"
+#include "CtRegistryMgr.h"
+#include "CtThemeMgr.h"
+
+#define __ITEM_HEIGHT 98
+
+CtInputView::CtInputView(contacts_record_h contactRecord)
+{
+ WHIT();
+ __inputData = std::shared_ptr<CtData>( new CtInputData(contactRecord) );
+ __initialize();
+}
+
+CtInputView::CtInputView(contacts_record_h contactRecord, CtEditTabView* tabView, bool isSubView)
+{
+ WHIT();
+ __inputData = std::shared_ptr<CtData>( new CtInputData(contactRecord) );
+ __initialize();
+ __tabView = tabView;
+}
+
+CtInputView::CtInputView(int personId, const char* number, const char* email, const char* uri)
+{
+ WHIT();
+ __inputData = std::shared_ptr<CtData>( new CtInputData(personId, number, email, uri) );
+ __initialize();
+}
+
+CtInputView::CtInputView(const char* name, const char* number, const char* email, const char* uri)
+{
+ __inputData = std::shared_ptr<CtData>( new CtInputData(name, number, email, uri) );
+ __initialize();
+}
+
+CtInputView::~CtInputView()
+{
+ WHIT();
+ ContactsAppControlLauncher::getInstance().terminate();
+
+ destroyPopup();
+ if (__windowVisibilityChangeHandler) {
+ ecore_event_handler_del(__windowVisibilityChangeHandler);
+ __windowVisibilityChangeHandler = NULL;
+ }
+ if(__popupIdler)
+ ecore_idler_del(__popupIdler);
+ auto sp = __inputControl.lock();
+ if ( sp ) {
+ CtInputViewControl* control = static_cast<CtInputViewControl*>(sp.get());
+ control->setIsDestroy(true);
+ }
+}
+
+Evas_Object* CtInputView::getNaviframeEvasObj()
+{
+ if( getNaviframe() )
+ return getNaviframe()->getEvasObj();
+ else
+ return NULL;
+}
+
+Evas_Object* CtInputView::getWindowEvasObj()
+{
+ if(getWindow()) {
+ return getWindow()->getEvasObj();
+ }
+ else {
+ WASSERT_EX(1, "window null");
+ }
+ return NULL;
+}
+
+Evas_Object* CtInputView::getConformantEvasObject()
+{
+ if(getWindow()) {
+ return getWindow()->getConformantEvasObj();
+ }
+ else {
+ WASSERT_EX(1, "window null");
+ }
+ return NULL;
+}
+
+void CtInputView::setOnResult(const std::function<void(int, CtResultType)>& handlerFunc)
+{
+ __resultHandler = handlerFunc;
+}
+
+void CtInputView::__initialize()
+{
+
+ __saveBtn = NULL;
+ __saved = false;
+ __discard = false;
+ __changed = false;
+ __destroy = false;
+ __tabView = NULL;
+ __popupIdler = NULL;
+ __windowVisibilityChangeHandler = NULL;
+
+ __savedAddressbookId = __inputData->getAddressbookId();
+ __isCreate = __inputData->getContactId() > 0 ? false : true;
+}
+
+void CtInputView::onDbChanged(const char* viewUri)
+{
+ WENTER();
+ if (__inputData->checkChangedTypeIsDeleted()) {
+ WDEBUG("Contact is deleted");
+ __discard = true;
+ popOut();
+ }
+}
+
+void CtInputView::onCompleteGetContacts(int offset)
+{
+ WENTER();
+}
+
+void CtInputView::onConditionChagned()
+{
+ WENTER();
+}
+
+Evas_Object* CtInputView::onCreate(Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+ Evas_Object *base = createBaseLayout(parent);
+ __baseLayout = base;
+
+ std::string contactsEdjePath;
+ std::string buttonStylesEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ ContactsCommon::getAppEdjePath(CUSTOM_BUTTON_STYLES_EDJ, buttonStylesEdjePath);
+ CtThemeMgr::getInstance()->addExtensionTheme(contactsEdjePath.c_str());
+ CtThemeMgr::getInstance()->addExtensionTheme(buttonStylesEdjePath.c_str());
+ CtThemeMgr::getInstance()->setObjectTheme(__baseLayout);
+
+ if (__isCreate)
+ {
+ setTitle(V_("IDS_PB_BUTTON_CREATE_ABB2"));
+ }
+ else
+ {
+ setTitle(V_("IDS_PB_OPT_EDIT"));
+ }
+ return base;
+}
+
+void CtInputView::onLanguageChanged()
+{
+ WHIT();
+
+ destroyPopup();
+
+ auto sp = __inputControl.lock();
+ if (sp) {
+ CtInputViewControl* control = static_cast<CtInputViewControl*>(sp.get());
+ control->destroyPopup();
+ }
+
+ elm_object_text_set(__saveBtn, V_("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"));
+
+ Evas_Object* cancelBtn = elm_object_item_part_content_get(getNaviItem(), "title_left_btn");
+ elm_object_text_set(cancelBtn, V_("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"));
+
+ if (__isCreate) {
+ elm_object_item_part_text_set(getNaviItem(), "elm.text.title", V_("IDS_PB_BUTTON_CREATE_ABB2"));
+ }
+ else {
+ elm_object_item_part_text_set(getNaviItem(), "elm.text.title", V_("IDS_PB_OPT_EDIT"));
+ }
+
+ Evas_Object* genlist = elm_object_part_content_get(getEvasObj(), "elm.swallow.content");
+ if(genlist)
+ elm_genlist_realized_items_update(genlist);
+}
+
+void CtInputView::onPushed(Elm_Object_Item* naviItem)
+{
+ WENTER();
+ //add title button
+ __saveBtn = elm_button_add(getNaviframe()->getEvasObj());
+ elm_object_style_set(__saveBtn, "naviframe/title_right");
+ elm_object_text_set(__saveBtn, V_("IDS_TPLATFORM_ACBUTTON_DONE_ABB"));
+ evas_object_smart_callback_add(__saveBtn, "clicked", __saveCb, this);
+ elm_object_item_part_content_set(naviItem, "title_right_btn", __saveBtn);
+
+ if (__isCreate) {
+ elm_object_disabled_set(__saveBtn, EINA_TRUE);
+ }
+
+ Evas_Object* cancelButton = elm_button_add(getNaviframe()->getEvasObj());
+ elm_object_style_set(cancelButton, "naviframe/title_left");
+ elm_object_text_set(cancelButton, V_("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"));
+ evas_object_smart_callback_add(cancelButton, "clicked", __cancelCb, this);
+ elm_object_item_part_content_set(naviItem, "title_left_btn", cancelButton);
+
+ createInputViewControl(__baseLayout);
+ __inputData->attachListener(this);
+
+ WLEAVE();
+}
+
+void CtInputView::createEditSubViewContent()
+{
+ WHIT();
+ createInputViewControl(__baseLayout);
+ __inputData->attachListener(this);
+}
+
+void CtInputView::createInputViewControl(Evas_Object *base)
+{
+ WHIT();
+
+ auto sp = __inputControl.lock();
+ if ( sp ) {
+ CtInputViewControl* control = static_cast<CtInputViewControl*>(sp.get());
+ control->setIsDestroy(true);
+ }
+
+ Evas_Object* genlist = elm_object_part_content_unset(base, "elm.swallow.content");
+ if (genlist) {
+ evas_object_del(genlist);
+ }
+
+ CtInputViewControl* control = new CtInputViewControl( __inputData, this );
+ __inputControl = control->getWeakPtr();
+ control->create( base, NULL);
+ elm_object_part_content_set( base, "elm.swallow.content", control->getEvasObj() );
+}
+
+void CtInputView::updateNumberSaveBtn(Eina_Bool isEmpty)
+{
+ elm_object_disabled_set(__saveBtn, isEmpty);
+}
+
+void CtInputView::updateSaveBtn(Eina_Bool empty)
+{
+ WHIT();
+ elm_object_disabled_set(__saveBtn, empty);
+ if (__tabView) {
+ __tabView->updateSaveBtn(empty);
+ }
+ WPRET_M(true == empty, "all fields are empty, can't save");
+}
+
+void CtInputView::saveContactForEditTabSubView()
+{
+ WHIT();
+
+ int err = CONTACTS_ERROR_NONE;
+ const char* addressbookName = __inputData->getAddressbookName();
+
+ if(addressbookName) {
+ err = __inputData->updateContact();
+ }
+
+ if(__resultHandler) {
+ __resultHandler(__inputData->getPersonId(), CONTACTS_ERROR_NONE == err ? RESULT_SUCCESS : RESULT_FAILED);
+ }
+
+ __saved = true;
+}
+
+void CtInputView::getChangedForEditTabSubView(bool* changed)
+{
+ WHIT();
+ CtInputViewControl* control = NULL;
+
+ auto sp = __inputControl.lock();
+ if( sp ) {
+ control = static_cast<CtInputViewControl*>(sp.get());
+ if (changed) {
+ *changed = control->getIsChanged();
+ }
+ }
+}
+
+void CtInputView::getEmptyForEditTabSubView(bool* empty)
+{
+ WHIT();
+ CtInputViewControl* control = NULL;
+
+ auto sp = __inputControl.lock();
+ if( sp ) {
+ control = static_cast<CtInputViewControl*>(sp.get());
+ if (empty) {
+ *empty = control->getIsEmpty();
+ }
+ }
+}
+
+void CtInputView::__createToastPopup(const char* msg)
+{
+ WToastPopup* popup = new WToastPopup( msg );
+ popup->create( getWindowEvasObj(), NULL);
+}
+
+int CtInputView::__getPersonIdByContactId(int contactId)
+{
+ int personId = 0;
+ contacts_record_h record = NULL;
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_db_get_record(_contacts_contact._uri, contactId, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_db_get_record() Failed(%d)", err);
+
+ err = contacts_record_get_int(record, _contacts_contact.person_id, &personId);
+ if (CONTACTS_ERROR_NONE != err) {
+ contacts_record_destroy(record, true);
+ WDEBUG("contacts_record_get_int() Failed(%d)", err);
+
+ return 0;
+ }
+ contacts_record_destroy(record, true);
+
+ return personId;
+}
+
+void CtInputView::__saveCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ CtInputView *view = (CtInputView*)data;
+
+ int err = CONTACTS_ERROR_NONE;
+ int contactId = 0;
+ const char* addressbookName = view->__inputData->getAddressbookName();
+
+ // add contact
+ if (view->__isCreate) {
+ WDEBUG("addressbook_name %s", addressbookName);
+ if(addressbookName) {
+ int groupId = ctCommonGetEasDefaultGroupId(view->__inputData->getAddressbookId());
+ if (groupId > 0) { // EAS default group
+ // In the case of EAS contacts, the contacts is required to add the default EAS contact group
+ view->__inputData->addGroupRelation(groupId);
+ }
+
+ CtRegistryMgr::getInstance()->setInt(REGISTRY_KEY_INSERTED_PERSON, 1);
+ err = view->__inputData->insertContact(&contactId);
+ if(CONTACTS_ERROR_NONE == err)
+ CtRegistryMgr::getInstance()->setInt(REGISTRY_KEY_INSERTED_PERSON_ID, contactId);
+
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("insert failed %d", err);
+ if(CONTACTS_ERROR_FILE_NO_SPACE == err)
+ view->__createToastPopup(V_("IDS_PB_POP_NOT_ENOUGH_MEMORY"));
+ else
+ view->__createToastPopup(V_("IDS_PB_POP_FAILED"));
+ } else {
+ char* name = ctCommonGetAddressBookName(view->__inputData->getAddressbookId());
+ WDEBUG("name = %s", name);
+ int ret = preference_set_string(CT_KEY_INPUT_BASE_ADDRESSBOOK, name);
+ WPWARN(ret, "preference_set_string(%d) Failed", ret);
+ SAFE_FREE(name);
+ }
+ }
+ } else {
+ if(addressbookName) {
+ err = view->__inputData->updateContact();
+ }
+ contactId = view->__inputData->getContactId();
+ }
+
+ int personId = view->__getPersonIdByContactId(contactId);
+ if(view->__resultHandler) {
+ view->__resultHandler(personId,
+ CONTACTS_ERROR_NONE == err ? RESULT_SUCCESS : RESULT_FAILED);
+ }
+ view->__saved = true;
+
+ if (view->__isCreate) {
+ view->getNaviframe()->push(new CtDetailView(personId));
+ view->destroy();
+ } else {
+ view->popOut();
+ }
+}
+
+void CtInputView::__cancelCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputView *view = (CtInputView*)data;
+ if (view->__resultHandler) {
+ view->__resultHandler(0, RESULT_CANCELLED);
+ }
+
+ view->popOut();
+}
+
+void CtInputView::onTabSelect(Elm_Object_Item *naviItem)
+{
+ WHIT();
+
+ elm_object_focus_set(getEvasObj(), EINA_TRUE);
+ destroyPopup();
+
+}
+void CtInputView::onTabUnselect(Elm_Object_Item *naviItem)
+{
+ WHIT();
+ destroyPopup();
+}
+
+bool CtInputView::onTabPop()
+{
+ WHIT();
+ return TRUE;
+}
+
+void CtInputView::onDestroy()
+{
+ WHIT();
+}
+
+void CtInputView::onEvent(int eventType)
+{
+ WHIT();
+}
+
+bool CtInputView::onPop()
+{
+ bool empty = false;
+ bool isChanged = false;
+ CtInputViewControl* control = NULL;
+
+ auto sp = __inputControl.lock();
+ if( sp ) {
+ control = static_cast<CtInputViewControl*>(sp.get());
+ empty = control->getIsEmpty();
+ isChanged = control->getIsChanged();
+ }
+ if(__saved == true) {
+ WDEBUG("saved");
+ __destroy = true;
+ }
+ else {
+ WDEBUG("canceled");
+ if (__discard) {
+ __destroy = true;
+ return true;
+ }
+
+ if (__isCreate && empty) {
+ __destroy = true;
+ return true;
+ }
+
+ Eina_Bool changed = isChanged;
+ if (!__isCreate) { // edit view
+ if (__changed) {
+ changed = EINA_TRUE;
+ }
+ } else {
+ // in create view, if empty is false, so changed should be true
+ if (!empty) {
+ changed = EINA_TRUE;
+ }
+ }
+
+ if (changed) {
+ WDEBUG("changed");
+
+ WPopup *popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle("IDS_PB_HEADER_DISCARD_CHANGES_ABB");
+ popup->setContent("IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED");
+
+ popup->addButton("IDS_PB_BUTTON_CANCEL", NULL );
+ popup->addButton("IDS_PB_BUTTON_DISCARD_ABB", [this](bool* destroyPopup){
+ WDEBUG("Discard");
+ __discard = true;
+ popOut();
+ *destroyPopup = false;
+ });
+
+ attachPopup(popup);
+ return false;
+ } else {
+ WDEBUG("not changed");
+ __destroy = true;
+ return true;
+ }
+ }
+
+ __destroy = true;
+ return true;
+}
+
+void CtInputView::resetTheme()
+{
+ WHIT();
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ CtThemeMgr::getInstance()->addExtensionTheme(contactsEdjePath.c_str());
+ CtThemeMgr::getInstance()->setObjectTheme(__baseLayout);
+}
diff --git a/lib-contact/ct-detail/src/CtInputViewAddressItem.h b/lib-contact/ct-detail/src/CtInputViewAddressItem.h
new file mode 100644
index 0000000..3ccde7e
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewAddressItem.h
@@ -0,0 +1,181 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_ADDRESS_ITEM_H_
+#define _CT_INPUT_VIEW_ADDRESS_ITEM_H_
+
+#include "CtInputViewGenlistItem.h"
+#include "CtDetailDataBase.h"
+#include "CtInputDataTypeCtxPopup.h"
+#include "CtInputDataTypeCustomPopup.h"
+#include "CtInputViewControl.h"
+#include "CtData.h"
+
+class CtInputViewAddressItem : public CtInputViewGenlistItem
+{
+public:
+ CtInputViewAddressItem( std::shared_ptr<CtData>& inputData, contacts_record_h record, const char* oldVal, int addedIndex,
+ const std::function<void ()>& itemChangedCb,
+ const std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )>& itemDeletedCb,
+ const std::function<void (Evas_Object*, Elm_Object_Item* )>& activateNextEntryCb) : CtInputViewGenlistItem(oldVal)
+ {
+ __inputData = inputData; __record = record; __addedIndex = addedIndex;
+ __itemChangedCb = itemChangedCb; __itemDeletedCb = itemDeletedCb; __activateNextEntryCb = activateNextEntryCb;
+ };
+ virtual ~CtInputViewAddressItem() {WHIT();}
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassStatic() {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "input.3icon";
+ itc.func.content_get = __getContentAddress;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+ virtual const char* getEntryObjPartName()
+ {
+ return "elm.icon.entry";
+ }
+
+private:
+ static Evas_Object* __getContentAddress(void *data, Evas_Object *obj, const char *part)
+ {
+ WHIT();
+ CtInputViewAddressItem *item = (CtInputViewAddressItem*)data;
+
+ if (0 == strcmp(part, "elm.icon.entry")) {
+ WEditfield *editfield = item->createEditField(obj, V_("IDS_PB_BODY_ADDRESS_ABB2"), true);
+ Evas_Object *entry = editfield->getEntry();
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+ elm_entry_input_panel_imdata_set(entry, (void*)"type=post&allowEmoji=true", 25);
+
+ evas_object_smart_callback_add(entry, "changed", __addressChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __addressChangedCb, item);
+ if (INPUT_ADDED_ITEM_INDEX_ADDRESS == item->__addedIndex ) {
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_SHOW, __entryShowCb, NULL);
+ }
+ char address[CT_TEXT_MAX_LEN] = {0,};
+ item->__inputData->getAddressAddress( item->__record, address, sizeof(address));
+ setEntryText(entry, address);
+ return editfield->getEvasObj();
+ }
+ else if (0 == strcmp(part, "elm.icon.2")) {
+ Evas_Object *btn_minus = elm_button_add(obj);
+ elm_object_style_set(btn_minus, "icon_expand_delete");
+ evas_object_smart_callback_add(btn_minus, "clicked", __addressDeleteCb, item);
+
+ return btn_minus;
+ }
+ else if (0 == strcmp(part, "elm.icon.1")) {
+ Evas_Object *btn_type = elm_button_add(obj);
+ elm_object_style_set(btn_type, "custom_dropdown");
+ evas_object_show(btn_type);
+
+ int addressType = item->__inputData->getAddressType( item->__record);
+ std::string typeStr;
+ item->__inputData->getAddressTypeStr( item->__record, addressType, typeStr);
+ elm_object_text_set(btn_type, typeStr.c_str());
+ evas_object_smart_callback_add(btn_type, "clicked", __dataTypeClickedCb, item);
+ return btn_type;
+ }
+
+ return NULL;
+ }
+
+ static void __activatedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewAddressItem* item = (CtInputViewAddressItem*)data;
+ item->__activateNextEntryCb( obj, item->getElmObjectItem() );
+ }
+ static void __entryShowCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+ {
+ WHIT();
+ elm_object_focus_set(obj, EINA_TRUE);
+ evas_object_event_callback_del(obj, EVAS_CALLBACK_SHOW, __entryShowCb);
+ }
+
+ static void __dataTypeClickedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ WHIT();
+ CtInputViewAddressItem* item = (CtInputViewAddressItem*)data;
+
+ std::string typeStr;
+ if( item->__inputData->getAddressType( item->__record) == CONTACTS_ADDRESS_TYPE_CUSTOM)
+ {
+ item->__inputData->getAddressTypeStr( item->__record, CONTACTS_ADDRESS_TYPE_CUSTOM, typeStr);
+ }
+ CtInputDataTypeCtxPopup* popup = new CtInputDataTypeCtxPopup(elm_object_item_widget_get(item->getElmObjectItem()), obj, _contacts_address._uri, typeStr.c_str());
+
+ popup->setOnSelectCb( [popup,item,obj](int type){
+ if( CONTACTS_ADDRESS_TYPE_CUSTOM == type )
+ {
+ item->__showDataTypeInputPopup();
+ return;
+ }
+ item->__inputData->setAddressType( item->__record, type, NULL);
+ std::string typeStr;
+ item->__inputData->getAddressTypeStr( item->__record, type, typeStr);
+ elm_object_text_set( obj, typeStr.c_str());
+ popup->destroy();
+ });
+
+ item->attachToView( popup );
+ }
+
+ void __showDataTypeInputPopup()
+ {
+ CtInputDataTypeCustomPopup* popup = new CtInputDataTypeCustomPopup();
+ popup->setOnResultCb([this](const char* text){
+ __inputData->setAddressType( __record, CONTACTS_ADDRESS_TYPE_CUSTOM, (char*)text );
+ elm_genlist_item_fields_update( getElmObjectItem(), "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ });
+ attachToView( popup );
+ }
+ static void __addressChangedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewAddressItem* item = (CtInputViewAddressItem*)data;
+ char *text = NULL;
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ item->__inputData->setAddressAddress(item->__record, text);
+ item->updateChangeState( text );
+ item->__itemChangedCb();
+ SAFE_FREE(text);
+ }
+ static void __addressDeleteCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewAddressItem* item = (CtInputViewAddressItem*)data;
+ item->updateChangeState(NULL);
+ item->__itemDeletedCb( item->getElmObjectItem(), item->getIsChanged(), item->__record );
+ elm_object_item_del( item->getElmObjectItem() );
+ }
+private:
+ CtInputViewAddressItem();
+
+ std::shared_ptr<CtData> __inputData;
+ contacts_record_h __record;
+ int __addedIndex;
+ //
+ std::function<void ()> __itemChangedCb;
+ std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )> __itemDeletedCb;
+ std::function<void (Evas_Object*, Elm_Object_Item*)> __activateNextEntryCb;
+
+};
+
+#endif /* _CT_INPUT_VIEW_ADDRESS_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtInputViewBasicInfoItem.cpp b/lib-contact/ct-detail/src/CtInputViewBasicInfoItem.cpp
new file mode 100755
index 0000000..502ee8e
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewBasicInfoItem.cpp
@@ -0,0 +1,1516 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <app_preference.h>
+#include <system_info.h>
+
+#include "CtInputViewBasicInfoItem.h"
+#include "CtType.h"
+#include "CtInputData.h"
+#include "ContactsDebug.h"
+#include "ContactsThumbnail.h"
+#include "CtPath.h"
+#include "CtInputView.h"
+#include "CtString.h"
+#include "CtCommon.h"
+#include "CtThemeMgr.h"
+
+#define LABEL_FONT_SIZE 40
+#define W_HEIGHT_Z1 800
+#define W_HEIGHT_Z3 1280
+
+CtInputViewBasicInfoItem::CtInputViewBasicInfoItem(std::shared_ptr<CtData>& inputData, Evas_Object** nameEntry,
+ const std::function<void ()>& itemChangedCb,
+ const std::function<void (CtInputViewBasicInfoItem::ITEM_DELETED)>& itemDeletedCb,
+ const std::function<void (Evas_Object*)>& imageClickedCb,
+ const std::function<void (Evas_Object*, Elm_Object_Item*)>& activateNextEntryCb,
+ const std::function<void (Evas_Object*)>& showCreateKeypadCb,
+ const std::function<void (Elm_Object_Item*)>& updateEntryReturnKeyType)
+{
+ __inputData = inputData;
+ __nameEntry = nameEntry;
+ __itemChangedCb = itemChangedCb;
+ __itemDeletedCb = itemDeletedCb;
+ __imageClickedCb = imageClickedCb;
+ __activateNextEntryCb = activateNextEntryCb;
+ __showCreateKeypadCb = showCreateKeypadCb;
+ __updateEntryReturnKeyType = updateEntryReturnKeyType;
+
+ __initialize();
+
+ system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_FONT_SIZE, __onFontChangedCb, this);
+};
+
+CtInputViewBasicInfoItem::~CtInputViewBasicInfoItem()
+{
+ WHIT();
+
+ SAFE_FREE( __oldFullName );
+ SAFE_FREE( __oldPrefix );
+ SAFE_FREE( __oldFirstName );
+ SAFE_FREE( __oldMiddleName );
+ SAFE_FREE( __oldLastName );
+ SAFE_FREE( __oldSuffix );
+ SAFE_FREE( __oldPhoneticFirstName );
+ SAFE_FREE( __oldPhoneticMiddleName );
+ SAFE_FREE( __oldPhoneticLastName );
+ SAFE_FREE( __oldNickname );
+ SAFE_FREE( __oldCompany );
+ SAFE_FREE( __oldJobTitle );
+ SAFE_FREE( __oldImagePath );
+
+ system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_FONT_SIZE);
+}
+
+void CtInputViewBasicInfoItem::__initialize()
+{
+ __focusEntry = NULL;
+ __addedIndex = INPUT_ADDED_ITEM_INDEX_NONE;
+ __oldBaseInfoExpanded = false;
+ __baseInfoExpanded = true;
+
+ __fullNameIsChanged = false;
+ __prefixIsChanged = false;
+ __firstNameIsChanged = false;
+ __middleNameIsChanged = false;
+ __lastNameIsChanged = false;
+ __suffixIsChanged = false;
+ __phoneticFirstNameIsChanged = false;
+ __phoneticMiddleNameIsChanged = false;
+ __phoneticLastNameIsChanged = false;
+ __nicknameIsChanged = false;
+ __companyIsChanged = false;
+ __jobTitleIsChanged = false;
+
+ __fullNameIsEmpty = true;
+ __prefixIsEmpty = true;
+ __firstNameIsEmpty = true;
+ __middleNameIsEmpty = true;
+ __lastNameIsEmpty = true;
+ __suffixIsEmpty = true;
+ __phoneticFirstNameIsEmpty = true;
+ __phoneticMiddleNameIsEmpty = true;
+ __phoneticLastNameIsEmpty = true;
+ __nicknameIsEmpty = true;
+ __companyIsEmpty = true;
+ __jobTitleIsEmpty = true;
+
+ std::string name;
+ __inputData->getFullName(name);
+ __oldFullName = SAFE_STRDUP(name.c_str());
+ __oldPrefix = SAFE_STRDUP(__inputData->getPrefixName());
+ __oldFirstName = SAFE_STRDUP(__inputData->getFirstName());
+ __oldMiddleName = SAFE_STRDUP(__inputData->getMiddleName());
+ __oldLastName = SAFE_STRDUP(__inputData->getLastName());
+ __oldSuffix = SAFE_STRDUP(__inputData->getSuffixName());
+ __oldPhoneticFirstName = SAFE_STRDUP(__inputData->getPhoneticFirstName());
+ __oldPhoneticMiddleName = SAFE_STRDUP(__inputData->getPhoneticMiddleName());
+ __oldPhoneticLastName = SAFE_STRDUP(__inputData->getPhoneticLastName());
+ __oldNickname = SAFE_STRDUP(__inputData->getNickname());
+ __oldCompany = SAFE_STRDUP(__inputData->getCompany());
+ __oldJobTitle = SAFE_STRDUP(__inputData->getJobTitle());
+ __oldImagePath = SAFE_STRDUP(__inputData->getImagePath());
+
+ if (__inputData->getPhoneticFirstName() || __inputData->getPhoneticMiddleName() || __inputData->getPhoneticLastName()) {
+ __addPhoneticName = true;
+ } else {
+ __addPhoneticName = false;
+ }
+ if (__inputData->getNickname()) {
+ __addNickname = true;
+ } else {
+ __addNickname = false;
+ }
+ if (__inputData->getCompany() || __inputData->getJobTitle()) {
+ __addOrganization = true;
+ } else {
+ __addOrganization = false;
+ }
+ __updateItem = false;
+ __isRealized = false;
+ __subItemSize = 0;
+}
+
+Elm_Genlist_Item_Class* CtInputViewBasicInfoItem::getItemClassStatic()
+{
+ static Elm_Genlist_Item_Class itc = {};
+
+ itc.item_style = "baseinfo.contract";
+ itc.func.content_get = __getContentBasicInfo;
+ itc.func.del = WGENLIST_ITEM_DEL(); //__deleteGenlistItem;
+ return &itc;
+}
+
+Evas_Object* CtInputViewBasicInfoItem::__getContentBasicInfo(void *data, Evas_Object *obj, const char *part)
+{
+ //WHIT();
+ WPRET_VM(NULL == data, NULL, "data is NULL");
+ CtInputViewBasicInfoItem *item = (CtInputViewBasicInfoItem*)data;
+
+ //WDEBUG("part %s", part);
+ if (0 == strcmp(part, "elm.icon.1")) {
+ Evas_Object *box = NULL;
+ Evas_Object *layout = NULL;
+ int count = 0;
+
+ box = elm_box_add(obj);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(box);
+ if (item->__baseInfoExpanded) {
+ layout = __createPrefixField(item, box);
+ elm_box_pack_end(box, layout);
+ count++;
+
+ layout = __createFirstNameField(item, box);
+ elm_box_pack_end(box, layout);
+ count++;
+
+ layout = __createMiddleNameField(item, box);
+ elm_box_pack_end(box, layout);
+ count++;
+
+ layout = __createLastNameField(item, box);
+ elm_box_pack_end(box, layout);
+ count++;
+
+ layout = __createSuffixField(item, box);
+ elm_box_pack_end(box, layout);
+ count++;
+ }
+ else {
+ layout = __createNameField(item, box);
+ elm_box_pack_end(box, layout);
+ count++;
+ }
+
+ if( item->__addPhoneticName ) {
+ layout = __createPhoneticFirstNameField(item, box);
+ elm_box_pack_end(box, layout);
+ count++;
+
+ layout = __createPhoneticMiddleNameField(item, box);
+ elm_box_pack_end(box, layout);
+ count++;
+
+ layout = __createPhoneticLastNameField(item, box);
+ elm_box_pack_end(box, layout);
+ count++;
+ }
+ if( item->__addNickname ) {
+ layout = __createNicknameField(item, box);
+ elm_box_pack_end(box, layout);
+ count++;
+ }
+ if( item->__addOrganization ) {
+ layout = __createCompanyField(item, box);
+ elm_box_pack_end(box, layout);
+ count++;
+
+ layout = __createJobTitleField(item, box);
+ elm_box_pack_end(box, layout);
+ count++;
+ }
+
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_min_set(box, 0, item->__subItemSize * count);
+
+ return box;
+ } else if (0 == strcmp(part, "elm.icon.2")) {
+ Evas_Object *icon = createThumbnail(obj, THUMBNAIL_166, item->__inputData->getImagePath());
+ evas_object_event_callback_add(icon, EVAS_CALLBACK_MOUSE_UP, __basicInfoImageClickedCb, item);
+ return icon;
+ } else if (0 == strcmp(part, "elm.name.label")) {
+ Evas_Object* label = elm_label_add(obj);
+ char text[CT_TEXT_MAX_LEN] = {0};
+ snprintf(text, CT_TEXT_MAX_LEN, "<font_size=%d>%s</font_size>", LABEL_FONT_SIZE, V_("IDS_PB_BODY_NAME"));
+ elm_object_text_set(label, text);
+ evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(label);
+
+ return label;
+ }
+
+ return NULL;
+}
+
+Evas_Object* CtInputViewBasicInfoItem::__createNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent)
+{
+ WHIT();
+ Evas_Object *layout = NULL;
+ WEditfield *editfield = NULL;
+ Evas_Object *entry = NULL;
+
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ layout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "baseinfo_sub_layout");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+ evas_object_show(layout);
+
+ std::string name;
+ item->__inputData->getFullName(name);
+
+ if (name.size() > 0) {
+ editfield = item->createEditField(layout, NULL, false, true);
+ }
+ else {
+ editfield = item->createEditField(layout, V_("IDS_PB_BODY_NAME"), false);
+ }
+ entry = editfield->getEntry();
+
+ *item->__nameEntry = entry;
+ elm_object_part_content_set(layout, "elm.icon.1", editfield->getEvasObj());
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+ evas_object_smart_callback_add(entry, "changed", __basicInfoNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __basicInfoNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+
+ elm_entry_input_panel_imdata_set(entry, (void*)"type=name&allowEmoji=true", 25);
+
+ bool first = false;
+ int error = preference_get_boolean(CT_KEY_CONTACT_CREATE_FIRST, &first);
+ if (error != PREFERENCE_ERROR_NONE)
+ {
+ WDEBUG("preference_get_boolean failed");
+ }
+ else
+ {
+ if (!first && item->__inputData->getContactId() == 0 ) {
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_SHOW, __basicInfoNameShowCb, item);
+ }
+ }
+
+ setEntryText( entry, name.c_str());
+
+ std::string detailLayoutEdjePath;
+ ContactsCommon::getAppEdjePath(DETAIL_LAYOUT_EDJ, detailLayoutEdjePath);
+
+ Evas_Object *button = elm_button_add(layout);
+ elm_object_style_set(button, "transparent");
+
+ Evas_Object *button_content_layout = elm_layout_add(button);
+ elm_layout_file_set(button_content_layout, detailLayoutEdjePath.c_str(), "input_open");
+ elm_object_part_content_set(button, "elm.swallow.content", button_content_layout);
+
+ evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(button, EVAS_HINT_FILL, 0.0);
+ evas_object_smart_callback_add(button, "clicked", __basicInfoExpandClickedCb, item);
+
+ elm_object_part_content_set(layout, "elm.icon.2", button);
+
+ return layout;
+}
+
+Evas_Object* CtInputViewBasicInfoItem::__createPrefixField( CtInputViewBasicInfoItem* item, Evas_Object *parent)
+{
+ WHIT();
+ Evas_Object *layout = NULL;
+ WEditfield *editfield = NULL;
+ Evas_Object *entry = NULL;
+ const char *prefix = NULL;
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ layout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "baseinfo_sub_layout");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+ evas_object_show(layout);
+
+ prefix = item->__inputData->getPrefixName();
+
+ if (prefix && *prefix) {
+ editfield = item->createEditField(layout, NULL, false);
+ }
+ else {
+ editfield = item->createEditField(layout, V_("IDS_PB_BODY_TITLE_M_NAMEPREFIX"), false);
+ }
+
+ entry = editfield->getEntry();
+ elm_object_part_content_set(layout, "elm.icon.1", editfield->getEvasObj());
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+
+ evas_object_smart_callback_add(entry, "changed", __basicInfoPrefixChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __basicInfoPrefixChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+
+ setEntryText(entry, prefix);
+
+ std::string detailLayoutEdjePath;
+ ContactsCommon::getAppEdjePath(DETAIL_LAYOUT_EDJ, detailLayoutEdjePath);
+
+ Evas_Object* button = elm_button_add(layout);
+ elm_object_style_set(button, "transparent");
+
+ Evas_Object *button_content_layout = elm_layout_add(button);
+ elm_layout_file_set(button_content_layout, detailLayoutEdjePath.c_str(), "input_close");
+ elm_object_part_content_set(button, "elm.swallow.content", button_content_layout);
+
+ evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(button, EVAS_HINT_FILL, 0.0);
+ evas_object_smart_callback_add(button, "clicked", __basicInfoExpandClickedCb, item);
+
+ elm_object_part_content_set(layout, "elm.icon.2", button);
+
+ return layout;
+}
+
+Evas_Object* CtInputViewBasicInfoItem::__createFirstNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent)
+{
+ //WHIT();
+ Evas_Object *layout = NULL;
+ WEditfield *editfield = NULL;
+ Evas_Object *entry = NULL;
+ const char *firstName = NULL;
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ layout = elm_layout_add(parent);
+ if (item->__subItemSize == 0) {
+ evas_object_event_callback_add(layout, EVAS_CALLBACK_RESIZE, CtInputViewBasicInfoItem::__subItemResizeCb, item);
+ }
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "baseinfo_sub_layout");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+ evas_object_show(layout);
+
+ firstName = item->__inputData->getFirstName();
+
+ if (firstName && *firstName) {
+ editfield = item->createEditField(layout, NULL, false);
+ }
+ else {
+ editfield = item->createEditField(layout, V_("IDS_PB_OPT_FIRST_NAME"), false);
+ }
+
+ entry = editfield->getEntry();
+ elm_object_part_content_set(layout, "elm.icon.1", editfield->getEvasObj());
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+
+ evas_object_smart_callback_add(entry, "changed", __basicInfoFirstNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __basicInfoFirstNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+
+ setEntryText(entry, firstName );
+ return layout;
+}
+
+Evas_Object* CtInputViewBasicInfoItem::__createMiddleNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent)
+{
+ //WHIT();
+ Evas_Object *layout = NULL;
+ WEditfield *editfield = NULL;
+ Evas_Object *entry = NULL;
+ const char *middleName = NULL;
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ layout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "baseinfo_sub_layout");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+ evas_object_show(layout);
+
+ middleName = item->__inputData->getMiddleName();
+
+ if (middleName && *middleName) {
+ editfield = item->createEditField(layout, NULL, false);
+ }
+ else {
+ editfield = item->createEditField(layout, V_("IDS_PB_BODY_MIDDLE_NAME_ABB"), false);
+ }
+
+ entry = editfield->getEntry();
+ elm_object_part_content_set(layout, "elm.icon.1", editfield->getEvasObj());
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+
+ evas_object_smart_callback_add(entry, "changed", __basicInfoMiddleNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __basicInfoMiddleNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+
+ setEntryText(entry, middleName);
+ return layout;
+}
+
+Evas_Object* CtInputViewBasicInfoItem::__createLastNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent)
+{
+ //WHIT();
+ Evas_Object *layout = NULL;
+ WEditfield *editfield = NULL;
+ Evas_Object *entry = NULL;
+ const char *lastName = NULL;
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ layout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "baseinfo_sub_layout");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+ evas_object_show(layout);
+
+ lastName = item->__inputData->getLastName();
+
+ if (lastName && *lastName) {
+ editfield = item->createEditField(layout, NULL, false);
+ }
+ else {
+ editfield = item->createEditField(layout, V_("IDS_PB_BODY_LAST_NAME_ABB"), false);
+ }
+
+ entry = editfield->getEntry();
+ elm_object_part_content_set(layout, "elm.icon.1", editfield->getEvasObj());
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+
+ evas_object_smart_callback_add(entry, "changed", __basicInfoLastNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __basicInfoLastNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+
+ setEntryText(entry, lastName);
+ return layout;
+}
+
+Evas_Object* CtInputViewBasicInfoItem::__createSuffixField(CtInputViewBasicInfoItem* item, Evas_Object *parent)
+{
+ //WHIT();
+ Evas_Object *layout = NULL;
+ WEditfield *editfield = NULL;
+ Evas_Object *entry = NULL;
+ const char *suffix = NULL;
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ layout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "baseinfo_sub_layout");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+ evas_object_show(layout);
+
+ suffix = item->__inputData->getSuffixName();
+
+ if (suffix && *suffix) {
+ editfield = item->createEditField(layout, NULL, false);
+ }
+ else {
+ editfield = item->createEditField(layout, V_("IDS_PB_BODY_NAME_SUFFIX_ABB"), false);
+ }
+
+ entry = editfield->getEntry();
+ elm_object_part_content_set(layout, "elm.icon.1", editfield->getEvasObj());
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+
+ evas_object_smart_callback_add(entry, "changed", __basicInfoSuffixChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __basicInfoSuffixChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_SHOW, __basicInfoSuffixShowCb, item);
+
+ setEntryText(entry, suffix);
+ return layout;
+}
+
+Evas_Object* CtInputViewBasicInfoItem::__createPhoneticFirstNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent)
+{
+ //WHIT();
+ ////CONTACTS_LOGGING_LOG(LOGGING_LOG_PHONETIC_NAME); //DO NOT REMOVE!!!
+
+ Evas_Object *layout = NULL;
+ WEditfield *editfield = NULL;
+ Evas_Object *entry = NULL;
+ const char *phoneticName = NULL;
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ layout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "baseinfo_sub_layout");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+ evas_object_show(layout);
+
+ phoneticName = item->__inputData->getPhoneticFirstName();
+
+ if (phoneticName && *phoneticName) {
+ editfield = item->createEditField(layout, NULL, false);
+ }
+ else {
+ // TODO: language translation
+ editfield = item->createEditField(layout, V_("IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"), false);
+ }
+
+ entry = editfield->getEntry();
+ elm_object_part_content_set(layout, "elm.icon.1", editfield->getEvasObj());
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+
+ evas_object_smart_callback_add(entry, "changed", __basicInfoPhoneticFirstNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __basicInfoPhoneticFirstNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+ if (INPUT_ADDED_ITEM_INDEX_PHONETIC_INFO == item->__addedIndex ) {
+ if (item->__isRealized) {
+ elm_object_focus_set(entry, EINA_TRUE);
+ item->__addedIndex = INPUT_ADDED_ITEM_INDEX_NONE;
+ } else {
+ item->__focusEntry = entry;
+ }
+ }
+
+ setEntryText(entry, phoneticName);
+
+ Evas_Object* btn_minus = elm_button_add(layout);
+ elm_object_style_set(btn_minus, "icon_expand_delete");
+ elm_object_part_content_set(layout, "elm.icon.2", btn_minus);
+ evas_object_smart_callback_add(btn_minus, "clicked", __phoneticNameDeleteCb, item);
+ return layout;
+}
+
+Evas_Object* CtInputViewBasicInfoItem::__createPhoneticMiddleNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent)
+{
+ //WHIT();
+ ////CONTACTS_LOGGING_LOG(LOGGING_LOG_PHONETIC_NAME); //DO NOT REMOVE!!!
+
+ Evas_Object *layout = NULL;
+ WEditfield *editfield = NULL;
+ Evas_Object *entry = NULL;
+ const char *phoneticName = NULL;
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ layout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "baseinfo_sub_layout");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+ evas_object_show(layout);
+
+ phoneticName = item->__inputData->getPhoneticMiddleName();
+
+ if (phoneticName && *phoneticName) {
+ editfield = item->createEditField(layout, NULL, false);
+ }
+ else {
+ // TODO: language translation
+ editfield = item->createEditField(layout, V_("IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"), false);
+ }
+
+ entry = editfield->getEntry();
+ elm_object_part_content_set(layout, "elm.icon.1", editfield->getEvasObj());
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+
+ evas_object_smart_callback_add(entry, "changed", __basicInfoPhoneticMiddleNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __basicInfoPhoneticMiddleNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+
+ setEntryText(entry, phoneticName);
+ return layout;
+}
+
+Evas_Object* CtInputViewBasicInfoItem::__createPhoneticLastNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent)
+{
+ //WHIT();
+ ////CONTACTS_LOGGING_LOG(LOGGING_LOG_PHONETIC_NAME); //DO NOT REMOVE!!!
+
+ Evas_Object *layout = NULL;
+ WEditfield *editfield = NULL;
+ Evas_Object *entry = NULL;
+ const char *phoneticName = NULL;
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ layout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "baseinfo_sub_layout");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+ evas_object_show(layout);
+
+ phoneticName = item->__inputData->getPhoneticLastName();
+
+ if (phoneticName && *phoneticName) {
+ editfield = item->createEditField(layout, NULL, false);
+ }
+ else {
+ // TODO: language translation
+ editfield = item->createEditField(layout, V_("IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"), false);
+ }
+
+ entry = editfield->getEntry();
+ elm_object_part_content_set(layout, "elm.icon.1", editfield->getEvasObj());
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+
+ evas_object_smart_callback_add(entry, "changed", __basicInfoPhoneticLastNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __basicInfoPhoneticLastNameChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+
+ setEntryText(entry, phoneticName);
+ return layout;
+}
+
+Evas_Object* CtInputViewBasicInfoItem::__createNicknameField(CtInputViewBasicInfoItem* item, Evas_Object *parent)
+{
+ //WHIT();
+ Evas_Object *layout = NULL;
+ WEditfield *editfield = NULL;
+ Evas_Object *entry = NULL;
+ const char *nickname = NULL;
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ layout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "baseinfo_sub_layout");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+ evas_object_show(layout);
+
+ nickname = item->__inputData->getNickname();
+
+ if (nickname && *nickname) {
+ editfield = item->createEditField(layout, NULL, false);
+ }
+ else {
+ editfield = item->createEditField(layout, V_("IDS_PB_BODY_NICKNAME_ABB"), false);
+ }
+
+ entry = editfield->getEntry();
+ elm_object_part_content_set(layout, "elm.icon.1", editfield->getEvasObj());
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+
+ evas_object_smart_callback_add(entry, "changed", __basicInfoNicknameChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __basicInfoNicknameChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+ if (INPUT_ADDED_ITEM_INDEX_NICKNAME == item->__addedIndex ) {
+ if (item->__isRealized) {
+ elm_object_focus_set(entry, EINA_TRUE);
+ item->__addedIndex = INPUT_ADDED_ITEM_INDEX_NONE;
+ } else {
+ item->__focusEntry = entry;
+ }
+ }
+
+ setEntryText(entry, nickname);
+
+ Evas_Object* btn_minus = elm_button_add(layout);
+ elm_object_style_set(btn_minus, "icon_expand_delete");
+ elm_object_part_content_set(layout, "elm.icon.2", btn_minus);
+ evas_object_smart_callback_add(btn_minus, "clicked", __nicknameDeleteCb, item);
+ return layout;
+}
+
+Evas_Object* CtInputViewBasicInfoItem::__createCompanyField(CtInputViewBasicInfoItem* item, Evas_Object *parent)
+{
+ //WHIT();
+ Evas_Object *layout = NULL;
+ WEditfield *editfield = NULL;
+ Evas_Object *entry = NULL;
+ const char *company = NULL;
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ layout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "baseinfo_sub_layout");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+ evas_object_show(layout);
+
+ company = item->__inputData->getCompany();
+
+ if (company && *company) {
+ editfield = item->createEditField(layout, NULL, false);
+ }
+ else {
+ editfield = item->createEditField(layout, V_("IDS_PB_BODY_COMPANY_ABB"), false);
+ }
+
+ entry = editfield->getEntry();
+ elm_object_part_content_set(layout, "elm.icon.1", editfield->getEvasObj());
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+
+ evas_object_smart_callback_add(entry, "changed", __basicInfoCompanyChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __basicInfoCompanyChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+ if (INPUT_ADDED_ITEM_INDEX_ORGANIZATION == item->__addedIndex ) {
+ if (item->__isRealized) {
+ elm_object_focus_set(entry, EINA_TRUE);
+ item->__addedIndex = INPUT_ADDED_ITEM_INDEX_NONE;
+ } else {
+ item->__focusEntry = entry;
+ }
+ }
+
+ setEntryText(entry, company);
+
+ Evas_Object* btn_minus = elm_button_add(layout);
+ elm_object_style_set(btn_minus, "icon_expand_delete");
+ elm_object_part_content_set(layout, "elm.icon.2", btn_minus);
+ evas_object_smart_callback_add(btn_minus, "clicked", __organizationDeleteCb, item);
+
+ return layout;
+}
+
+Evas_Object* CtInputViewBasicInfoItem::__createJobTitleField(CtInputViewBasicInfoItem* item, Evas_Object *parent)
+{
+ //WHIT();
+ Evas_Object *layout = NULL;
+ WEditfield *editfield = NULL;
+ Evas_Object *entry = NULL;
+ const char *jobTitle = NULL;
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ layout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "baseinfo_sub_layout");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
+ evas_object_show(layout);
+
+ jobTitle = item->__inputData->getJobTitle();
+
+ if (jobTitle && *jobTitle) {
+ editfield = item->createEditField(layout, NULL, false);
+ }
+ else {
+ editfield = item->createEditField(layout, V_("IDS_PB_BODY_JOB_TITLE_ABB"), false);
+ }
+
+ entry = editfield->getEntry();
+ elm_object_part_content_set(layout, "elm.icon.1", editfield->getEvasObj());
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+
+ evas_object_smart_callback_add(entry, "changed", __basicInfoJobTitleChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __basicInfoJobTitleChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+
+ setEntryText(entry, jobTitle);
+ return layout;
+}
+
+void CtInputViewBasicInfoItem::__basicInfoExpandClickedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__baseInfoExpanded = !item->__baseInfoExpanded;
+ item->__addedIndex = INPUT_ADDED_ITEM_INDEX_NONE;
+
+ Elm_Genlist_Item_Class* itc = item->getItemClassStatic();
+ if( item->__baseInfoExpanded)
+ {
+ itc->item_style = "baseinfo.expand";
+ }
+ else
+ {
+ itc->item_style = "baseinfo.contract";
+ }
+
+ Evas_Object* box = NULL;
+ box = elm_object_item_part_content_get(item->getElmObjectItem(), "elm.icon.1");
+ if (box) {
+ elm_box_clear(box);
+ }
+
+ item->__updateItem = true;
+ elm_genlist_item_item_class_update( (Elm_Object_Item*)item->getElmObjectItem(), itc );
+
+ elm_object_item_signal_emit((Elm_Object_Item*)item->getElmObjectItem(), "image,enable", "");
+}
+
+void CtInputViewBasicInfoItem::__basicInfoImageClickedCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ elm_object_item_signal_emit(item->getElmObjectItem(), "play_sound", "elm.icon.2");
+ item->__imageClickedCb( obj );
+}
+
+void CtInputViewBasicInfoItem::__subItemResizeCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ Evas_Coord height = 0;
+ evas_object_geometry_get(obj, NULL, NULL, NULL, &height);
+ evas_object_event_callback_del(obj, EVAS_CALLBACK_RESIZE, CtInputViewBasicInfoItem::__subItemResizeCb);
+ CtInputViewBasicInfoItem *self = (CtInputViewBasicInfoItem *)data;
+ self->__subItemSize = height;
+ self->__baseInfoExpanded = self->__oldBaseInfoExpanded;
+
+ elm_genlist_item_update(self->getElmObjectItem());
+}
+
+void CtInputViewBasicInfoItem::__onFontChangedCb(system_settings_key_e key, void *user_data)
+{
+ CtInputViewBasicInfoItem *self = (CtInputViewBasicInfoItem *)user_data;
+ self->__subItemSize = 0;
+
+ self->__oldBaseInfoExpanded = self->__baseInfoExpanded;
+ if(!self->__baseInfoExpanded) {
+ self->__baseInfoExpanded = true;
+ }
+
+ elm_genlist_item_update(self->getElmObjectItem());
+}
+
+bool CtInputViewBasicInfoItem::__compareWithOldVal(const char* text, const char* oldVal)
+{
+ WPRET_VM(NULL == text, false, "text is NULL");
+ bool ret = false;
+ if (NULL == oldVal) {
+ if (SAFE_STRLEN(text)) {
+ ret = true;
+ }
+ else {
+ ret = false;
+ }
+ }
+ else {
+ if (!strcmp(text, oldVal)) {
+ ret = false;
+ }
+ else {
+ ret = true;
+ }
+ }
+ return ret;
+}
+
+void CtInputViewBasicInfoItem::__entryTextChanged( Evas_Object* obj, int changedInfo )
+{
+ WHIT();
+ char *text = NULL;
+ ITEM_CHANGED info = (ITEM_CHANGED)changedInfo;
+
+ switch( info )
+ {
+ case NAME_CHANGED:
+ {
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ std::string name;
+ __inputData->getFullName(name);
+ if(!(name.size() > 0 && text && strcmp(name.c_str(), text) == 0)) {
+ __inputData->setFullName(text);
+ }
+ __fullNameIsChanged = __compareWithOldVal(text, __oldFullName);
+ if (SAFE_STRLEN(text)) {
+ __fullNameIsEmpty = false;
+ }
+ else {
+ __fullNameIsEmpty = true;
+ }
+ }
+ break;
+ case PREFIX_CHANGED:
+ {
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ __inputData->setPrefixName(text);
+ __prefixIsChanged = __compareWithOldVal(text, __oldPrefix);
+ if (SAFE_STRLEN(text)) {
+ __prefixIsEmpty = false;
+ }
+ else {
+ __prefixIsEmpty = true;
+ }
+ }
+ break;
+ case FIRST_NAME_CHANGED:
+ {
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ __inputData->setFirstName(text);
+ __firstNameIsChanged = __compareWithOldVal(text, __oldFirstName);
+ if (SAFE_STRLEN(text)) {
+ __firstNameIsEmpty = false;
+ }
+ else {
+ __firstNameIsEmpty = true;
+ }
+ }
+ break;
+ case MIDDLE_NAME_CHANGED:
+ {
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ __inputData->setMiddleName(text);
+ __middleNameIsChanged = __compareWithOldVal(text, __oldMiddleName);
+ if (SAFE_STRLEN(text)) {
+ __middleNameIsEmpty = false;
+ }
+ else {
+ __middleNameIsEmpty = true;
+ }
+ }
+ break;
+ case LAST_NAME_CHANGED:
+ {
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ __inputData->setLastName(text);
+ __lastNameIsChanged = __compareWithOldVal(text, __oldLastName);
+ if (SAFE_STRLEN(text)) {
+ __lastNameIsEmpty = false;
+ }
+ else {
+ __lastNameIsEmpty = true;
+ }
+ }
+ break;
+ case SUFFIX_CHANGED:
+ {
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ __inputData->setSuffixName(text);
+ __suffixIsChanged = __compareWithOldVal(text, __oldSuffix);
+ if (SAFE_STRLEN(text)) {
+ __suffixIsEmpty = false;
+ }
+ else {
+ __suffixIsEmpty = true;
+ }
+ }
+ break;
+ case PHONETIC_FIRST_NAME_CHANGED:
+ {
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ __inputData->setPhoneticFirstName(text);
+ __phoneticFirstNameIsChanged = __compareWithOldVal(text, __oldPhoneticFirstName);
+ if (SAFE_STRLEN(text)) {
+ __phoneticFirstNameIsEmpty = false;
+ }
+ else {
+ __phoneticFirstNameIsEmpty = true;
+ }
+ }
+ break;
+ case PHONETIC_MIDDLE_NAME_CHANGED:
+ {
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ __inputData->setPhoneticMiddleName(text);
+ __phoneticMiddleNameIsChanged = __compareWithOldVal(text, __oldPhoneticMiddleName);
+ if (SAFE_STRLEN(text)) {
+ __phoneticMiddleNameIsEmpty = false;
+ }
+ else {
+ __phoneticMiddleNameIsEmpty = true;
+ }
+ }
+ break;
+ case PHONETIC_LAST_NAME_CHANGED:
+ {
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ __inputData->setPhoneticLastName(text);
+ __phoneticLastNameIsChanged = __compareWithOldVal(text, __oldPhoneticLastName);
+ if (SAFE_STRLEN(text)) {
+ __phoneticLastNameIsEmpty = false;
+ }
+ else {
+ __phoneticLastNameIsEmpty = true;
+ }
+ }
+ break;
+ case NICKNAME_CHANGED:
+ {
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ __inputData->setNickname(text);
+ __nicknameIsChanged = __compareWithOldVal(text, __oldNickname);
+ if (SAFE_STRLEN(text)) {
+ __nicknameIsEmpty = false;
+ }
+ else {
+ __nicknameIsEmpty = true;
+ }
+ }
+ break;
+ case COMPANY_CHANGED:
+ {
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ __inputData->setCompany(text);
+ __companyIsChanged = __compareWithOldVal(text, __oldCompany);
+ if (SAFE_STRLEN(text)) {
+ __companyIsEmpty = false;
+ }
+ else {
+ __companyIsEmpty = true;
+ }
+ }
+ break;
+ case JOB_TITLE_CHANGED:
+ {
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ __inputData->setJobTitle(text);
+ __jobTitleIsChanged = __compareWithOldVal(text, __oldJobTitle);
+ if (SAFE_STRLEN(text)) {
+ __jobTitleIsEmpty = false;
+ }
+ else {
+ __jobTitleIsEmpty = true;
+ }
+ }
+ break;
+ default:
+ WERROR("Not handled case =%d", changedInfo);
+ break;
+ }
+ SAFE_FREE(text);
+}
+
+void CtInputViewBasicInfoItem::__basicInfoNameChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__entryTextChanged( obj, NAME_CHANGED );
+ item->__itemChangedCb();
+ item->__updateEntryReturnKeyType(NULL);
+
+ // this code is for fixing the text blink issue when touch expand button
+ const char* entryText = elm_entry_entry_get(obj);
+ if (!(entryText && *entryText)) {
+ elm_object_domain_translatable_part_text_set(obj, "elm.guide", PACKAGE, "IDS_PB_BODY_NAME");
+ }
+}
+
+void CtInputViewBasicInfoItem::__basicInfoPrefixChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__entryTextChanged( obj, PREFIX_CHANGED );
+ item->__itemChangedCb();
+
+ // this code is for fixing the text blink issue when touch expand button
+ const char* entryText = elm_entry_entry_get(obj);
+ if (!(entryText && *entryText)) {
+ elm_object_domain_translatable_part_text_set(obj, "elm.guide", PACKAGE, "IDS_PB_BODY_TITLE_M_NAMEPREFIX");
+ }
+}
+
+void CtInputViewBasicInfoItem::__basicInfoFirstNameChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__entryTextChanged( obj, FIRST_NAME_CHANGED );
+ item->__itemChangedCb();
+
+ // this code is for fixing the text blink issue when touch expand button
+ const char* entryText = elm_entry_entry_get(obj);
+ if (!(entryText && *entryText)) {
+ elm_object_domain_translatable_part_text_set(obj, "elm.guide", PACKAGE, "IDS_PB_OPT_FIRST_NAME");
+ }
+}
+
+void CtInputViewBasicInfoItem::__basicInfoMiddleNameChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__entryTextChanged( obj, MIDDLE_NAME_CHANGED );
+ item->__itemChangedCb();
+
+ // this code is for fixing the text blink issue when touch expand button
+ const char* entryText = elm_entry_entry_get(obj);
+ if (!(entryText && *entryText)) {
+ elm_object_domain_translatable_part_text_set(obj, "elm.guide", PACKAGE, "IDS_PB_BODY_MIDDLE_NAME_ABB");
+ }
+}
+
+void CtInputViewBasicInfoItem::__basicInfoLastNameChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__entryTextChanged( obj, LAST_NAME_CHANGED );
+ item->__itemChangedCb();
+
+ // this code is for fixing the text blink issue when touch expand button
+ const char* entryText = elm_entry_entry_get(obj);
+ if (!(entryText && *entryText)) {
+ elm_object_domain_translatable_part_text_set(obj, "elm.guide", PACKAGE, "IDS_PB_BODY_LAST_NAME_ABB");
+ }
+}
+void CtInputViewBasicInfoItem::__basicInfoSuffixChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__entryTextChanged( obj, SUFFIX_CHANGED );
+ item->__itemChangedCb();
+
+ // this code is for fixing the text blink issue when touch expand button
+ const char* entryText = elm_entry_entry_get(obj);
+ if (!(entryText && *entryText)) {
+ elm_object_domain_translatable_part_text_set(obj, "elm.guide", PACKAGE, "IDS_PB_BODY_NAME_SUFFIX_ABB");
+ }
+}
+
+void CtInputViewBasicInfoItem::__basicInfoPhoneticFirstNameChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__entryTextChanged( obj, PHONETIC_FIRST_NAME_CHANGED );
+ item->__itemChangedCb();
+
+ // this code is for fixing the text blink issue when touch expand button
+ const char* entryText = elm_entry_entry_get(obj);
+ if (!(entryText && *entryText)) {
+ // TODO: language translation
+ elm_object_domain_translatable_part_text_set(obj, "elm.guide", PACKAGE, "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB");
+ }
+}
+
+void CtInputViewBasicInfoItem::__basicInfoPhoneticMiddleNameChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__entryTextChanged( obj, PHONETIC_MIDDLE_NAME_CHANGED );
+ item->__itemChangedCb();
+
+ // this code is for fixing the text blink issue when touch expand button
+ const char* entryText = elm_entry_entry_get(obj);
+ if (!(entryText && *entryText)) {
+ // TODO: language translation
+ elm_object_domain_translatable_part_text_set(obj, "elm.guide", PACKAGE, "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB");
+ }
+}
+
+void CtInputViewBasicInfoItem::__basicInfoPhoneticLastNameChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__entryTextChanged( obj, PHONETIC_LAST_NAME_CHANGED );
+ item->__itemChangedCb();
+
+ // this code is for fixing the text blink issue when touch expand button
+ const char* entryText = elm_entry_entry_get(obj);
+ if (!(entryText && *entryText)) {
+ // TODO: language translation
+ elm_object_domain_translatable_part_text_set(obj, "elm.guide", PACKAGE, "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB");
+ }
+}
+
+void CtInputViewBasicInfoItem::__basicInfoNicknameChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__entryTextChanged( obj, NICKNAME_CHANGED );
+ item->__itemChangedCb();
+
+ // this code is for fixing the text blink issue when touch expand button
+ const char* entryText = elm_entry_entry_get(obj);
+ if (!(entryText && *entryText)) {
+ elm_object_domain_translatable_part_text_set(obj, "elm.guide", PACKAGE, "IDS_PB_BODY_NICKNAME_ABB");
+ }
+}
+
+void CtInputViewBasicInfoItem::__basicInfoCompanyChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__entryTextChanged( obj, COMPANY_CHANGED );
+ item->__itemChangedCb();
+
+ // this code is for fixing the text blink issue when touch expand button
+ const char* entryText = elm_entry_entry_get(obj);
+ if (!(entryText && *entryText)) {
+ elm_object_domain_translatable_part_text_set(obj, "elm.guide", PACKAGE, "IDS_PB_BODY_COMPANY_ABB");
+ }
+}
+
+void CtInputViewBasicInfoItem::__basicInfoJobTitleChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__entryTextChanged( obj, JOB_TITLE_CHANGED );
+ item->__itemChangedCb();
+
+ // this code is for fixing the text blink issue when touch expand button
+ const char* entryText = elm_entry_entry_get(obj);
+ if (!(entryText && *entryText)) {
+ elm_object_domain_translatable_part_text_set(obj, "elm.guide", PACKAGE, "IDS_PB_BODY_JOB_TITLE_ABB");
+ }
+}
+
+void CtInputViewBasicInfoItem::__activatedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ Evas_Object* entry = NULL;
+ Evas_Object* box = NULL;
+ Eina_List* list = NULL;
+ Eina_List* cursor = NULL;
+ Evas_Object* layout = NULL;
+ bool find = false;
+ Evas_Object* focusedEntry = NULL;
+ void *tmp = NULL;
+
+ box = elm_object_item_part_content_get(item->getElmObjectItem(), "elm.icon.1");
+ if (box) {
+ list = elm_box_children_get(box);
+ EINA_LIST_FOREACH(list, cursor, tmp) {
+ layout = (Evas_Object*)tmp;
+ if (layout) {
+ entry = elm_object_part_content_get(layout, "elm.icon.1");
+ if (find) {
+ focusedEntry = entry;
+ break;
+ }
+
+ if (entry == obj) {
+ find = true;
+ }
+ }
+ }
+ }
+
+ if (focusedEntry) {
+ elm_object_focus_set(focusedEntry, EINA_TRUE);
+ }
+ else {
+ item->__activateNextEntryCb( entry, item->getElmObjectItem() );
+ }
+}
+
+void CtInputViewBasicInfoItem::__basicInfoNameShowCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ evas_object_event_callback_del_full( obj, EVAS_CALLBACK_SHOW, __basicInfoNameShowCb, item );
+
+ item->__showCreateKeypadCb( obj );
+}
+
+void CtInputViewBasicInfoItem::__basicInfoSuffixShowCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ evas_object_event_callback_del_full( obj, EVAS_CALLBACK_SHOW, __basicInfoSuffixShowCb, item );
+
+ Evas_Object* entry = NULL;
+ Evas_Object* box = NULL;
+ Eina_List* list = NULL;
+ Eina_List* cursor = NULL;
+ void *tmp = NULL;
+ Evas_Object* layout = NULL;
+ if (item->__inputData->getContactId() == 0 && item->__updateItem) {
+ box = elm_object_item_part_content_get(item->getElmObjectItem(), "elm.icon.1");
+ if (box) {
+ list = elm_box_children_get(box);
+ EINA_LIST_FOREACH(list, cursor, tmp) {
+ layout = (Evas_Object*)tmp;
+ if (layout) {
+ entry = elm_object_part_content_get(layout, "elm.icon.1");
+ if (entry) {
+ elm_object_focus_set(entry, EINA_TRUE);
+ elm_entry_cursor_end_set(entry);
+ break;
+ }
+ }
+ }
+ }
+ item->__updateItem = false;
+ }
+ item->__updateEntryReturnKeyType(NULL);
+}
+
+void CtInputViewBasicInfoItem::__phoneticNameDeleteCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__itemDeletedCb( PHONETIC_NAME_DELETED );
+ item->__phoneticFirstNameIsEmpty = true;
+ item->__phoneticMiddleNameIsEmpty = true;
+ item->__phoneticLastNameIsEmpty = true;
+ elm_genlist_item_fields_update( item->getElmObjectItem(), "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+}
+
+void CtInputViewBasicInfoItem::__nicknameDeleteCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__itemDeletedCb( NICKNAME_DELETED );
+ item->__nicknameIsEmpty = true;
+ elm_genlist_item_fields_update( item->getElmObjectItem(), "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+}
+
+void CtInputViewBasicInfoItem::__organizationDeleteCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewBasicInfoItem* item = (CtInputViewBasicInfoItem*)data;
+ item->__itemDeletedCb( ORGANIZATION_DELETED );
+ item->__companyIsEmpty = true;
+ item->__jobTitleIsEmpty = true;
+ elm_genlist_item_fields_update( item->getElmObjectItem(), "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+}
+
+bool CtInputViewBasicInfoItem::getIsChanged()
+{
+ WHIT();
+ bool ret = false;
+
+ const char* imagePath = __inputData->getImagePath();
+ bool imagePathIsChanged = __compareWithOldVal(imagePath ? imagePath : "", __oldImagePath);
+
+ if (__baseInfoExpanded) {
+ if (true == __prefixIsChanged
+ || true == __firstNameIsChanged
+ || true == __middleNameIsChanged
+ || true == __lastNameIsChanged
+ || true == __suffixIsChanged
+ || true == __phoneticFirstNameIsChanged
+ || true == __phoneticMiddleNameIsChanged
+ || true == __phoneticLastNameIsChanged
+ || true == __nicknameIsChanged
+ || true == __companyIsChanged
+ || true == __jobTitleIsChanged
+ || true == imagePathIsChanged) {
+ ret = true;
+ }
+ } else {
+ if (true == __fullNameIsChanged
+ || true == __phoneticFirstNameIsChanged
+ || true == __phoneticMiddleNameIsChanged
+ || true == __phoneticLastNameIsChanged
+ || true == __nicknameIsChanged
+ || true == __companyIsChanged
+ || true == __jobTitleIsChanged
+ || true == imagePathIsChanged) {
+ ret = true;
+ }
+ }
+ return ret;
+}
+
+void CtInputViewBasicInfoItem::setPhoneticNameIsChanged(bool val)
+{
+ __phoneticFirstNameIsChanged = val;
+ __phoneticMiddleNameIsChanged = val;
+ __phoneticLastNameIsChanged = val;
+}
+
+bool CtInputViewBasicInfoItem::getPhoneticNameIsChanged()
+{
+ if (__phoneticFirstNameIsChanged || __phoneticMiddleNameIsChanged || __phoneticLastNameIsChanged) {
+ return true;
+ }
+ else {
+ return false;
+ }
+}
+
+void CtInputViewBasicInfoItem::setNicknameIsChanged(bool val)
+{
+ __nicknameIsChanged = val;
+}
+
+bool CtInputViewBasicInfoItem::getNicknameIsChanged()
+{
+ return __nicknameIsChanged;
+}
+
+void CtInputViewBasicInfoItem::setCompanyIsChanged(bool val)
+{
+ __companyIsChanged = val;
+}
+
+bool CtInputViewBasicInfoItem::getCompanyIsChanged()
+{
+ return __companyIsChanged;
+}
+
+void CtInputViewBasicInfoItem::setJobTitleIsChanged(bool val)
+{
+ __jobTitleIsChanged = val;
+}
+
+bool CtInputViewBasicInfoItem::getJobTitleIsChanged()
+{
+ return __jobTitleIsChanged;
+}
+
+bool CtInputViewBasicInfoItem::getIsEmpty()
+{
+ WHIT();
+ bool ret = true;
+ if (__baseInfoExpanded) {
+ if (false == __prefixIsEmpty
+ || false == __firstNameIsEmpty
+ || false == __middleNameIsEmpty
+ || false == __lastNameIsEmpty
+ || false == __suffixIsEmpty
+ || false == __phoneticFirstNameIsEmpty
+ || false == __phoneticMiddleNameIsEmpty
+ || false == __phoneticLastNameIsEmpty
+ || false == __nicknameIsEmpty
+ || false == __companyIsEmpty
+ || false == __jobTitleIsEmpty) {
+ ret = false;
+ }
+ } else {
+ if (false == __fullNameIsEmpty
+ || false == __phoneticFirstNameIsEmpty
+ || false == __phoneticMiddleNameIsEmpty
+ || false == __phoneticLastNameIsEmpty
+ || false == __nicknameIsEmpty
+ || false == __companyIsEmpty
+ || false == __jobTitleIsEmpty) {
+ ret = false;
+ }
+ }
+ return ret;
+}
+
+bool CtInputViewBasicInfoItem::getAddPhoneticName()
+{
+ return __addPhoneticName;
+}
+
+void CtInputViewBasicInfoItem::setAddPhoneticName(bool addPhoneticName)
+{
+ __addPhoneticName = addPhoneticName;
+}
+
+bool CtInputViewBasicInfoItem::getAddNickname()
+{
+ return __addNickname;
+}
+
+void CtInputViewBasicInfoItem::setAddNickname(bool addNickname)
+{
+ __addNickname = addNickname;
+}
+
+bool CtInputViewBasicInfoItem::getAddOrganization()
+{
+ return __addOrganization;
+}
+
+void CtInputViewBasicInfoItem::setAddOrganization(bool addOrganization)
+{
+ __addOrganization = addOrganization;
+}
+
+void CtInputViewBasicInfoItem::setAddedIndex(int addedIndex)
+{
+ __addedIndex = addedIndex;
+}
+
+void CtInputViewBasicInfoItem::onRealized()
+{
+ __isRealized = true;
+ if (__focusEntry) {
+ elm_object_focus_set(__focusEntry, EINA_TRUE);
+ __focusEntry = NULL;
+ __addedIndex = INPUT_ADDED_ITEM_INDEX_NONE;
+ }
+}
+
+void CtInputViewBasicInfoItem::onUnrealized()
+{
+ __isRealized = false;
+ __focusEntry = NULL;
+}
diff --git a/lib-contact/ct-detail/src/CtInputViewBasicInfoItem.h b/lib-contact/ct-detail/src/CtInputViewBasicInfoItem.h
new file mode 100644
index 0000000..8fe2d5e
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewBasicInfoItem.h
@@ -0,0 +1,203 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_BASIC_INFO_ITEM_H_
+#define _CT_INPUT_VIEW_BASIC_INFO_ITEM_H_
+
+#include <functional>
+#include "CtCommon.h"
+#include "CtInputViewGenlistItem.h"
+#include "CtInputViewControl.h"
+#include "CtData.h"
+
+class CtInputView;
+class CtInputData;
+
+class CtInputViewBasicInfoItem : public CtInputViewGenlistItem
+{
+public:
+ enum ITEM_DELETED
+ {
+ PHONETIC_NAME_DELETED,
+ NICKNAME_DELETED,
+ ORGANIZATION_DELETED,
+ };
+
+ enum ITEM_CHANGED
+ {
+ NAME_CHANGED,
+ PREFIX_CHANGED,
+ FIRST_NAME_CHANGED,
+ MIDDLE_NAME_CHANGED,
+ LAST_NAME_CHANGED,
+ SUFFIX_CHANGED,
+ PHONETIC_FIRST_NAME_CHANGED,
+ PHONETIC_MIDDLE_NAME_CHANGED,
+ PHONETIC_LAST_NAME_CHANGED,
+ NICKNAME_CHANGED,
+ COMPANY_CHANGED,
+ JOB_TITLE_CHANGED
+ };
+ CtInputViewBasicInfoItem(std::shared_ptr<CtData>& inputData, Evas_Object** nameEntry,
+ const std::function<void ()>& itemChangedCb,
+ const std::function<void (CtInputViewBasicInfoItem::ITEM_DELETED)>& itemDeletedCb,
+ const std::function<void (Evas_Object*)>& imageClickedCb,
+ const std::function<void (Evas_Object*, Elm_Object_Item* )>& activateNextEntryCb,
+ const std::function<void (Evas_Object*)>& showCreateKeypadCb,
+ const std::function<void (Elm_Object_Item* )>& updateEntryReturnKeyType);
+
+ virtual ~CtInputViewBasicInfoItem();
+
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassStatic();
+
+ virtual bool getIsChanged();
+ virtual bool getIsEmpty();
+ void setPhoneticNameIsChanged(bool val);
+ bool getPhoneticNameIsChanged();
+ void setNicknameIsChanged(bool val);
+ bool getNicknameIsChanged();
+ void setCompanyIsChanged(bool val);
+ bool getCompanyIsChanged();
+ void setJobTitleIsChanged(bool val);
+ bool getJobTitleIsChanged();
+
+ bool getAddPhoneticName();
+ void setAddPhoneticName(bool addPhoneticName);
+ bool getAddNickname();
+ void setAddNickname(bool addNickname);
+ bool getAddOrganization();
+ void setAddOrganization(bool addOrganization);
+ void setAddedIndex(int addedIndex);
+
+ virtual void onRealized();
+ virtual void onUnrealized();
+private:
+ void __initialize();
+
+ static Evas_Object* __getContentBasicInfo(void *data, Evas_Object *obj, const char *part);
+ static Evas_Object* __createNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent);
+ static Evas_Object* __createPrefixField( CtInputViewBasicInfoItem* item, Evas_Object *parent);
+ static Evas_Object* __createFirstNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent);
+ static Evas_Object* __createMiddleNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent);
+ static Evas_Object* __createLastNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent);
+ static Evas_Object* __createSuffixField(CtInputViewBasicInfoItem* item, Evas_Object *parent);
+ static Evas_Object* __createPhoneticFirstNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent);
+ static Evas_Object* __createPhoneticMiddleNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent);
+ static Evas_Object* __createPhoneticLastNameField(CtInputViewBasicInfoItem* item, Evas_Object *parent);
+ static Evas_Object* __createNicknameField(CtInputViewBasicInfoItem* item, Evas_Object *parent);
+ static Evas_Object* __createCompanyField(CtInputViewBasicInfoItem* item, Evas_Object *parent);
+ static Evas_Object* __createJobTitleField(CtInputViewBasicInfoItem* item, Evas_Object *parent);
+ static void __set_entry_text(Evas_Object *entry, const char *text);
+ static Evas_Object* __createEditField(Evas_Object *parent, const char *guideText, bool multiline,
+ Evas_Smart_Cb unfocusedCallback, void *userData1, Evas_Smart_Cb focusedCallback, void *userData2);
+ static void __onEditfieldTextMaxReached(void *data, Evas_Object *obj, void *event_info);
+ static void __basicInfoExpandClickedCb(void *data, Evas_Object *obj, void *event_info);
+
+ static void __basicInfoImageClickedCb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+ static void __subItemResizeCb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+ static void __onFontChangedCb(system_settings_key_e key, void *user_data);
+
+ bool __compareWithOldVal(const char* text, const char* oldVal);
+ void __entryTextChanged( Evas_Object* obj, int changedInfo );
+ static void __basicInfoNameChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __basicInfoPrefixChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __basicInfoFirstNameChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __basicInfoMiddleNameChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __basicInfoLastNameChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __basicInfoSuffixChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __basicInfoPhoneticFirstNameChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __basicInfoPhoneticMiddleNameChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __basicInfoPhoneticLastNameChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __basicInfoNicknameChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __basicInfoCompanyChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __basicInfoJobTitleChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __activatedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __basicInfoNameShowCb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+ static void __basicInfoSuffixShowCb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+ static void __phoneticNameDeleteCb(void *data, Evas_Object *obj, void *event_info);
+ static void __nicknameDeleteCb(void *data, Evas_Object *obj, void *event_info);
+ static void __organizationDeleteCb(void *data, Evas_Object *obj, void *event_info);
+private:
+ CtInputViewBasicInfoItem();
+
+ int __addedIndex;
+ std::shared_ptr<CtData> __inputData;
+ Evas_Object** __nameEntry;
+ Evas_Object* __focusEntry;
+
+ std::function<void ()> __itemChangedCb;
+ std::function<void (ITEM_DELETED)> __itemDeletedCb;
+
+ std::function<void (Evas_Object*)> __imageClickedCb;
+ std::function<void (Evas_Object*, Elm_Object_Item*)> __activateNextEntryCb;
+ std::function<void (Evas_Object*)> __showCreateKeypadCb;
+ std::function<void (Elm_Object_Item*)> __updateEntryReturnKeyType;
+
+ bool __oldBaseInfoExpanded;
+ bool __baseInfoExpanded;
+
+ bool __fullNameIsChanged;
+ bool __prefixIsChanged;
+ bool __firstNameIsChanged;
+ bool __middleNameIsChanged;
+ bool __lastNameIsChanged;
+ bool __suffixIsChanged;
+ bool __phoneticFirstNameIsChanged;
+ bool __phoneticMiddleNameIsChanged;
+ bool __phoneticLastNameIsChanged;
+ bool __nicknameIsChanged;
+ bool __companyIsChanged;
+ bool __jobTitleIsChanged;
+
+ bool __fullNameIsEmpty;
+ bool __prefixIsEmpty;
+ bool __firstNameIsEmpty;
+ bool __middleNameIsEmpty;
+ bool __lastNameIsEmpty;
+ bool __suffixIsEmpty;
+ bool __phoneticFirstNameIsEmpty;
+ bool __phoneticMiddleNameIsEmpty;
+ bool __phoneticLastNameIsEmpty;
+ bool __nicknameIsEmpty;
+ bool __companyIsEmpty;
+ bool __jobTitleIsEmpty;
+
+ char* __oldFullName;
+ char* __oldPrefix;
+ char* __oldFirstName;
+ char* __oldMiddleName;
+ char* __oldLastName;
+ char* __oldSuffix;
+ char* __oldPhoneticFirstName;
+ char* __oldPhoneticMiddleName;
+ char* __oldPhoneticLastName;
+ char* __oldNickname;
+ char* __oldCompany;
+ char* __oldJobTitle;
+ char* __oldImagePath;
+
+ bool __addPhoneticName;
+ bool __addNickname;
+ bool __addOrganization;
+ bool __updateItem;
+ bool __isRealized;
+
+ Evas_Coord __subItemSize;
+};
+
+#endif /* _CT_INPUT_VIEW_BASIC_INFO_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtInputViewControl.cpp b/lib-contact/ct-detail/src/CtInputViewControl.cpp
new file mode 100644
index 0000000..3779959
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewControl.cpp
@@ -0,0 +1,1639 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <system_settings.h>
+#include <app_preference.h>
+#include <contacts.h>
+
+#include "WPopup.h"
+
+#include "ContactsDebug.h"
+#include "ContactsAppControl.h"
+#include "ContactsAppControlLauncher.h"
+
+#include "CtString.h"
+#include "CtPath.h"
+#include "CtInputData.h"
+#include "CtInputViewControl.h"
+#include "CtCommon.h"
+#include "CtDetailView.h"
+#include "CtInputView.h"
+
+#include "CtInputViewGenlistItem.h"
+#include "CtInputViewBasicInfoItem.h"
+#include "CtInputViewEmailItem.h"
+#include "CtInputViewNoteItem.h"
+#include "CtInputViewMessengerItem.h"
+#include "CtInputViewAddressItem.h"
+#include "CtInputViewWebsiteItem.h"
+#include "CtInputViewRelationItem.h"
+#include "CtInputViewEventItem.h"
+#include "CtInputViewNumberItem.h"
+#include "CtInputViewImportantFieldsItem.h"
+#include "CtInputViewImportantSubItem.h"
+#include "CtThemeMgr.h"
+#include "SystemSettingsMgr.h"
+
+#define GALLERY_UG "ug-gallery-efl"
+#define INPUT_CREATE_KEYPAD_TIMER 0.2
+#define DATE_TIME_FORMAT "%%c"
+
+
+CtInputViewControl::CtInputViewControl( std::shared_ptr<CtData>& inputData, CtInputView* view )
+{
+ __inputData = inputData;
+ __view = view;
+ __initialize();
+}
+
+CtInputViewControl::~CtInputViewControl()
+{
+ WHIT();
+
+ if (__conformant) {
+ evas_object_smart_callback_del(__conformant, "virtualkeypad,state,on", __onSipUpCb);
+ evas_object_smart_callback_del(__conformant, "virtualkeypad,state,off", __onSipDownCb);
+ }
+
+ if (__keypadTimer) {
+ ecore_timer_del(__keypadTimer);
+ __keypadTimer = NULL;
+ }
+}
+
+bool CtInputViewControl::getIsCreate()
+{
+ return __view->getIsCreate();
+}
+
+bool CtInputViewControl::getIsEmpty()
+{
+ return __checkIsEmpty();
+}
+
+bool CtInputViewControl::getIsChanged()
+{
+ return __checkIsChanged();
+}
+
+void CtInputViewControl::updateNumberSaveBtn(Eina_Bool isEmpty)
+{
+ __view->updateNumberSaveBtn(isEmpty);
+}
+
+
+void CtInputViewControl::setIsDestroy(bool isDestroy)
+{
+ __isDestroy = isDestroy;
+}
+
+Evas_Object* CtInputViewControl::getViewEvasObj()
+{
+ return __view->getEvasObj();
+}
+
+Evas_Object* CtInputViewControl::getNaviframeEvasObj()
+{
+ return __view->getNaviframeEvasObj();
+}
+
+Evas_Object* CtInputViewControl::onCreate(Evas_Object* parent, void* viewParam)
+{
+ WENTER();
+ Evas_Object* genlist = elm_genlist_add(parent);
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+ evas_object_show(genlist);
+ __genlist = genlist;
+
+ evas_object_smart_callback_add(genlist, "realized", __genlistRealizedCb, this);
+ evas_object_smart_callback_add(genlist, "unrealized", __genlistUnrealizedCb, this);
+ __addAllItems(genlist);
+
+ // set virtual keypad
+ __conformant = __view->getConformantEvasObject();
+ if (__conformant) {
+ evas_object_smart_callback_add(__conformant, "virtualkeypad,state,on", __onSipUpCb, this);
+ evas_object_smart_callback_add(__conformant, "virtualkeypad,state,off", __onSipDownCb, this);
+ }
+
+ WLEAVE();
+ return genlist;
+}
+
+void CtInputViewControl::onDestroy()
+{
+ evas_object_smart_callback_del(__genlist, "unrealized", __genlistUnrealizedCb);
+ evas_object_smart_callback_del(__genlist, "realized", __genlistRealizedCb);
+ SystemSettingsMgr::getInstance().unregisterChangedCallback(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, __regionFormatChangedCb);
+}
+
+void CtInputViewControl::__initialize()
+{
+ __changed = false;
+ __isDestroy = false;
+ __needResetTheme = false;
+ __needShowMorePopup = false;
+ __sipIsShown = false;
+ __addedIndex = INPUT_ADDED_ITEM_INDEX_NONE;
+ __keypadTimer = NULL;
+
+ memset( __genlistItems, 0, sizeof(__genlistItems) );
+
+ __genlist = NULL;
+ __conformant = NULL;
+ __birthdayEventExist = std::make_shared<bool> (false);
+
+
+ SystemSettingsMgr::getInstance().registerChangedCallback(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, __regionFormatChangedCb, this);
+}
+
+void CtInputViewControl::__regionFormatChangedCb(system_settings_key_e key, void *data)
+{
+ CtInputViewControl *control = (CtInputViewControl*)data;
+ char *regionFormat = NULL;
+ system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &regionFormat);
+
+ WDEBUG("regionFormat %s", regionFormat);
+
+ if(control->__genlistItems[INPUT_EVENT])
+ elm_genlist_realized_items_update(control->__genlist);
+}
+
+void CtInputViewControl::__addAllItems(Evas_Object* genlist)
+{
+ WENTER();
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+ void *data = NULL;
+ contacts_record_h record = NULL;
+ int itemType = 0;
+
+ for (; itemType < INPUT_ITEMS_MAX; itemType++) {
+ switch(itemType) {
+ case INPUT_BASIC_INFO:
+ {
+ CtInputViewBasicInfoItem *item = new CtInputViewBasicInfoItem(__inputData,&__nameEntry,
+ [this](){ __itemChanged(); },
+ [this](CtInputViewBasicInfoItem::ITEM_DELETED deletedInfo){ __basicInfoItemDeleted( deletedInfo); },
+ [this](Evas_Object* obj){ __basicInfoItemImageClicked(obj); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); },
+ [this](Evas_Object* obj){ basicInfoItemShowCreateKeypad(obj); },
+ [this](Elm_Object_Item* objItem){ __updateEntryReturnKeyType(objItem); });
+ Elm_Object_Item *genItem = elm_genlist_item_append(genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_BASIC_INFO] = genItem;
+ break;
+ }
+ case INPUT_NUMBER:
+ {
+ list = __inputData->getNumberList();
+
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+
+ WDEBUG("added");
+
+ const char *number = __inputData->getNumberNumber(record);
+
+ CtInputViewNumberItem *item = new CtInputViewNumberItem( this, __inputData, record, number, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __numberItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+
+ Elm_Object_Item *genItem = elm_genlist_item_append(genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_NUMBER] = genItem;
+ }
+
+ if (__view->getIsCreate() && list == NULL) {
+ WDEBUG("set base number");
+ record = __inputData->addNumber("");
+
+ CtInputViewNumberItem *item = new CtInputViewNumberItem( this, __inputData, record, NULL, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __numberItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+
+ Elm_Object_Item *genItem = elm_genlist_item_append(genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_NUMBER] = genItem;
+ }
+ break;
+ }
+ case INPUT_EMAIL:
+ {
+ list = __inputData->getEmailList();
+
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) continue;
+
+ const char *email = __inputData->getEmailEmail(record);
+
+ CtInputViewEmailItem *item = new CtInputViewEmailItem( __inputData, record, email, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged( ); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __emailItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+ Elm_Object_Item *genItem = elm_genlist_item_append(genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_EMAIL] = genItem;
+ }
+ break;
+ }
+ case INPUT_ADDRESS:
+ {
+ list = __inputData->getAddressList();
+
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+
+ char address[CT_TEXT_MAX_LEN] = {0,};
+ __inputData->getAddressAddress( record, address, sizeof(address));
+
+ CtInputViewAddressItem *item = new CtInputViewAddressItem( __inputData, record, address, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __addressItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+ Elm_Object_Item *genItem = elm_genlist_item_append(genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_ADDRESS] = genItem;
+ }
+
+ break;
+ }
+ case INPUT_MESSENGER:
+ {
+ list = __inputData->getMessengerList();
+
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+
+ const char *messenger = __inputData->getMessengerMessenger(record);
+
+ CtInputViewMessengerItem *item = new CtInputViewMessengerItem( __inputData, record, messenger, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __messengerItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+ Elm_Object_Item *genItem = elm_genlist_item_append(genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_MESSENGER] = genItem;
+ }
+ break;
+ }
+ case INPUT_URL:
+ {
+ list = __inputData->getWebsiteList();
+
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+
+ const char *website = __inputData->getWebsiteWebsite(record);
+
+ CtInputViewWebsiteItem *item = new CtInputViewWebsiteItem( __inputData, record, website, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __websiteItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){__activateNextEntry(obj, objItem); } );
+ Elm_Object_Item *genItem = elm_genlist_item_append(genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_URL] = genItem;
+ }
+ break;
+ }
+ case INPUT_RELATIONSHIP:
+ {
+ list = __inputData->getRelationshipList();
+
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+
+ const char *relationship = __inputData->getRelationshipRelationship(record);
+
+ CtInputViewRelationItem *item = new CtInputViewRelationItem( this,__inputData, record, relationship,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __relationItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); });
+ Elm_Object_Item *genItem = elm_genlist_item_append(genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_RELATIONSHIP] = genItem;
+ }
+ break;
+ }
+ case INPUT_EVENT:
+ {
+ list = __inputData->getEventList();
+
+ *__birthdayEventExist = false;
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+ char event[256];
+ snprintf( event, sizeof(event), "%d", __inputData->getEventEvent(record) );
+
+ if( __inputData->getEventType(record) == CONTACTS_EVENT_TYPE_BIRTH)
+ *__birthdayEventExist = true;
+
+ CtInputViewEventItem *item = new CtInputViewEventItem( __view, __inputData, record, event, __birthdayEventExist,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __eventItemDeleted( objItem, isChanged, record ); });
+ Elm_Object_Item *genItem = elm_genlist_item_append(genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_EVENT] = genItem;
+ }
+ break;
+ }
+ case INPUT_NOTE:
+ {
+ list = __inputData->getNoteList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+ const char *note = __inputData->getNote(record);
+ CtInputViewNoteItem *item = new CtInputViewNoteItem( __inputData, record, note, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __noteItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){this->__activateNextEntry(obj, objItem);} );
+ Elm_Object_Item *genItem = elm_genlist_item_append(genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_NOTE] = genItem;
+ __updateNoteBtn(true);
+ }
+ break;
+ }
+ case INPUT_IMPORTANT_FIELDS:
+ {
+ bool isNoteInput = (__genlistItems[INPUT_NOTE] == NULL) ? false : true;
+ CtInputViewImportantFieldsItem *item = new CtInputViewImportantFieldsItem([this](){ __addNumberClickedCb(); },
+ [this](){ __addEmailClickedCb(); },
+ [this](){ __addNoteClickedCb(); },
+ [this](){ __addMoreClickedCb(); },
+ isNoteInput);
+ Elm_Object_Item *genItem = elm_genlist_item_append(genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_IMPORTANT_FIELDS] = genItem;
+ break;
+ }
+ }
+ }
+ WLEAVE();
+}
+
+void CtInputViewControl:: __genlistRealizedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtInputViewControl *control = (CtInputViewControl*)data;
+
+ control->__updateEntryReturnKeyType(NULL);
+
+ Elm_Object_Item *objectItem = (Elm_Object_Item*) event_info;
+ CtInputViewGenlistItem *item = (CtInputViewGenlistItem*) elm_object_item_data_get(objectItem);
+ if (item) {
+ item->onRealized();
+ }
+
+ if (objectItem == control->__genlistItems[INPUT_BASIC_INFO]) {
+ control->__updateBasicInfoItem();
+ }
+}
+
+void CtInputViewControl::__genlistUnrealizedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ Elm_Object_Item *objectItem = (Elm_Object_Item*) event_info;
+ CtInputViewGenlistItem *item = (CtInputViewGenlistItem*) elm_object_item_data_get(objectItem);
+ if (item) {
+ item->onUnrealized();
+ }
+}
+
+void CtInputViewControl::__updateNoteBtn(bool isNoteInput)
+{
+ WHIT();
+
+ if(__genlistItems[INPUT_IMPORTANT_FIELDS]) {
+ CtInputViewImportantFieldsItem *item = (CtInputViewImportantFieldsItem*)elm_object_item_data_get(__genlistItems[INPUT_IMPORTANT_FIELDS]);
+ if(item) {
+ item->updateNoteBtn(isNoteInput);
+ }
+ }
+
+}
+
+void CtInputViewControl::showTopItem()
+{
+ WHIT();
+
+ elm_genlist_item_show(__genlistItems[INPUT_BASIC_INFO], ELM_GENLIST_ITEM_SCROLLTO_TOP);
+
+ bool first = false;
+ int error = preference_get_boolean(CT_KEY_CONTACT_CREATE_FIRST, &first);
+ WPRET_M(error != PREFERENCE_ERROR_NONE, "preference_get_boolean failed");
+
+ if (!first && __inputData->getContactId() == 0 && __nameEntry) {
+ elm_object_focus_set(__nameEntry, EINA_TRUE);
+ elm_entry_cursor_end_set(__nameEntry);
+ }
+}
+
+void CtInputViewControl::__addNumberClickedCb()
+{
+ WHIT();
+ contacts_record_h record = NULL;
+
+ __resetTheme();
+
+ record = __inputData->addNumber("");
+ __addedIndex = INPUT_ADDED_ITEM_INDEX_NUMBER;
+
+ CtInputViewNumberItem* item = new CtInputViewNumberItem( this, __inputData, record, NULL, __addedIndex,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __numberItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+
+ Elm_Object_Item* genItem = NULL;
+ if (__genlistItems[INPUT_NUMBER])
+ {
+ genItem = elm_genlist_item_insert_after(getEvasObj(), item->getItemClassStatic(), item, NULL, __genlistItems[INPUT_NUMBER], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ }
+ else
+ {
+ genItem = elm_genlist_item_insert_after(getEvasObj(), item->getItemClassStatic(), item, NULL, __genlistItems[INPUT_BASIC_INFO], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ }
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_NUMBER] = genItem;
+ elm_genlist_item_show(genItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ item->focus();
+}
+
+void CtInputViewControl::__addEmailClickedCb()
+{
+ WHIT();
+ contacts_record_h record = NULL;
+ CtInputItems checkExistItem = INPUT_BASIC_INFO;
+
+ __resetTheme();
+
+ record = __inputData->addEmail("");
+ __addedIndex = INPUT_ADDED_ITEM_INDEX_EMAIL;
+
+ if (__genlistItems[INPUT_EMAIL]) {
+ checkExistItem = INPUT_EMAIL;
+ }
+ else if (__genlistItems[INPUT_NUMBER]) {
+ checkExistItem = INPUT_NUMBER;
+ }
+ else {
+ checkExistItem = INPUT_BASIC_INFO;
+ }
+ WDEBUG("INPUT_EMAIL item is after %d item", checkExistItem);
+
+ CtInputViewEmailItem *item = new CtInputViewEmailItem( __inputData, record, NULL, __addedIndex,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* item, bool isChanged, contacts_record_h record){ __emailItemDeleted( item, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* item){ __activateNextEntry(obj, item); } );
+ Elm_Object_Item* genItem = elm_genlist_item_insert_after( getEvasObj(), item->getItemClassStatic(), item, NULL, __genlistItems[checkExistItem], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_EMAIL] = genItem;
+ elm_genlist_item_show( genItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ item->focus();
+}
+
+void CtInputViewControl::__addNoteClickedCb()
+{
+ WHIT();
+ contacts_record_h record = NULL;
+ CtInputItems checkExistItem = INPUT_BASIC_INFO;
+
+ __resetTheme();
+
+ WPRET_M(__genlistItems[INPUT_NOTE], "note already is added");
+
+ record = __inputData->addNote("");
+ __addedIndex = INPUT_ADDED_ITEM_INDEX_NOTE;
+
+ if (__genlistItems[INPUT_EMAIL]) {
+ checkExistItem = INPUT_EMAIL;
+ }
+ else if (__genlistItems[INPUT_NUMBER]) {
+ checkExistItem = INPUT_NUMBER;
+ }
+ else {
+ checkExistItem = INPUT_BASIC_INFO;
+ }
+
+ CtInputViewNoteItem *item = new CtInputViewNoteItem( __inputData, record, NULL, __addedIndex,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* item, bool isChanged, contacts_record_h record){ __noteItemDeleted( item, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){this->__activateNextEntry(obj, objItem);} );
+ Elm_Object_Item* genItem = elm_genlist_item_insert_after( getEvasObj(), item->getItemClassStatic(), item, NULL, __genlistItems[checkExistItem], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_NOTE] = genItem;
+ __updateNoteBtn(true);
+ elm_genlist_item_show( genItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ item->focus();
+}
+
+void CtInputViewControl::__addMoreClickedCb()
+{
+ WHIT();
+
+ __resetTheme();
+
+ if (__sipIsShown) {
+ // show popup in __onSipDownCb
+ __needShowMorePopup = true;
+ }
+ else {
+ __showMorePopup();
+ }
+}
+
+void CtInputViewControl::__importantSubitemSelectedCb(void* data, Evas_Object* obj, void* event_info)
+{
+ WPRET_M(NULL == data, "data is NULL");
+ CtInputSubItems selectedSubitem = INPUT_IMPORTANT_NONE;
+ CtInputViewControl *control = (CtInputViewControl*)data;
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+ CtInputViewImportantSubItem *importantSubItem = (CtInputViewImportantSubItem *)elm_object_item_data_get(item);
+ contacts_record_h record = NULL;
+ CtInputItems checkExistItem = INPUT_BASIC_INFO;
+ Elm_Object_Item *addedItem = NULL;
+
+ selectedSubitem = (CtInputSubItems)importantSubItem->getIndex();
+
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ switch (selectedSubitem) {
+ case INPUT_IMPORTANT_PHONETIC_INFO:
+ {
+ CtInputViewBasicInfoItem* basicInfoItem = (CtInputViewBasicInfoItem*)elm_object_item_data_get(control->__genlistItems[INPUT_BASIC_INFO]);
+ WPRET_M(NULL == basicInfoItem, "basicInfoItem is NULL");
+
+ elm_object_item_disabled_set(item, EINA_TRUE);
+ basicInfoItem->setAddPhoneticName(true);
+ basicInfoItem->setAddedIndex(INPUT_ADDED_ITEM_INDEX_PHONETIC_INFO);
+ elm_genlist_item_fields_update(control->__genlistItems[INPUT_BASIC_INFO], "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ addedItem = control->__genlistItems[INPUT_BASIC_INFO];
+ control->destroyPopup();
+ break;
+ }
+ case INPUT_IMPORTANT_MESSENGER:
+ {
+ record = control->__inputData->addMessenger("");
+ control->__addedIndex = INPUT_ADDED_ITEM_INDEX_IM;
+
+ if (control->__genlistItems[INPUT_MESSENGER]) {
+ checkExistItem = INPUT_MESSENGER;
+ }
+ else if (control->__genlistItems[INPUT_URL]) {
+ checkExistItem = INPUT_URL;
+ }
+ else if (control->__genlistItems[INPUT_RELATIONSHIP]) {
+ checkExistItem = INPUT_RELATIONSHIP;
+ }
+ else if (control->__genlistItems[INPUT_EVENT]) {
+ checkExistItem = INPUT_EVENT;
+ }
+ else if (control->__genlistItems[INPUT_ADDRESS]) {
+ checkExistItem = INPUT_ADDRESS;
+ }
+ else if (control->__genlistItems[INPUT_NOTE]) {
+ checkExistItem = INPUT_NOTE;
+ }
+ else if (control->__genlistItems[INPUT_EMAIL]) {
+ checkExistItem = INPUT_EMAIL;
+ }
+ else if (control->__genlistItems[INPUT_NUMBER]) {
+ checkExistItem = INPUT_NUMBER;
+ }
+ else {
+ checkExistItem = INPUT_BASIC_INFO;
+ }
+ WDEBUG("INPUT_MESSENGER item is after %d item", checkExistItem);
+
+ CtInputViewMessengerItem *item = new CtInputViewMessengerItem( control->__inputData, record, NULL, control->__addedIndex,
+ [control](){ control->__itemChanged(); },
+ [control](Elm_Object_Item* item, bool isChanged, contacts_record_h record){ control->__messengerItemDeleted( item, isChanged, record ); },
+ [control](Evas_Object* obj, Elm_Object_Item* item){ control->__activateNextEntry(obj, item); } );
+ Elm_Object_Item* genItem = elm_genlist_item_insert_after( control->getEvasObj(), item->getItemClassStatic(), item, NULL, control->__genlistItems[checkExistItem], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ item->setElmObjectItem( genItem );
+ control->__genlistItems[INPUT_MESSENGER] = genItem;
+ addedItem = genItem;
+ control->destroyPopup();
+ item->focus();
+ break;
+ }
+ case INPUT_IMPORTANT_URL:
+ {
+ record = control->__inputData->addWebsite("");
+ control->__addedIndex = INPUT_ADDED_ITEM_INDEX_URL;
+
+ if (control->__genlistItems[INPUT_URL]) {
+ checkExistItem = INPUT_URL;
+ }
+ else if (control->__genlistItems[INPUT_RELATIONSHIP]) {
+ checkExistItem = INPUT_RELATIONSHIP;
+ }
+ else if (control->__genlistItems[INPUT_EVENT]) {
+ checkExistItem = INPUT_EVENT;
+ }
+ else if (control->__genlistItems[INPUT_ADDRESS]) {
+ checkExistItem = INPUT_ADDRESS;
+ }
+ else if (control->__genlistItems[INPUT_NOTE]) {
+ checkExistItem = INPUT_NOTE;
+ }
+ else if (control->__genlistItems[INPUT_EMAIL]) {
+ checkExistItem = INPUT_EMAIL;
+ }
+ else if (control->__genlistItems[INPUT_NUMBER]) {
+ checkExistItem = INPUT_NUMBER;
+ }
+ else {
+ checkExistItem = INPUT_BASIC_INFO;
+ }
+ WDEBUG("INPUT_URL item is after %d item", checkExistItem);
+
+ CtInputViewWebsiteItem *item = new CtInputViewWebsiteItem( control->__inputData, record, NULL, control->__addedIndex,
+ [control](){ control->__itemChanged(); },
+ [control](Elm_Object_Item* item, bool isChanged, contacts_record_h record){ control->__websiteItemDeleted( item, isChanged, record );},
+ [control](Evas_Object* obj, Elm_Object_Item* item){ control->__activateNextEntry(obj, item); } );
+ Elm_Object_Item* genItem = elm_genlist_item_insert_after( control->getEvasObj(), item->getItemClassStatic(), item, NULL, control->__genlistItems[checkExistItem], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ item->setElmObjectItem( genItem );
+ control->__genlistItems[INPUT_URL] = genItem;
+ addedItem = genItem;
+ control->destroyPopup();
+ item->focus();
+ break;
+ }
+ case INPUT_IMPORTANT_ORGANIZATION:
+ {
+ CtInputViewBasicInfoItem* basicInfoItem = (CtInputViewBasicInfoItem*)elm_object_item_data_get(control->__genlistItems[INPUT_BASIC_INFO]);
+ WPRET_M(NULL == basicInfoItem, "basicInfoItem is NULL");
+
+ elm_object_item_disabled_set(item, EINA_TRUE);
+ basicInfoItem->setAddOrganization(true);
+ basicInfoItem->setAddedIndex(INPUT_ADDED_ITEM_INDEX_ORGANIZATION);
+ elm_genlist_item_fields_update(control->__genlistItems[INPUT_BASIC_INFO], "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ addedItem = control->__genlistItems[INPUT_BASIC_INFO];
+ control->destroyPopup();
+ break;
+ }
+ case INPUT_IMPORTANT_RELATIONSHIP:
+ {
+ record = control->__inputData->addRelationship("");
+ control->__addedIndex = INPUT_ADDED_ITEM_INDEX_RELATIONSHIP;
+
+ if (control->__genlistItems[INPUT_RELATIONSHIP]) {
+ checkExistItem = INPUT_RELATIONSHIP;
+ }
+ else if (control->__genlistItems[INPUT_EVENT]) {
+ checkExistItem = INPUT_EVENT;
+ }
+ else if (control->__genlistItems[INPUT_ADDRESS]) {
+ checkExistItem = INPUT_ADDRESS;
+ }
+ else if (control->__genlistItems[INPUT_NOTE]) {
+ checkExistItem = INPUT_NOTE;
+ }
+ else if (control->__genlistItems[INPUT_EMAIL]) {
+ checkExistItem = INPUT_EMAIL;
+ }
+ else if (control->__genlistItems[INPUT_NUMBER]) {
+ checkExistItem = INPUT_NUMBER;
+ }
+ else {
+ checkExistItem = INPUT_BASIC_INFO;
+ }
+ WDEBUG("INPUT_RELATIONSHIP item is after %d item", checkExistItem);
+
+ CtInputViewRelationItem *item = new CtInputViewRelationItem( control,control->__inputData, record, NULL,
+ [control](){ control->__itemChanged(); },
+ [control](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ control->__relationItemDeleted( objItem, isChanged, record );},
+ [control](Evas_Object* obj, Elm_Object_Item* objItem){ control->__activateNextEntry(obj, objItem); });
+ Elm_Object_Item* genItem = elm_genlist_item_insert_after( control->getEvasObj(), item->getItemClassStatic(), item, NULL, control->__genlistItems[checkExistItem], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ item->setElmObjectItem( genItem );
+ control->__genlistItems[INPUT_RELATIONSHIP] = genItem;
+ addedItem = genItem;
+ control->destroyPopup();
+ item->focus();
+ break;
+ }
+ case INPUT_IMPORTANT_NICKNAME:
+ {
+ CtInputViewBasicInfoItem* basicInfoItem = (CtInputViewBasicInfoItem*)elm_object_item_data_get(control->__genlistItems[INPUT_BASIC_INFO]);
+ WPRET_M(NULL == basicInfoItem, "basicInfoItem is NULL");
+
+ elm_object_item_disabled_set(item, EINA_TRUE);
+ basicInfoItem->setAddNickname(true);
+ basicInfoItem->setAddedIndex(INPUT_ADDED_ITEM_INDEX_NICKNAME);
+ elm_genlist_item_fields_update(control->__genlistItems[INPUT_BASIC_INFO], "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ addedItem = control->__genlistItems[INPUT_BASIC_INFO];
+ control->destroyPopup();
+ break;
+ }
+ case INPUT_IMPORTANT_EVENT:
+ {
+ control->__createEventDataPopup();
+ break;
+ }
+ case INPUT_IMPORTANT_ADDRESS:
+ {
+ record = control->__inputData->addAddress("");
+ control->__addedIndex = INPUT_ADDED_ITEM_INDEX_ADDRESS;
+
+ if (control->__genlistItems[INPUT_ADDRESS]) {
+ checkExistItem = INPUT_ADDRESS;
+ }
+ else if (control->__genlistItems[INPUT_NOTE]) {
+ checkExistItem = INPUT_NOTE;
+ }
+ else if (control->__genlistItems[INPUT_EMAIL]) {
+ checkExistItem = INPUT_EMAIL;
+ }
+ else if (control->__genlistItems[INPUT_NUMBER]) {
+ checkExistItem = INPUT_NUMBER;
+ }
+ else {
+ checkExistItem = INPUT_BASIC_INFO;
+ }
+ WDEBUG("INPUT_ADDRESS item is after %d item", checkExistItem);
+
+ CtInputViewAddressItem *item = new CtInputViewAddressItem( control->__inputData, record, NULL, control->__addedIndex,
+ [control](){ control->__itemChanged(); },
+ [control](Elm_Object_Item* item, bool isChanged, contacts_record_h record){ control->__addressItemDeleted( item, isChanged, record ); },
+ [control](Evas_Object* obj, Elm_Object_Item* item){ control->__activateNextEntry(obj, item); } );
+ Elm_Object_Item* genItem = elm_genlist_item_insert_after( control->getEvasObj(), item->getItemClassStatic(), item, NULL, control->__genlistItems[checkExistItem], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ item->setElmObjectItem( genItem );
+ control->__genlistItems[INPUT_ADDRESS] = genItem;
+ addedItem = genItem;
+ control->destroyPopup();
+ item->focus();
+ break;
+ }
+ default:
+ break;
+ }
+ if (addedItem) {
+ elm_genlist_item_select_mode_set(addedItem, ELM_OBJECT_SELECT_MODE_NONE);
+ elm_genlist_item_show(addedItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ }
+}
+
+bool CtInputViewControl::__checkIsEmpty()
+{
+ bool isEmpty = true;
+
+ CtInputViewGenlistItem *nameItem = (CtInputViewGenlistItem*)
+ elm_object_item_data_get(__genlistItems[INPUT_BASIC_INFO]);
+ CtInputViewGenlistItem *numberItem = (CtInputViewGenlistItem*)
+ elm_object_item_data_get(__genlistItems[INPUT_NUMBER]);
+
+ if (nameItem) {
+ isEmpty = nameItem->getIsEmpty();
+ }
+
+ if (numberItem) {
+ isEmpty = isEmpty && numberItem->getIsEmpty();
+ }
+
+ return isEmpty;
+}
+
+bool CtInputViewControl::__checkIsChanged()
+{
+ Elm_Object_Item *item = __genlistItems[INPUT_BASIC_INFO];
+ bool changed = false;
+
+ if (__changed) return __changed;
+ while (item) {
+ if (item == __genlistItems[INPUT_IMPORTANT_FIELDS]) {
+ break;
+ }
+
+ CtInputViewGenlistItem *viewItem = (CtInputViewGenlistItem *)elm_object_item_data_get(item);
+ if (viewItem) {
+ WDEBUG("viewItem->getIsChanged() = %d", viewItem->getIsChanged());
+ if (true == viewItem->getIsChanged()) {
+ changed = true;
+ break;
+ }
+ }
+ item = elm_genlist_item_next_get(item);
+ }
+ return changed;
+}
+
+void CtInputViewControl::__updateSaveBtn()
+{
+ WHIT();
+ Eina_Bool empty = __checkIsEmpty();
+ __view->updateSaveBtn(empty);
+}
+
+void CtInputViewControl::__itemChanged()
+{
+ __updateSaveBtn();
+}
+
+void CtInputViewControl::__basicInfoItemDeleted( int deletedInfo)
+{
+ CtInputViewBasicInfoItem::ITEM_DELETED info = (CtInputViewBasicInfoItem::ITEM_DELETED)deletedInfo;
+
+ CtInputViewBasicInfoItem* basicInfoItem = (CtInputViewBasicInfoItem*)elm_object_item_data_get(__genlistItems[INPUT_BASIC_INFO]);
+ WPRET_M(NULL == basicInfoItem, "basicInfoItem is NULL");
+
+ switch( info )
+ {
+ case CtInputViewBasicInfoItem::PHONETIC_NAME_DELETED:
+ if( basicInfoItem->getPhoneticNameIsChanged()
+ || __inputData->getPhoneticFirstName()
+ || __inputData->getPhoneticMiddleName()
+ || __inputData->getPhoneticLastName()) {
+ __changed = true;
+ }
+
+ basicInfoItem->setPhoneticNameIsChanged(false);
+ basicInfoItem->setAddPhoneticName(false);
+ __inputData->setPhoneticFullName(NULL);
+ break;
+ case CtInputViewBasicInfoItem::NICKNAME_DELETED:
+ if( basicInfoItem->getNicknameIsChanged() || __inputData->getNickname())
+ __changed = true;
+
+ basicInfoItem->setNicknameIsChanged(false);
+ basicInfoItem->setAddNickname(false);
+ __inputData->setNickname(NULL);
+ break;
+ case CtInputViewBasicInfoItem::ORGANIZATION_DELETED:
+ if( (basicInfoItem->getCompanyIsChanged() || __inputData->getCompany())
+ || (basicInfoItem->getJobTitleIsChanged() || __inputData->getJobTitle()))
+ {
+ __changed = true;
+ }
+
+ basicInfoItem->setCompanyIsChanged(false);
+ basicInfoItem->setJobTitleIsChanged(false);
+ basicInfoItem->setAddOrganization(false);
+ __inputData->setCompany(NULL);
+ __inputData->setJobTitle(NULL);
+ break;
+ default:
+ WERROR("Not handled case =%d", deletedInfo);
+ break;
+ }
+
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(__genlistItems[INPUT_BASIC_INFO]);
+}
+
+void CtInputViewControl::__basicInfoItemImageClicked( Evas_Object* obj )
+{
+ WPopup* popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle( "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB");
+ popup->setContent([this](Evas_Object* parent)->Evas_Object*
+ {
+ int count = 2;
+ Elm_Genlist_Item_Class* itc1 = elm_genlist_item_class_new();
+ Elm_Genlist_Item_Class* itc2 = elm_genlist_item_class_new();
+ Elm_Genlist_Item_Class* itc3 = elm_genlist_item_class_new();
+
+ if (itc1) {
+ itc1->item_style = "type1";
+ itc1->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if(!strcmp(part, "elm.text")) {
+ return SAFE_STRDUP(V_("IDS_PB_OPT_FROM_GALLERY_ABB2"));
+ }
+ return NULL;
+ };
+ }
+
+ if (itc2) {
+ itc2->item_style = "type1";
+ itc2->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if(!strcmp(part, "elm.text")) {
+ return SAFE_STRDUP(V_("IDS_PB_OPT_TAKE_PICTURE_ABB"));
+ }
+ return NULL;
+ };
+ }
+
+ if (itc3) {
+ itc3->item_style = "type1";
+ itc3->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if(!strcmp(part, "elm.text")) {
+ CtInputViewControl *control = (CtInputViewControl*)data;
+ if(control->__inputData->getImagePath())
+ return SAFE_STRDUP(V_("IDS_PB_OPT_REMOVE"));
+ else
+ return NULL;
+
+ }
+ return NULL;
+ };
+ }
+
+ Evas_Object* genlist = elm_genlist_add(parent);
+ elm_object_style_set( genlist, "popup" );
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_genlist_mode_set( genlist, ELM_LIST_COMPRESS );
+ elm_scroller_content_min_limit( genlist, EINA_FALSE, EINA_TRUE ); // Automatically pop-up height is calculated
+ elm_object_content_set(parent, genlist);
+
+ elm_genlist_item_append(genlist, itc1, this, NULL, ELM_GENLIST_ITEM_NONE, __onGallerySelCb, this);
+ elm_genlist_item_append(genlist, itc2, this, NULL, ELM_GENLIST_ITEM_NONE, __onCameraSelCb, this);
+
+ if(__inputData->getImagePath()) {
+ elm_genlist_item_append(genlist, itc3, this, NULL, ELM_GENLIST_ITEM_NONE, __onRemoveSelCb, this);
+ count++;
+ }
+
+ evas_object_show(genlist);
+ elm_genlist_item_class_free(itc1);
+ elm_genlist_item_class_free(itc2);
+ elm_genlist_item_class_free(itc3);
+
+ return genlist;
+
+ });
+ // Make a parent as window. Issue: when IME is displayed, the pop-up is displayed at the moment upper side of IME keyboard, if its parent is not window.2014.11.05
+ popup->create(__view->getWindow()->getEvasObj(), NULL );
+
+ attachPopup( popup );
+}
+
+void CtInputViewControl::__activateNextEntry( Evas_Object* obj, Elm_Object_Item* item ) // activatedCb
+{
+ WHIT();
+ WPRET_M(NULL == obj, "obj is NULL");
+ WPRET_M(NULL == item, "item is NULL");
+ Elm_Object_Item* nextItem = elm_genlist_item_next_get(item);
+ bool focused = false;
+ Evas_Object* entry = obj;
+ while (nextItem) {
+ if (nextItem == __genlistItems[INPUT_IMPORTANT_FIELDS]) {
+ break;
+ }
+
+ CtInputViewGenlistItem *viewItem = (CtInputViewGenlistItem *)elm_object_item_data_get(nextItem);
+ if (viewItem) {
+ entry = viewItem->getEntry();
+ if (entry) {
+ elm_object_focus_set(entry, EINA_TRUE);
+ focused = true;
+ break;
+ }
+ }
+ nextItem = elm_genlist_item_next_get(nextItem);
+ }
+ // don't have next entry, close IME
+ elm_object_focus_set(entry, focused);
+}
+
+void CtInputViewControl::basicInfoItemShowCreateKeypad( Evas_Object* obj)
+{
+ WHIT();
+ if (__inputData->getContactId() == 0 && __nameEntry) {
+ elm_object_focus_set(__nameEntry, EINA_TRUE);
+ elm_entry_cursor_end_set(__nameEntry);
+ }
+}
+
+void CtInputViewControl::__basicInfoUpdateImage()
+{
+ WHIT();
+
+ elm_genlist_item_fields_update(__genlistItems[INPUT_BASIC_INFO], "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ return;
+}
+
+Elm_Object_Item* CtInputViewControl::__getLastItem(Elm_Object_Item* deleteItem)
+{
+ Elm_Object_Item* item = NULL;
+ Elm_Object_Item* lastItem = NULL;
+ Elm_Object_Item* retItem = NULL;
+ int count = 0;
+
+ item = elm_genlist_first_item_get( getEvasObj());
+ while (item) {
+ if( elm_genlist_item_item_class_get( deleteItem ) == elm_genlist_item_item_class_get(item)) {
+ lastItem = item;
+ count++;
+ }
+ item = elm_genlist_item_next_get(item);
+ }
+
+ if( lastItem == deleteItem ) {
+ if (1 == count) {
+ retItem = NULL;
+ }
+ else { // must > 1
+ retItem = elm_genlist_item_prev_get(lastItem);
+ }
+ }
+ else {
+ retItem = lastItem;
+ }
+
+ return retItem;
+}
+
+
+void CtInputViewControl::__numberItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ __genlistItems[INPUT_NUMBER] = __getLastItem(deleteItem);
+
+ if( isChanged || __inputData->getNumberNumber(record)) {
+ CtInputViewGenlistItem *viewItem = (CtInputViewGenlistItem *)elm_object_item_data_get(deleteItem);
+ if (viewItem) {
+ __changed = true;
+ }
+ }
+
+ __inputData->removeNumber(record);
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(deleteItem);
+}
+
+void CtInputViewControl::__emailItemDeleted( Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ __genlistItems[INPUT_EMAIL] = __getLastItem(deleteItem);
+
+ if( isChanged || __inputData->getEmailEmail( record ) ) {
+ __changed = true;
+ }
+ __inputData->removeEmail( record );
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(deleteItem);
+}
+
+void CtInputViewControl::__addressItemDeleted( Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ __genlistItems[INPUT_ADDRESS] = __getLastItem(deleteItem);
+
+ char address[CT_TEXT_MAX_LEN] = {0,};
+ __inputData->getAddressAddress( record, address, sizeof(address));
+ if( isChanged || address[0] != '\0') {
+ __changed = true;
+ }
+
+ __inputData->removeAddress(record);
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(deleteItem);
+}
+
+void CtInputViewControl::__websiteItemDeleted( Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ __genlistItems[INPUT_URL] = __getLastItem(deleteItem);
+
+ if( isChanged || __inputData->getWebsiteWebsite( record )) {
+ __changed = true;
+ }
+
+ __inputData->removeWebsite(record);
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(deleteItem);
+}
+
+void CtInputViewControl::__messengerItemDeleted( Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ __genlistItems[INPUT_MESSENGER] = __getLastItem(deleteItem);
+
+ if ( isChanged || __inputData->getMessengerMessenger( record)) {
+ __changed = true;
+ }
+
+ __inputData->removeMessenger(record);
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(deleteItem);
+}
+
+void CtInputViewControl::__relationItemDeleted( Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ __genlistItems[INPUT_RELATIONSHIP] = __getLastItem(deleteItem);
+
+ if (isChanged || __inputData->getRelationshipRelationship(record)) {
+ __changed = true;
+ }
+
+ __inputData->removeRelationship(record);
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(deleteItem);
+}
+
+void CtInputViewControl::__eventItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ __genlistItems[INPUT_EVENT] = __getLastItem(deleteItem);
+
+ if (isChanged || __inputData->getEventEvent(record)) {
+ __changed = true;
+ }
+
+ __inputData->removeEvent(record);
+ __updateSaveBtn();
+}
+
+void CtInputViewControl::__noteItemDeleted( Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ Evas_Object *noteBtn = elm_object_item_part_content_get(__genlistItems[INPUT_IMPORTANT_FIELDS], "elm.icon.3");
+ elm_object_disabled_set(noteBtn, EINA_FALSE);
+
+ if( isChanged || __inputData->getNote(record)) {
+ __changed = true;
+ }
+
+ __inputData->removeNote( record );
+ __genlistItems[INPUT_NOTE] = NULL;
+ __updateNoteBtn(false);
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(deleteItem);
+}
+
+void CtInputViewControl::__onGallerySelCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WPRET_M(NULL == data, "data is NULL");
+ CtInputViewControl *control = (CtInputViewControl*)data;
+
+ control->__launchGallery(control);
+
+ control->destroyPopup();
+}
+
+void CtInputViewControl::__onCameraSelCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WPRET_M(NULL == data, "data is NULL");
+ CtInputViewControl *control = (CtInputViewControl*)data;
+
+ control->__launchCamera(control);
+
+ control->destroyPopup();
+}
+
+void CtInputViewControl::__onRemoveSelCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M(NULL == data, "data is NULL");
+ CtInputViewControl *control = (CtInputViewControl*)data;
+ control->destroyPopup();
+
+ control->__inputData->removeImage(control->__inputData->getImageRecord());
+ control->__basicInfoUpdateImage();
+}
+
+void CtInputViewControl::__galleryReplyCb(app_control_h request, app_control_h reply, app_control_result_e result, void *data)
+{
+ WHIT();
+ char **pathArray = NULL;
+ char *path = NULL;
+ int arrayLength = 0;
+ CtInputViewControl *control = (CtInputViewControl*)data;
+ int i=0;
+
+ app_control_get_extra_data_array(reply, APP_CONTROL_DATA_SELECTED, &pathArray, &arrayLength);
+ if (arrayLength > 0 && pathArray[0]) {
+ path = strdup(pathArray[0]);
+ }
+ for(i = 0; i < arrayLength; i++) {
+ free(pathArray[i]);
+ }
+ free(pathArray);
+
+
+ elm_object_tree_focus_allow_set(control->__view->getNaviframeEvasObj(), EINA_TRUE);
+
+ if (path) {
+ WDEBUG("image path %s", path);
+ contacts_record_h record = control->__inputData->getImageRecord();
+// control->__inputData->setImage(record, path, CONTACTS_IMAGE_TYPE_EX_OTHER);
+ control->__inputData->setImage(record, path, CONTACTS_IMAGE_TYPE_OTHER);
+ control->__basicInfoUpdateImage();
+ free(path);
+ }
+// else {
+// elm_object_focus_set(cinput_d->image_focus_btn, EINA_TRUE);
+// }
+}
+
+void CtInputViewControl::__launchGallery(CtInputViewControl *control)
+{
+ WHIT();
+
+ app_control_h service = NULL;
+ int ret = 0;
+
+ elm_object_tree_focus_allow_set(control->__view->getNaviframeEvasObj(), EINA_FALSE);
+
+ ret = app_control_create(&service);
+ WPWARN(APP_CONTROL_ERROR_NONE != ret, "app_control_create() Failed(%d)", ret);
+
+ app_control_set_operation(service, APP_CONTROL_OPERATION_PICK);
+ app_control_set_app_id(service, GALLERY_UG);
+ app_control_add_extra_data(service, "hide-personal", "true");
+ app_control_add_extra_data(service, "launch-type", "select-setas");
+ app_control_add_extra_data(service, "setas-type", "callerid");
+ app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+
+ app_control_add_extra_data(service, "View Mode", "SETAS");
+ app_control_add_extra_data(service, "Setas type", "CallerID");
+ app_control_add_extra_data(service, "Area Size", "100");
+ app_control_add_extra_data(service, "Resolution", "480x480");
+
+
+ if( false == ContactsAppControlLauncher::getInstance().sendLaunchRequest( service, __galleryReplyCb, control, control->__view->getNaviframeEvasObj()) )
+ {
+ WERROR("phct_common_service_send_launch_request() Failed");
+ elm_object_tree_focus_allow_set(control->__view->getNaviframeEvasObj(), EINA_TRUE);
+ }
+// ret = ctCommonServiceSendLaunchRequest(view->__getNaviframeEvasObj(), service, __galleryReplyCb, view);
+// if (APP_CONTROL_ERROR_NONE != ret) {
+// WERROR("phct_common_service_send_launch_request() Failed(%d)", ret);
+// elm_object_tree_focus_allow_set(view->__getNaviframeEvasObj(), EINA_TRUE);
+// }
+//
+// ctCommonResetAppservice(view->__getNaviframeEvasObj(), service);
+}
+
+void CtInputViewControl::__cameraReplyCb(app_control_h request, app_control_h reply, app_control_result_e result, void *data)
+{
+ WHIT();
+ char *path = NULL;
+ CtInputViewControl *control = (CtInputViewControl*)data;
+
+ elm_object_tree_focus_allow_set(control->__view->getNaviframeEvasObj(), EINA_TRUE);
+
+ app_control_get_extra_data(reply, APP_CONTROL_DATA_SELECTED, &path);
+ if (path && *path) {
+ contacts_record_h record = control->__inputData->getImageRecord();
+ control->__inputData->setImage(record, path, CONTACTS_IMAGE_TYPE_OTHER);
+ control->__basicInfoUpdateImage();
+ }
+ free(path);
+}
+
+void CtInputViewControl::__launchCamera(CtInputViewControl *control)
+{
+ app_control_h service;
+ app_control_create(&service);
+ app_control_set_operation(service, APP_CONTROL_OPERATION_CREATE_CONTENT);
+ app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+ app_control_set_mime(service, "image/jpg");
+ app_control_add_extra_data(service, "CALLER", "contacts");
+
+ bool ret = ContactsAppControlLauncher::getInstance().sendLaunchRequest( service, __cameraReplyCb, control, control->__view->getNaviframeEvasObj() );
+ if( !ret )
+ {
+ WERROR("launch Failed");
+ }
+// ctCommonServiceSendLaunchRequest(view->__getNaviframeEvasObj(), service, __cameraReplyCb, view);
+// ctCommonResetAppservice(view->__getNaviframeEvasObj(), service);
+}
+
+void CtInputViewControl::__updateEntryReturnKeyType(Elm_Object_Item* deleteItem)
+{
+ WENTER();
+ Elm_Object_Item *item = __genlistItems[INPUT_BASIC_INFO];
+ Evas_Object* entry = NULL;
+ Evas_Object* box = NULL;
+ Eina_List* list = NULL;
+ Eina_List* cursor = NULL;
+ void *tmp = NULL;
+ Evas_Object* layout = NULL;
+
+ while (item) {
+ if (item == __genlistItems[INPUT_IMPORTANT_FIELDS]) {
+ break;
+ }
+
+ if (item == deleteItem) {
+ item = elm_genlist_item_next_get(item);
+ continue;
+ }
+
+ if (item == __genlistItems[INPUT_BASIC_INFO]) {
+ box = elm_object_item_part_content_get(item, "elm.icon.1");
+ if (box) {
+ list = elm_box_children_get(box);
+ EINA_LIST_FOREACH(list, cursor, tmp) {
+ layout = (Evas_Object*)tmp;
+ if (layout) {
+ entry = elm_object_part_content_get(layout, "elm.icon.1");
+ if (entry && elm_entry_single_line_get(entry)) {
+ elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_NEXT);
+ }
+ }
+ }
+ }
+ }
+ else {
+ CtInputViewGenlistItem *viewItem = (CtInputViewGenlistItem *)elm_object_item_data_get(item);
+ if (viewItem) {
+ entry = viewItem->getEntry();
+
+ if (entry && elm_entry_single_line_get(entry)) {
+ elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_NEXT);
+ }
+ }
+ }
+ item = elm_genlist_item_next_get(item);
+ }
+
+ if (entry && elm_entry_single_line_get(entry)) {
+ elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE);
+ }
+
+ WLEAVE();
+}
+
+void CtInputViewControl::__setEntryUnfocus()
+{
+ Elm_Object_Item *item = __genlistItems[INPUT_BASIC_INFO];
+ bool find = false;
+ Evas_Object* entry = NULL;
+ Evas_Object* box = NULL;
+ Eina_List* list = NULL;
+ Eina_List* cursor = NULL;
+ void *tmp = NULL;
+ Evas_Object* layout = NULL;
+
+ while (item) {
+ if (item == __genlistItems[INPUT_IMPORTANT_FIELDS]) {
+ break;
+ }
+
+ if (item == __genlistItems[INPUT_BASIC_INFO]) {
+ box = elm_object_item_part_content_get(item, "elm.icon.1");
+ if (box) {
+ list = elm_box_children_get(box);
+ EINA_LIST_FOREACH(list, cursor, tmp) {
+ layout = (Evas_Object*)tmp;
+ if (layout) {
+ entry = elm_object_part_content_get(layout, "elm.icon.1");
+ if (entry && elm_object_focus_get(entry)) {
+ elm_object_focus_set(entry, EINA_FALSE);
+ find = true;
+ break;
+ }
+ }
+ }
+ }
+ }
+ else {
+ if (true == find) {
+ break;
+ }
+
+ CtInputViewGenlistItem *viewItem = (CtInputViewGenlistItem *)elm_object_item_data_get(item);
+ if (viewItem) {
+ entry = viewItem->getEntry();
+
+ if (entry && elm_object_focus_get(entry)) {
+ elm_object_focus_set(entry, EINA_FALSE);
+ break;
+ }
+ }
+ }
+ item = elm_genlist_item_next_get(item);
+ }
+}
+
+void CtInputViewControl::__updateBasicInfoItem()
+{
+ WHIT();
+ if(__genlistItems[INPUT_BASIC_INFO]) {
+ elm_object_item_signal_emit(__genlistItems[INPUT_BASIC_INFO], "image,enable", "");
+ }
+}
+
+void CtInputViewControl::__resetTheme()
+{
+ WHIT();
+ // if launch ct-list ug to select relationship, when destroy ug, the CtThemeMgr instance will be deleted
+ // so need to recreate the CtThemeMgr instance
+ if (__needResetTheme) {
+ __view->resetTheme();
+ __needResetTheme = false;
+ }
+}
+
+void CtInputViewControl::__createEventDataPopup()
+{
+ WHIT();
+ WPopup* popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle("IDS_ST_BODY_SET_DATE");
+ popup->addButton("IDS_PB_BUTTON_CANCEL", NULL);
+ popup->addButton("IDS_PB_SK_SET", [popup, this](bool* destroyPopup) {
+ struct tm time1 = {};
+ time_t t;
+ t = time(NULL);
+ localtime_r(&t, &time1);
+
+ int year = 0;
+ int month = 0;
+ int day = 0;
+ Evas_Object *datetimePickerBg = elm_object_content_get(popup->getEvasObj());
+ Evas_Object *dateTime = elm_object_part_content_get(datetimePickerBg, "elm.swallow.content");
+ elm_datetime_value_get(dateTime, &time1);
+ year = time1.tm_year + 1900;
+ month = time1.tm_mon + 1;
+ day = time1.tm_mday;
+
+ __appendEventItem(year, month, day);
+
+ *destroyPopup = true;
+ });
+ popup->setOnMoreProperties([this](Evas_Object* popupObj ) {
+ struct tm time1 = {};
+ time_t t;
+ t = time(NULL);
+ localtime_r(&t, &time1);
+
+ Evas_Object* dateTime = elm_datetime_add(popupObj);
+ elm_datetime_format_set(dateTime, DATE_TIME_FORMAT);
+ elm_datetime_value_set(dateTime, &time1);
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ Evas_Object* datetimePickerBg = elm_layout_add(popupObj);
+ evas_object_size_hint_weight_set(datetimePickerBg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ CtThemeMgr::getInstance()->setObjectTheme(datetimePickerBg);
+ elm_layout_file_set(datetimePickerBg, contactsEdjePath.c_str(), "datetimePickerBg");
+ elm_object_part_content_set(datetimePickerBg, "elm.swallow.content", dateTime);
+ evas_object_show(datetimePickerBg);
+
+ elm_object_content_set(popupObj, datetimePickerBg);
+ });
+
+ attachPopup( popup );
+}
+
+void CtInputViewControl::__appendEventItem(int year, int month, int day)
+{
+ WHIT();
+ contacts_record_h record = NULL;
+ CtInputItems checkExistItem = INPUT_BASIC_INFO;
+
+ record = __inputData->addEvent(year * 10000 + month * 100 + day);
+
+ if (__genlistItems[INPUT_EVENT]) {
+ checkExistItem = INPUT_EVENT;
+ }
+ else if (__genlistItems[INPUT_ADDRESS]) {
+ checkExistItem = INPUT_ADDRESS;
+ }
+ else if (__genlistItems[INPUT_NOTE]) {
+ checkExistItem = INPUT_NOTE;
+ }
+ else if (__genlistItems[INPUT_EMAIL]) {
+ checkExistItem = INPUT_EMAIL;
+ }
+ else if (__genlistItems[INPUT_NUMBER]) {
+ checkExistItem = INPUT_NUMBER;
+ }
+ else {
+ checkExistItem = INPUT_BASIC_INFO;
+ }
+ WDEBUG("INPUT_EVENT item is after %d item", checkExistItem);
+
+ if (!*__birthdayEventExist) {
+ if(__inputData->getEventType(record) == CONTACTS_EVENT_TYPE_BIRTH) {
+ *__birthdayEventExist = true;
+ }
+ }
+
+ CtInputViewEventItem *item = new CtInputViewEventItem(__view, __inputData, record, NULL, __birthdayEventExist,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* item, bool isChanged, contacts_record_h record){ __eventItemDeleted( item, isChanged, record ); } );
+ Elm_Object_Item* genItem = elm_genlist_item_insert_after(getEvasObj(), item->getItemClassStatic(), item, NULL, __genlistItems[checkExistItem], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[INPUT_EVENT] = genItem;
+ elm_genlist_item_show(genItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+}
+
+void CtInputViewControl::__onSipUpCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M(NULL == data, "data is NULL");
+ CtInputViewControl* control = (CtInputViewControl*) data;
+ control->__sipIsShown = true;
+}
+
+void CtInputViewControl::__onSipDownCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M(NULL == data, "data is NULL");
+ CtInputViewControl* control = (CtInputViewControl*) data;
+ control->__sipIsShown = false;
+ if (control->__needShowMorePopup) {
+ control->__needShowMorePopup = false;
+ control->__showMorePopup();
+ }
+}
+
+void CtInputViewControl::__showMorePopup()
+{
+ WHIT();
+ WPopup* popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle("IDS_PB_OPT_ADD_FIELD");
+ popup->setContent([this](Evas_Object* parent)->Evas_Object*
+ {
+ Elm_Object_Item *genItem = NULL;
+
+ Evas_Object* genlist = elm_genlist_add(parent);
+ elm_object_style_set( genlist, "popup" );
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_genlist_mode_set( genlist, ELM_LIST_COMPRESS );
+ elm_scroller_content_min_limit( genlist, EINA_FALSE, EINA_TRUE ); // Automatically pop-up height is calculated
+
+ CtInputViewBasicInfoItem* basicInfoItem = (CtInputViewBasicInfoItem*)elm_object_item_data_get(__genlistItems[INPUT_BASIC_INFO]);
+ WPRET_VM(NULL == basicInfoItem, NULL, "basicInfoItem is NULL");
+
+ for (int i = INPUT_IMPORTANT_ADDRESS; i < INPUT_IMPORTANT_MAX; i++) {
+ //WDEBUG("item %d", i);
+ if (i == INPUT_IMPORTANT_PHONETIC_INFO) {
+ if (basicInfoItem->getAddPhoneticName()) {
+ continue;
+ }
+ } else if (i == INPUT_IMPORTANT_NICKNAME) {
+ if (basicInfoItem->getAddNickname()) {
+ continue;
+ }
+ } else if (i == INPUT_IMPORTANT_ORGANIZATION) {
+ if (basicInfoItem->getAddOrganization()) {
+ continue;
+ }
+ }
+
+ CtInputViewImportantSubItem *item = new CtInputViewImportantSubItem(i, false);
+ genItem = elm_genlist_item_append( genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, __importantSubitemSelectedCb, this);
+ item->setElmObjectItem( genItem );
+ }
+
+ elm_object_content_set(parent, genlist);
+ evas_object_show(genlist);
+
+ return genlist;
+ });
+
+ attachPopup( popup );
+}
diff --git a/lib-contact/ct-detail/src/CtInputViewControl.h b/lib-contact/ct-detail/src/CtInputViewControl.h
new file mode 100755
index 0000000..dddb0d5
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewControl.h
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_CONTROL_H_
+#define _CT_INPUT_VIEW_CONTROL_H_
+
+#include <Elementary.h>
+
+#include <contacts.h>
+#include <system_settings.h>
+
+#include "WNaviframe.h"
+#include "WPopup.h"
+
+#include "ContactsCommon.h"
+
+#include "ICtChangeListener.h"
+#include "CtType.h"
+#include "CtView.h"
+#include "CtData.h"
+
+
+class CtInputData;
+class CtInputView;
+
+class CtInputViewControl: public WControl
+{
+public:
+ CtInputViewControl( std::shared_ptr<CtData>& inputData, CtInputView* view );
+
+public:
+ int getAddedIndex() { return __addedIndex; }
+
+ bool getIsCreate();
+ bool getIsEmpty();
+ bool getIsChanged();
+ void updateNumberSaveBtn(Eina_Bool isEmpty);
+ void setIsDestroy(bool isDestroy);
+ Evas_Object* getViewEvasObj();
+ Evas_Object* getNaviframeEvasObj();
+
+ void showTopItem();
+ void basicInfoItemShowCreateKeypad( Evas_Object* obj);
+
+protected:
+ virtual Evas_Object* onCreate(Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+
+private:
+ void __initialize();
+ void __addAllItems(Evas_Object* genlist);
+ static void __genlistRealizedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __genlistUnrealizedCb(void *data, Evas_Object *obj, void *event_info);
+
+
+ static void __importantSubitemSelectedCb(void* data, Evas_Object* obj, void* event_info);
+ void __addNumberClickedCb();
+ void __addEmailClickedCb();
+ void __addNoteClickedCb();
+ void __addMoreClickedCb();
+
+ static void __onGallerySelCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onCameraSelCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onRemoveSelCb(void *data, Evas_Object *obj, void *event_info);
+ static void __galleryReplyCb(app_control_h request, app_control_h reply, app_control_result_e result, void *data);
+ static void __launchGallery(CtInputViewControl *control);
+ static void __cameraReplyCb(app_control_h request, app_control_h reply, app_control_result_e result, void *data);
+ static void __launchCamera(CtInputViewControl *control);
+
+ void __numberItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __emailItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __messengerItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __addressItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __websiteItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __relationItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __eventItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+ void __noteItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record);
+
+ bool __checkIsChanged();
+ bool __checkIsEmpty();
+ void __updateSaveBtn();
+ void __updateNoteBtn(bool isNoteInput);
+
+ void __itemChanged();
+ void __basicInfoItemImageClicked(Evas_Object* obj);
+ void __basicInfoItemDeleted( int deletedInfo);
+ void __activateNextEntry(Evas_Object* obj, Elm_Object_Item* item);
+ void __basicInfoExpandClickedCb();
+ void __basicInfoUpdateImage();
+ Elm_Object_Item* __getLastItem(Elm_Object_Item* deleteItem);
+ void __updateEntryReturnKeyType(Elm_Object_Item* deleteItem);
+ void __setEntryUnfocus();
+
+ static void __regionFormatChangedCb(system_settings_key_e key, void *data);
+ void __updateBasicInfoItem();
+ void __resetTheme();
+ void __createEventDataPopup();
+ void __appendEventItem(int year, int month, int day);
+ static void __onSipUpCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onSipDownCb(void *data, Evas_Object *obj, void *event_info);
+ void __showMorePopup();
+
+private:
+ CtInputViewControl();
+ virtual ~CtInputViewControl();
+
+private:
+
+ typedef enum {
+ INPUT_BASIC_INFO = 0,
+ INPUT_NUMBER,
+ INPUT_EMAIL,
+ INPUT_NOTE,
+ INPUT_ADDRESS,
+
+ INPUT_EVENT,
+ INPUT_RELATIONSHIP,
+ INPUT_URL,
+ INPUT_MESSENGER,
+
+ INPUT_IMPORTANT_FIELDS,
+ INPUT_IMPORTANT_SUBITEM,
+ INPUT_ITEMS_MAX,
+ }CtInputItems;
+
+ typedef enum {
+ INPUT_IMPORTANT_NONE = 0,
+ INPUT_IMPORTANT_ADDRESS,
+ INPUT_IMPORTANT_EVENT,
+ INPUT_IMPORTANT_NICKNAME,
+ INPUT_IMPORTANT_RELATIONSHIP,
+ INPUT_IMPORTANT_ORGANIZATION,
+ INPUT_IMPORTANT_URL,
+ INPUT_IMPORTANT_MESSENGER,
+ INPUT_IMPORTANT_PHONETIC_INFO,
+ INPUT_IMPORTANT_MAX,
+ }CtInputSubItems;
+
+ Evas_Object *__nameEntry;
+ Evas_Object* __genlist;
+ Evas_Object* __conformant;
+
+ bool __changed;
+ bool __isDestroy;
+ bool __needResetTheme;
+ bool __needShowMorePopup;
+ bool __sipIsShown;
+
+ int __addedIndex;
+
+ Elm_Object_Item *__genlistItems[INPUT_ITEMS_MAX];
+
+ //
+ std::shared_ptr<bool> __birthdayEventExist;
+
+ std::shared_ptr<CtData> __inputData;
+ CtInputView* __view;
+
+ Ecore_Timer* __keypadTimer;
+};
+
+#endif /* _CT_INPUT_VIEW_H_ */
diff --git a/lib-contact/ct-detail/src/CtInputViewEmailItem.h b/lib-contact/ct-detail/src/CtInputViewEmailItem.h
new file mode 100644
index 0000000..1b914c8
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewEmailItem.h
@@ -0,0 +1,182 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_EMAIL_ITEM_H_
+#define _CT_INPUT_VIEW_EMAIL_ITEM_H_
+
+#include "CtInputViewGenlistItem.h"
+#include "CtDetailDataBase.h"
+#include "CtInputDataTypeCtxPopup.h"
+#include "CtInputDataTypeCustomPopup.h"
+#include "CtData.h"
+#include "CtString.h"
+
+class CtInputViewEmailItem : public CtInputViewGenlistItem
+{
+public:
+ CtInputViewEmailItem( std::shared_ptr<CtData>& inputData, contacts_record_h record, const char* oldVal, int addedIndex,
+ const std::function<void ()>& itemChangedCb,
+ const std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )>& itemDeletedCb,
+ const std::function<void (Evas_Object*, Elm_Object_Item* )>& activateNextEntryCb) : CtInputViewGenlistItem(oldVal)
+ {
+ __inputData = inputData; __record = record; __addedIndex = addedIndex;
+ __itemChangedCb = itemChangedCb; __itemDeletedCb = itemDeletedCb; __activateNextEntryCb = activateNextEntryCb;
+ };
+ virtual ~CtInputViewEmailItem() {WHIT();}
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassStatic() {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "input.3icon";
+ itc.func.content_get = __getContentEmail;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+ virtual const char* getEntryObjPartName()
+ {
+ return "elm.icon.entry";
+ }
+
+private:
+ static Evas_Object* __getContentEmail(void *data, Evas_Object *obj, const char *part)
+ {
+ WHIT();
+ CtInputViewEmailItem *item = (CtInputViewEmailItem*)data;
+ //
+ if (0 == strcmp(part, "elm.icon.entry"))
+ {
+ WEditfield *editfield = item->createEditField(obj, V_("IDS_PB_BUTTON_EMAIL_ABB3"), false);
+ Evas_Object *entry = editfield->getEntry();
+
+ elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_EMAIL);
+
+ evas_object_smart_callback_add(entry, "changed", __emailChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __emailChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+ if (INPUT_ADDED_ITEM_INDEX_EMAIL == item->__addedIndex ) {
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_SHOW, __entryShowCb, NULL);
+ }
+
+ const char *email = item->__inputData->getEmailEmail( item->__record );
+ setEntryText(entry, email);
+ return editfield->getEvasObj();
+ }
+ else if (0 == strcmp(part, "elm.icon.2")) {
+ Evas_Object *btn_minus = elm_button_add(obj);
+ elm_object_style_set(btn_minus, "icon_expand_delete");
+ evas_object_smart_callback_add(btn_minus, "clicked", __emailDeleteCb, item);
+
+ return btn_minus;
+ }
+ else if (0 == strcmp(part, "elm.icon.1")) {
+ Evas_Object *btn_type = elm_button_add(obj);
+ elm_object_style_set(btn_type, "custom_dropdown");
+ evas_object_show(btn_type);
+
+ int emailType = item->__inputData->getEmailType( item->__record);
+ std::string typeStr;
+ item->__inputData->getEmailTypeStr( item->__record, emailType, typeStr);
+ elm_object_text_set(btn_type, typeStr.c_str());
+
+ evas_object_smart_callback_add(btn_type, "clicked", __dataTypeClickedCb, item);
+ return btn_type;
+ }
+
+ return NULL;
+ }
+ static void __activatedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewEmailItem* item = (CtInputViewEmailItem*)data;
+ item->__activateNextEntryCb( obj, item->getElmObjectItem() );
+ }
+ static void __entryShowCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+ {
+ WHIT();
+ elm_object_focus_set(obj, EINA_TRUE);
+ evas_object_event_callback_del(obj, EVAS_CALLBACK_SHOW, __entryShowCb);
+ }
+
+ static void __dataTypeClickedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ WHIT();
+ CtInputViewEmailItem* item = (CtInputViewEmailItem*)data;
+ //
+ std::string typeStr;
+ if( item->__inputData->getEmailType( item->__record) == CONTACTS_EMAIL_TYPE_CUSTOM)
+ {
+ item->__inputData->getEmailTypeStr( item->__record, CONTACTS_EMAIL_TYPE_CUSTOM, typeStr);
+ }
+ CtInputDataTypeCtxPopup* popup = new CtInputDataTypeCtxPopup(elm_object_item_widget_get(item->getElmObjectItem()), obj, _contacts_email._uri, typeStr.c_str());
+
+ popup->setOnSelectCb( [popup,item,obj](int type){
+ if( CONTACTS_EMAIL_TYPE_CUSTOM == type )
+ {
+ item->__showDataTypeInputPopup();
+ return;
+ }
+ item->__inputData->setEmailType( item->__record, type, NULL);
+ std::string typeStr;
+ item->__inputData->getEmailTypeStr( item->__record, type, typeStr);
+ elm_object_text_set( obj, typeStr.c_str());
+ popup->destroy();
+ });
+
+ item->attachToView( popup );
+ }
+
+ void __showDataTypeInputPopup()
+ {
+ CtInputDataTypeCustomPopup* popup = new CtInputDataTypeCustomPopup();
+ popup->setOnResultCb([this](const char* text){
+ __inputData->setEmailType( __record, CONTACTS_EMAIL_TYPE_CUSTOM, (char*)text );
+ elm_genlist_item_fields_update( getElmObjectItem(), "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ });
+ attachToView( popup );
+ }
+ static void __emailChangedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewEmailItem* item = (CtInputViewEmailItem*)data;
+ char *text = NULL;
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ item->__inputData->setEmailEmail(item->__record, text);
+ item->updateChangeState( text );
+ item->__itemChangedCb();
+ SAFE_FREE(text);
+ }
+ static void __emailDeleteCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewEmailItem* item = (CtInputViewEmailItem*)data;
+ item->updateChangeState(NULL);
+ item->__itemDeletedCb( item->getElmObjectItem(), item->getIsChanged(), item->__record );
+ elm_object_item_del( item->getElmObjectItem() );
+ }
+private:
+ CtInputViewEmailItem();
+
+ std::shared_ptr<CtData> __inputData;
+ contacts_record_h __record;
+ int __addedIndex;
+
+ std::function<void ()> __itemChangedCb;
+ std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )> __itemDeletedCb;
+ std::function<void (Evas_Object*, Elm_Object_Item*)> __activateNextEntryCb;
+
+};
+
+#endif /* _CT_INPUT_VIEW_EMAIL_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtInputViewEventItem.cpp b/lib-contact/ct-detail/src/CtInputViewEventItem.cpp
new file mode 100644
index 0000000..98ad368
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewEventItem.cpp
@@ -0,0 +1,266 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "CtCommon.h"
+#include "CtInputViewEventItem.h"
+#include "CtDetailDataBase.h"
+#include "CtInputDataTypeCtxPopup.h"
+#include "CtInputDataTypeCustomPopup.h"
+#include "CtInputView.h"
+#include "CtInputData.h"
+#include "CtString.h"
+#include "CtPath.h"
+#include "CtThemeMgr.h"
+
+#define BUTTON_COLOR_NORMAL 82, 198, 216, 255
+#define BUTTON_COLOR_PRESSED 48, 139, 153, 255
+
+#define EVENT_DATE_FORMAT "%b/%d/%Y"
+#define DATE_TIME_FORMAT "%%c"
+
+CtInputViewEventItem::CtInputViewEventItem( WView* view, std::shared_ptr<CtData>& inputData, contacts_record_h record, const char* oldVal, std::shared_ptr<bool>& birthdayExist,
+ const std::function<void ()>& itemChangedCb,
+ const std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )>& itemDeletedCb ) : CtInputViewGenlistItem(oldVal)
+{
+ __view = view;
+ __inputData = inputData; __record = record; __birthdayExist = birthdayExist;
+ __itemChangedCb = itemChangedCb; __itemDeletedCb = itemDeletedCb;
+}
+
+CtInputViewEventItem::~CtInputViewEventItem()
+{
+ WHIT();
+ __destroyPopup();
+}
+
+Elm_Genlist_Item_Class* CtInputViewEventItem::getItemClassStatic()
+{
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "input.3icon";
+ itc.func.content_get = __getContentEvent;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+}
+
+bool CtInputViewEventItem::getIsEmpty()
+{
+ return true;
+}
+
+Evas_Object* CtInputViewEventItem::__getContentEvent(void *data, Evas_Object *obj, const char *part)
+{
+ WHIT();
+ CtInputViewEventItem *item = (CtInputViewEventItem*)data;
+
+ struct tm time1 = {};
+ time_t t;
+ t = time(NULL);
+ localtime_r(&t, &time1);
+
+ if (0 == strcmp(part, "elm.icon.entry"))
+ {
+
+ Evas_Object *layout = elm_layout_add(obj);
+ elm_layout_theme_set(layout, "layout", "list/A/left.icon", "default");
+
+ Evas_Object *dateTime = elm_button_add(obj);
+ elm_object_style_set(dateTime, "custom_default");
+
+ Evas_Object *edje = elm_layout_edje_get(dateTime);
+ edje_object_color_class_set(edje, "button_normal", BUTTON_COLOR_NORMAL, 0, 0, 0, 0, 0, 0, 0, 0);
+ edje_object_color_class_set(edje, "button_pressed", BUTTON_COLOR_PRESSED, 0, 0, 0, 0, 0, 0, 0, 0);
+
+ elm_layout_content_set(layout, "elm.swallow.content", dateTime);
+ evas_object_smart_callback_add(dateTime, "clicked", __eventDateBtnClickedCb, item);
+ int date = item->__inputData->getEventEvent(item->__record);
+
+ time1.tm_year = date / 10000 - 1900;
+ time1.tm_mon = (date % 10000) / 100 - 1;
+ time1.tm_mday = date % 100;
+
+ char text_str[CT_TEXT_SHORT_LEN] = { 0 };
+ strftime(text_str, CT_TEXT_SHORT_LEN, EVENT_DATE_FORMAT, &time1);
+ elm_object_text_set(dateTime, text_str);
+ return layout;
+ }
+ else if (0 == strcmp(part, "elm.icon.2")) {
+ Evas_Object *btn_minus = elm_button_add(obj);
+ elm_object_style_set(btn_minus, "icon_expand_delete");
+ evas_object_smart_callback_add(btn_minus, "clicked", __eventDeleteCb, item);
+
+ return btn_minus;
+ }
+ else if (0 == strcmp(part, "elm.icon.1")) {
+ Evas_Object *btn_type = elm_button_add(obj);
+ elm_object_style_set(btn_type, "custom_dropdown");
+ evas_object_show(btn_type);
+
+ int eventType = item->__inputData->getEventType(item->__record);
+ std::string typeStr;
+ item->__inputData->getEventTypeStr(item->__record, eventType, typeStr);
+ elm_object_text_set(btn_type, typeStr.c_str());
+
+ evas_object_smart_callback_add(btn_type, "clicked", __dataTypeClickedCb, item);
+ return btn_type;
+ }
+
+ return NULL;
+}
+
+void CtInputViewEventItem::__eventDateBtnClickedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewEventItem *item = (CtInputViewEventItem*)data;
+
+ item->__destroyPopup();
+
+ WPopup* popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle("IDS_ST_BODY_SET_DATE");
+ popup->addButton("IDS_PB_BUTTON_CANCEL", NULL);
+ popup->addButton("IDS_PB_SK_SET", [obj, popup, item](bool* destroyPopup) {
+ struct tm time1 = {};
+ time_t t;
+ t = time(NULL);
+ localtime_r(&t, &time1);
+
+ int year = 0;
+ int month = 0;
+ int day = 0;
+ Evas_Object *datetimePickerBg = elm_object_content_get(popup->getEvasObj());
+ Evas_Object *dateTime = elm_object_part_content_get(datetimePickerBg, "elm.swallow.content");
+ elm_datetime_value_get(dateTime, &time1);
+ year = time1.tm_year + 1900;
+ month = time1.tm_mon + 1;
+ day = time1.tm_mday;
+
+ char text[CT_TEXT_SHORT_LEN] = {0};
+ snprintf(text, sizeof(text), "%d", year * 10000 + month * 100 + day);
+ char text_str[CT_TEXT_SHORT_LEN] = {0};
+ strftime(text_str, CT_TEXT_SHORT_LEN, EVENT_DATE_FORMAT, &time1);
+ item->__inputData->setEventEvent( item->__record, year * 10000 + month * 100 + day);
+ item->updateChangeState(text);
+ item->__itemChangedCb();
+ elm_object_text_set( obj, text_str);
+
+ *destroyPopup = true;
+ });
+ popup->setOnMoreProperties([obj, item](Evas_Object* popupObj ) {
+ struct tm time1 = {};
+ time_t t;
+ t = time(NULL);
+ localtime_r(&t, &time1);
+
+ int date = item->__inputData->getEventEvent(item->__record);
+
+ time1.tm_year = date / 10000 - 1900;
+ time1.tm_mon = (date % 10000) / 100 - 1;
+ time1.tm_mday = date % 100;
+
+ Evas_Object* dateTime = elm_datetime_add(popupObj);
+ elm_datetime_format_set(dateTime, DATE_TIME_FORMAT);
+ elm_datetime_value_set(dateTime, &time1);
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ Evas_Object* datetimePickerBg = elm_layout_add(popupObj);
+ evas_object_size_hint_weight_set(datetimePickerBg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ CtThemeMgr::getInstance()->setObjectTheme(datetimePickerBg);
+ elm_layout_file_set(datetimePickerBg, contactsEdjePath.c_str(), "datetimePickerBg");
+ elm_object_part_content_set(datetimePickerBg, "elm.swallow.content", dateTime);
+ evas_object_show(datetimePickerBg);
+
+ elm_object_content_set(popupObj, datetimePickerBg);} );
+
+ popup->create( item->__view->getWindow()->getBaseLayoutEvasObj(), NULL ); // Do not attach pop-up to view! It is not working, pop-up is destroyed too fast!
+
+ item->__popup = popup->getWeakPtr();
+}
+
+void CtInputViewEventItem::__destroyPopup()
+{
+ if ( auto popup = __popup.lock() ) {
+ popup->destroy();
+ }
+}
+
+void CtInputViewEventItem::__dataTypeClickedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtInputViewEventItem* item = (CtInputViewEventItem*)data;
+ std::string typeStr;
+
+ int oldType = item->__inputData->getEventType( item->__record);
+ if( oldType == CONTACTS_EVENT_TYPE_CUSTOM) {
+ item->__inputData->getEventTypeStr( item->__record, CONTACTS_EVENT_TYPE_CUSTOM, typeStr);
+ }
+
+ CtInputDataTypeCtxPopup* popup = new CtInputDataTypeCtxPopup(elm_object_item_widget_get(item->getElmObjectItem()), obj, _contacts_event._uri, typeStr.c_str());
+ if( *item->__birthdayExist && (oldType != CONTACTS_EVENT_TYPE_BIRTH) ) {
+ popup->setRemoveBirthdayType();
+ }
+
+ popup->setOnSelectCb( [popup,item,obj,oldType](int type){
+
+ if( CONTACTS_EVENT_TYPE_CUSTOM == type ) {
+ item->__showDataTypeInputPopup();
+ return;
+ }
+
+ if( type == CONTACTS_EVENT_TYPE_BIRTH ) {
+ *item->__birthdayExist = true;
+ }
+ else {
+ if( oldType == CONTACTS_EVENT_TYPE_BIRTH ) {
+ *item->__birthdayExist = false;
+ }
+ }
+
+ item->__inputData->setEventType( item->__record, type, NULL);
+ std::string typeStr;
+ item->__inputData->getEventTypeStr( item->__record, type, typeStr);
+ elm_object_text_set( obj, typeStr.c_str());
+ popup->destroy();
+ });
+
+ item->attachToView( popup );
+
+}
+
+void CtInputViewEventItem::__showDataTypeInputPopup()
+{
+ CtInputDataTypeCustomPopup* popup = new CtInputDataTypeCustomPopup();
+ popup->setOnResultCb([this](const char* text){
+ if( __inputData->getEventType( __record) == CONTACTS_EVENT_TYPE_BIRTH )
+ *__birthdayExist = false;
+
+ __inputData->setEventType( __record, CONTACTS_EVENT_TYPE_CUSTOM, (char*)text );
+ elm_genlist_item_fields_update( getElmObjectItem(), "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ });
+ attachToView(popup);
+}
+
+
+void CtInputViewEventItem::__eventDeleteCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtInputViewEventItem* item = (CtInputViewEventItem*)data;
+ if( item->__inputData->getEventType( item->__record) == CONTACTS_EVENT_TYPE_BIRTH )
+ *item->__birthdayExist = false;
+ item->__itemDeletedCb( item->getElmObjectItem(), item->getIsChanged(), item->__record );
+ elm_object_item_del( item->getElmObjectItem() );
+}
diff --git a/lib-contact/ct-detail/src/CtInputViewEventItem.h b/lib-contact/ct-detail/src/CtInputViewEventItem.h
new file mode 100644
index 0000000..fcc0a2b
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewEventItem.h
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_EVENT_ITEM_H_
+#define _CT_INPUT_VIEW_EVENT_ITEM_H_
+
+#include <memory>
+#include "CtInputViewControl.h"
+#include "CtInputViewGenlistItem.h"
+#include "CtDetailDataBase.h"
+#include "WControl.h"
+#include "CtData.h"
+
+class CtInputData;
+
+class CtInputViewEventItem : public CtInputViewGenlistItem
+{
+public:
+ CtInputViewEventItem( WView* view, std::shared_ptr<CtData>& inputData, contacts_record_h record, const char* oldVal, std::shared_ptr<bool>& birthdayExist,
+ const std::function<void ()>& itemChangedCb,
+ const std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )>& itemDeletedCb );
+ virtual ~CtInputViewEventItem();
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassStatic();
+ virtual bool getIsEmpty();
+
+private:
+ virtual void onLanguageChanged() {};
+private:
+ void __destroyPopup();
+ void __showDataTypeInputPopup();
+
+ static Evas_Object* __getContentEvent(void *data, Evas_Object *obj, const char *part);
+ static char* __eventDateFormatGet();
+ static void __eventDateBtnClickedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __dataTypeClickedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __eventDeleteCb(void *data, Evas_Object *obj, void *event_info);
+private:
+ CtInputViewEventItem();
+
+ WView* __view;
+ std::shared_ptr<CtData> __inputData;
+ contacts_record_h __record;
+ WUiObjectPtr __popup;
+ contacts_event_type_e __type;
+ std::shared_ptr<bool> __birthdayExist;
+
+ std::function<void ()> __itemChangedCb;
+ std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )> __itemDeletedCb;
+};
+
+#endif /* _CT_INPUT_VIEW_EVENT_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtInputViewGenlistItem.cpp b/lib-contact/ct-detail/src/CtInputViewGenlistItem.cpp
new file mode 100755
index 0000000..be35f19
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewGenlistItem.cpp
@@ -0,0 +1,199 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "CtInputViewGenlistItem.h"
+#include "CtDetailDataBase.h"
+#include <notification.h>
+#include "CtString.h"
+#include "WEditfield.h"
+
+
+CtInputViewGenlistItem::CtInputViewGenlistItem(const char* oldVal):
+__isChanged(false), __isEmpty(true), __notificationTimer(NULL), __entry(NULL), __focused(false)
+{
+ WHIT();
+ __oldVal = SAFE_STRDUP(oldVal);
+}
+
+CtInputViewGenlistItem::CtInputViewGenlistItem():
+__isChanged(false), __isEmpty(true), __oldVal(NULL), __notificationTimer(NULL), __entry(NULL), __focused(false)
+{
+ WHIT();
+}
+
+CtInputViewGenlistItem::~CtInputViewGenlistItem()
+{
+ WHIT();
+ SAFE_FREE(__oldVal);
+ if (__notificationTimer) {
+ ecore_timer_del(__notificationTimer);
+ }
+}
+
+void CtInputViewGenlistItem::onRealized()
+{
+ if (__entry && __focused) {
+ elm_object_focus_set(__entry, EINA_TRUE);
+ __focused = false;
+ }
+}
+
+void CtInputViewGenlistItem::onUnrealized()
+{
+}
+
+bool CtInputViewGenlistItem::getIsChanged()
+{
+ return __isChanged;
+}
+
+void CtInputViewGenlistItem::setIsChanged(bool isChanged)
+{
+ __isChanged = isChanged;
+}
+
+bool CtInputViewGenlistItem::getIsEmpty()
+{
+ return __isEmpty;
+}
+
+void CtInputViewGenlistItem::updateChangeState(const char *text)
+{
+ if (SAFE_STRLEN(text)) {
+ __isEmpty = false;
+ if( __oldVal && !strcmp(text, __oldVal) ) {
+ __isChanged = false;
+ }
+ else {
+ __isChanged = true;
+ }
+ }
+ else {
+ __isEmpty = true;
+ if( __oldVal && __oldVal[0] != '\0' ) {
+ __isChanged = true;
+ }
+ else {
+ __isChanged = false;
+ }
+ }
+}
+
+WEditfield* CtInputViewGenlistItem::createEditField(Evas_Object *parent, const char *guideText, bool multiline, bool isMainField)
+{
+ WENTER();
+ WEditfield *editfield = new WEditfield();
+ editfield->create(parent, NULL);
+
+ Evas_Object *entry = editfield->getEntry();
+
+ if (guideText && *guideText)
+ elm_object_domain_translatable_part_text_set(entry, "elm.guide", PACKAGE, guideText);
+
+ if (!multiline)
+ elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_NEXT);
+
+ Elm_Entry_Filter_Limit_Size filter;
+ if (isMainField) {
+ filter.max_char_count = CT_MAIN_NAME_EDITFIELD_MAX_CHAR;
+ }
+ else {
+ filter.max_char_count = CT_EDITFIELD_MAX_CHAR;
+ }
+ elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &filter);
+
+ elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
+ elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
+ evas_object_smart_callback_add(entry, "maxlength,reached", __editfieldTextMaxReachedCb, this);
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_NONE);
+
+ __entry = entry;
+
+ WLEAVE();
+
+ return editfield;
+}
+
+void CtInputViewGenlistItem::__editfieldTextMaxReachedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M(NULL == data, "parameter(data) is NULL");
+ CtInputViewGenlistItem *itemData = (CtInputViewGenlistItem *)data;
+
+ if (itemData->__notificationTimer) {
+ return;
+ }
+//TODO : tranlation need
+ itemData->__showTickerNotification(V_("IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"));
+ itemData->__notificationTimer = ecore_timer_add(3.5, __notificationTimerCb, itemData);
+}
+
+Eina_Bool CtInputViewGenlistItem::__notificationTimerCb(void *data)
+{
+ WHIT();
+ WPRET_VM(NULL == data, ECORE_CALLBACK_CANCEL, "parameter(data) is NULL");
+ CtInputViewGenlistItem *itemData = (CtInputViewGenlistItem *)data;
+
+ itemData->__notificationTimer = NULL;
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void CtInputViewGenlistItem::__showTickerNotification(const char *msg)
+{
+ WHIT();
+ int err = notification_status_message_post(msg);
+ WPWARN(CONTACTS_ERROR_NONE != err, "notification_status_message_post() Failed(%d)", err);
+}
+
+void CtInputViewGenlistItem::setEntryText(Evas_Object *entry, const char *text)
+{
+ WPRET_M(NULL == entry, "entry is NULL");
+ WPRET_M(NULL == text, "text is NULL");
+ char *input = NULL;
+ input = elm_entry_utf8_to_markup(text);
+ elm_entry_entry_set(entry, "");
+ if (input && *input) {
+ elm_entry_entry_insert(entry, input);
+ }
+ free(input);
+}
+
+const char* CtInputViewGenlistItem::getEntryObjPartName()
+{
+ return NULL;
+}
+
+Evas_Object* CtInputViewGenlistItem::getEntry()
+{
+ Evas_Object *entry = NULL;
+ Evas_Object *layout = elm_object_item_part_content_get(getElmObjectItem(), getEntryObjPartName());
+ if (layout) {
+ entry = elm_object_part_content_get(layout, "elm.swallow.content");
+ }
+
+ return entry;
+}
+
+void CtInputViewGenlistItem::focus()
+{
+ Evas_Object *entry = getEntry();
+ if (entry) {
+ elm_object_focus_set(entry, EINA_TRUE);
+ } else {
+ __focused = true;
+ }
+}
diff --git a/lib-contact/ct-detail/src/CtInputViewGenlistItem.h b/lib-contact/ct-detail/src/CtInputViewGenlistItem.h
new file mode 100755
index 0000000..e4cf211
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewGenlistItem.h
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_GENLIST_ITEM_H_
+#define _CT_INPUT_VIEW_GENLIST_ITEM_H_
+
+#include <list>
+#include "WEditfield.h"
+#include "WGenlistItem.h"
+#include "ContactsDebug.h"
+
+class CtInputViewGenlistItem : public WGenlistItem
+{
+public:
+ CtInputViewGenlistItem(const char* oldVal);
+ CtInputViewGenlistItem();
+ virtual ~CtInputViewGenlistItem();
+
+public:
+ virtual void onRealized();
+ virtual void onUnrealized();
+
+ virtual bool getIsChanged();
+ virtual bool getIsEmpty();
+ virtual const char* getEntryObjPartName();
+ Evas_Object* getEntry();
+ void focus();
+
+protected:
+ void setIsChanged(bool isChanged);
+ void updateChangeState( const char *text);
+ WEditfield* createEditField(Evas_Object *parent, const char *guideText, bool multiline, bool isMainField = false);
+ static void setEntryText(Evas_Object *entry, const char *text);
+private:
+ static Eina_Bool __notificationTimerCb(void *data);
+ static void __editfieldTextMaxReachedCb(void *data, Evas_Object *obj, void *event_info);
+ void __showTickerNotification(const char *msg);
+
+private:
+ bool __isChanged;
+ bool __isEmpty;
+ char* __oldVal;
+ Ecore_Timer *__notificationTimer;
+
+ Evas_Object *__entry;
+ bool __focused;
+};
+
+#endif /* _CT_INPUT_VIEW_GENLIST_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtInputViewImportantFieldsItem.h b/lib-contact/ct-detail/src/CtInputViewImportantFieldsItem.h
new file mode 100755
index 0000000..d73e80a
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewImportantFieldsItem.h
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_IMPORTANT_FIELDS_ITEM_H_
+#define _CT_INPUT_VIEW_IMPORTANT_FIELDS_ITEM_H_
+
+#include "CtInputViewGenlistItem.h"
+#include "CtDetailDataBase.h"
+#include "CtData.h"
+
+class CtInputViewImportantFieldsItem : public CtInputViewGenlistItem
+{
+public:
+ CtInputViewImportantFieldsItem(const std::function<void ()>& addNumberCb,
+ const std::function<void ()>& addEmailCb,
+ const std::function<void ()>& addNoteCb,
+ const std::function<void ()>& addMoreCb,
+ bool isNoteInput)
+ {
+ __addNumberCb = addNumberCb;
+ __addEmailCb = addEmailCb;
+ __addNoteCb = addNoteCb;
+ __addMoreCb = addMoreCb;
+ __isNoteInput = isNoteInput;
+ };
+ virtual ~CtInputViewImportantFieldsItem() { WHIT(); }
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassStatic() {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+
+ itc.item_style = "input.4icon";
+ itc.func.content_get = __getContentImportantFields;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+ virtual bool getIsEmpty()
+ {
+ return true;
+ }
+
+ void updateNoteBtn(bool isNoteInput)
+ {
+ __isNoteInput = isNoteInput;
+ Evas_Object *btn = elm_object_item_part_content_get(getElmObjectItem(), "elm.icon.3");
+ elm_object_disabled_set(btn, __isNoteInput);
+ }
+
+private:
+ static Evas_Object* __getContentImportantFields(void *data, Evas_Object *obj, const char *part)
+ {
+ CtInputViewImportantFieldsItem* item = (CtInputViewImportantFieldsItem*)data;
+ Evas_Object *btn = NULL;
+ Evas_Object *img = NULL;
+
+ btn = elm_button_add(obj);
+ elm_object_style_set(btn, "circle");
+
+ if (0 == strcmp(part, "elm.icon.1")) {
+ elm_object_text_set(btn, V_("IDS_PB_BUTTON_PHONE"));
+ evas_object_smart_callback_add(btn, "clicked", __addNumberClickedCb, item);
+
+ img = elm_image_add(btn);
+ elm_image_file_set(img, CT_IMG_ICON_INPUT_CALL, NULL);
+ elm_image_resizable_set(img, EINA_TRUE, EINA_TRUE);
+ elm_object_part_content_set(btn, "icon", img);
+ }
+ else if (0 == strcmp(part, "elm.icon.2")) {
+ elm_object_text_set(btn, V_("IDS_PB_BUTTON_EMAIL_ABB3"));
+ evas_object_smart_callback_add(btn, "clicked", __addEmailClickedCb, item);
+
+ img = elm_image_add(btn);
+ elm_image_file_set(img, CT_IMG_ICON_INPUT_EMAIL, NULL);
+ elm_image_resizable_set(img, EINA_TRUE, EINA_TRUE);
+ elm_object_part_content_set(btn, "icon", img);
+ }
+ else if (0 == strcmp(part, "elm.icon.3")) {
+ elm_object_text_set(btn, V_("IDS_PB_BUTTON_NOTES"));
+ evas_object_smart_callback_add(btn, "clicked", __addNoteClickedCb, item);
+
+ img = elm_image_add(btn);
+ elm_image_file_set(img, CT_IMG_ICON_INPUT_NOTE, NULL);
+ elm_image_resizable_set(img, EINA_TRUE, EINA_TRUE);
+ elm_object_part_content_set(btn, "icon", img);
+ elm_object_disabled_set(btn, item->__isNoteInput);
+ }
+ else if (0 == strcmp(part, "elm.icon.4")) {
+ elm_object_text_set(btn, V_("IDS_PB_BUTTON_MORE"));
+ evas_object_smart_callback_add(btn, "clicked", __addMoreClickedCb, item);
+
+ img = elm_image_add(btn);
+ elm_image_file_set(img, CT_IMG_ICON_INPUT_MORE, NULL);
+ elm_image_resizable_set(img, EINA_TRUE, EINA_TRUE);
+ elm_object_part_content_set(btn, "icon", img);
+ }
+
+ return btn;
+ }
+
+ static void __addNumberClickedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewImportantFieldsItem* item = (CtInputViewImportantFieldsItem*)data;
+ item->__addNumberCb();
+ }
+
+ static void __addEmailClickedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewImportantFieldsItem* item = (CtInputViewImportantFieldsItem*)data;
+ item->__addEmailCb();
+ }
+
+ static void __addNoteClickedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewImportantFieldsItem* item = (CtInputViewImportantFieldsItem*)data;
+ elm_object_disabled_set(obj, EINA_TRUE);
+ item->__addNoteCb();
+ }
+
+ static void __addMoreClickedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewImportantFieldsItem* item = (CtInputViewImportantFieldsItem*)data;
+ elm_object_focus_set(obj, EINA_TRUE);
+ item->__addMoreCb();
+ }
+private:
+ CtInputViewImportantFieldsItem();
+
+ std::function<void ()> __addNumberCb;
+ std::function<void ()> __addEmailCb;
+ std::function<void ()> __addNoteCb;
+ std::function<void ()> __addMoreCb;
+ bool __isNoteInput;
+};
+
+#endif /* _CT_INPUT_VIEW_IMPORTANT_FIELDS_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtInputViewImportantSubItem.h b/lib-contact/ct-detail/src/CtInputViewImportantSubItem.h
new file mode 100755
index 0000000..022c949
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewImportantSubItem.h
@@ -0,0 +1,141 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_IMPORTANT_SUB_ITEM_H_
+#define _CT_INPUT_VIEW_IMPORTANT_SUB_ITEM_H_
+
+#include "CtInputViewGenlistItem.h"
+#include "CtDetailDataBase.h"
+#include "CtInputViewControl.h"
+#include "CtData.h"
+
+class CtInputViewImportantSubItem : public CtInputViewGenlistItem
+{
+public:
+ CtInputViewImportantSubItem(int index, bool isMyProfile): __index(index), __isMyProfile(isMyProfile)
+ {
+ };
+ virtual ~CtInputViewImportantSubItem() { WHIT(); }
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassStatic() {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+
+ itc.item_style = "type1";
+ itc.func.text_get = __getTextImportantSubitem;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+ virtual bool getIsEmpty()
+ {
+ return true;
+ }
+
+ int getIndex()
+ {
+ return __index;
+ }
+
+private:
+ static char* __getTextImportantSubitem(void *data, Evas_Object *obj, const char *part)
+ {
+ //WHIT();
+ CtInputViewImportantSubItem* item = (CtInputViewImportantSubItem*)data;
+ if (0 == strcmp(part, "elm.text")) {
+ if (item->__isMyProfile) {
+ switch (item->__index) {
+ case MYPROFILE_INPUT_IMPORTANT_PHONETIC_INFO:
+ return strdup(V_("IDS_PB_BODY_PHONETIC_NAME_ABB"));
+ case MYPROFILE_INPUT_IMPORTANT_MESSENGER:
+ return strdup(V_("IDS_PB_BODY_IM"));
+ case MYPROFILE_INPUT_IMPORTANT_URL:
+ return strdup(V_("IDS_PB_BODY_WEBSITE_ABB"));
+ case MYPROFILE_INPUT_IMPORTANT_ORGANIZATION:
+ return strdup(V_("IDS_PB_OPT_ORGANISATION_ABB"));
+ case MYPROFILE_INPUT_IMPORTANT_NICKNAME:
+ return strdup(V_("IDS_PB_BODY_NICKNAME_ABB"));
+ case MYPROFILE_INPUT_IMPORTANT_EVENT:
+ return strdup(V_("IDS_PB_MBODY_EVENT"));
+ case MYPROFILE_INPUT_IMPORTANT_ADDRESS:
+ return strdup(V_("IDS_PB_BODY_ADDRESS_ABB2"));
+ default:
+ return NULL;
+ }
+ }
+ else {
+ switch (item->__index) {
+ case INPUT_IMPORTANT_PHONETIC_INFO:
+ return strdup(V_("IDS_PB_BODY_PHONETIC_NAME_ABB"));
+ case INPUT_IMPORTANT_MESSENGER:
+ return strdup(V_("IDS_PB_BODY_IM"));
+ case INPUT_IMPORTANT_URL:
+ return strdup(V_("IDS_PB_BODY_WEBSITE_ABB"));
+ case INPUT_IMPORTANT_ORGANIZATION:
+ return strdup(V_("IDS_PB_OPT_ORGANISATION_ABB"));
+ case INPUT_IMPORTANT_RELATIONSHIP:
+ return strdup(V_("IDS_PB_OPT_RELATIONSHIP_ABB2"));
+ case INPUT_IMPORTANT_NICKNAME:
+ return strdup(V_("IDS_PB_BODY_NICKNAME_ABB"));
+ case INPUT_IMPORTANT_EVENT:
+ return strdup(V_("IDS_PB_MBODY_EVENT"));
+ case INPUT_IMPORTANT_ADDRESS:
+ return strdup(V_("IDS_PB_BODY_ADDRESS_ABB2"));
+ case INPUT_IMPORTANT_ADDRBOOK:
+ return strdup(V_("IDS_PB_OPT_SAVE_CONTACT_TO"));
+ default:
+ return NULL;
+ }
+ }
+ }
+
+ return NULL;
+ }
+
+private:
+ CtInputViewImportantSubItem();
+ typedef enum {
+ MYPROFILE_INPUT_IMPORTANT_ADDRESS = 1,
+ MYPROFILE_INPUT_IMPORTANT_EVENT,
+ MYPROFILE_INPUT_IMPORTANT_NICKNAME,
+ MYPROFILE_INPUT_IMPORTANT_ORGANIZATION,
+ MYPROFILE_INPUT_IMPORTANT_URL,
+ MYPROFILE_INPUT_IMPORTANT_MESSENGER,
+ MYPROFILE_INPUT_IMPORTANT_PHONETIC_INFO,
+ MYPROFILE_INPUT_IMPORTANT_MAX,
+ }CtMyProfileInputSubItems;
+
+ typedef enum {
+ INPUT_IMPORTANT_ADDRBOOK,
+ INPUT_IMPORTANT_ADDRESS,
+ INPUT_IMPORTANT_EVENT,
+ INPUT_IMPORTANT_NICKNAME,
+ INPUT_IMPORTANT_RELATIONSHIP,
+ INPUT_IMPORTANT_ORGANIZATION,
+ INPUT_IMPORTANT_URL,
+ INPUT_IMPORTANT_MESSENGER,
+ INPUT_IMPORTANT_PHONETIC_INFO,
+ INPUT_IMPORTANT_MAX,
+
+ }CtInputSubItems;
+
+ int __index;
+ bool __isMyProfile;
+};
+
+#endif /* _CT_INPUT_VIEW_IMPORTANT_SUB_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtInputViewMessengerItem.h b/lib-contact/ct-detail/src/CtInputViewMessengerItem.h
new file mode 100644
index 0000000..5fae77b
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewMessengerItem.h
@@ -0,0 +1,184 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+#ifndef _CT_INPUT_VIEW_MESSENGER_ITEM_H_
+#define _CT_INPUT_VIEW_MESSENGER_ITEM_H_
+
+#include "CtInputViewGenlistItem.h"
+#include "CtDetailDataBase.h"
+#include "CtInputDataTypeCtxPopup.h"
+#include "CtInputDataTypeCustomPopup.h"
+#include "CtInputViewControl.h"
+#include "CtData.h"
+
+class CtInputViewMessengerItem : public CtInputViewGenlistItem
+{
+public:
+ CtInputViewMessengerItem( std::shared_ptr<CtData>& inputData, contacts_record_h record, const char* oldVal, int addedIndex,
+ const std::function<void ()>& itemChangedCb,
+ const std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )>& itemDeletedCb,
+ const std::function<void (Evas_Object*, Elm_Object_Item* )>& activateNextEntryCb ) : CtInputViewGenlistItem(oldVal)
+ {
+ __inputData = inputData; __record = record; __addedIndex = addedIndex;
+ __itemChangedCb = itemChangedCb; __itemDeletedCb = itemDeletedCb; __activateNextEntryCb = activateNextEntryCb;
+ };
+ virtual ~CtInputViewMessengerItem() {WHIT();}
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassStatic() {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "input.3icon";
+ itc.func.content_get = __getContentMessenger;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+ virtual const char* getEntryObjPartName()
+ {
+ return "elm.icon.entry";
+ }
+
+private:
+ static Evas_Object* __getContentMessenger(void *data, Evas_Object *obj, const char *part)
+ {
+ CtInputViewMessengerItem *item = (CtInputViewMessengerItem*)data;
+
+ if (0 == strcmp(part, "elm.icon.entry")) {
+ WEditfield *editfield = item->createEditField(obj, V_("IDS_PB_BODY_IM"), false);
+ Evas_Object *entry = editfield->getEntry();
+
+ elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_EMAIL);
+
+ evas_object_smart_callback_add(entry, "changed", __messengerChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __messengerChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+ if (INPUT_ADDED_ITEM_INDEX_IM == item->__addedIndex ) {
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_SHOW, __entryShowCb, NULL);
+ }
+
+ const char *address = item->__inputData->getMessengerMessenger( item->__record);
+ setEntryText(entry, address);
+ return editfield->getEvasObj();
+ }
+ else if (0 == strcmp(part, "elm.icon.2")) {
+ Evas_Object *btn_minus = elm_button_add(obj);
+ elm_object_style_set(btn_minus, "icon_expand_delete");
+ evas_object_smart_callback_add(btn_minus, "clicked", __messengerDeleteCb, item);
+
+ return btn_minus;
+ }
+ else if (0 == strcmp(part, "elm.icon.1")) {
+ Evas_Object *btn_type = elm_button_add(obj);
+ elm_object_style_set(btn_type, "custom_dropdown");
+ evas_object_show(btn_type);
+
+ int messengerType = item->__inputData->getMessengerType(item->__record);
+ std::string typeStr;
+ item->__inputData->getMessengerTypeStr( item->__record, messengerType, typeStr);
+ elm_object_text_set(btn_type, typeStr.c_str());
+
+
+ evas_object_smart_callback_add(btn_type, "clicked", __dataTypeClickedCb, item);
+ return btn_type;
+ }
+
+ return NULL;
+ }
+
+ static void __activatedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewMessengerItem* item = (CtInputViewMessengerItem*)data;
+ item->__activateNextEntryCb( obj, item->getElmObjectItem() );
+ }
+ static void __entryShowCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+ {
+ WHIT();
+ elm_object_focus_set(obj, EINA_TRUE);
+ evas_object_event_callback_del(obj, EVAS_CALLBACK_SHOW, __entryShowCb);
+ }
+
+ static void __dataTypeClickedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ WHIT();
+ CtInputViewMessengerItem* item = (CtInputViewMessengerItem*)data;
+
+ std::string typeStr;
+ if( item->__inputData->getMessengerType( item->__record) == CONTACTS_MESSENGER_TYPE_CUSTOM)
+ {
+ item->__inputData->getMessengerTypeStr( item->__record, CONTACTS_MESSENGER_TYPE_CUSTOM, typeStr);
+ }
+ CtInputDataTypeCtxPopup* popup = new CtInputDataTypeCtxPopup(elm_object_item_widget_get(item->getElmObjectItem()), obj, _contacts_messenger._uri, typeStr.c_str());
+
+ popup->setOnSelectCb( [popup,item,obj](int type){
+ if( CONTACTS_MESSENGER_TYPE_CUSTOM == type )
+ {
+ item->__showDataTypeInputPopup();
+ return;
+ }
+ item->__inputData->setMessengerType( item->__record, type, NULL);
+ std::string typeStr;
+ item->__inputData->getMessengerTypeStr( item->__record, type, typeStr);
+ elm_object_text_set( obj, typeStr.c_str());
+ popup->destroy();
+ });
+
+ item->attachToView( popup );
+ }
+
+ void __showDataTypeInputPopup()
+ {
+ CtInputDataTypeCustomPopup* popup = new CtInputDataTypeCustomPopup();
+ popup->setOnResultCb([this](const char* text){
+ __inputData->setMessengerType( __record, CONTACTS_MESSENGER_TYPE_CUSTOM, (char*)text );
+ elm_genlist_item_fields_update( getElmObjectItem(), "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ });
+ attachToView( popup );
+ }
+
+ static void __messengerChangedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewMessengerItem* item = (CtInputViewMessengerItem*)data;
+ char *text = NULL;
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ item->__inputData->setMessengerMessenger(item->__record, text);
+ item->updateChangeState( text );
+ item->__itemChangedCb();
+ SAFE_FREE(text);
+ }
+
+ static void __messengerDeleteCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewMessengerItem* item = (CtInputViewMessengerItem*)data;
+ item->updateChangeState(NULL);
+ item->__itemDeletedCb( item->getElmObjectItem(), item->getIsChanged(), item->__record );
+ elm_object_item_del( item->getElmObjectItem() );
+ }
+private:
+ CtInputViewMessengerItem();
+
+ std::shared_ptr<CtData> __inputData;
+ contacts_record_h __record;
+ int __addedIndex;
+
+ std::function<void ()> __itemChangedCb;
+ std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )> __itemDeletedCb;
+ std::function<void (Evas_Object*, Elm_Object_Item*)> __activateNextEntryCb;
+};
+
+#endif /* _CT_INPUT_VIEW_MESSENGER_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtInputViewMsisdnItem.h b/lib-contact/ct-detail/src/CtInputViewMsisdnItem.h
new file mode 100644
index 0000000..98ad379
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewMsisdnItem.h
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_MSISDN_ITEM_H_
+#define _CT_INPUT_VIEW_MSISDN_ITEM_H_
+
+#include "CtInputViewGenlistItem.h"
+#include "CtInputViewControl.h"
+#include "CtData.h"
+
+class CtInputViewMsisdnItem : public CtInputViewGenlistItem
+{
+public:
+ CtInputViewMsisdnItem( std::shared_ptr<CtData>& inputData, contacts_record_h record)
+ {
+
+ __inputData = inputData; __record = record;
+ };
+ virtual ~CtInputViewMsisdnItem() {WHIT();}
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassStatic() {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "2line.bottom";
+ itc.func.text_get = __getTextNumber;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+protected:
+ static char* __getTextNumber(void *data, Evas_Object *obj, const char *part)
+ {
+ WHIT();
+ WDEBUG("part %s", part);
+ CtInputViewMsisdnItem *item = (CtInputViewMsisdnItem *)data;
+ contacts_record_h defaultRecord = item->__record;
+ if (0 == strcmp(part, "elm.text.sub.left.top")) {
+ std::string typeStr;
+ int type = item->__inputData->getNumberType(defaultRecord);
+ item->__inputData->getNumberTypeStr(defaultRecord, type, typeStr);
+ WDEBUG("type %d text %s", type, typeStr.c_str());
+ return SAFE_STRDUP(typeStr.c_str());
+ } else if (0 == strcmp(part, "elm.text.main.left.bottom")) {
+ return elm_entry_utf8_to_markup(item->__inputData->getNumberNumber(defaultRecord));
+ }
+ return NULL;
+ }
+
+protected:
+ CtInputViewMsisdnItem();
+
+ std::shared_ptr<CtData> __inputData;
+ contacts_record_h __record;
+
+};
+
+#endif /* _CT_INPUT_VIEW_MSISDN_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtInputViewNoteItem.h b/lib-contact/ct-detail/src/CtInputViewNoteItem.h
new file mode 100644
index 0000000..8c4e183
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewNoteItem.h
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_NOTE_ITEM_H_
+#define _CT_INPUT_VIEW_NOTE_ITEM_H_
+
+#include "CtInputViewGenlistItem.h"
+#include "CtDetailDataBase.h"
+#include "CtInputViewControl.h"
+#include "CtData.h"
+#include "CtString.h"
+
+class CtInputViewNoteItem : public CtInputViewGenlistItem
+{
+public:
+ CtInputViewNoteItem( std::shared_ptr<CtData>& inputData, contacts_record_h record, const char* oldVal, int addedIndex,
+ const std::function<void ()>& itemChangedCb,
+ const std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )>& itemDeletedCb,
+ const std::function<void (Evas_Object*, Elm_Object_Item* )>& activateNextEntryCb) : CtInputViewGenlistItem(oldVal)
+ {
+ __inputData = inputData; __record = record; __addedIndex = addedIndex;
+ __itemChangedCb = itemChangedCb; __itemDeletedCb = itemDeletedCb; __activateNextEntryCb = activateNextEntryCb;
+ };
+ virtual ~CtInputViewNoteItem() { WHIT(); }
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassStatic() {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "input.2icon";
+ itc.func.content_get = __getContentNote;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+ virtual const char* getEntryObjPartName()
+ {
+ return "elm.icon.entry";
+ }
+
+private:
+ static Evas_Object* __getContentNote(void *data, Evas_Object *obj, const char *part)
+ {
+ //WHIT();
+ CtInputViewNoteItem *item = (CtInputViewNoteItem*)data;
+
+ if (0 == strcmp(part, "elm.icon.entry"))
+ {
+ WEditfield *editfield = item->createEditField(obj, V_("IDS_PB_BUTTON_NOTES"), true);
+ Evas_Object *entry = editfield->getEntry();
+
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
+ elm_entry_input_panel_imdata_set(entry, (void*)"allowEmoji=true", 15);
+
+ evas_object_smart_callback_add(entry, "changed", __noteChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __noteChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+ if (INPUT_ADDED_ITEM_INDEX_NOTE == item->__addedIndex) {
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_SHOW, __entryShowCb, NULL);
+ }
+
+ const char *note = item->__inputData->getNote( item->__record);
+ setEntryText(entry, note);
+ return editfield->getEvasObj();
+ }
+ else if (0 == strcmp(part, "elm.icon.2"))
+ {
+ Evas_Object *btn_minus = elm_button_add(obj);
+ elm_object_part_content_set(obj, "elm.icon.edit", btn_minus);
+ elm_object_style_set(btn_minus, "icon_expand_delete");
+ evas_object_smart_callback_add(btn_minus, "clicked", __noteDeleteCb, item);
+
+ return btn_minus;
+ }
+
+ return NULL;
+ }
+
+ static void __entryShowCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+ {
+ WHIT();
+ elm_object_focus_set(obj, EINA_TRUE);
+ evas_object_event_callback_del(obj, EVAS_CALLBACK_SHOW, __entryShowCb);
+ }
+
+ static void __noteChangedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewNoteItem* item = (CtInputViewNoteItem*)data;
+ char *text = NULL;
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ item->__inputData->setNote(item->__record, text);
+ item->updateChangeState( text );
+ item->__itemChangedCb();
+ SAFE_FREE(text);
+ }
+
+ static void __noteDeleteCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewNoteItem* item = (CtInputViewNoteItem*)data;
+ item->updateChangeState(NULL);
+ item->__itemDeletedCb( item->getElmObjectItem(), item->getIsChanged(), item->__record );
+ elm_object_item_del( item->getElmObjectItem() );
+ }
+
+ static void __activatedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewNoteItem* item = (CtInputViewNoteItem*)data;
+ item->__activateNextEntryCb( obj, item->getElmObjectItem() );
+ }
+private:
+ CtInputViewNoteItem();
+
+ std::shared_ptr<CtData> __inputData;
+ contacts_record_h __record;
+ int __addedIndex;
+
+ std::function<void ()> __itemChangedCb;
+ std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )> __itemDeletedCb;
+ std::function<void (Evas_Object*, Elm_Object_Item*)> __activateNextEntryCb;
+};
+
+#endif /* _CT_INPUT_VIEW_NOTE_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtInputViewNumberItem.h b/lib-contact/ct-detail/src/CtInputViewNumberItem.h
new file mode 100755
index 0000000..f977a3d
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewNumberItem.h
@@ -0,0 +1,203 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_NUMBER_ITEM_H_
+#define _CT_INPUT_VIEW_NUMBER_ITEM_H_
+
+#include "CtInputViewGenlistItem.h"
+#include "CtDetailDataBase.h"
+#include "CtInputDataTypeCtxPopup.h"
+#include "CtInputDataTypeCustomPopup.h"
+#include "CtInputViewControl.h"
+#include "CtData.h"
+
+class CtInputViewNumberItem : public CtInputViewGenlistItem
+{
+public:
+ CtInputViewNumberItem( CtInputViewControl* control, std::shared_ptr<CtData>& inputData, contacts_record_h record, const char* oldVal, int addedIndex,
+ const std::function<void ()>& itemChangedCb,
+ const std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )>& itemDeletedCb,
+ const std::function<void (Evas_Object*, Elm_Object_Item* )>& activateNextEntryCb) : CtInputViewGenlistItem(oldVal)
+ {
+ __inputControl = control; __inputData = inputData; __record = record; __addedIndex = addedIndex;
+ __itemChangedCb = itemChangedCb; __itemDeletedCb = itemDeletedCb; __activateNextEntryCb = activateNextEntryCb;
+ };
+ virtual ~CtInputViewNumberItem() {WHIT();}
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassStatic() {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "input.3icon";
+ itc.func.content_get = __getContentNumber;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+ virtual const char* getEntryObjPartName()
+ {
+ return "elm.icon.entry";
+ }
+
+protected:
+ static Evas_Object* __getContentNumber(void *data, Evas_Object *obj, const char *part)
+ {
+ WHIT();
+ CtInputViewNumberItem *item = (CtInputViewNumberItem*)data;
+ //
+ if (0 == strcmp(part, "elm.icon.entry")) {
+ WEditfield *editfield = item->createEditField(obj, NULL, false);
+ Evas_Object *entry = editfield->getEntry();
+
+ elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_PHONENUMBER);
+
+// Elm_Entry_Filter_Accept_Set digits_filter_data;
+// digits_filter_data.accepted = "0123456789";
+// digits_filter_data.rejected = NULL;
+
+ evas_object_smart_callback_add(entry, "changed", __numberChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+ if (INPUT_ADDED_ITEM_INDEX_NUMBER == item->__addedIndex) {
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_SHOW, __entryShowCb, NULL);
+ }
+
+ // this code is for fixing the screen blink issue if launched as UG
+ const char *number = item->__inputData->getNumberNumber( item->__record);
+ if (number && *number) {
+ setEntryText(entry, number);
+ }
+ else {
+ elm_object_domain_translatable_part_text_set(entry, "elm.guide", PACKAGE, "IDS_PB_BODY_PHONE_NUMBER_ABB");
+ }
+ // this code is for fixing the screen blink issue if launched as UG
+ return editfield->getEvasObj();
+ }
+ else if (0 == strcmp(part, "elm.icon.2")) {
+ Evas_Object *btn_minus = elm_button_add(obj);
+ elm_object_style_set(btn_minus, "icon_expand_delete");
+ evas_object_smart_callback_add(btn_minus, "clicked", __numberDeleteCb, item);
+
+ return btn_minus;
+
+ }
+ else if (0 == strcmp(part, "elm.icon.1")) {
+ Evas_Object *btn_type = elm_button_add(obj);
+ elm_object_style_set(btn_type, "custom_dropdown");
+ evas_object_show(btn_type);
+ int numberType = item->__inputData->getNumberType( item->__record);
+ std::string typeStr;
+ item->__inputData->getNumberTypeStr( item->__record, numberType, typeStr);
+ elm_object_text_set(btn_type, typeStr.c_str());
+
+ evas_object_smart_callback_add(btn_type, "clicked", __dataTypeClickedCb, item);
+
+ return btn_type;
+ }
+
+ return NULL;
+ }
+
+ static void __activatedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewNumberItem* item = (CtInputViewNumberItem*)data;
+ item->__activateNextEntryCb( obj, item->getElmObjectItem() );
+ }
+ static void __entryShowCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+ {
+ WHIT();
+ elm_object_focus_set(obj, EINA_TRUE);
+ evas_object_event_callback_del(obj, EVAS_CALLBACK_SHOW, __entryShowCb);
+ }
+
+ static void __dataTypeClickedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ WHIT();
+ CtInputViewNumberItem* item = (CtInputViewNumberItem*)data;
+ WPRET_M(NULL == item, "item is NULL");
+
+ std::string typeStr;
+ if(item->__inputData->getNumberType(item->__record) == CONTACTS_NUMBER_TYPE_CUSTOM)
+ {
+ item->__inputData->getNumberTypeStr(item->__record, CONTACTS_NUMBER_TYPE_CUSTOM, typeStr);
+ }
+ CtInputDataTypeCtxPopup* popup = new CtInputDataTypeCtxPopup(elm_object_item_widget_get(item->getElmObjectItem()), obj, _contacts_number._uri, typeStr.c_str());
+
+ popup->setOnSelectCb( [popup, item, obj](int type){
+ int numberType = item->__inputData->getNumberRetType(type);
+ if(CONTACTS_NUMBER_TYPE_CUSTOM == numberType )
+ {
+ item->__showDataTypeInputPopup();
+ return;
+ }
+ item->__inputData->setNumberType(item->__record, numberType, NULL);
+ std::string typeStr;
+ item->__inputData->getNumberTypeStr(item->__record, numberType, typeStr);
+ elm_object_text_set( obj, typeStr.c_str());
+
+ Evas_Object *entry = elm_object_item_part_content_get(item->getElmObjectItem(), "elm.icon.entry");
+ if (entry) {
+ elm_object_focus_set(entry, EINA_TRUE);
+ }
+ popup->destroy();
+ });
+
+ item->attachToView(popup);
+ }
+
+ void __showDataTypeInputPopup()
+ {
+ CtInputDataTypeCustomPopup* popup = new CtInputDataTypeCustomPopup();
+ popup->setOnResultCb([this](const char* text){
+ __inputData->setNumberType( __record, CONTACTS_NUMBER_TYPE_CUSTOM, (char*)text );
+ elm_genlist_item_fields_update( getElmObjectItem(), "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ });
+ attachToView( popup );
+ }
+ static void __numberChangedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ WENTER();
+ CtInputViewNumberItem* item = (CtInputViewNumberItem*)data;
+ char *text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+
+ item->updateChangeState(text);
+ item->__inputData->setNumberNumber(item->__record, text);
+ item->__itemChangedCb();
+
+ free(text);
+ }
+
+ static void __numberDeleteCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewNumberItem* item = (CtInputViewNumberItem*)data;
+ item->updateChangeState(NULL);
+ item->__itemDeletedCb( item->getElmObjectItem(), item->getIsChanged(), item->__record );
+ elm_object_item_del( item->getElmObjectItem() );
+ }
+protected:
+ CtInputViewNumberItem();
+
+ CtInputViewControl* __inputControl;
+ std::shared_ptr<CtData> __inputData;
+ contacts_record_h __record;
+ int __addedIndex;
+
+ std::function<void ()> __itemChangedCb;
+ std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )> __itemDeletedCb;
+ std::function<void (Evas_Object*, Elm_Object_Item*)> __activateNextEntryCb;
+};
+
+#endif /* _CT_INPUT_VIEW_NUMBER_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtInputViewRelationItem.h b/lib-contact/ct-detail/src/CtInputViewRelationItem.h
new file mode 100644
index 0000000..4b4310c
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewRelationItem.h
@@ -0,0 +1,231 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_RELATION_ITEM_H_
+#define _CT_INPUT_VIEW_RELATION_ITEM_H_
+
+#include "CtInputViewGenlistItem.h"
+#include "CtDetailDataBase.h"
+#include "CtInputDataTypeCtxPopup.h"
+#include "CtInputDataTypeCustomPopup.h"
+#include "CtInputViewControl.h"
+#include "CtData.h"
+#include "CtPath.h"
+#include "ContactsCommon.h"
+
+#define CONTACTS_BTN_ICON_SIZE 80
+
+class CtInputViewRelationItem : public CtInputViewGenlistItem
+{
+public:
+ CtInputViewRelationItem( CtInputViewControl* control, std::shared_ptr<CtData>& inputData, contacts_record_h record, const char* oldVal,
+ const std::function<void ()>& itemChangedCb,
+ const std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )>& itemDeletedCb,
+ const std::function<void (Evas_Object*, Elm_Object_Item* )>& activateNextEntryCb)
+ : CtInputViewGenlistItem(oldVal)
+ {
+ __control = control; __inputData = inputData; __record = record;
+ __itemChangedCb = itemChangedCb; __itemDeletedCb = itemDeletedCb; __activateNextEntryCb = activateNextEntryCb;
+ };
+ virtual ~CtInputViewRelationItem() { WHIT(); }
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassStatic() {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "input.relationship";
+ itc.func.content_get = __getContentRelation;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+ virtual const char* getEntryObjPartName()
+ {
+ return "elm.icon.entry";
+ }
+
+private:
+ static Evas_Object* __getContentRelation(void *data, Evas_Object *obj, const char *part)
+ {
+ WHIT();
+ CtInputViewRelationItem *item = (CtInputViewRelationItem*)data;
+ //
+ if (0 == strcmp(part, "elm.icon.entry")) {
+ WEditfield *editfield = item->createEditField(obj, V_("IDS_PB_OPT_RELATIONSHIP_ABB2"), false);
+ Evas_Object *entry = editfield->getEntry();
+
+ elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_EMAIL);
+
+ evas_object_smart_callback_add(entry, "changed", __relationshipChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __relationshipChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+ if (INPUT_ADDED_ITEM_INDEX_RELATIONSHIP == item->__control->getAddedIndex()) {
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_SHOW, __entryShowCb, NULL);
+ }
+
+ const char *address = item->__inputData->getRelationshipRelationship(item->__record);
+ setEntryText(entry, address);
+ return editfield->getEvasObj();
+ }
+ else if (0 == strcmp(part, "elm.icon.2")) {
+ Evas_Object *btn_minus = elm_button_add(obj);
+ elm_object_style_set(btn_minus, "icon_expand_delete");
+ evas_object_smart_callback_add(btn_minus, "clicked", __relationshipDeleteCb, item);
+
+ return btn_minus;
+ }
+ else if (0 == strcmp(part, "elm.icon.1")) {
+ Evas_Object *btn_type = elm_button_add(obj);
+ elm_object_style_set(btn_type, "custom_dropdown");
+ evas_object_show(btn_type);
+
+ int relationshipType = item->__inputData->getRelationshipType(item->__record);
+ std::string typeStr;
+ item->__inputData->getRelationshipTypeStr(item->__record, relationshipType, typeStr);
+ elm_object_text_set(btn_type, typeStr.c_str());
+
+ evas_object_smart_callback_add(btn_type, "clicked", __dataTypeClickedCb, item);
+ return btn_type;
+ } else if (0 == strcmp(part, "elm.icon.3")) {
+ Evas_Object *image = elm_image_add(obj);
+ const std::string edjPath = ContactsCommon::getAppEdjePath(DETAIL_LAYOUT_EDJ);
+ elm_image_file_set(image, edjPath.c_str(), GROUP_BTN_IC_MULTIPLE);
+ evas_object_size_hint_min_set(image, ContactsCommon::getScaledWidth(CONTACTS_BTN_ICON_SIZE), ContactsCommon::getScaledHeight(CONTACTS_BTN_ICON_SIZE));
+ evas_object_propagate_events_set(image, EINA_FALSE);
+ evas_object_smart_callback_add(image, "clicked", __relationshipSelectContact, item);
+ return image;
+ }
+
+ return NULL;
+ }
+
+ static void __activatedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewRelationItem* item = (CtInputViewRelationItem*)data;
+ item->__activateNextEntryCb( obj, item->getElmObjectItem() );
+ }
+ static void __entryShowCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+ {
+ WHIT();
+ elm_object_focus_set(obj, EINA_TRUE);
+ evas_object_event_callback_del(obj, EVAS_CALLBACK_SHOW, __entryShowCb);
+ }
+
+ static void __dataTypeClickedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ WHIT();
+ CtInputViewRelationItem* item = (CtInputViewRelationItem*)data;
+ //
+ std::string typeStr;
+ if( item->__inputData->getRelationshipType( item->__record) == CONTACTS_RELATIONSHIP_TYPE_CUSTOM)
+ {
+ item->__inputData->getRelationshipTypeStr( item->__record, CONTACTS_RELATIONSHIP_TYPE_CUSTOM, typeStr);
+ }
+ CtInputDataTypeCtxPopup* popup = new CtInputDataTypeCtxPopup(elm_object_item_widget_get(item->getElmObjectItem()), obj, _contacts_relationship._uri, typeStr.c_str());
+
+ popup->setOnSelectCb( [popup,item,obj](int type){
+ if( CONTACTS_RELATIONSHIP_TYPE_CUSTOM == type )
+ {
+ item->__showDataTypeInputPopup();
+ return;
+ }
+ item->__inputData->setRelationshipType( item->__record, type, NULL);
+ std::string typeStr;
+ item->__inputData->getRelationshipTypeStr( item->__record, type, typeStr);
+ elm_object_text_set( obj, typeStr.c_str());
+ popup->destroy();
+ });
+
+ item->attachToView( popup );
+ }
+
+ void __showDataTypeInputPopup()
+ {
+ CtInputDataTypeCustomPopup* popup = new CtInputDataTypeCustomPopup();
+ popup->setOnResultCb([this](const char* text){
+ __inputData->setRelationshipType( __record, CONTACTS_RELATIONSHIP_TYPE_CUSTOM, (char*)text );
+ elm_genlist_item_fields_update( getElmObjectItem(), "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ });
+ attachToView( popup );
+ }
+ static void __relationshipChangedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewRelationItem* item = (CtInputViewRelationItem*)data;
+ char *text = NULL;
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ item->__inputData->setRelationshipRelationship(item->__record, text);
+ item->updateChangeState(text);
+ item->__itemChangedCb();
+ SAFE_FREE(text);
+ }
+ static void __relationshipDeleteCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewRelationItem* item = (CtInputViewRelationItem*)data;
+ item->updateChangeState(NULL);
+ item->__itemDeletedCb( item->getElmObjectItem(), item->getIsChanged(), item->__record );
+ elm_object_item_del( item->getElmObjectItem() );
+ }
+ static void __relationshipSelectContact(void *data, Evas_Object *obj, void *event_info)
+ {
+ launchContactPick(APP_CONTROL_DATA_SELECTION_MODE_SINGLE,
+ APP_CONTROL_DATA_TYPE_ID, __contactPickCb, data);
+ }
+
+ static void __contactPickCb(app_control_h request, app_control_h reply, app_control_result_e result, void *data)
+ {
+ CtInputViewRelationItem *item = (CtInputViewRelationItem*)data;
+ char **personIds = NULL;
+ int count = 0;
+ int ret = app_control_get_extra_data_array(reply, APP_CONTROL_DATA_SELECTED, &personIds, &count);
+
+ if (ret == APP_CONTROL_ERROR_NONE && personIds && personIds[0]) {
+ contacts_record_h record = NULL;
+ char *displayName = NULL;
+
+ int err = contacts_db_get_record(_contacts_person._uri, atoi(personIds[0]), &record);
+ WPWARN(err != CONTACTS_ERROR_NONE, "contacts_db_get_record() failed(%d)", err);
+
+ err = contacts_record_get_str_p(record, _contacts_person.display_name, &displayName);
+ WPWARN(err != CONTACTS_ERROR_NONE, "contacts_record_get_str_p() failed(%d)", err);
+
+ ctCommonRemoveNewline(displayName);
+ item->__inputData->setRelationshipRelationship(item->__record, displayName);
+ elm_genlist_item_fields_update(item->getElmObjectItem(), "elm.icon.entry", ELM_GENLIST_ITEM_FIELD_CONTENT);
+
+ contacts_record_destroy(record, true);
+ }
+
+ for (int i = 0; i < count; ++i) {
+ free(personIds[i]);
+ }
+ free(personIds);
+ }
+
+private:
+ CtInputViewRelationItem();
+
+ CtInputViewControl* __control;
+ std::shared_ptr<CtData> __inputData;
+ contacts_record_h __record;
+
+ std::function<void ()> __itemChangedCb;
+ std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )> __itemDeletedCb;
+ std::function<void (Evas_Object*, Elm_Object_Item*)> __activateNextEntryCb;
+
+};
+
+#endif /* _CT_INPUT_VIEW_RELATION_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtInputViewWebsiteItem.h b/lib-contact/ct-detail/src/CtInputViewWebsiteItem.h
new file mode 100644
index 0000000..49c38c7
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtInputViewWebsiteItem.h
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_INPUT_VIEW_WEBSITE_ITEM_H_
+#define _CT_INPUT_VIEW_WEBSITE_ITEM_H_
+
+#include "CtInputViewGenlistItem.h"
+#include "CtDetailDataBase.h"
+#include "CtData.h"
+
+class CtInputViewWebsiteItem : public CtInputViewGenlistItem
+{
+public:
+ CtInputViewWebsiteItem( std::shared_ptr<CtData>& inputData, contacts_record_h record, const char* oldVal, int addedIndex,
+ const std::function<void ()>& itemChangedCb,
+ const std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )>& itemDeletedCb,
+ const std::function<void (Evas_Object*, Elm_Object_Item* )>& activateNextEntryCb) : CtInputViewGenlistItem(oldVal)
+ {
+ __inputData = inputData; __record = record; __addedIndex = addedIndex;
+ __itemChangedCb = itemChangedCb; __itemDeletedCb = itemDeletedCb; __activateNextEntryCb = activateNextEntryCb;
+ };
+ virtual ~CtInputViewWebsiteItem() { WHIT(); }
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassStatic() {
+ static Elm_Genlist_Item_Class itc = {};
+ if( itc.item_style )
+ return &itc;
+ itc.item_style = "input.2icon";
+ itc.func.content_get = __getContentWebsite;
+ itc.func.del = WGENLIST_ITEM_DEL();
+ return &itc;
+ }
+
+ virtual const char* getEntryObjPartName()
+ {
+ return "elm.icon.entry";
+ }
+
+private:
+ static Evas_Object* __getContentWebsite(void *data, Evas_Object *obj, const char *part)
+ {
+ //WHIT();
+ CtInputViewWebsiteItem *item = (CtInputViewWebsiteItem*)data;
+ if (0 == strcmp(part, "elm.icon.entry"))
+ {
+ WEditfield *editfield = item->createEditField(obj,V_("IDS_PB_BODY_WEBSITE_ABB"), false);
+ Evas_Object *entry = editfield->getEntry();
+
+ elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_URL);
+ evas_object_smart_callback_add(entry, "changed", __websiteChangedCb, item);
+ evas_object_smart_callback_add(entry, "preedit,changed", __websiteChangedCb, item);
+ evas_object_smart_callback_add(entry, "activated", __activatedCb, item);
+ if (INPUT_ADDED_ITEM_INDEX_URL == item->__addedIndex) {
+ evas_object_event_callback_add(entry, EVAS_CALLBACK_SHOW, __entryShowCb, NULL);
+ }
+
+ const char *url = item->__inputData->getWebsiteWebsite(item->__record);
+ setEntryText(entry, url);
+ return editfield->getEvasObj();
+ }
+ else if (0 == strcmp(part, "elm.icon.2")) {
+ Evas_Object *btn_minus = elm_button_add(obj);
+ elm_object_part_content_set(obj, "elm.icon.edit", btn_minus);
+ elm_object_style_set(btn_minus, "icon_expand_delete");
+ evas_object_smart_callback_add(btn_minus, "clicked", __websiteDeleteCb, item);
+
+ return btn_minus;
+ }
+
+ return NULL;
+ }
+
+ static void __activatedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewWebsiteItem* item = (CtInputViewWebsiteItem*)data;
+ item->__activateNextEntryCb( obj, item->getElmObjectItem() );
+ }
+ static void __entryShowCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+ {
+ WHIT();
+ elm_object_focus_set(obj, EINA_TRUE);
+ evas_object_event_callback_del(obj, EVAS_CALLBACK_SHOW, __entryShowCb);
+ }
+ static void __websiteChangedCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewWebsiteItem* item = (CtInputViewWebsiteItem*)data;
+ char *text = NULL;
+ text = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ item->__inputData->setWebsiteWebsite(item->__record, text);
+ item->updateChangeState( text );
+ item->__itemChangedCb();
+ SAFE_FREE(text);
+ }
+ static void __websiteDeleteCb(void *data, Evas_Object *obj, void *event_info)
+ {
+ CtInputViewWebsiteItem* item = (CtInputViewWebsiteItem*)data;
+ item->updateChangeState(NULL);
+ item->__itemDeletedCb( item->getElmObjectItem(), item->getIsChanged(), item->__record );
+ elm_object_item_del( item->getElmObjectItem() );
+ }
+private:
+ CtInputViewWebsiteItem();
+
+ std::shared_ptr<CtData> __inputData;
+ contacts_record_h __record;
+ int __addedIndex;
+
+ std::function<void ()> __itemChangedCb;
+ std::function<void (Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record )> __itemDeletedCb;
+ std::function<void (Evas_Object*, Elm_Object_Item*)> __activateNextEntryCb;
+};
+
+#endif /* _CT_INPUT_VIEW_WEBSITE_ITEM_H_ */
diff --git a/lib-contact/ct-detail/src/CtMyProfileDetailData.cpp b/lib-contact/ct-detail/src/CtMyProfileDetailData.cpp
new file mode 100755
index 0000000..bb8ccfe
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtMyProfileDetailData.cpp
@@ -0,0 +1,1138 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ContactsDebug.h"
+
+#include "CtMyProfileDetailData.h"
+#include "CtCommon.h"
+
+CtMyProfileDetailData::CtMyProfileDetailData()
+{
+ init();
+ int err = CONTACTS_ERROR_NONE;
+
+ __listener = NULL;
+ err = contacts_db_add_changed_cb(_contacts_my_profile._uri, __onPersonChanged, this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_add_changed_cb() Failed(%d)", err);
+}
+
+CtMyProfileDetailData::~CtMyProfileDetailData()
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_db_remove_changed_cb(_contacts_my_profile._uri, __onPersonChanged, this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_remove_changed_cb() Failed(%d)", err);
+ deInit();
+}
+
+void CtMyProfileDetailData::deInit()
+{
+ WHIT();
+ i18n_udate_destroy (__formatter);
+
+ __freeRecordList(__numberList);
+ __freeRecordList(__emailList);
+ __freeRecordList(__addressList);
+ __freeRecordList(__messengerList);
+ __freeRecordList(__relationshipList);
+ __freeRecordList(__urlList);
+ __freeRecordList(__eventList);
+ __freeRecordList(__noteList);
+ __freeRecordList(__contactList);
+
+ contacts_record_destroy(__defaultNumberRecord, true);
+ contacts_record_destroy(__personRecord, true);
+ free(__displayName);
+ free(__imagePath);
+ WHIT();
+}
+
+void CtMyProfileDetailData::init()
+{
+ WHIT();
+
+ __imagePath = NULL;
+ __displayName = NULL;
+ __extraName = NULL;
+ __phoneticName = NULL;
+ __nickName = NULL;
+ __company = NULL;
+ __messageAlert = NULL;
+ __vibration = NULL;
+
+ __contactList = NULL;
+ __numberList = NULL;
+ __emailList = NULL;
+ __addressList = NULL;
+ __messengerList = NULL;
+ __relationshipList = NULL;
+ __urlList = NULL;
+ __eventList = NULL;
+ __noteList = NULL;
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h myprofileList = NULL;
+ int count = 0;
+ contacts_record_h record = NULL;
+
+ err = contacts_db_get_all_records(_contacts_my_profile._uri, 0, 0, &myprofileList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_all_records() Failed(%d)", err);
+
+ if (myprofileList != NULL) {
+ contacts_list_get_count(myprofileList, &count);
+ if (count > 0) {
+ err = contacts_list_get_current_record_p(myprofileList, &record);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_current_record_p() Failed(%d)", err);
+ err = contacts_record_get_int(record, _contacts_my_profile.id, &__personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ }
+ }
+ if(NULL == record){
+ WPWARN(NULL == record, "record is NULL");
+ contacts_list_destroy(myprofileList, true);
+ return;
+ }
+ err = contacts_record_clone(record, &__personRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_clone() Failed(%d)", err);
+ err = contacts_list_destroy(myprofileList, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_count() Failed(%d)", err);
+
+ // get basic info
+ __getBasicInfo(__personRecord, __contactList);
+
+ // get number list
+ __defaultNumberRecord = __getDefaultNumber();
+ __numberList = __getChildNumberList();
+ // get email list
+ __emailList = __getChildDataList(__contactList, _contacts_my_profile.email);
+ // get address list
+ __addressList = __getChildDataList(__contactList, _contacts_my_profile.address);
+ // get messenger list
+ __messengerList = __getChildDataList(__contactList, _contacts_my_profile.messenger);
+ // get url list
+ __urlList = __getChildDataList(__contactList, _contacts_my_profile.url);
+ // get relationship list
+ __relationshipList = __getChildDataList(__contactList, _contacts_my_profile.relationship);
+ // get event list
+ __eventList = __getChildDataList(__contactList, _contacts_my_profile.event);
+ // get note list
+ __noteList = __getChildDataList(__contactList, _contacts_my_profile.note);
+
+ __formatter = __initTimeFormatter();
+}
+
+int CtMyProfileDetailData::getPersonId()
+{
+ WHIT();
+
+ return __personId;
+}
+
+contacts_record_h CtMyProfileDetailData::getPersonRecord()
+{
+ WHIT();
+
+ return __personRecord;
+}
+
+Eina_List* CtMyProfileDetailData::getContactsList()
+{
+ return __contactList;
+}
+
+int CtMyProfileDetailData::setFavorite(bool favorite)
+{
+ return 0;
+}
+
+bool CtMyProfileDetailData::getFavorite()
+{
+ return false;
+}
+
+const char* CtMyProfileDetailData::getImagePath()
+{
+ return __imagePath;
+}
+
+const char* CtMyProfileDetailData::getDisplayName()
+{
+ return __displayName;
+}
+
+const char* CtMyProfileDetailData::getExtraName()
+{
+ return __extraName;
+}
+
+const char* CtMyProfileDetailData::getPhoneticName()
+{
+ return __phoneticName;
+}
+
+const char* CtMyProfileDetailData::getNickName()
+{
+ return __nickName;
+}
+
+const char* CtMyProfileDetailData::getCompany()
+{
+ return __company;
+}
+
+const char* CtMyProfileDetailData::getMessageAlert()
+{
+ return __messageAlert;
+}
+
+const char* CtMyProfileDetailData::getVibration()
+{
+ return __vibration;
+}
+
+
+Eina_List* CtMyProfileDetailData::getNumberList()
+{
+ return __numberList;
+}
+
+Eina_List* CtMyProfileDetailData::getEmailList()
+{
+ return __emailList;
+}
+
+Eina_List* CtMyProfileDetailData::getAddressList()
+{
+ return __addressList;
+}
+
+Eina_List* CtMyProfileDetailData::getMessengerList()
+{
+ return __messengerList;
+}
+
+Eina_List* CtMyProfileDetailData::getUrlList()
+{
+ return __urlList;
+}
+
+Eina_List* CtMyProfileDetailData::getRelationshipList()
+{
+ return __relationshipList;
+}
+
+Eina_List* CtMyProfileDetailData::getEventList()
+{
+ return __eventList;
+}
+
+Eina_List* CtMyProfileDetailData::getNoteList()
+{
+ return __noteList;
+}
+
+contacts_record_h CtMyProfileDetailData::getDefNumberRecord()
+{
+ return __defaultNumberRecord;
+}
+
+const char* CtMyProfileDetailData::getNumber(contacts_record_h record)
+{
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_number.number, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ return value;
+}
+
+int CtMyProfileDetailData::getNumberType(contacts_record_h record)
+{
+ int type = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_number.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, CONTACTS_NUMBER_TYPE_OTHER, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtMyProfileDetailData::getNumberTypeStr(contacts_record_h record, int numberType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+ char buf[128] = {0,};
+
+ if (numberType & CONTACTS_NUMBER_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_number.label);
+
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_CELL) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ snprintf(buf, sizeof(buf),"%s 2", V_("IDS_PB_OPT_HOME_ABB"));
+ typeStr = buf;
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ snprintf(buf, sizeof(buf),"%s 2", V_("IDS_PB_OPT_WORK"));
+ typeStr = buf;
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_MOBILE");
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_VOICE) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_BODY_TELEPHONE");
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_FAX) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_FAX_HHOME_ABB");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_FAX_HWORK_ABB");
+ }
+ else {
+ typeStr = V_("IDS_PB_BODY_FAX");
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_MAIN) {
+ typeStr = V_("IDS_PB_OPT_MAIN");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_PAGER) {
+ typeStr = V_("IDS_PB_OPT_PAGER");
+ }
+ else {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+const char* CtMyProfileDetailData::getNumberTypeCustom(contacts_record_h record)
+{
+ char* type = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_number.label, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+const char* CtMyProfileDetailData::getEmail(contacts_record_h record)
+{
+ WHIT();
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_email.email, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ return value;
+}
+
+int CtMyProfileDetailData::getEmailType(contacts_record_h record)
+{
+ WHIT();
+ int type = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_email.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, CONTACTS_EMAIL_TYPE_OTHER, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtMyProfileDetailData::getEmailTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType & CONTACTS_EMAIL_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_email.label);
+ }
+ else if (indexType & CONTACTS_EMAIL_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (indexType & CONTACTS_EMAIL_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtMyProfileDetailData::getAddress(contacts_record_h record, char *buf, int length)
+{
+ WHIT();
+ return __getFullAddress(record, buf, length);
+}
+
+
+int CtMyProfileDetailData::getAddressType(contacts_record_h record)
+{
+ int type = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_address.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+const char* CtMyProfileDetailData::getDataTypeCustom(contacts_record_h record, int property_id)
+{
+ char* typeStr = NULL;
+ const char* result = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, property_id, &typeStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_int() Failed(%d)", err);
+
+ result = typeStr;
+ return result;
+}
+
+void CtMyProfileDetailData::getAddressTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType & CONTACTS_ADDRESS_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_address.label);
+ }
+ else if (indexType & CONTACTS_ADDRESS_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (indexType & CONTACTS_ADDRESS_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+const char* CtMyProfileDetailData::getUrl(contacts_record_h record)
+{
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_url.url, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ return value;
+}
+
+int CtMyProfileDetailData::getUrlType(contacts_record_h record)
+{
+ int type = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_url.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+const char* CtMyProfileDetailData::getMessenger(contacts_record_h record)
+{
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_messenger.im_id, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ return value;
+}
+
+int CtMyProfileDetailData::getMessengerType(contacts_record_h record)
+{
+ int type = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_messenger.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtMyProfileDetailData::getMessengerTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType == CONTACTS_MESSENGER_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_messenger.label);
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_AIM) {
+ typeStr = V_("IDS_PB_OPT_AIM");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_YAHOO) {
+ typeStr = V_("IDS_PB_OPT_YAHOO_E");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_SKYPE) {
+ typeStr = V_("IDS_PB_BODY_SKYPE");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_QQ) {
+ typeStr = V_("IDS_PB_OPT_QQ");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_GOOGLE) {
+ typeStr = V_("IDS_PB_OPT_HANGOUTS");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_ICQ) {
+ typeStr = V_("IDS_PB_OPT_ICQ");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_JABBER) {
+ typeStr = V_("IDS_PB_OPT_JABBER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtMyProfileDetailData::getEvent(contacts_record_h record)
+{
+ int date = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_event.date, &date);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return date;
+}
+
+int CtMyProfileDetailData::getEventType(contacts_record_h record)
+{
+ int type = 0;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_int(record, _contacts_event.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtMyProfileDetailData::getEventTypeStr(contacts_record_h record, int eventType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (eventType == CONTACTS_EVENT_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_event.label);
+ }
+ else if (eventType == CONTACTS_EVENT_TYPE_BIRTH) {
+ typeStr = V_("IDS_PB_OPT_BIRTHDAY");
+ }
+ else if (eventType == CONTACTS_EVENT_TYPE_ANNIVERSARY) {
+ typeStr = V_("IDS_PB_OPT_ANNIVERSARY_ABB");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+const char* CtMyProfileDetailData::getRelationship(contacts_record_h record)
+{
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_relationship.name, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ return value;
+}
+
+int CtMyProfileDetailData::getRelationshipType(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int type = 0;
+
+ err = contacts_record_get_int(record, _contacts_relationship.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtMyProfileDetailData::getRelationshipTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType == CONTACTS_RELATIONSHIP_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_relationship.label);
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_ASSISTANT) {
+ typeStr = V_("IDS_PB_OPT_ASSISTANT_M_CONTACTS");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_BROTHER) {
+ typeStr = V_("IDS_PB_OPT_BROTHER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_CHILD) {
+ typeStr = V_("IDS_PB_OPT_CHILD");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_DOMESTIC_PARTNER) {
+ typeStr = V_("IDS_PB_OPT_DOMESTIC_PARTNER_ABB2");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_FATHER) {
+ typeStr = V_("IDS_PB_OPT_FATHER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_FRIEND) {
+ typeStr = V_("IDS_PB_OPT_FRIEND");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_MANAGER) {
+ typeStr = V_("IDS_PB_OPT_MANAGER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_MOTHER) {
+ typeStr = V_("IDS_PB_OPT_MOTHER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_PARENT) {
+ typeStr = V_("IDS_PB_OPT_PARENT");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_PARTNER) {
+ typeStr = V_("IDS_PB_OPT_PARTNER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_REFERRED_BY) {
+ typeStr = V_("IDS_PB_OPT_REFERRED_BY_ABB");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_RELATIVE) {
+ typeStr = V_("IDS_PB_OPT_RELATIVE");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_SISTER) {
+ typeStr = V_("IDS_PB_OPT_SISTER");
+ }
+ else if (indexType == CONTACTS_RELATIONSHIP_TYPE_SPOUSE) {
+ typeStr = V_("IDS_PB_OPT_SPOUSE");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+const char* CtMyProfileDetailData::getNote(contacts_record_h record)
+{
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, _contacts_note.note, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ return value;
+}
+
+void CtMyProfileDetailData::__onPersonChanged(const char *viewUri, void *userData)
+{
+ WHIT();
+ WPRET_M(NULL == userData, "userData is NULL");
+ CtMyProfileDetailData* data = (CtMyProfileDetailData*)userData;
+ WPRET_M(NULL == data->__listener, "__listener is NULL");
+
+ data->deInit();
+ data->init();
+
+ data->__listener->onDbChanged(viewUri);
+}
+
+void CtMyProfileDetailData::__freeRecordList(Eina_List *recordList)
+{
+ int err = CONTACTS_ERROR_NONE;
+ void *data = NULL;
+ if(NULL == recordList) {
+ return;
+ }
+
+ EINA_LIST_FREE(recordList, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if (NULL == record) continue;
+ err = contacts_record_destroy(record, true);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_destroy() Failed(%d)", err);
+ continue;
+ }
+ }
+}
+
+void CtMyProfileDetailData::__getBasicInfo(contacts_record_h personRecord, Eina_List *contactList)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str(personRecord, _contacts_my_profile.display_name, &__displayName);
+ if(err != CONTACTS_ERROR_NONE) {
+ WERROR("contacts_record_get_str display_name %d", err);
+ }
+ err = contacts_record_get_str(personRecord, _contacts_my_profile.image_thumbnail_path, &__imagePath);
+ if(err != CONTACTS_ERROR_NONE) {
+ WERROR("contacts_record_get_str image_thumbnail_path %d", err);
+ }
+ ctCommonRemoveNewline(__displayName);
+
+ __getCompany(contactList, &__company);
+
+ __getExtraName1(contactList, &__nickName, &__phoneticName);
+
+ __getExtraName2(__nickName, __phoneticName, &__extraName);
+
+}
+
+void CtMyProfileDetailData::__getCompany(Eina_List *contactList, char **dest)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ contacts_record_h companyRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__personRecord, _contacts_my_profile.company, 0, &companyRecord);
+ if(CONTACTS_ERROR_NONE != err)
+ WERROR("contacts_record_get_child_record_at_p() Failed(%d)", err);
+ else {
+ __getCompanyStr(companyRecord, dest);
+ }
+}
+
+void CtMyProfileDetailData::__getExtraName2(char* nick, char* phonetic, char** extra)
+{
+ WHIT();
+ char name[CT_TEXT_MAX_LEN+1] = {0, };
+
+ free(*extra);
+
+ if(phonetic && *phonetic) {
+ if(nick && *nick)
+ snprintf(name, sizeof(name), "%s, %s", phonetic, nick);
+ else
+ snprintf(name, sizeof(name), "%s", phonetic);
+ }
+ else if(nick && *nick)
+ snprintf(name, sizeof(name), "%s", nick);
+
+ if( strlen(name) > 0)
+ *extra = strdup(name);
+ else
+ *extra = NULL;
+}
+
+
+void CtMyProfileDetailData::__getExtraName1(Eina_List *contactList, char **nick, char **phonetic)
+{
+ WHIT();
+ int err1 = CONTACTS_ERROR_NONE;
+ int err2 = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ contacts_record_h nicknameRecord = NULL;
+
+ err1 = contacts_record_get_child_record_at_p(__personRecord, _contacts_my_profile.name, 0, &nameRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err1, "contacts_record_get_child_record_at_p() name Failed(%d)", err1);
+ err2 = contacts_record_get_child_record_at_p(__personRecord, _contacts_my_profile.nickname, 0, &nicknameRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err2, "contacts_record_get_child_record_at_p() nickname Failed(%d)", err2);
+
+ if (CONTACTS_ERROR_NONE == err1 || CONTACTS_ERROR_NONE == err2) {
+ __getExtraNameStr(nameRecord, nicknameRecord, nick, phonetic);
+ }
+}
+
+void CtMyProfileDetailData::__getExtraNameStr(contacts_record_h nameRecord, contacts_record_h nicknameRecord, char **nick, char **phonetic)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *nickname = NULL;
+ int length = 0;
+
+ free(*nick);
+ free(*phonetic);
+ *nick = NULL;
+ *phonetic = NULL;
+
+ char *phoneticFirst = NULL;
+ char *phoneticMiddle = NULL;
+ char *phoneticLast = NULL;
+ char *phoneticFull = NULL;
+
+ if(nicknameRecord) {
+ err = contacts_record_get_str_p(nicknameRecord, _contacts_nickname.name, (char**)&nickname);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() name Failed(%d)", err);
+ *nick = SAFE_STRDUP(nickname);
+ }
+
+ if(nameRecord) {
+
+ contacts_name_display_order_e name_display_order;
+ contacts_setting_get_name_display_order(&name_display_order);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.phonetic_first, (char**)&phoneticFirst);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() phoneticname Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.phonetic_middle, (char**)&phoneticMiddle);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() phoneticname Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.phonetic_last, (char**)&phoneticLast);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() phoneticname Failed(%d)", err);
+
+ int phoneticLength = SAFE_STRLEN(phoneticFirst) + SAFE_STRLEN(phoneticMiddle) + SAFE_STRLEN(phoneticLast) + 3;
+ WDEBUG("phoneticLength = %d", phoneticLength);
+ phoneticFull = (char*)malloc(sizeof(char)*phoneticLength);
+ WPRET_M(NULL == phoneticFull, "failed to malloc");
+ memset(phoneticFull, 0, sizeof(char)*phoneticLength);
+
+ if (CONTACTS_NAME_DISPLAY_ORDER_FIRSTLAST == name_display_order) {
+ if (phoneticFirst && *phoneticFirst) {
+ strncat(phoneticFull, phoneticFirst, SAFE_STRLEN(phoneticFirst));
+ }
+ if (phoneticMiddle && *phoneticMiddle) {
+ if (phoneticFull && *phoneticFull) {
+ strncat(phoneticFull, " ", 1);
+ }
+ strncat(phoneticFull, phoneticMiddle, SAFE_STRLEN(phoneticMiddle));
+ }
+ if (phoneticLast && *phoneticLast) {
+ if (phoneticFull && *phoneticFull) {
+ strncat(phoneticFull, " ", 1);
+ }
+ strncat(phoneticFull, phoneticLast, SAFE_STRLEN(phoneticLast));
+ }
+ }
+ else {
+ if (phoneticLast && *phoneticLast) {
+ strncat(phoneticFull, phoneticLast, SAFE_STRLEN(phoneticLast));
+ }
+ if (phoneticFirst && *phoneticFirst) {
+ if (phoneticFull && *phoneticFull) {
+ strncat(phoneticFull, " ", 1);
+ }
+ strncat(phoneticFull, phoneticFirst, SAFE_STRLEN(phoneticFirst));
+ }
+ if (phoneticMiddle && *phoneticMiddle) {
+ if (phoneticFull && *phoneticFull) {
+ strncat(phoneticFull, " ", 1);
+ }
+ strncat(phoneticFull, phoneticMiddle, SAFE_STRLEN(phoneticMiddle));
+ }
+ }
+ length += phoneticLength;
+
+ *phonetic = SAFE_STRDUP(phoneticFull);
+ free(phoneticFull);
+ }
+
+}
+
+void CtMyProfileDetailData::__getCompanyStr(contacts_record_h companyRecord, char **dest)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *company, *job, *department;
+ char *fullName = NULL;
+ int length = 0;
+ *dest = NULL;
+
+ err = contacts_record_get_str_p(companyRecord, _contacts_company.name, (char**)&company);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ err = contacts_record_get_str_p(companyRecord, _contacts_company.department, (char**)&department);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ err = contacts_record_get_str_p(companyRecord, _contacts_company.job_title, (char**)&job);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+
+ length = SAFE_STRLEN(company) + SAFE_STRLEN(department) + SAFE_STRLEN(job) + 5;
+ WDEBUG("length = %d", length);
+
+ fullName = (char*)malloc(sizeof(char)*length);
+ WPRET_M(NULL == fullName, "failed to malloc");
+ memset(fullName, 0, sizeof(char)*length);
+
+ if (company) {
+ strncat(fullName, company, SAFE_STRLEN(company));
+ }
+
+ if (department) {
+ if (fullName && *fullName) {
+ strncat(fullName, ", ", 2);
+ }
+ strncat(fullName, department, SAFE_STRLEN(department));
+ }
+
+ if (job) {
+ if (fullName && *fullName) {
+ strncat(fullName, ", ", 2);
+ }
+ strncat(fullName, job, SAFE_STRLEN(job));
+ }
+
+ *dest = SAFE_STRDUP(fullName);
+ free(fullName);
+ fullName = NULL;
+}
+
+void CtMyProfileDetailData::__appendStringWithLinebreak(const char *src, char *dest, int length)
+{
+ char temp[CT_TEXT_MAX_LEN];
+ if (src && '\0' != src[0]) {
+ if ('\0' == dest[0])
+ snprintf(dest, length, "%s", src);
+ else {
+ snprintf(temp, sizeof(temp), "%s\n%s", src, dest);
+ snprintf(dest, length, "%s", temp);
+ }
+ }
+}
+
+int CtMyProfileDetailData::__getFullAddress(contacts_record_h addresssRecord, char *buf, int length)
+{
+ WHIT();
+ const char *code = NULL;
+ const char *region = NULL;
+ const char *locality = NULL;
+ const char *street = NULL;
+ const char *extended = NULL;
+ const char *country = NULL;
+ const char *pobox = NULL;
+ int err = CONTACTS_ERROR_NONE;
+
+ do {
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.postal_code , (char**)&code))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.extended , (char**)&extended))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.postbox , (char**)&pobox))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.street , (char**)&street))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.locality , (char**)&locality))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.region , (char**)&region))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.country ,(char**)&country))) break;
+ } while (0);
+ if(CONTACTS_ERROR_NONE != err)
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+
+ __appendStringWithLinebreak(country, buf, length);
+ __appendStringWithLinebreak(code, buf, length);
+ __appendStringWithLinebreak(region, buf, length);
+ __appendStringWithLinebreak(locality, buf, length);
+ __appendStringWithLinebreak(street, buf, length);
+ __appendStringWithLinebreak(extended, buf, length);
+ __appendStringWithLinebreak(pobox, buf, length);
+ return 0;
+}
+
+
+Eina_List* CtMyProfileDetailData::__getChildDataList(Eina_List *contactList, unsigned int propertyId)
+{
+ WDEBUG("propertyId %d", propertyId);
+ int index = 0;
+
+ Eina_List *dataRecordList = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h dataRecord = NULL;
+ contacts_record_h dataRecordClone = NULL;
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__personRecord, propertyId, index++, &dataRecord)) {
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+ break;
+ }
+ err = contacts_record_clone(dataRecord, &dataRecordClone);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_list_get_current_record_p() Failed(%d)", err);
+ break;
+ }
+ dataRecordList = eina_list_append(dataRecordList, dataRecordClone);
+ }
+ return dataRecordList;
+}
+
+Eina_List* CtMyProfileDetailData::__getChildNumberList()
+{
+ WHIT();
+
+ int index = 0;
+ bool value = 0;
+ Eina_List *dataRecordList = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h dataRecord = NULL;
+ contacts_record_h dataRecordClone = NULL;
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__personRecord, _contacts_my_profile.number, index++, &dataRecord)) {
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+ break;
+ }
+
+ err = contacts_record_get_bool(dataRecord, _contacts_number.is_default, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_bool() Failed(%d)", err);
+ if (value != true) {
+ err = contacts_record_clone(dataRecord, &dataRecordClone);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_clone() Failed(%d)", err);
+ break;
+ }
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_clone() Failed(%d)", err);
+ dataRecordList = eina_list_append(dataRecordList, dataRecordClone);
+ }
+ }
+
+ return dataRecordList;
+}
+
+contacts_record_h CtMyProfileDetailData::__getDefaultNumber()
+{
+ int index = 0;
+ bool value = 0;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h dataRecord = NULL;
+ contacts_record_h dataRecordClone = NULL;
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__personRecord, _contacts_my_profile.number, index++, &dataRecord)) {
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+ break;
+ }
+
+ err = contacts_record_get_bool(dataRecord, _contacts_number.is_default, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_bool() Failed(%d)", err);
+ if (value == true) {
+ err = contacts_record_clone(dataRecord, &dataRecordClone);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_clone() Failed(%d)", err);
+ break;
+ }
+ return dataRecordClone;
+ }
+ }
+
+ return NULL;
+}
+
+i18n_udate_format_h CtMyProfileDetailData::__initTimeFormatter()
+{
+ const char *locale;
+ int32_t pattern_capacity;
+ i18n_uchar pattern[256];
+ i18n_uchar customSkeleton[256];
+ i18n_udate_format_h formatter = NULL;
+ i18n_udatepg_h generator = NULL;
+ int status = I18N_ERROR_NONE;
+ int bestPatternLength;
+
+ i18n_ustring_copy_ua_n(customSkeleton, "yMMMMd", SAFE_STRLEN("yMMMMd"));
+
+ status = i18n_ulocale_get_default(&locale);
+ WPRET_VM(NULL == locale, NULL, "uloc_getDefault() return NULL");
+
+ status = i18n_udatepg_create (locale, &generator);
+
+ pattern_capacity = (int32_t) (sizeof(pattern) / sizeof((pattern)[0]));
+ status = i18n_udatepg_get_best_pattern (generator, customSkeleton, 6, pattern, pattern_capacity, &bestPatternLength);
+
+ if (!status)
+ status = i18n_udate_create (I18N_UDATE_PATTERN , I18N_UDATE_PATTERN , locale, NULL, -1, pattern, -1, &formatter);
+
+ i18n_udatepg_destroy(generator);
+ return formatter;
+}
+
+char* CtMyProfileDetailData::getDatetimeStr(i18n_udate_format_h formatter, int year, int mon, int day)
+{
+ char *ret_str = NULL;
+ char formatted_str[256];
+ i18n_uchar formatted[256] = {0, };
+ int status = I18N_ERROR_NONE;
+ i18n_udate millis = 0;
+ i18n_ucalendar_h cal = NULL;
+ int formattedLength = 0;
+
+ const char* locale = NULL;
+ status = i18n_ulocale_get_default(&locale);
+
+ status = i18n_ucalendar_create(NULL, -1, locale, I18N_UCALENDAR_TRADITIONAL , &cal);
+ WPRET_VM(status, NULL, "ucal_open() Failed()");
+
+ status = i18n_ucalendar_set_date_time(cal, year, mon-1, day, 0, 0, 0);
+ status = i18n_ucalendar_set_attribute(cal, I18N_UCALENDAR_LENIENT , 1);
+ status = i18n_ucalendar_get_milliseconds(cal, &millis);
+
+ if (status) {
+ WDEBUG("i18n_ucalendar_get_milliseconds() Failed()");
+ i18n_ucalendar_destroy(cal);
+ return NULL;
+ }
+
+ status = i18n_udate_format_date(formatter, millis, formatted, 256, NULL, &formattedLength);
+
+ if (status) {
+ WDEBUG("udat_format() Failed()");
+ i18n_ucalendar_destroy(cal);
+ return NULL;
+ }
+
+ i18n_ustring_copy_au (formatted_str, formatted);
+ ret_str = g_strdup(formatted_str);
+ i18n_ucalendar_destroy(cal);
+
+ return ret_str;
+}
+
+i18n_udate_format_h CtMyProfileDetailData::getDateFormater()
+{
+ return __formatter;
+}
+
+bool CtMyProfileDetailData::getReadOnlyMode()
+{
+ return false;
+}
+
+void CtMyProfileDetailData::attachListener(ICtChangeListener* listener)
+{
+ WASSERT(listener);
+ __listener = listener;
+}
+
+void CtMyProfileDetailData::detachListener()
+{
+ __listener = NULL;
+}
+
+char* CtMyProfileDetailData::getVcardStream() const
+{
+ char* vcardStream = NULL;
+ int err = contacts_vcard_make_from_my_profile(__personRecord, &vcardStream);
+ WPRET_VM(err != CONTACTS_ERROR_NONE, NULL, "contacts_vcard_make_from_my_profile() Failed(%d)", err);
+ return vcardStream;
+}
diff --git a/lib-contact/ct-detail/src/CtMyProfileDetailData.h b/lib-contact/ct-detail/src/CtMyProfileDetailData.h
new file mode 100755
index 0000000..31a6c5f
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtMyProfileDetailData.h
@@ -0,0 +1,150 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_MYPROFILE_DETAIL_DATA_H_
+#define _CT_MYPROFILE_DETAIL_DATA_H_
+
+#include <utils_i18n.h>
+#include <contacts.h>
+
+#include "ContactsCommon.h"
+
+#include "CtType.h"
+
+#include "CtDetailDataBase.h"
+#include "ICtChangeListener.h"
+
+class CtMyProfileDetailData : public CtDetailDataBase
+{
+public:
+ CtMyProfileDetailData();
+ virtual ~CtMyProfileDetailData();
+
+public:
+
+ void init();
+ void deInit();
+
+ int getPersonId();
+ contacts_record_h getPersonRecord();
+ Eina_List* getContactsList();
+ int setFavorite(bool favorite);
+
+ const char* getImagePath();
+ const char* getDisplayName();
+ const char* getExtraName();
+ const char* getPhoneticName();
+ const char* getNickName();
+ const char* getCompany();
+ const char* getMessageAlert();
+ const char* getVibration();
+ bool getFavorite();
+ //bool getMFC();
+
+ Eina_List* getNumberList();
+ contacts_record_h getDefNumberRecord();
+ const char* getNumber(contacts_record_h record);
+ int getNumberType(contacts_record_h record);
+ void getNumberTypeStr(contacts_record_h record, int numberType, std::string &typeString);
+ const char* getNumberTypeCustom(contacts_record_h record);
+ Eina_List* getEmailList();
+ const char* getEmail(contacts_record_h record);
+ int getEmailType(contacts_record_h record);
+ void getEmailTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ Eina_List* getAddressList();
+ int getAddress(contacts_record_h record, char *buf, int length);
+ const char* getDataTypeCustom(contacts_record_h record, int property_id);
+ int getAddressType(contacts_record_h record);
+ void getAddressTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ Eina_List* getMessengerList();
+ const char* getMessenger(contacts_record_h record);
+ int getMessengerType(contacts_record_h record);
+ void getMessengerTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ Eina_List* getUrlList();
+ const char* getUrl(contacts_record_h record);
+ int getUrlType(contacts_record_h record);
+ Eina_List* getRelationshipList();
+ const char* getRelationship(contacts_record_h record);
+ int getRelationshipType(contacts_record_h record);
+ void getRelationshipTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ Eina_List* getEventList();
+ int getEvent(contacts_record_h record);
+ int getEventType(contacts_record_h record);
+ void getEventTypeStr(contacts_record_h record, int eventType, std::string &typeString);
+ Eina_List* getNoteList();
+ const char* getNote(contacts_record_h record);
+ char* getDatetimeStr(i18n_udate_format_h formatter, int year, int mon, int day);
+ i18n_udate_format_h getDateFormater();
+ bool getReadOnlyMode();
+
+ void attachListener(ICtChangeListener* listener);
+ void detachListener();
+
+ char* getVcardStream() const;
+
+private:
+ static void __onPersonChanged(const char *viewUri, void *userData);
+ void __freeRecordList(Eina_List *recordList);
+
+ Eina_List* __getChildDataList(Eina_List *contactList, unsigned int propertyId);
+ Eina_List* __getChildNumberList();
+ contacts_record_h __getDefaultNumber();
+ int __getFullAddress(contacts_record_h addresssRecord, char *buf, int length);
+ void __appendStringWithLinebreak(const char *src, char *dest, int length);
+
+
+ void __getBasicInfo(contacts_record_h personRecord, Eina_List *contactList);
+ void __getCompany(Eina_List *contactList, char **dest);
+ void __getExtraName1(Eina_List *contactList, char **nick, char **phonetic);
+ void __getExtraName2(char* nick, char* phonetic, char** extra);
+ void __getExtraNameStr(contacts_record_h nameRecord, contacts_record_h nicknameRecord, char **nick, char **phonetic);
+ void __getCompanyStr(contacts_record_h companyRecord, char **dest);
+ i18n_udate_format_h __initTimeFormatter();
+private:
+
+ int __version;
+
+ int __personId;
+ contacts_record_h __personRecord;
+ contacts_record_h __defaultNumberRecord;
+
+ char *__imagePath;
+ char *__displayName;
+ char *__extraName;
+ char *__phoneticName;
+ char *__nickName;
+ char *__company;
+ char *__messageAlert;
+ char *__vibration;
+ bool __favorite;
+
+ Eina_List *__contactList;
+ Eina_List *__numberList;
+ Eina_List *__emailList;
+ Eina_List *__addressList;
+ Eina_List *__messengerList;
+ Eina_List *__urlList;
+ Eina_List *__relationshipList;
+ Eina_List *__eventList;
+ Eina_List *__noteList;
+
+ i18n_udate_format_h __formatter;
+
+ ICtChangeListener* __listener;
+};
+
+#endif //_CT_MYPROFILE_DETAIL_DATA_H_
diff --git a/lib-contact/ct-detail/src/CtMyProfileDetailView.cpp b/lib-contact/ct-detail/src/CtMyProfileDetailView.cpp
new file mode 100755
index 0000000..7dfc6ba
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtMyProfileDetailView.cpp
@@ -0,0 +1,548 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <app.h>
+#include <contacts.h>
+#include <app_preference.h>
+
+#include "WNaviframe.h"
+#include "WWindow.h"
+#include "WMenuPopup.h"
+
+#include "ContactsDebug.h"
+#include "ContactsAppControlLauncher.h"
+#include "CtPath.h"
+#include "CtCommon.h"
+#include "ContactsCommon.h"
+
+#include "CtMyProfileDetailView.h"
+#include "CtDetailViewBasicInfoControl.h"
+#include "CtDetailViewNumberItem.h"
+#include "CtDetailViewEmailItem.h"
+#include "CtDetailViewNoteItem.h"
+#include "CtDetailViewAddressItem.h"
+#include "CtDetailViewEventItem.h"
+#include "CtDetailViewMessengerItem.h"
+#include "CtDetailViewRelationItem.h"
+#include "CtDetailViewWebsiteItem.h"
+#include "CtMyProfileDetailData.h"
+#include "CtMyProfileInputView.h"
+#include "CtThemeMgr.h"
+
+#define __ITEM_HEIGHT 96
+
+
+CtMyProfileDetailView::CtMyProfileDetailView()
+{
+ __detailData = new CtMyProfileDetailData();
+ __initialize();
+}
+
+CtMyProfileDetailView::~CtMyProfileDetailView()
+{
+ WHIT();
+ //ctCommonTerminateAppservice(getNaviframe()->getEvasObj());
+ destroyPopup();
+ delete __detailData;
+}
+
+void CtMyProfileDetailView::__initialize()
+{
+ for (int i = MYPROFILE_DETAIL_MSISDN; i < MYPROFILE_DETAIL_ITEMS_MAX; i++) {
+ __genlistItems[i] = {};
+ }
+}
+
+const char* CtMyProfileDetailView::getClassName()
+{
+ return "CtMyProfileDetailView";
+}
+
+void CtMyProfileDetailView::onDbChanged(const char* viewUri)
+{
+ WENTER();
+ __createBaseInfo();
+ __updateGenlist();
+}
+
+void CtMyProfileDetailView::onCompleteGetContacts(int offset)
+{
+ WENTER();
+}
+
+void CtMyProfileDetailView::onConditionChagned()
+{
+ WENTER();
+}
+
+Evas_Object* CtMyProfileDetailView::__getWindow(void)
+{
+ if(getWindow())
+ return getWindow()->getEvasObj();
+ else
+ WASSERT_EX(0, "window null");
+
+ return NULL;
+}
+
+void CtMyProfileDetailView::onDestroy()
+{
+ WENTER();
+
+}
+
+void CtMyProfileDetailView::onEvent(int eventType)
+{
+ WENTER();
+
+}
+
+void CtMyProfileDetailView::onPushed(Elm_Object_Item* naviItem)
+{
+ WHIT();
+ elm_naviframe_item_title_enabled_set(naviItem, EINA_FALSE, EINA_FALSE);
+
+ enableMoreButton(naviItem, [](void *data, Evas_Object *obj, void *event_info){
+ CtMyProfileDetailView* view = static_cast<CtMyProfileDetailView*>(data);
+ WMenuPopup* popup = new WMenuPopup();
+ popup->prepare(view->__getWindow(), view->getNaviframe()->getEvasObj() );
+
+ popup->appendItem(V_("IDS_PB_OPT_EDIT"), [view]()
+ {
+ view->getNaviframe()->push(new CtMyProfileInputView(NULL), NULL, NULL);
+ });
+ popup->appendItem(V_("IDS_PB_BUTTON_DELETE_ABB4"), [view]()
+ {
+ view->__onDeleteCb(view, NULL, NULL);
+ });
+ popup->appendItem(V_("IDS_PB_HEADER_SHARE_VIA"), [view]()
+ {
+ view->__onShareCb(view, NULL, NULL);
+ });
+ view->attachPopup( popup );
+
+ }, this);
+ __detailData->attachListener(this);
+}
+
+void CtMyProfileDetailView::__basicInfoBackBtnCb(void *data, Evas_Object *obj,
+ const char *emission, const char *source)
+{
+ WHIT();
+ WPRET_M(!data, "data is NULL");
+ CtMyProfileDetailView* view = (CtMyProfileDetailView*)data;
+
+ view->popOut();
+}
+
+void CtMyProfileDetailView::__createBaseInfo()
+{
+ WHIT();
+ CtDetailViewBasicInfoControl *basicInfo = new CtDetailViewBasicInfoControl(__detailData, false);
+ WPRET_M(!basicInfo, "basicInfo is NULL");
+ basicInfo->create(__mainLayout, NULL);
+ edje_object_signal_callback_add(_EDJ(basicInfo->getEvasObj()), "mouse,clicked,*", "back_btn", __basicInfoBackBtnCb, this);
+
+ elm_object_part_content_set(__mainLayout, "swallow.base_info", basicInfo->getEvasObj());
+}
+
+Evas_Object* CtMyProfileDetailView::onCreate(Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+
+ std::string detailLayoutEdjePath;
+ ContactsCommon::getAppEdjePath(DETAIL_LAYOUT_EDJ, detailLayoutEdjePath);
+ CtThemeMgr::getInstance()->addExtensionTheme(detailLayoutEdjePath.c_str());
+
+ __mainLayout = elm_layout_add(parent);
+ elm_layout_file_set(__mainLayout, ContactsCommon::getAppEdjePath(DETAIL_LAYOUT_EDJ).c_str(), "main_layout");
+
+ CtThemeMgr::getInstance()->setObjectTheme(__mainLayout);
+
+ __genlist = elm_genlist_add(__mainLayout);
+ evas_object_size_hint_weight_set(__genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_genlist_mode_set(__genlist, ELM_LIST_COMPRESS);
+ elm_object_part_content_set(__mainLayout, "swallow.content", __genlist);
+
+ __createBaseInfo();
+ __addAllItems();
+
+ return __mainLayout;
+
+}
+
+void CtMyProfileDetailView::onLanguageChanged()
+{
+ WHIT();
+
+ if(__genlist)
+ elm_genlist_realized_items_update(__genlist);
+}
+
+int CtMyProfileDetailView::getPersoinId(void)
+{
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ return __detailData->getPersonId();
+}
+
+
+void CtMyProfileDetailView::__addAllItems()
+{
+ WHIT();
+ for (int i = 0; i < MYPROFILE_DETAIL_ITEMS_MAX; i++) {
+ __addItem(i);
+ }
+}
+
+void CtMyProfileDetailView::__addItem(int itemType)
+{
+ WHIT();
+
+ WDEBUG("itemType %d", itemType);
+ switch(itemType) {
+ case MYPROFILE_DETAIL_MSISDN:
+ __addMsisdnItem();
+ break;
+ case MYPROFILE_DETAIL_NUMBER:
+ __addNumberItems();
+ break;
+ case MYPROFILE_DETAIL_EMAIL:
+ __addEmailItems();
+ break;
+ case MYPROFILE_DETAIL_NOTE:
+ __addNoteItems();
+ break;
+ case MYPROFILE_DETAIL_ADDRESS:
+ __addAddressItems();
+ break;
+ case MYPROFILE_DETAIL_EVENT:
+ __addEventItems();
+ break;
+ case MYPROFILE_DETAIL_RELATIONSHIP:
+ __addRelationItems();
+ break;
+ case MYPROFILE_DETAIL_WEBSITE:
+ __addWebsiteItems();
+ break;
+ case MYPROFILE_DETAIL_MESSENGER:
+ __addMessengerItems();
+ break;
+ default:
+ WDEBUG("Unsupported type: %d", itemType);
+ break;
+ }
+}
+
+void CtMyProfileDetailView::__addMsisdnItem()
+{
+ WHIT();
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ contacts_record_h defaultRecord = __detailData->getDefNumberRecord();
+ if (defaultRecord) {
+ CtDetailViewNumberItem *item = new CtDetailViewNumberItem(__detailData, defaultRecord, true);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL));
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+}
+
+void CtMyProfileDetailView::__addNumberItems()
+{
+ WHIT();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getNumberList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewNumberItem *item = new CtDetailViewNumberItem(__detailData, record, true);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL));
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+}
+
+void CtMyProfileDetailView::__addEmailItems()
+{
+ WHIT();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getEmailList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+ CtDetailViewEmailItem* item = new CtDetailViewEmailItem(__detailData, record, true);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL));
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+}
+
+void CtMyProfileDetailView::__addNoteItems()
+{
+ WHIT();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getNoteList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewNoteItem* item = new CtDetailViewNoteItem(__detailData, record);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL));
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+}
+
+void CtMyProfileDetailView::__addAddressItems()
+{
+ WHIT();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getAddressList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewAddressItem* item = new CtDetailViewAddressItem(__detailData, record);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL));
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+}
+
+void CtMyProfileDetailView::__addEventItems()
+{
+ WHIT();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getEventList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewEventItem *item = new CtDetailViewEventItem(__detailData, record);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL));
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+}
+
+void CtMyProfileDetailView::__addRelationItems()
+{
+ WHIT();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getRelationshipList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewRelationItem *item = new CtDetailViewRelationItem(__detailData, record);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL));
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+}
+
+void CtMyProfileDetailView::__addWebsiteItems()
+{
+ WHIT();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getUrlList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewWebsiteItem *item = new CtDetailViewWebsiteItem(__detailData, record, true);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL) );
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+}
+
+void CtMyProfileDetailView::__addMessengerItems()
+{
+ WHIT();
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+
+ WASSERT_EX(NULL != __detailData, "__detailData is null");
+ list = __detailData->getMessengerList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL)
+ continue;
+
+ CtDetailViewMessengerItem *item = new CtDetailViewMessengerItem(__detailData, record);
+ item->setElmObjectItem(elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL) );
+ elm_genlist_item_select_mode_set((Elm_Object_Item*)item->getElmObjectItem(), ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ }
+}
+
+//MENU
+void CtMyProfileDetailView::__onShareCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ CtMyProfileDetailView* view = static_cast<CtMyProfileDetailView*>(data);
+ WPRET_M(!(view && view->__detailData), "invalid data");
+
+ sharePerson(view->__detailData->getPersonId(), true);
+}
+
+//MENU
+void CtMyProfileDetailView::__onDeleteCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtMyProfileDetailView* view = static_cast<CtMyProfileDetailView*>(data);
+ Eina_List* contactList = view->__detailData->getContactsList();
+ unsigned int count = eina_list_count(contactList);
+
+ WPopup *popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle("IDS_PB_BUTTON_DELETE_ABB4");
+
+ char *text = NULL;
+
+ if(view->__isContactSyncToAnyAccount(view->__detailData->getPersonRecord()))// contact synced with any account
+ {
+ if( count > 1 ) {
+ text = strdup(V_("IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"));
+ }
+ else {
+ text = strdup(V_("IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"));
+ }
+ }
+ else // contact not synced with any account
+ {
+ if( count > 1 ) {
+ text = strdup(V_("IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"));
+ }
+ else {
+ text = strdup(V_("IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"));
+ }
+ }
+
+ popup->setContent(text);
+ popup->addButton(V_("IDS_PB_BUTTON_CANCEL"), [](bool* destroyPopup){
+ WDEBUG("Cancel");
+ *destroyPopup = true;
+ });
+ popup->addButton(V_("IDS_PB_BUTTON_DELETE_ABB4"), [view](bool* destroyPopup){
+ WDEBUG("Delete");
+ if (CONTACTS_ERROR_NONE == view->__deleteContacts(view)) {
+ evas_object_data_set(view->getNaviframe()->getEvasObj(), "ct_list_update_myprofile", (void *)1);
+
+ view->popOut();
+ *destroyPopup = false;
+ }
+ else {
+ *destroyPopup = true;
+ }
+ });
+
+ view->attachPopup( popup );
+ SAFE_FREE(text);
+}
+
+int CtMyProfileDetailView::__deleteContacts(void *data)
+{
+ WHIT();
+ CtMyProfileDetailView* view = static_cast<CtMyProfileDetailView*>(data);
+ int err = CONTACTS_ERROR_NONE;
+ WDEBUG("view->getPersoinId() = %d", view->getPersoinId());
+
+ err = contacts_db_delete_record(_contacts_my_profile._uri, view->getPersoinId());
+ WPWARN(err != CONTACTS_ERROR_NONE, "contacts_db_delete_record() fail(%d)",err);
+ if (err == CONTACTS_ERROR_NONE) {
+ view->__detailData->detachListener();
+ int ret = preference_set_boolean(CT_KEY_MYPROFILE_CREATE_FIRST, true);
+ WDEBUG("preference_set_boolean(%d) Failed", ret);
+ }
+ return err;
+}
+
+bool CtMyProfileDetailView::__isContactSyncToAnyAccount(contacts_record_h personRecord)
+{
+ WHIT();
+ contacts_record_h addressbookRecord = NULL;
+ char* accountName = NULL;
+ int addressbookId = -1;
+
+ int ret = contacts_record_get_int(personRecord, _contacts_my_profile.address_book_id, &addressbookId);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_str_p() Failed(%d)", ret);
+ WDEBUG("addressbookId = %d", addressbookId);
+
+ ret = contacts_db_get_record(_contacts_address_book._uri, addressbookId, &addressbookRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != ret, NULL, "contacts_db_get_record() Failed(%d)", ret);
+
+ ret = contacts_record_get_str_p(addressbookRecord, _contacts_address_book.name, &accountName);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_str_p() Failed(%d)", ret);
+ WDEBUG("accountName = %s", accountName);
+
+ if(strstr(accountName, "addressbook/phone")==NULL && strstr(accountName, "addressbook/sim")==NULL) {
+ contacts_record_destroy(addressbookRecord, true);
+ return true;
+ }
+
+ contacts_record_destroy(addressbookRecord, true);
+ return false;
+}
+
+void CtMyProfileDetailView::__updateGenlist()
+{
+ WHIT();
+ elm_genlist_clear(__genlist);
+ for (int i = MYPROFILE_DETAIL_MSISDN; i < MYPROFILE_DETAIL_ITEMS_MAX; i++) {
+ __genlistItems[i] = {};
+ }
+
+ __addAllItems();
+}
+
+extern "C" {
+ WAPP_ASSIST_EXPORT WView* createMyProfileDetailView() {
+ CtMyProfileDetailView* view = new CtMyProfileDetailView();
+ return view;
+ }
+}
+
diff --git a/lib-contact/ct-detail/src/CtMyProfileInputData.cpp b/lib-contact/ct-detail/src/CtMyProfileInputData.cpp
new file mode 100755
index 0000000..c0e9663
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtMyProfileInputData.cpp
@@ -0,0 +1,2248 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ContactsDebug.h"
+#include "CtMyProfileInputData.h"
+#include "CtCommon.h"
+
+CtMyProfileInputData::CtMyProfileInputData(contacts_record_h contactRecord)
+{
+ WHIT();
+ __contactRecord = contactRecord;
+ __contactId = 0;
+ __init();
+
+}
+
+
+CtMyProfileInputData::CtMyProfileInputData(ContactsData &contactsData)
+{
+ WHIT();
+ __contactRecord = NULL;
+ __contactId = 0;
+}
+
+CtMyProfileInputData::CtMyProfileInputData()
+{
+ WHIT();
+ __init();
+}
+
+CtMyProfileInputData::~CtMyProfileInputData()
+{
+ WHIT();
+ contacts_record_destroy(__contactRecord, true);
+}
+
+//contacts_record_h CtMyProfileInputData::getContactRecord()
+//{
+// WHIT();
+// return __contactRecord;
+//}
+
+void CtMyProfileInputData::__init()
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h myprofileList = NULL;
+ int count = 0;
+ contacts_record_h record = NULL;
+
+ err = contacts_db_get_all_records(_contacts_my_profile._uri, 0, 0, &myprofileList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_all_records() Failed(%d)", err);
+
+ if (myprofileList != NULL) {
+// int myprofile_id = 0;
+ contacts_list_get_count(myprofileList, &count);
+ if (count > 0) {
+ err = contacts_list_get_current_record_p(myprofileList, &record);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_current_record_p() Failed(%d)", err);
+ err = contacts_record_get_int(record, _contacts_my_profile.id, &__contactId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ }
+
+ err = contacts_record_clone(record, &__contactRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_clone() Failed(%d)", err);
+ contacts_list_destroy(myprofileList, true);
+ }
+
+ if (__contactRecord == NULL) {
+ err = contacts_record_create(_contacts_my_profile._uri, &__contactRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_create() Failed(%d)", err);
+ }
+}
+
+int CtMyProfileInputData::separateFullName(contacts_record_h nameRecord, const char *full_name)
+{
+ WHIT();
+ WPRET_VM(NULL == nameRecord, -1, "nameRecord is NULL");
+ WPRET_VM(NULL == full_name, -1, "full_name is NULL");
+ int err = CONTACTS_ERROR_NONE;
+ char *temp_name = NULL;
+ char *temp_first = NULL;
+ char *temp_middle = NULL;
+ char *temp_last = NULL;
+ char tmp[CT_TEXT_MAX_LEN] = {0};
+
+ snprintf(tmp, sizeof(tmp), "%s", full_name);
+
+ temp_first = strtok_r(tmp, " ", &temp_name);
+ if (temp_first) {
+ temp_middle = strtok_r(NULL, " ", &temp_name);
+ if (temp_middle) {
+ temp_last = temp_name;
+ }
+ }
+
+ WDEBUG("full_name %s, first %s, middle %s, last %s", full_name, temp_first, temp_middle, temp_last);
+
+ if(temp_first && *temp_first) {
+ if(temp_last && *temp_last) {
+ err = contacts_record_set_str(nameRecord, _contacts_name.first, temp_first);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.addition, temp_middle);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.last, temp_last);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ else {
+ if(temp_middle && *temp_middle) {
+ err = contacts_record_set_str(nameRecord, _contacts_name.first, temp_first);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.addition, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.last, temp_middle);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ else {
+ err = contacts_record_set_str(nameRecord, _contacts_name.first, temp_first);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.addition, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.last, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ }
+ }else {
+ err = contacts_record_set_str(nameRecord, _contacts_name.first, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.addition, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.last, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtMyProfileInputData::separatePhoneticFullName(contacts_record_h nameRecord, const char *full_name)
+{
+ WHIT();
+ WPRET_VM(NULL == nameRecord, -1, "nameRecord is NULL");
+ int err = CONTACTS_ERROR_NONE;
+ char *temp_name = NULL;
+ char *temp_first = NULL;
+ char *temp_middle = NULL;
+ char *temp_last = NULL;
+ char tmp[CT_TEXT_MAX_LEN] = {0};
+
+ if (NULL == full_name) {
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_first, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_middle, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_last, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ return err;
+ }
+
+ snprintf(tmp, sizeof(tmp), "%s", full_name);
+
+ temp_first = strtok_r(tmp, " ", &temp_name);
+ if (temp_first) {
+ temp_middle = strtok_r(NULL, " ", &temp_name);
+ if (temp_middle) {
+ temp_last = temp_name;
+ }
+ }
+
+ WDEBUG("full_name %s, first %s, middle %s, last %s", full_name, temp_first, temp_middle, temp_last);
+
+ if(temp_first && *temp_first) {
+ if(temp_last && *temp_last) {
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_first, temp_first);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_middle, temp_middle);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_last, temp_last);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ else {
+ if(temp_middle && *temp_middle) {
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_first, temp_first);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_middle, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_last, temp_middle);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ else {
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_first, temp_first);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_middle, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_last, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ }
+ }else {
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_first, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_middle, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_last, NULL);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtMyProfileInputData::setPrefixName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.prefix, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtMyProfileInputData::setSuffixName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.suffix, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtMyProfileInputData::setPhoneticFullName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+ //WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ if(nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = separatePhoneticFullName(nameRecord, text);
+ return err;
+}
+
+int CtMyProfileInputData::setPhoneticFirstName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_first, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtMyProfileInputData::setPhoneticMiddleName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_middle, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtMyProfileInputData::setPhoneticLastName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.phonetic_last, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtMyProfileInputData::setNickname(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.nickname, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_nickname._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.nickname, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_nickname.name, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtMyProfileInputData::setCompany(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.company, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_company._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.company, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_company.name, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtMyProfileInputData::setJobTitle(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.company, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_company._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.company, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_company.job_title, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtMyProfileInputData::setFullName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+ //WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ if(nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = separateFullName(nameRecord, text);
+ return err;
+}
+
+int CtMyProfileInputData::setFirstName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.first, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtMyProfileInputData::setMiddleName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.addition, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+int CtMyProfileInputData::setLastName(const char *text)
+{
+ WDEBUG("text %s", text);
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+
+ if (nameRecord == NULL) {
+ err = contacts_record_create(_contacts_name._uri, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.name, nameRecord);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(nameRecord, true);
+ return err;
+ }
+ }
+
+ err = contacts_record_set_str(nameRecord, _contacts_name.last, text);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+
+ return err;
+}
+
+const char* CtMyProfileInputData::getPrefixName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *prefix = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.prefix, &prefix);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ return prefix;
+}
+
+const char* CtMyProfileInputData::getSuffixName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *suffix = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.suffix, &suffix);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ return suffix;
+}
+
+const char* CtMyProfileInputData::getPhoneticFirstName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *phoneticName = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.phonetic_first, &phoneticName);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ return phoneticName;
+}
+
+const char* CtMyProfileInputData::getPhoneticMiddleName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *phoneticName = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.phonetic_middle, &phoneticName);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ return phoneticName;
+}
+
+const char* CtMyProfileInputData::getPhoneticLastName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *phoneticName = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.phonetic_last, &phoneticName);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ return phoneticName;
+}
+
+const char* CtMyProfileInputData::getNickname()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *nickname = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.nickname, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_nickname.name, &nickname);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ return nickname;
+}
+
+const char* CtMyProfileInputData::getCompany()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *company = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.company, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_company.name, &company);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ return company;
+}
+
+const char* CtMyProfileInputData::getJobTitle()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *jobTitle = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.company, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_company.job_title, &jobTitle);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ return jobTitle;
+}
+
+/**
+ * @return must be freed by you
+ */
+void CtMyProfileInputData::getFullName(std::string &Name)
+{
+ int strLen = 0;
+ const char *firstName = NULL;
+ const char *middleName = NULL;
+ const char *lastName = NULL;
+ const char *prefixName = NULL;
+ const char *suffixName = NULL;
+ char *fullName = NULL;
+
+ firstName = getFirstName();
+ middleName = getMiddleName();
+ lastName = getLastName();
+ prefixName = getPrefixName();
+ suffixName = getSuffixName();
+
+ strLen = SAFE_STRLEN(prefixName) + SAFE_STRLEN(firstName) + SAFE_STRLEN(middleName) + SAFE_STRLEN(lastName) + SAFE_STRLEN(suffixName) + 6;
+ WDEBUG("strLen = %d", strLen);
+
+ fullName = (char*)malloc(sizeof(char)*strLen);
+ WPRET_M(NULL == fullName, "failed to malloc");
+ memset(fullName, 0, sizeof(char)*strLen);
+
+ if (prefixName && *prefixName) {
+ strncat(fullName, prefixName, SAFE_STRLEN(prefixName));
+ }
+ if (firstName && *firstName) {
+ if (fullName && *fullName) {
+ strncat(fullName, " ", 1);
+ }
+ strncat(fullName, firstName, SAFE_STRLEN(firstName));
+ }
+ if (middleName && *middleName) {
+ if (fullName && *fullName) {
+ strncat(fullName, " ", 1);
+ }
+ strncat(fullName, middleName, SAFE_STRLEN(middleName));
+ }
+ if (lastName && *lastName) {
+ if (fullName && *fullName) {
+ strncat(fullName, " ", 1);
+ }
+ strncat(fullName, lastName, SAFE_STRLEN(lastName));
+ }
+ if (suffixName && *suffixName) {
+ if (fullName && *fullName) {
+ strncat(fullName, ", ", 2);
+ }
+ strncat(fullName, suffixName, SAFE_STRLEN(suffixName));
+ }
+
+ Name = fullName;
+ free(fullName);
+}
+
+const char* CtMyProfileInputData::getFirstName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *firstName = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.first, &firstName);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ result = firstName;
+ return result;
+}
+
+const char* CtMyProfileInputData::getMiddleName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *middleName = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.addition, &middleName);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ result = middleName;
+ return result;
+}
+
+const char* CtMyProfileInputData::getLastName()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h nameRecord = NULL;
+ char *lastName = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.name, 0, &nameRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(nameRecord, _contacts_name.last, &lastName);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ result = lastName;
+ return result;
+}
+
+int CtMyProfileInputData::removeImage(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_my_profile.image, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ err = contacts_record_destroy(record, true);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_destroy() Failed(%d)", err);
+
+ return err;
+}
+
+const char* CtMyProfileInputData::getImagePath()
+{
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h imageRecord = NULL;
+ char *image = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.image, 0, &imageRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(imageRecord, _contacts_image.path, &image);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_set_str() Failed(%d)", err);
+
+ result = image;
+ return result;
+}
+contacts_record_h CtMyProfileInputData::getImageRecord()
+{
+ WHIT();
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.image, 0, &record);
+ if (NULL != record) {
+ return record;
+ }
+
+ err = contacts_record_create(_contacts_image._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.image, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_add_child_record() Failed(%d)", err);
+
+ return record;
+}
+
+int CtMyProfileInputData::setImage(contacts_record_h record, char *image, int type)
+{
+ WDEBUG("image %s", image);
+ int err = CONTACTS_ERROR_NONE;
+
+ if(image && *image) {
+ err = contacts_record_set_int(record, _contacts_image.type, type);
+ err = contacts_record_set_str(record, _contacts_image.path, image);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+Eina_List* CtMyProfileInputData::getNumberList()
+{
+ WHIT();
+
+ int index = 0;
+ bool value = 0;
+ Eina_List *dataRecordList = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h dataRecord = NULL;
+ const char* typeStr = NULL;
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.number, index++, &dataRecord)) {
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+ break;
+ }
+
+ err = contacts_record_get_bool(dataRecord, _contacts_number.is_default, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_bool() Failed(%d)", err);
+ typeStr = getDataTypeCustom(dataRecord, _contacts_number.label);
+
+ if (value == true && (typeStr && 0 == strcmp(typeStr, CT_KEY_SIM_CARD_NUMBER))) {
+ continue;
+ }
+ dataRecordList = eina_list_append(dataRecordList, dataRecord);
+ }
+
+ return dataRecordList;
+}
+
+contacts_record_h CtMyProfileInputData::getEmergencyNumber()
+{
+ WHIT();
+ return NULL;
+}
+
+contacts_record_h CtMyProfileInputData::getDefaultNumber()
+{
+ int index = 0;
+ bool value = 0;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h dataRecord = NULL;
+ const char* typeStr = NULL;
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.number, index++, &dataRecord)) {
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+ break;
+ }
+
+ err = contacts_record_get_bool(dataRecord, _contacts_number.is_default, &value);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_bool() Failed(%d)", err);
+
+ typeStr = getDataTypeCustom(dataRecord, _contacts_number.label);
+ if (value == true && (typeStr && 0 == strcmp(typeStr, CT_KEY_SIM_CARD_NUMBER))) {
+ return dataRecord;
+ }
+ }
+
+ return NULL;
+}
+
+contacts_record_h CtMyProfileInputData::addNumber(const char *number)
+{
+ WDEBUG("number %s", number);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_number._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setNumberNumber(record, number);
+ setNumberType(record, getNextNumberType(), NULL);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.number, record);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtMyProfileInputData::setNumberNumber(contacts_record_h record, const char *number)
+{
+ WDEBUG("number %s", number);
+ int err = CONTACTS_ERROR_NONE;
+
+ if(number) {
+ err = contacts_record_set_str(record, _contacts_number.number, number);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtMyProfileInputData::setNumberType(contacts_record_h record, int type, const char *customStr)
+{
+ WDEBUG("type %d", type);
+ WDEBUG("customStr %s", customStr);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (type >= 0) {
+ err = contacts_record_set_int(record, _contacts_number.type, type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ if (customStr) {
+ err = contacts_record_set_str(record, _contacts_number.label, customStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ return err;
+}
+
+int CtMyProfileInputData::removeNumber(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_my_profile.number, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+const char* CtMyProfileInputData::getNumberNumber(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *number = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_str_p(record, _contacts_number.number, &number);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ result = number;
+ return result;
+}
+
+int CtMyProfileInputData::getNumberType(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int type = 0;
+
+ err = contacts_record_get_int(record, _contacts_number.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+Eina_List* CtMyProfileInputData::getEmailList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_my_profile.email);
+}
+
+const char* CtMyProfileInputData::getDataTypeCustom(contacts_record_h record, int property_id)
+{
+ char* typeStr = NULL;
+ const char* result = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_record_get_str_p(record, property_id, &typeStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_int() Failed(%d)", err);
+
+ result = typeStr;
+ return result;
+}
+
+void CtMyProfileInputData::getNumberTypeStr(contacts_record_h record, int numberType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+ char buf[128] = {0,};
+
+ if (numberType & CONTACTS_NUMBER_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_number.label);
+
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_CELL) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ snprintf(buf, sizeof(buf),"%s 2", V_("IDS_PB_OPT_HOME_ABB"));
+ typeStr = buf;
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ snprintf(buf, sizeof(buf),"%s 2", V_("IDS_PB_OPT_WORK"));
+ typeStr = buf;
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_MOBILE");
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_VOICE) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_BODY_TELEPHONE");
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_FAX) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_FAX_HHOME_ABB");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_FAX_HWORK_ABB");
+ }
+ else {
+ typeStr = V_("IDS_PB_BODY_FAX");
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_MAIN) {
+ typeStr = V_("IDS_PB_OPT_MAIN");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_PAGER) {
+ typeStr = V_("IDS_PB_OPT_PAGER");
+ }
+ else {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtMyProfileInputData::getNumberRetType(int indexType)
+{
+ int retType;
+
+ switch (indexType) {
+ case CTTEXT_TYPE_MOBILE:
+ retType = CONTACTS_NUMBER_TYPE_CELL;
+ break;
+ case CTTEXT_TYPE_HOME:
+ retType = CONTACTS_NUMBER_TYPE_VOICE | CONTACTS_NUMBER_TYPE_HOME;
+ break;
+ case CTTEXT_TYPE_WORK:
+ retType = CONTACTS_NUMBER_TYPE_VOICE | CONTACTS_NUMBER_TYPE_WORK;
+ break;
+ case CTTEXT_TYPE_FAX_HOME:
+ retType = CONTACTS_NUMBER_TYPE_FAX | CONTACTS_NUMBER_TYPE_HOME;
+ break;
+ case CTTEXT_TYPE_FAX_WORK:
+ retType = CONTACTS_NUMBER_TYPE_FAX | CONTACTS_NUMBER_TYPE_WORK;
+ break;
+ case CTTEXT_TYPE_PAGER:
+ retType = CONTACTS_NUMBER_TYPE_PAGER;
+ break;
+ case CTTEXT_TYPE_CUSTOM:
+ retType = CONTACTS_NUMBER_TYPE_CUSTOM;
+ break;
+ case CTTEXT_TYPE_MAIN:
+ retType = CONTACTS_NUMBER_TYPE_MAIN;
+ break;
+ case CTTEXT_TYPE_OTHER:
+ default:
+ retType = CONTACTS_NUMBER_TYPE_OTHER;
+ break;
+ }
+
+ return retType;
+}
+int CtMyProfileInputData::getNumberIndexType(int numberType)
+{
+ if (numberType & CONTACTS_NUMBER_TYPE_CUSTOM) {
+ return (CTTEXT_TYPE_OTHER);
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_CELL) {
+ return (CTTEXT_TYPE_MOBILE);
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_VOICE) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME) {
+ return (CTTEXT_TYPE_HOME);
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK) {
+ return (CTTEXT_TYPE_WORK);
+ }
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_FAX) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME)
+ return (CTTEXT_TYPE_FAX_HOME);
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK)
+ return (CTTEXT_TYPE_FAX_WORK);
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_PAGER)
+ return (CTTEXT_TYPE_PAGER);
+ else if (numberType & CONTACTS_NUMBER_TYPE_MAIN)
+ return (CTTEXT_TYPE_MAIN);
+ else {
+ if (numberType == CONTACTS_NUMBER_TYPE_HOME)
+ return (CTTEXT_TYPE_HOME);
+ else if (numberType == CONTACTS_NUMBER_TYPE_WORK)
+ return (CTTEXT_TYPE_WORK);
+ else
+ return (CTTEXT_TYPE_OTHER);
+ }
+ WERROR("Not handled case numberType=%d", numberType);
+ return (CTTEXT_TYPE_OTHER);
+}
+
+int CtMyProfileInputData::getNextNumberType()
+{
+ int i;
+ int numberType;
+ int indexType;
+ int index = 0;
+ int err = CONTACTS_ERROR_NONE;
+ int used[CTTEXT_TYPE_OTHER+1] = {0};
+ contacts_record_h record = NULL;
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.number, index++, &record)) {
+ err = contacts_record_get_int(record, _contacts_number.type, &numberType);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ continue;
+ }
+ indexType = getNumberIndexType(numberType);
+ used[indexType] = 1;
+ }
+
+ for (i=CTTEXT_TYPE_MOBILE;i<CTTEXT_TYPE_OTHER;i++) {
+ if (0 == used[i]) {
+
+ return getNumberRetType(i);
+ }
+ }
+
+ return CONTACTS_NUMBER_TYPE_OTHER;
+
+}
+
+contacts_record_h CtMyProfileInputData::addEmail(const char *email)
+{
+ WDEBUG("email %s", email);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_email._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setEmailEmail(record, email);
+ setEmailType(record, getNextEmailType(), NULL);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.email, record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtMyProfileInputData::setEmailEmail(contacts_record_h record, const char *email)
+{
+ WDEBUG("email %s", email);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (email) {
+ err = contacts_record_set_str(record, _contacts_email.email, email);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtMyProfileInputData::setEmailType(contacts_record_h record, int type, char *customStr)
+{
+ WDEBUG("type %d", type);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (type >= 0) {
+ err = contacts_record_set_int(record, _contacts_email.type, type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ if (customStr) {
+ err = contacts_record_set_str(record, _contacts_email.label, customStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+const char* CtMyProfileInputData::getEmailEmail(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *email = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_str_p(record, _contacts_email.email, &email);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ result = email;
+ return result;
+}
+
+int CtMyProfileInputData::getEmailType(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int type = 0;
+
+ err = contacts_record_get_int(record, _contacts_email.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtMyProfileInputData::getEmailTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType & CONTACTS_EMAIL_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_email.label);
+ }
+ else if (indexType & CONTACTS_EMAIL_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (indexType & CONTACTS_EMAIL_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtMyProfileInputData::getNextEmailType()
+{
+ int i;
+ int used = 0;
+ int emailType;
+ int index = 0;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.email, index++, &record)) {
+ err = contacts_record_get_int(record, _contacts_email.type, &emailType);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ continue;
+ }
+ used |= emailType;
+ }
+
+ int maxType = CONTACTS_EMAIL_TYPE_WORK;
+ for (i=1;(1<<i)<=maxType;i++) {
+ if (!(used & (1<<i))) {
+ return 1<<i;
+ }
+ }
+
+ return CONTACTS_EMAIL_TYPE_OTHER;
+
+}
+
+int CtMyProfileInputData::removeEmail(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_my_profile.email, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+contacts_record_h CtMyProfileInputData::getNoteRecord()
+{
+ WHIT();
+ contacts_record_h record = NULL;
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.note, 0, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+ return record;
+}
+
+contacts_record_h CtMyProfileInputData::addNote(const char *note)
+{
+ WDEBUG("note %s", note);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_note._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setNote(record, note);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.note, record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtMyProfileInputData::setNote(contacts_record_h record, const char *note)
+{
+ WDEBUG("note %s", note);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (note) {
+ err = contacts_record_set_str(record, _contacts_note.note, note);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+Eina_List* CtMyProfileInputData::getNoteList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_my_profile.note);
+}
+
+const char* CtMyProfileInputData::getNote(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *note = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_str_p(record, _contacts_note.note, &note);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ result = note;
+ return result;
+}
+
+int CtMyProfileInputData::removeNote(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_my_profile.note, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+Eina_List* CtMyProfileInputData::getAddressList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_my_profile.address);
+}
+
+contacts_record_h CtMyProfileInputData::addAddress(const char *address)
+{
+ WDEBUG("address %s", address);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_address._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setAddressAddress(record, address);
+ setAddressType(record, getNextAddressType(), NULL);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.address, record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtMyProfileInputData::setAddressAddress(contacts_record_h record, const char *address)
+{
+ WDEBUG("address %s", address);
+ int ret = CONTACTS_ERROR_NONE;
+
+ if (address) {
+ do {
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.postbox, NULL))) break;
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.postal_code, NULL))) break;
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.region, NULL))) break;
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.locality, NULL))) break;
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.street, address))) break;
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.country, NULL))) break;
+ if (CONTACTS_ERROR_NONE != (ret = contacts_record_set_str(record, _contacts_address.extended, NULL))) break;
+ } while (0);
+ WPRET_VM(CONTACTS_ERROR_NONE != ret, ret, "contacts_record_set_str() Failed(%d)", ret);
+ }
+
+ return ret;
+}
+
+int CtMyProfileInputData::setAddressType(contacts_record_h record, int type, const char *customStr)
+{
+ WDEBUG("type %d", type);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (type >= 0) {
+ err = contacts_record_set_int(record, _contacts_address.type, type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ if (customStr) {
+ err = contacts_record_set_str(record, _contacts_address.label, customStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtMyProfileInputData::getAddressAddress(contacts_record_h record, char *buf, int length)
+{
+ WHIT();
+ return __getFullAddress(record, buf, length);
+}
+
+void CtMyProfileInputData::__appendStringWithLinebreak(const char *src, char *dest, int length)
+{
+ char temp[CT_TEXT_MAX_LEN];
+ if (src && '\0' != src[0]) {
+ if ('\0' == dest[0])
+ snprintf(dest, length, "%s", src);
+ else {
+ snprintf(temp, sizeof(temp), "%s\n%s", src, dest);
+ snprintf(dest, length, "%s", temp);
+ }
+ }
+}
+
+int CtMyProfileInputData::__getFullAddress(contacts_record_h addresssRecord, char *buf, int length)
+{
+ WHIT();
+
+ const char *code = NULL;
+ const char *region = NULL;
+ const char *locality = NULL;
+ const char *street = NULL;
+ const char *extended = NULL;
+ const char *country = NULL;
+ const char *pobox = NULL;
+ int err = CONTACTS_ERROR_NONE;
+
+ do {
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.postal_code , (char**)&code))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.extended , (char**)&extended))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.postbox , (char**)&pobox))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.street , (char**)&street))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.locality , (char**)&locality))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.region , (char**)&region))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_get_str_p(addresssRecord, _contacts_address.country ,(char**)&country))) break;
+ } while (0);
+ if(CONTACTS_ERROR_NONE != err)
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+
+ __appendStringWithLinebreak(country, buf, length);
+ __appendStringWithLinebreak(code, buf, length);
+ __appendStringWithLinebreak(region, buf, length);
+ __appendStringWithLinebreak(locality, buf, length);
+ __appendStringWithLinebreak(street, buf, length);
+ __appendStringWithLinebreak(extended, buf, length);
+ __appendStringWithLinebreak(pobox, buf, length);
+
+ return 0;
+}
+
+int CtMyProfileInputData::getAddressType(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int type = 0;
+
+ err = contacts_record_get_int(record, _contacts_address.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtMyProfileInputData::getAddressTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType & CONTACTS_ADDRESS_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_address.label);
+ }
+ else if (indexType & CONTACTS_ADDRESS_TYPE_HOME) {
+ typeStr = V_("IDS_PB_OPT_HOME_ABB");
+ }
+ else if (indexType & CONTACTS_ADDRESS_TYPE_WORK) {
+ typeStr = V_("IDS_PB_OPT_WORK");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtMyProfileInputData::getNextAddressType()
+{
+ int i;
+ int used = 0;
+ int addressType;
+ int index = 0;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.address, index++, &record)) {
+ err = contacts_record_get_int(record, _contacts_address.type, &addressType);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ continue;
+ }
+ used |= addressType;
+ }
+
+ int maxType = CONTACTS_ADDRESS_TYPE_WORK;
+ for (i=1;(1<<i)<=maxType;i++) {
+ if (!(used & (1<<i))) {
+ return 1<<i;
+ }
+ }
+
+ return CONTACTS_ADDRESS_TYPE_OTHER;
+
+}
+
+int CtMyProfileInputData::removeAddress(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_my_profile.address, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+Eina_List* CtMyProfileInputData::getMessengerList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_my_profile.messenger);
+}
+
+contacts_record_h CtMyProfileInputData::addMessenger(const char *messenger)
+{
+ WDEBUG("messenger %s", messenger);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_messenger._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setMessengerMessenger(record, messenger);
+ setMessengerType(record, getNextMessengerType(), NULL);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.messenger, record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtMyProfileInputData::setMessengerMessenger(contacts_record_h record, const char *messenger)
+{
+ WDEBUG("messenger %s", messenger);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (messenger) {
+ err = contacts_record_set_str(record, _contacts_messenger.im_id, messenger);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtMyProfileInputData::setMessengerType(contacts_record_h record, int type, const char *customStr)
+{
+ WDEBUG("type %d", type);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (type >= 0) {
+ err = contacts_record_set_int(record, _contacts_messenger.type, type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ if (customStr) {
+ err = contacts_record_set_str(record, _contacts_messenger.label, customStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtMyProfileInputData::getMessengerIndexType(int emailType)
+{
+ switch (emailType) {
+ case CONTACTS_MESSENGER_TYPE_CUSTOM:
+ return CTTEXT_MESSENGER_TYPE_CUSTOM;
+ case CONTACTS_MESSENGER_TYPE_AIM:
+ return CTTEXT_MESSENGER_TYPE_AIM;
+ case CONTACTS_MESSENGER_TYPE_YAHOO:
+ return CTTEXT_MESSENGER_TYPE_YAHOO;
+ case CONTACTS_MESSENGER_TYPE_SKYPE:
+ return CTTEXT_MESSENGER_TYPE_SKYPE;
+ case CONTACTS_MESSENGER_TYPE_QQ:
+ return CTTEXT_MESSENGER_TYPE_QQ;
+ case CONTACTS_MESSENGER_TYPE_ICQ:
+ return CTTEXT_MESSENGER_TYPE_ICQ;
+ case CONTACTS_MESSENGER_TYPE_JABBER:
+ default:
+ return CTTEXT_MESSENGER_TYPE_JABBER;
+ }
+}
+
+int CtMyProfileInputData::getMessengerRetType(int indexType)
+{
+ int retType;
+
+ switch (indexType) {
+ case CTTEXT_MESSENGER_TYPE_CUSTOM:
+ retType = CONTACTS_MESSENGER_TYPE_CUSTOM;
+ break;
+ case CTTEXT_MESSENGER_TYPE_AIM:
+ retType = CONTACTS_MESSENGER_TYPE_AIM;
+ break;
+ case CTTEXT_MESSENGER_TYPE_YAHOO:
+ retType = CONTACTS_MESSENGER_TYPE_YAHOO;
+ break;
+ case CTTEXT_MESSENGER_TYPE_SKYPE:
+ retType = CONTACTS_MESSENGER_TYPE_SKYPE;
+ break;
+ case CTTEXT_MESSENGER_TYPE_QQ:
+ retType = CONTACTS_MESSENGER_TYPE_QQ;
+ break;
+ case CTTEXT_MESSENGER_TYPE_ICQ:
+ retType = CONTACTS_MESSENGER_TYPE_ICQ;
+ break;
+ case CTTEXT_MESSENGER_TYPE_JABBER:
+ default:
+ retType = CONTACTS_MESSENGER_TYPE_JABBER;
+ break;
+ }
+
+ return retType;
+}
+
+const char* CtMyProfileInputData::getMessengerMessenger(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *messenger = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_str_p(record, _contacts_messenger.im_id, &messenger);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ result = messenger;
+ return result;
+}
+
+int CtMyProfileInputData::getMessengerType(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int type = 0;
+
+ err = contacts_record_get_int(record, _contacts_messenger.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtMyProfileInputData::getMessengerTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (indexType == CONTACTS_MESSENGER_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_messenger.label);
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_AIM) {
+ typeStr = V_("IDS_PB_OPT_AIM");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_YAHOO) {
+ typeStr = V_("IDS_PB_OPT_YAHOO_E");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_SKYPE) {
+ typeStr = V_("IDS_PB_BODY_SKYPE");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_QQ) {
+ typeStr = V_("IDS_PB_OPT_QQ");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_GOOGLE) {
+ typeStr = V_("IDS_PB_OPT_HANGOUTS");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_ICQ) {
+ typeStr = V_("IDS_PB_OPT_ICQ");
+ }
+ else if (indexType == CONTACTS_MESSENGER_TYPE_JABBER) {
+ typeStr = V_("IDS_PB_OPT_JABBER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtMyProfileInputData::getNextMessengerType()
+{
+ int i;
+ int messengerType;
+ int indexType;
+ int index = 0;
+ int err = CONTACTS_ERROR_NONE;
+ int used[CTTEXT_TYPE_OTHER+1] = {0};
+ contacts_record_h record = NULL;
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.messenger, index++, &record)) {
+ err = contacts_record_get_int(record, _contacts_messenger.type, &messengerType);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ continue;
+ }
+ indexType = getMessengerIndexType(messengerType);
+ used[indexType] = 1;
+ }
+
+ for (i=CTTEXT_MESSENGER_TYPE_AIM;i<=CTTEXT_MESSENGER_TYPE_JABBER;i++) {
+ if (0 == used[i]) {
+ return getMessengerRetType(i);
+ }
+ }
+
+ return CONTACTS_MESSENGER_TYPE_CUSTOM;
+
+}
+
+int CtMyProfileInputData::removeMessenger(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_my_profile.messenger, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+Eina_List* CtMyProfileInputData::getWebsiteList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_my_profile.url);
+}
+
+contacts_record_h CtMyProfileInputData::addWebsite(const char *url)
+{
+ WDEBUG("url %s", url);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_url._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setWebsiteWebsite(record, url);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.url, record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtMyProfileInputData::setWebsiteWebsite(contacts_record_h record, const char *url)
+{
+ WDEBUG("url %s", url);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (url) {
+ err = contacts_record_set_str(record, _contacts_url.url, url);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+const char* CtMyProfileInputData::getWebsiteWebsite(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ char *url = NULL;
+ const char *result = NULL;
+
+ err = contacts_record_get_str_p(record, _contacts_url.url, &url);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() Failed(%d)", err);
+
+ result = url;
+ return result;
+}
+
+int CtMyProfileInputData::removeWebsite(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_my_profile.url, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+Eina_List* CtMyProfileInputData::getEventList()
+{
+ WHIT();
+ return __getChildDataList(__contactRecord, _contacts_my_profile.event);
+}
+
+contacts_record_h CtMyProfileInputData::addEvent(int date)
+{
+ WDEBUG("date %d", date);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+
+ err = contacts_record_create(_contacts_event._uri, &record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_create() Failed(%d)", err);
+
+ setEventEvent(record, date);
+ setEventType(record, getNextEventType(), NULL);
+
+ err = contacts_record_add_child_record(__contactRecord, _contacts_my_profile.event, record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_add_child_record() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ return NULL;
+ }
+ return record;
+}
+
+int CtMyProfileInputData::setEventEvent(contacts_record_h record, int date)
+{
+ WDEBUG("date %d", date);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (date > 0) {
+ err = contacts_record_set_int(record, _contacts_event.date, date);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_int() Failed(%d)", err);
+ }
+ return err;
+}
+
+int CtMyProfileInputData::setEventType(contacts_record_h record, int type, char *customStr)
+{
+ WDEBUG("type %d", type);
+ int err = CONTACTS_ERROR_NONE;
+
+ if (type >= 0) {
+ err = contacts_record_set_int(record, _contacts_event.type, type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+ if (customStr) {
+ err = contacts_record_set_str(record, _contacts_event.label, customStr);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ }
+
+ return err;
+}
+
+int CtMyProfileInputData::getEventEvent(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int date = 0;
+
+ err = contacts_record_get_int(record, _contacts_event.date, &date);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return date;
+}
+
+int CtMyProfileInputData::getEventType(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ int type = 0;
+
+ err = contacts_record_get_int(record, _contacts_event.type, &type);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_record_get_int() Failed(%d)", err);
+
+ return type;
+}
+
+void CtMyProfileInputData::getEventTypeStr(contacts_record_h record, int eventType, std::string &typeString)
+{
+ WHIT();
+ const char* typeStr = NULL;
+
+ if (eventType == CONTACTS_EVENT_TYPE_CUSTOM) {
+ typeStr = getDataTypeCustom(record, _contacts_event.label);
+ }
+ else if (eventType == CONTACTS_EVENT_TYPE_BIRTH) {
+ typeStr = V_("IDS_PB_OPT_BIRTHDAY");
+ }
+ else if (eventType == CONTACTS_EVENT_TYPE_ANNIVERSARY) {
+ typeStr = V_("IDS_PB_OPT_ANNIVERSARY_ABB");
+ }
+ else {
+ typeStr = V_("IDS_PB_OPT_OTHER");
+ }
+
+ char *result = elm_entry_utf8_to_markup(typeStr);
+ if (result) {
+ typeString = result;
+ free(result);
+ }
+}
+
+int CtMyProfileInputData::getNextEventType()
+{
+ int eventType;
+ int index = 0;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+ bool usedBirthday = false;
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(__contactRecord, _contacts_my_profile.event, index++, &record)) {
+ err = contacts_record_get_int(record, _contacts_event.type, &eventType);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ continue;
+ }
+ if (CONTACTS_EVENT_TYPE_BIRTH == eventType) {
+ usedBirthday = true;
+ break;
+ }
+ }
+
+ if (usedBirthday)
+ return CONTACTS_EVENT_TYPE_ANNIVERSARY;
+
+ return CONTACTS_EVENT_TYPE_BIRTH;
+
+}
+
+int CtMyProfileInputData::removeEvent(contacts_record_h record)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(__contactRecord, _contacts_my_profile.event, record);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ return err;
+}
+
+void CtMyProfileInputData::__removeEmptyFiedls()
+{
+ removeEmptyFieldRecord(_contacts_my_profile.number, _contacts_number.number);
+ removeEmptyFieldRecord(_contacts_my_profile.email, _contacts_email.email);
+ removeEmptyFieldRecord(_contacts_my_profile.address, _contacts_address.street);
+ removeEmptyFieldRecord(_contacts_my_profile.url, _contacts_url.url);
+ removeEmptyFieldRecord(_contacts_my_profile.messenger, _contacts_messenger.im_id);
+ removeEmptyFieldRecord(_contacts_my_profile.note, _contacts_note.note);
+}
+
+int CtMyProfileInputData::insertContact(int *contactId)
+{
+ WHIT();
+ return contacts_db_insert_record(__contactRecord, contactId);
+}
+
+int CtMyProfileInputData::updateContact()
+{
+ WHIT();
+ return contacts_db_update_record(__contactRecord);
+}
+
+int CtMyProfileInputData::getContactId()
+{
+ WHIT();
+ return __contactId;
+}
+
+Eina_List* CtMyProfileInputData::__getChildDataList(contacts_record_h contactRecord, unsigned int propertyId)
+{
+ WDEBUG("propertyId %d", propertyId);
+ int index = 0;
+// Eina_List *l;
+ Eina_List *dataRecordList = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h dataRecord = NULL;
+// contacts_record_h dataRecordClone = NULL;
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(contactRecord, propertyId, index++, &dataRecord)) {
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+ break;
+ }
+
+ //err = contacts_record_clone(dataRecord, &dataRecordClone);
+ //if (CONTACTS_ERROR_NONE != err) {
+ // WERROR("contacts_list_get_current_record_p() Failed(%d)", err);
+ // break;
+ //}
+ dataRecordList = eina_list_append(dataRecordList, dataRecord);
+ }
+
+ return dataRecordList;
+}
+
+void CtMyProfileInputData::setPreferenceCreateFirst(bool isFirst)
+{
+ WHIT();
+}
+
+int CtMyProfileInputData::getAddressbookId()
+{
+ WHIT();
+ return 0;
+}
+
+const char* CtMyProfileInputData::getAddressbookName()
+{
+ WHIT();
+ return NULL;
+}
+
+const char* CtMyProfileInputData::getUserName()
+{
+ WHIT();
+ return NULL;
+}
+
+void CtMyProfileInputData::setAddressbookInfo(int addressbookId)
+{
+ WHIT();
+}
+
+Eina_List* CtMyProfileInputData::getRelationshipList()
+{
+ WHIT();
+ return NULL;
+}
+
+contacts_record_h CtMyProfileInputData::addRelationship(const char *relationship)
+{
+ WHIT();
+ return NULL;
+}
+
+int CtMyProfileInputData::setRelationshipRelationship(contacts_record_h record, const char *relationship)
+{
+ WHIT();
+ return 0;
+}
+
+int CtMyProfileInputData::setRelationshipType(contacts_record_h record, int type, const char *customStr)
+{
+ WHIT();
+ return 0;
+}
+
+const char* CtMyProfileInputData::getRelationshipRelationship(contacts_record_h record)
+{
+ WHIT();
+ return NULL;
+}
+
+int CtMyProfileInputData::getRelationshipType(contacts_record_h record)
+{
+ WHIT();
+ return 0;
+}
+
+void CtMyProfileInputData::getRelationshipTypeStr(contacts_record_h record, int indexType, std::string &typeString)
+{
+ WHIT();
+}
+
+int CtMyProfileInputData::getNextRelationshipType()
+{
+ WHIT();
+ return 0;
+}
+
+int CtMyProfileInputData::removeRelationship(contacts_record_h record)
+{
+ WHIT();
+ return 0;
+}
+
+contacts_record_h CtMyProfileInputData::getDefaultEmail()
+{
+ WHIT();
+ return NULL;
+}
+
+bool CtMyProfileInputData::checkChangedTypeIsDeleted()
+{
+ WHIT();
+ return false;
+}
+
+void CtMyProfileInputData::attachListener(ICtChangeListener* listener)
+{
+ WHIT();
+}
+
+void CtMyProfileInputData::detachListener()
+{
+ WHIT();
+}
+
+void CtMyProfileInputData::removeEmptyFieldRecord(int property_id, int property_id_str)
+{
+ int i;
+ int count;
+ char *str1 = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+ bool empty = false;
+
+ err = contacts_record_get_child_record_count(__contactRecord, property_id, &count);
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_record_get_child_record_count() Failed(%d)", err);
+
+ for (i=count-1;0<=i;i--) {
+ empty = false;
+ err = contacts_record_get_child_record_at_p(__contactRecord, property_id, i, &record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_child_record_at_p() Failed(%d)", err);
+ continue;
+ }
+
+ err = contacts_record_get_str(record, property_id_str, &str1);
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+ if (CONTACTS_ERROR_NONE != err || NULL == str1 || '\0' == *str1) {
+ empty = true;
+ }
+ free(str1);
+
+ if (empty) {
+ err = contacts_record_remove_child_record(__contactRecord, property_id, record);
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_record_remove_child_record() Failed(%d)", err);
+ err = contacts_record_destroy(record, true);
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
+ }
+ }
+}
diff --git a/lib-contact/ct-detail/src/CtMyProfileInputData.h b/lib-contact/ct-detail/src/CtMyProfileInputData.h
new file mode 100755
index 0000000..8be67bf
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtMyProfileInputData.h
@@ -0,0 +1,194 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_MYPROFILE_INPUT_DATA_H_
+#define _CT_MYPROFILE_INPUT_DATA_H_
+
+#include <Eina.h>
+
+#include <contacts.h>
+//#include <contacts_product.h>
+
+#include "ContactsCommon.h"
+
+#include "CtType.h"
+
+#include "CtData.h"
+
+class CtMyProfileInputData:public CtData
+{
+public:
+ CtMyProfileInputData(contacts_record_h contactRecord);
+ CtMyProfileInputData(ContactsData &contactsData);
+ CtMyProfileInputData();
+ virtual ~CtMyProfileInputData();
+ contacts_record_h addGroupRelation(int groupId){ return NULL; };
+
+public:
+
+ virtual int insertContact(int *contactId);
+ virtual int updateContact();
+
+ virtual int separateFullName(contacts_record_h nameRecord, const char *full_name);
+ virtual int separatePhoneticFullName(contacts_record_h nameRecord, const char *full_name);
+ virtual int setPrefixName(const char *text);
+ virtual int setSuffixName(const char *text);
+ virtual int setPhoneticFullName(const char *text);
+ virtual int setPhoneticFirstName(const char *text);
+ virtual int setPhoneticMiddleName(const char *text);
+ virtual int setPhoneticLastName(const char *text);
+ virtual int setNickname(const char *text);
+ virtual int setCompany(const char *text);
+ virtual int setJobTitle(const char *text);
+ virtual int setFullName(const char *text);
+ virtual int setFirstName(const char *text);
+ virtual int setMiddleName(const char *text);
+ virtual int setLastName(const char *text);
+ virtual const char* getPrefixName();
+ virtual const char* getSuffixName();
+ virtual const char* getPhoneticFirstName();
+ virtual const char* getPhoneticMiddleName();
+ virtual const char* getPhoneticLastName();
+ virtual const char* getNickname();
+ virtual const char* getCompany();
+ virtual const char* getJobTitle();
+ virtual void getFullName(std::string &Name);
+ virtual const char* getFirstName();
+ virtual const char* getMiddleName();
+ virtual const char* getLastName();
+ // ...
+ virtual bool getFavorite(){return false;}
+ //virtual bool getMFC(){return false;}
+ virtual int getPersonId(){return 0;}
+
+ virtual int getAddressbookId();
+ virtual const char* getAddressbookName();
+ virtual const char* getUserName();
+ virtual void setAddressbookInfo(int addressbookId);
+
+ virtual const char* getImagePath();
+ virtual contacts_record_h getImageRecord();
+ virtual int removeImage(contacts_record_h record);
+ virtual int setImage(contacts_record_h record, char *image, int type);
+ virtual void setPreferenceCreateFirst(bool isFirst);
+
+ virtual contacts_record_h getEmergencyNumber();
+ virtual Eina_List* getNumberList();
+ virtual contacts_record_h addNumber(const char *number);
+ virtual int setNumberNumber(contacts_record_h record, const char *number);
+ virtual int setNumberType(contacts_record_h record, int type, const char *customStr);
+ virtual int removeNumber(contacts_record_h record);
+ virtual const char* getNumberNumber(contacts_record_h record);
+ virtual int getNumberType(contacts_record_h record);
+ virtual const char *getDataTypeCustom(contacts_record_h record, int property_id);
+ virtual void getNumberTypeStr(contacts_record_h record, int numberType, std::string &typeString);
+ virtual int getNumberRetType(int indexType);
+ virtual int getNumberIndexType(int numberType);
+ virtual int getNextNumberType();
+
+ virtual Eina_List* getEmailList();
+ virtual contacts_record_h addEmail(const char *email);
+ virtual int setEmailEmail(contacts_record_h record, const char *email);
+ virtual int setEmailType(contacts_record_h record, int type, char *customStr);
+ virtual const char* getEmailEmail(contacts_record_h record);
+ virtual int getEmailType(contacts_record_h record);
+ virtual void getEmailTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ virtual int getNextEmailType();
+ virtual int removeEmail(contacts_record_h record);
+
+ virtual Eina_List* getNoteList();
+ virtual contacts_record_h getNoteRecord();
+ virtual contacts_record_h addNote(const char *note);
+ virtual int setNote(contacts_record_h record, const char *note);
+ virtual const char* getNote(contacts_record_h record);
+ virtual int removeNote(contacts_record_h record);
+
+ virtual Eina_List* getAddressList();
+ virtual contacts_record_h addAddress(const char *address);
+ virtual int setAddressAddress(contacts_record_h record, const char *address);
+ virtual int setAddressType(contacts_record_h record, int type, const char *customStr);
+ virtual int getAddressAddress(contacts_record_h record, char *buf, int length);
+ virtual int getAddressType(contacts_record_h record);
+ virtual void getAddressTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ virtual int getNextAddressType();
+ virtual int removeAddress(contacts_record_h record);
+
+ virtual Eina_List* getMessengerList();
+ virtual contacts_record_h addMessenger(const char *messenger);
+ virtual int setMessengerMessenger(contacts_record_h record, const char *messenger);
+ virtual int setMessengerType(contacts_record_h record, int type, const char *customStr);
+ virtual int getMessengerIndexType(int emailType);
+ virtual int getMessengerRetType(int indexType);
+ virtual const char* getMessengerMessenger(contacts_record_h record);
+ virtual int getMessengerType(contacts_record_h record);
+ virtual void getMessengerTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ virtual int getNextMessengerType();
+ virtual int removeMessenger(contacts_record_h record);
+
+ virtual Eina_List* getWebsiteList();
+ virtual contacts_record_h addWebsite(const char *url);
+ virtual int setWebsiteWebsite(contacts_record_h record, const char *url);
+ virtual const char* getWebsiteWebsite(contacts_record_h record);
+ virtual int removeWebsite(contacts_record_h record);
+
+ virtual Eina_List* getRelationshipList();
+ virtual contacts_record_h addRelationship(const char *relationship);
+ virtual int setRelationshipRelationship(contacts_record_h record, const char *relationship);
+ virtual int setRelationshipType(contacts_record_h record, int type, const char *customStr);
+ virtual const char* getRelationshipRelationship(contacts_record_h record);
+ virtual int getRelationshipType(contacts_record_h record);
+ virtual void getRelationshipTypeStr(contacts_record_h record, int indexType, std::string &typeString);
+ virtual int getNextRelationshipType();
+ virtual int removeRelationship(contacts_record_h record);
+
+ virtual Eina_List* getEventList();
+ virtual contacts_record_h addEvent(int date);
+ virtual int setEventEvent(contacts_record_h record, int date);
+ virtual int setEventType(contacts_record_h record, int type, char *customStr);
+ virtual int getEventEvent(contacts_record_h record);
+ virtual int getEventType(contacts_record_h record);
+ virtual void getEventTypeStr(contacts_record_h record, int eventType, std::string &typeString);
+ virtual int getNextEventType();
+ virtual int removeEvent(contacts_record_h record);
+
+ virtual int getContactId();
+
+ virtual contacts_record_h getDefaultEmail();
+ virtual contacts_record_h getDefaultNumber();
+ virtual bool checkChangedTypeIsDeleted();
+ virtual void attachListener(ICtChangeListener* listener);
+ virtual void detachListener();
+ void removeEmptyFieldRecord(int property_id, int property_id_str);
+
+ // for check input addressbook item is added or not
+ virtual void setInputAddressbookItem(bool added) {}
+ virtual bool getInputAddressbookItem(void) {return false;}
+
+private:
+ void __init();
+ void __appendStringWithLinebreak(const char *src, char *dest, int length);
+ int __getFullAddress(contacts_record_h addresssRecord, char *buf, int length);
+ Eina_List* __getChildDataList(contacts_record_h contactRecord, unsigned int propertyId);
+ void __removeEmptyFiedls();
+
+private:
+ contacts_record_h __contactRecord;
+
+ int __contactId;
+};
+
+#endif //_CT_MYPROFILE_INPUT_DATA_H_
diff --git a/lib-contact/ct-detail/src/CtMyProfileInputView.cpp b/lib-contact/ct-detail/src/CtMyProfileInputView.cpp
new file mode 100755
index 0000000..9e8cc26
--- /dev/null
+++ b/lib-contact/ct-detail/src/CtMyProfileInputView.cpp
@@ -0,0 +1,1591 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <account.h>
+#include <app_preference.h>
+#include <contacts.h>
+
+#include "WPopup.h"
+
+#include "ContactsDebug.h"
+#include "ContactsAppControlLauncher.h"
+
+#include "CtPath.h"
+#include "CtMyProfileDetailView.h"
+#include "CtMyProfileInputData.h"
+#include "CtMyProfileInputView.h"
+#include "CtCommon.h"
+
+#include "CtInputViewGenlistItem.h"
+#include "CtInputViewBasicInfoItem.h"
+#include "CtInputViewEmailItem.h"
+#include "CtInputViewNoteItem.h"
+#include "CtInputViewMessengerItem.h"
+#include "CtInputViewAddressItem.h"
+#include "CtInputViewWebsiteItem.h"
+#include "CtInputViewEventItem.h"
+#include "CtInputViewNumberItem.h"
+#include "CtInputViewMsisdnItem.h"
+#include "CtInputViewImportantFieldsItem.h"
+#include "CtInputViewImportantSubItem.h"
+#include "CtThemeMgr.h"
+
+#define GALLERY_UG "ug-gallery-efl"
+#define __ITEM_HEIGHT 96
+#define DATE_TIME_FORMAT "%%c"
+
+CtMyProfileInputView::CtMyProfileInputView(contacts_record_h contactRecord)
+{
+ WHIT();
+ __inputData = std::shared_ptr<CtData>( new CtMyProfileInputData(contactRecord) );
+ __initialize();
+}
+
+CtMyProfileInputView::~CtMyProfileInputView()
+{
+ WHIT();
+ destroyPopup();
+ ContactsAppControlLauncher::getInstance().terminate();
+
+ free(__basicInfoFullName);
+}
+
+void CtMyProfileInputView::__initialize()
+{
+ __contactId = 0;
+ __appendIndex = 0;
+ __saved = false;
+ __discard = false;
+ __changed = false;
+
+ __basicInfoFullName = NULL;
+ __baseInfoExpanded = false;
+ __isCreate = __inputData->getContactId() > 0 ? false : true;
+
+ memset( __genlistItems, 0, sizeof(__genlistItems) );
+
+ __birthdayEventExist = std::make_shared<bool> (false);
+}
+
+void CtMyProfileInputView::onDbChanged(const char* viewUri)
+{
+ WENTER();
+}
+
+void CtMyProfileInputView::onCompleteGetContacts(int offset)
+{
+ WENTER();
+}
+
+void CtMyProfileInputView::onConditionChagned()
+{
+ WENTER();
+}
+
+
+Evas_Object* CtMyProfileInputView::onCreate(Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+ if (__isCreate)
+ setTitle(V_("IDS_PB_SK_CREATE_ABB"));
+ else
+ setTitle(V_("IDS_PB_OPT_EDIT"));
+
+ std::string contactsEdjePath;
+ std::string buttonStylesEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ ContactsCommon::getAppEdjePath(CUSTOM_BUTTON_STYLES_EDJ, buttonStylesEdjePath);
+ Evas_Object *base = createBaseLayout(parent);
+ CtThemeMgr::getInstance()->addExtensionTheme(contactsEdjePath.c_str());
+ CtThemeMgr::getInstance()->addExtensionTheme(buttonStylesEdjePath.c_str());
+ CtThemeMgr::getInstance()->setObjectTheme(base);
+
+ Evas_Object* genlist = elm_genlist_add(base);
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+ evas_object_show(genlist);
+ __genlist = genlist;
+
+ elm_object_part_content_set(base, "elm.swallow.content", genlist);
+ evas_object_smart_callback_add(genlist, "realized", __genlistRealizedCb, this);
+ evas_object_smart_callback_add(genlist, "unrealized", __genlistUnrealizedCb, this);
+
+ return base;
+}
+
+void CtMyProfileInputView::onLanguageChanged()
+{
+ WHIT();
+
+ destroyPopup();
+
+ elm_object_text_set(__saveBtn, V_("IDS_PB_BUTTON_DONE_ABB3"));
+
+ Evas_Object* cancelBtn = elm_object_item_part_content_get(getNaviItem(), "title_left_btn");
+ elm_object_text_set(cancelBtn, V_("IDS_PB_BUTTON_CANCEL"));
+
+ if (__isCreate) {
+ elm_object_item_part_text_set(getNaviItem(), "elm.text.title", V_("IDS_PB_BUTTON_CREATE_ABB2"));
+ }
+ else { //TODO: translation needed
+ elm_object_item_part_text_set(getNaviItem(), "elm.text.title", "EDIT");
+ }
+
+ if(__genlist)
+ elm_genlist_realized_items_update(__genlist);
+}
+
+Evas_Object* CtMyProfileInputView::__getWindowEvasObj(void)
+{
+ if(getWindow())
+ return getWindow()->getEvasObj();
+ else
+ WASSERT_EX(1, "window null");
+ return NULL;
+}
+Evas_Object* CtMyProfileInputView::__getNaviframeEvasObj(void)
+{
+ if (getNaviframe()) {
+ return getNaviframe()->getEvasObj();
+ }
+ else {
+ return NULL;
+ }
+}
+
+
+void CtMyProfileInputView:: __genlistRealizedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtMyProfileInputView *view = (CtMyProfileInputView*)data;
+
+ view->__updateEntryReturnKeyType(NULL);
+
+ Elm_Object_Item *objectItem = (Elm_Object_Item*) event_info;
+ CtInputViewGenlistItem *item = (CtInputViewGenlistItem*) elm_object_item_data_get(objectItem);
+ if (item) {
+ item->onRealized();
+ }
+
+ if (objectItem == view->__genlistItems[MYPROFILE_INPUT_BASIC_INFO]) {
+ view->__updateBasicInfoItem();
+ }
+}
+
+
+void CtMyProfileInputView::__genlistUnrealizedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ Elm_Object_Item *objectItem = (Elm_Object_Item*) event_info;
+ CtInputViewGenlistItem *item = (CtInputViewGenlistItem*) elm_object_item_data_get(objectItem);
+ if (item) {
+ item->onUnrealized();
+ }
+}
+
+void CtMyProfileInputView::__save()
+{
+ int err = CONTACTS_ERROR_NONE;
+ int retId = 0;
+
+ if (__isCreate) {
+ err = __inputData->insertContact(&retId);
+
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("insert failed %d", err);
+ }
+ }
+ else {
+ err = __inputData->updateContact();
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("update failed %d", err);
+ }
+ }
+ __saved = true;
+
+ if (__isCreate) {
+ getNaviframe()->push(new CtMyProfileDetailView());
+ destroy();
+ } else {
+ popOut();
+ }
+
+ int ret = preference_set_boolean(CT_KEY_MYPROFILE_CREATE_FIRST, false);
+ WDEBUG("preference_set_boolean(%d) Failed", ret);
+}
+
+void CtMyProfileInputView::__saveCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtMyProfileInputView *view = (CtMyProfileInputView*)data;
+
+ view->__save();
+}
+
+void CtMyProfileInputView::__cancelCb(void *data, Evas_Object *obj, void *event_info)
+{
+ CtMyProfileInputView *view = (CtMyProfileInputView*)data;
+ elm_naviframe_item_pop(view->__getNaviframeEvasObj());
+}
+
+void CtMyProfileInputView::onPushed(Elm_Object_Item* naviItem)
+{
+ WHIT();
+ //add title button
+ __saveBtn = elm_button_add(getNaviframe()->getEvasObj());
+ elm_object_style_set(__saveBtn, "naviframe/title_right");
+ elm_object_text_set(__saveBtn, V_("IDS_TPLATFORM_ACBUTTON_DONE_ABB"));
+ evas_object_smart_callback_add(__saveBtn, "clicked", __saveCb, this);
+ elm_object_item_part_content_set(naviItem, "title_right_btn", __saveBtn);
+
+ if (__isCreate) {
+ elm_object_disabled_set(__saveBtn, EINA_TRUE);
+ }
+
+ Evas_Object* cancelButton = elm_button_add(getNaviframe()->getEvasObj());
+ elm_object_style_set(cancelButton, "naviframe/title_left");
+ elm_object_text_set(cancelButton, V_("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"));
+ evas_object_smart_callback_add(cancelButton, "clicked", __cancelCb, this);
+ elm_object_item_part_content_set(naviItem, "title_left_btn", cancelButton);
+
+ __addAllItems();
+
+}
+
+void CtMyProfileInputView::__galleryReplyCb(app_control_h request, app_control_h reply, app_control_result_e result, void *data)
+{
+ WHIT();
+ char **pathArray = NULL;
+ char *path = NULL;
+ int arrayLength = 0;
+ CtMyProfileInputView *view = (CtMyProfileInputView*)data;
+ int i=0;
+
+ app_control_get_extra_data_array(reply, APP_CONTROL_DATA_SELECTED, &pathArray, &arrayLength);
+ if (arrayLength > 0 && pathArray[0]) {
+ path = strdup(pathArray[0]);
+ }
+ for (i = 0; i < arrayLength; i++) {
+ free(pathArray[i]);
+ }
+ free(pathArray);
+
+ elm_object_tree_focus_allow_set(view->__getNaviframeEvasObj(), EINA_TRUE);
+
+ if (path) {
+ WDEBUG("image path %s", path);
+ contacts_record_h record = view->__inputData->getImageRecord();
+ //view->__inputData->setImage(record, path, CONTACTS_IMAGE_TYPE_EX_OTHER);
+ view->__inputData->setImage(record, path, CONTACTS_IMAGE_TYPE_OTHER);
+ view->__basicInfoUpdateImage();
+ free(path);
+ }
+// else {
+// elm_object_focus_set(cinput_d->image_focus_btn, EINA_TRUE);
+// }
+}
+
+void CtMyProfileInputView::__launchGallery(CtMyProfileInputView *view)
+{
+ WHIT();
+
+ app_control_h service = NULL;
+ int ret = 0;
+
+ elm_object_tree_focus_allow_set(view->__getNaviframeEvasObj(), EINA_FALSE);
+
+ ret = app_control_create(&service);
+ WPWARN(APP_CONTROL_ERROR_NONE != ret, "app_control_create() Failed(%d)", ret);
+
+ app_control_set_operation(service, APP_CONTROL_OPERATION_PICK);
+ app_control_set_app_id(service, GALLERY_UG);
+ app_control_add_extra_data(service, "hide-personal", "true");
+ app_control_add_extra_data(service, "launch-type", "select-setas");
+ app_control_add_extra_data(service, "setas-type", "callerid");
+ app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+
+ app_control_add_extra_data(service, "View Mode", "SETAS");
+ app_control_add_extra_data(service, "Setas type", "CallerID");
+ app_control_add_extra_data(service, "Area Size", "100");
+ app_control_add_extra_data(service, "Resolution", "480x480");
+
+
+ if( !ContactsAppControlLauncher::getInstance().sendLaunchRequest( service, __galleryReplyCb, view, view->__getNaviframeEvasObj() ) )
+ {
+ WERROR("launch Failed");
+ elm_object_tree_focus_allow_set(view->__getNaviframeEvasObj(), EINA_TRUE);
+ }
+}
+
+void CtMyProfileInputView::__cameraReplyCb(app_control_h request, app_control_h reply, app_control_result_e result, void *data)
+{
+ WHIT();
+ char *path = NULL;
+ CtMyProfileInputView *view = (CtMyProfileInputView*)data;
+
+ elm_object_tree_focus_allow_set(view->__getNaviframeEvasObj(), EINA_TRUE);
+
+ app_control_get_extra_data(reply, APP_CONTROL_DATA_SELECTED, &path);
+ if (path && *path) {
+ contacts_record_h record = view->__inputData->getImageRecord();
+ view->__inputData->setImage(record, path, CONTACTS_IMAGE_TYPE_OTHER);
+ view->__basicInfoUpdateImage();
+ }
+ free(path);
+}
+
+void CtMyProfileInputView::__launchCamera(CtMyProfileInputView *view)
+{
+ app_control_h service;
+ app_control_create(&service);
+ app_control_set_operation(service, APP_CONTROL_OPERATION_CREATE_CONTENT);
+ app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+ app_control_set_mime(service, "image/jpg");
+ app_control_add_extra_data(service, "CALLER", "contacts");
+
+ bool ret = ContactsAppControlLauncher::getInstance().sendLaunchRequest( service, __cameraReplyCb, view, view->__getNaviframeEvasObj() );
+
+ if( !ret )
+ {
+ WERROR("launch Failed");
+ }
+}
+
+
+void CtMyProfileInputView::__onGallerySelCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WPRET_M(NULL == data, "data is NULL");
+ CtMyProfileInputView *view = (CtMyProfileInputView*)data;
+
+ view->__launchGallery(view);
+
+ view->destroyPopup();
+}
+
+void CtMyProfileInputView::__onCameraSelCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WPRET_M(NULL == data, "data is NULL");
+ CtMyProfileInputView *view = (CtMyProfileInputView*)data;
+
+ view->__launchCamera(view);
+
+ view->destroyPopup();
+}
+
+void CtMyProfileInputView::__onRemoveSelCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WPRET_M(NULL == data, "data is NULL");
+ CtMyProfileInputView *view = (CtMyProfileInputView*)data;
+ view->destroyPopup();
+
+ contacts_record_h record = NULL;
+ record = view->__inputData->getImageRecord();
+ view->__inputData->removeImage(record);
+ view->__basicInfoUpdateImage();
+}
+
+void CtMyProfileInputView::__importantSubitemSelectedCb(void* data, Evas_Object* obj, void* event_info)
+{
+ WPRET_M(NULL == data, "data is NULL");
+ CtMyProfileInputView *view = (CtMyProfileInputView*)data;
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+ CtInputViewImportantSubItem *importantSubItem = (CtInputViewImportantSubItem *)elm_object_item_data_get(item);
+ contacts_record_h record = NULL;
+ CtMyProfileInputItems checkExistItem = MYPROFILE_INPUT_BASIC_INFO;
+ Elm_Object_Item *addedItem = NULL;
+
+ view->destroyPopup();
+
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ switch (importantSubItem->getIndex()) {
+ case MYPROFILE_INPUT_IMPORTANT_PHONETIC_INFO:
+ {
+ CtInputViewBasicInfoItem* basicInfoItem = (CtInputViewBasicInfoItem*)elm_object_item_data_get(view->__genlistItems[MYPROFILE_INPUT_BASIC_INFO]);
+ WPRET_M(NULL == basicInfoItem, "basicInfoItem is NULL");
+
+ elm_object_item_disabled_set(item, EINA_TRUE);
+ basicInfoItem->setAddPhoneticName(true);
+ basicInfoItem->setAddedIndex(INPUT_ADDED_ITEM_INDEX_PHONETIC_INFO);
+ elm_genlist_item_fields_update(view->__genlistItems[MYPROFILE_INPUT_BASIC_INFO], "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ addedItem = view->__genlistItems[MYPROFILE_INPUT_BASIC_INFO];
+
+ break;
+ }
+ case MYPROFILE_INPUT_IMPORTANT_MESSENGER:
+ {
+ record = view->__inputData->addMessenger("");
+ view->__addedIndex = INPUT_ADDED_ITEM_INDEX_IM;
+
+ if (view->__genlistItems[MYPROFILE_INPUT_MESSENGER]) {
+ checkExistItem = MYPROFILE_INPUT_MESSENGER;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_URL]) {
+ checkExistItem = MYPROFILE_INPUT_URL;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_EVENT]) {
+ checkExistItem = MYPROFILE_INPUT_EVENT;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_ADDRESS]) {
+ checkExistItem = MYPROFILE_INPUT_ADDRESS;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_NOTE]) {
+ checkExistItem = MYPROFILE_INPUT_NOTE;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_EMAIL]) {
+ checkExistItem = MYPROFILE_INPUT_EMAIL;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_NUMBER]) {
+ checkExistItem = MYPROFILE_INPUT_NUMBER;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_MSISDN]) {
+ checkExistItem = MYPROFILE_INPUT_MSISDN;
+ }
+ else {
+ checkExistItem = MYPROFILE_INPUT_BASIC_INFO;
+ }
+ WDEBUG("INPUT_MESSENGER item is after %d item", checkExistItem);
+
+ CtInputViewMessengerItem* item = new CtInputViewMessengerItem( view->__inputData, record, NULL, view->__addedIndex,
+ [view](){ view->__itemChanged(); },
+ [view](Elm_Object_Item* item, bool isChanged, contacts_record_h record){ view->__messengerItemDeleted( item, isChanged, record ); },
+ [view](Evas_Object* obj, Elm_Object_Item* objItem){ view->__activateNextEntry(obj, objItem); } );
+ Elm_Object_Item* genItem = elm_genlist_item_insert_after( view->__genlist, item->getItemClassStatic(), item, NULL, view->__genlistItems[checkExistItem], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ item->setElmObjectItem( genItem );
+ item->focus();
+ view->__genlistItems[MYPROFILE_INPUT_MESSENGER] = genItem;
+ addedItem = genItem;
+ break;
+ }
+ case MYPROFILE_INPUT_IMPORTANT_URL:
+ {
+ record = view->__inputData->addWebsite("");
+ view->__addedIndex = INPUT_ADDED_ITEM_INDEX_URL;
+
+ if (view->__genlistItems[MYPROFILE_INPUT_URL]) {
+ checkExistItem = MYPROFILE_INPUT_URL;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_EVENT]) {
+ checkExistItem = MYPROFILE_INPUT_EVENT;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_ADDRESS]) {
+ checkExistItem = MYPROFILE_INPUT_ADDRESS;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_NOTE]) {
+ checkExistItem = MYPROFILE_INPUT_NOTE;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_EMAIL]) {
+ checkExistItem = MYPROFILE_INPUT_EMAIL;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_NUMBER]) {
+ checkExistItem = MYPROFILE_INPUT_NUMBER;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_MSISDN]) {
+ checkExistItem = MYPROFILE_INPUT_MSISDN;
+ }
+ else {
+ checkExistItem = MYPROFILE_INPUT_BASIC_INFO;
+ }
+ WDEBUG("INPUT_URL item is after %d item", checkExistItem);
+
+ CtInputViewWebsiteItem* item = new CtInputViewWebsiteItem( view->__inputData, record, NULL, view->__addedIndex,
+ [view](){ view->__itemChanged(); },
+ [view](Elm_Object_Item* item, bool isChanged, contacts_record_h record){ view->__websiteItemDeleted( item, isChanged, record );},
+ [view](Evas_Object* obj, Elm_Object_Item* objItem){ view->__activateNextEntry(obj, objItem); } );
+ Elm_Object_Item* genItem = elm_genlist_item_insert_after( view->__genlist, item->getItemClassStatic(), item, NULL, view->__genlistItems[checkExistItem], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ item->setElmObjectItem( genItem );
+ item->focus();
+ view->__genlistItems[MYPROFILE_INPUT_URL] = genItem;
+ addedItem = genItem;
+ break;
+ }
+ case MYPROFILE_INPUT_IMPORTANT_ORGANIZATION:
+ {
+ CtInputViewBasicInfoItem* basicInfoItem = (CtInputViewBasicInfoItem*)elm_object_item_data_get(view->__genlistItems[MYPROFILE_INPUT_BASIC_INFO]);
+ WPRET_M(NULL == basicInfoItem, "basicInfoItem is NULL");
+
+ elm_object_item_disabled_set(item, EINA_TRUE);
+ basicInfoItem->setAddOrganization(true);
+ basicInfoItem->setAddedIndex(INPUT_ADDED_ITEM_INDEX_ORGANIZATION);
+ elm_genlist_item_fields_update(view->__genlistItems[MYPROFILE_INPUT_BASIC_INFO], "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ addedItem = view->__genlistItems[MYPROFILE_INPUT_BASIC_INFO];
+
+ break;
+ }
+ case MYPROFILE_INPUT_IMPORTANT_NICKNAME:
+ {
+ CtInputViewBasicInfoItem* basicInfoItem = (CtInputViewBasicInfoItem*)elm_object_item_data_get(view->__genlistItems[MYPROFILE_INPUT_BASIC_INFO]);
+ WPRET_M(NULL == basicInfoItem, "basicInfoItem is NULL");
+
+ elm_object_item_disabled_set(item, EINA_TRUE);
+ basicInfoItem->setAddNickname(true);
+ basicInfoItem->setAddedIndex(INPUT_ADDED_ITEM_INDEX_NICKNAME);
+ elm_genlist_item_fields_update(view->__genlistItems[MYPROFILE_INPUT_BASIC_INFO], "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ addedItem = view->__genlistItems[MYPROFILE_INPUT_BASIC_INFO];
+
+ break;
+ }
+ case MYPROFILE_INPUT_IMPORTANT_EVENT:
+ {
+ view->__createEventDataPopup();
+ break;
+ }
+ case MYPROFILE_INPUT_IMPORTANT_ADDRESS:
+ {
+ record = view->__inputData->addAddress("");
+ view->__addedIndex = INPUT_ADDED_ITEM_INDEX_ADDRESS;
+
+ if (view->__genlistItems[MYPROFILE_INPUT_ADDRESS]) {
+ checkExistItem = MYPROFILE_INPUT_ADDRESS;
+ }
+ if (view->__genlistItems[MYPROFILE_INPUT_NOTE]) {
+ checkExistItem = MYPROFILE_INPUT_NOTE;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_EMAIL]) {
+ checkExistItem = MYPROFILE_INPUT_EMAIL;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_NUMBER]) {
+ checkExistItem = MYPROFILE_INPUT_NUMBER;
+ }
+ else if (view->__genlistItems[MYPROFILE_INPUT_MSISDN]) {
+ checkExistItem = MYPROFILE_INPUT_MSISDN;
+ }
+ else {
+ checkExistItem = MYPROFILE_INPUT_BASIC_INFO;
+ }
+ WDEBUG("INPUT_ADDRESS item is after %d item", checkExistItem);
+
+ CtInputViewAddressItem* item = new CtInputViewAddressItem( view->__inputData, record, NULL, view->__addedIndex,
+ [view](){ view->__itemChanged(); },
+ [view](Elm_Object_Item* item, bool isChanged, contacts_record_h record){ view->__addressItemDeleted( item, isChanged, record ); },
+ [view](Evas_Object* obj, Elm_Object_Item* objItem){ view->__activateNextEntry(obj, objItem); } );
+ Elm_Object_Item* genItem = elm_genlist_item_insert_after( view->__genlist, item->getItemClassStatic(), item, NULL, view->__genlistItems[checkExistItem], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ item->setElmObjectItem( genItem );
+ item->focus();
+ view->__genlistItems[MYPROFILE_INPUT_ADDRESS] = genItem;
+ addedItem = genItem;
+ break;
+ }
+ default:
+ break;
+ }
+ if (addedItem) {
+ elm_genlist_item_select_mode_set(addedItem, ELM_OBJECT_SELECT_MODE_NONE);
+ elm_genlist_item_show(addedItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ }
+}
+
+void CtMyProfileInputView::__addNumberClickedCb()
+{
+ WHIT();
+ contacts_record_h record = NULL;
+
+ record = __inputData->addNumber("");
+ __addedIndex = INPUT_ADDED_ITEM_INDEX_NUMBER;
+
+ CtInputViewNumberItem* item = new CtInputViewNumberItem( NULL, __inputData, record, NULL, __addedIndex,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __numberItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+
+ Elm_Object_Item* genItem = NULL;
+ if (__genlistItems[MYPROFILE_INPUT_NUMBER]) {
+ genItem = elm_genlist_item_insert_after(__genlist, item->getItemClassStatic(), item, NULL, __genlistItems[MYPROFILE_INPUT_NUMBER], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ }
+ else if (__genlistItems[MYPROFILE_INPUT_MSISDN]) {
+ genItem = elm_genlist_item_insert_after(__genlist, item->getItemClassStatic(), item, NULL, __genlistItems[MYPROFILE_INPUT_MSISDN], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ }
+ else {
+ genItem = elm_genlist_item_insert_after(__genlist, item->getItemClassStatic(), item, NULL, __genlistItems[MYPROFILE_INPUT_BASIC_INFO], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ }
+ item->setElmObjectItem( genItem );
+ item->focus();
+ __genlistItems[MYPROFILE_INPUT_NUMBER] = genItem;
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ elm_genlist_item_show(genItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+}
+
+void CtMyProfileInputView::__addEmailClickedCb()
+{
+ WHIT();
+ contacts_record_h record = NULL;
+ CtMyProfileInputItems checkExistItem = MYPROFILE_INPUT_BASIC_INFO;
+
+ record = __inputData->addEmail("");
+ __addedIndex = INPUT_ADDED_ITEM_INDEX_EMAIL;
+
+ if (__genlistItems[MYPROFILE_INPUT_EMAIL]) {
+ checkExistItem = MYPROFILE_INPUT_EMAIL;
+ }
+ else if (__genlistItems[MYPROFILE_INPUT_NUMBER]) {
+ checkExistItem = MYPROFILE_INPUT_NUMBER;
+ }
+ else if (__genlistItems[MYPROFILE_INPUT_MSISDN]) {
+ checkExistItem = MYPROFILE_INPUT_MSISDN;
+ }
+ else {
+ checkExistItem = MYPROFILE_INPUT_BASIC_INFO;
+ }
+ WDEBUG("INPUT_EMAIL item is after %d item", checkExistItem);
+
+ CtInputViewEmailItem *item = new CtInputViewEmailItem( __inputData, record, NULL, __addedIndex,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* item, bool isChanged, contacts_record_h record){ __emailItemDeleted( item, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+ Elm_Object_Item* genItem = elm_genlist_item_insert_after( __genlist, item->getItemClassStatic(), item, NULL, __genlistItems[checkExistItem], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ item->focus();
+ __genlistItems[MYPROFILE_INPUT_EMAIL] = genItem;
+ elm_genlist_item_show(genItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+}
+
+void CtMyProfileInputView::__addNoteClickedCb()
+{
+ WHIT();
+ contacts_record_h record = NULL;
+ CtMyProfileInputItems checkExistItem = MYPROFILE_INPUT_BASIC_INFO;
+
+ WPRET_M(__genlistItems[MYPROFILE_INPUT_NOTE], "note already is added");
+
+ record = __inputData->addNote("");
+ __addedIndex = INPUT_ADDED_ITEM_INDEX_NOTE;
+
+ if (__genlistItems[MYPROFILE_INPUT_EMAIL]) {
+ checkExistItem = MYPROFILE_INPUT_EMAIL;
+ }
+ else if (__genlistItems[MYPROFILE_INPUT_NUMBER]) {
+ checkExistItem = MYPROFILE_INPUT_NUMBER;
+ }
+ else if (__genlistItems[MYPROFILE_INPUT_MSISDN]) {
+ checkExistItem = MYPROFILE_INPUT_MSISDN;
+ }
+ else {
+ checkExistItem = MYPROFILE_INPUT_BASIC_INFO;
+ }
+ WDEBUG("INPUT_NOTE item is after %d item", checkExistItem);
+
+ CtInputViewNoteItem *item = new CtInputViewNoteItem( __inputData, record, NULL, __addedIndex,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* item, bool isChanged, contacts_record_h record){ __noteItemDeleted( item, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){this->__activateNextEntry(obj, objItem);});
+ Elm_Object_Item* genItem = elm_genlist_item_insert_after( __genlist, item->getItemClassStatic(), item, NULL, __genlistItems[checkExistItem], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ item->focus();
+ __genlistItems[MYPROFILE_INPUT_NOTE] = genItem;
+ __updateNoteBtn(true);
+ elm_genlist_item_show(genItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+}
+
+void CtMyProfileInputView::__addMoreClickedCb()
+{
+ WHIT();
+
+ WPopup* popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle( "IDS_PB_BUTTON_MORE");
+ popup->setContent([this](Evas_Object* parent)->Evas_Object*
+ {
+ Elm_Object_Item *genItem = NULL;
+
+ Evas_Object* genlist = elm_genlist_add(parent);
+ elm_object_style_set( genlist, "popup" );
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_genlist_mode_set( genlist, ELM_LIST_COMPRESS );
+ elm_scroller_content_min_limit( genlist, EINA_FALSE, EINA_TRUE ); // Automatically pop-up height is calculated
+ elm_object_content_set(parent, genlist);
+
+ CtInputViewBasicInfoItem* basicInfoItem = (CtInputViewBasicInfoItem*)elm_object_item_data_get(__genlistItems[MYPROFILE_INPUT_BASIC_INFO]);
+ WPRET_VM(NULL == basicInfoItem, NULL, "basicInfoItem is NULL");
+
+ for (int i = MYPROFILE_INPUT_IMPORTANT_ADDRESS; i < MYPROFILE_INPUT_IMPORTANT_MAX; i++) {
+ WDEBUG("item %d", i);
+ if (i == MYPROFILE_INPUT_IMPORTANT_PHONETIC_INFO) {
+ if (basicInfoItem->getAddPhoneticName()) {
+ continue;
+ }
+ } else if (i == MYPROFILE_INPUT_IMPORTANT_NICKNAME) {
+ if (basicInfoItem->getAddNickname()) {
+ continue;
+ }
+ } else if (i == MYPROFILE_INPUT_IMPORTANT_ORGANIZATION) {
+ if (basicInfoItem->getAddOrganization()) {
+ continue;
+ }
+ }
+ CtInputViewImportantSubItem *item = new CtInputViewImportantSubItem(i, true);
+ genItem = elm_genlist_item_append( genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, __importantSubitemSelectedCb, this);
+ item->setElmObjectItem( genItem );
+ }
+
+ evas_object_show(genlist);
+
+ return genlist;
+
+ });
+
+ attachPopup( popup );
+}
+
+
+bool CtMyProfileInputView::__checkIsEmpty()
+{
+ Elm_Object_Item *item = __genlistItems[MYPROFILE_INPUT_BASIC_INFO];
+ bool isEmpty = true;
+
+ while (item) {
+ if (item == __genlistItems[MYPROFILE_INPUT_IMPORTANT_FIELDS]) {
+ break;
+ }
+
+ CtInputViewGenlistItem *viewItem = (CtInputViewGenlistItem *)elm_object_item_data_get(item);
+ if (viewItem) {
+ WDEBUG("viewItem->getIsEmpty() = %d", viewItem->getIsEmpty());
+ if (false == viewItem->getIsEmpty()) {
+ isEmpty = false;
+ break;
+ }
+ }
+ item = elm_genlist_item_next_get(item);
+ }
+ return isEmpty;
+}
+
+bool CtMyProfileInputView::__checkIsChanged()
+{
+ Elm_Object_Item *item = __genlistItems[MYPROFILE_INPUT_BASIC_INFO];
+ bool changed = false;
+
+ while (item) {
+ if (item == __genlistItems[MYPROFILE_INPUT_IMPORTANT_FIELDS]) {
+ break;
+ }
+
+ CtInputViewGenlistItem *viewItem = (CtInputViewGenlistItem *)elm_object_item_data_get(item);
+ if (viewItem) {
+ WDEBUG("viewItem->getIsChanged() = %d", viewItem->getIsChanged());
+ if (true == viewItem->getIsChanged()) {
+ changed = true;
+ break;
+ }
+ }
+ item = elm_genlist_item_next_get(item);
+ }
+ return changed;
+}
+
+void CtMyProfileInputView::__updateNoteBtn(bool isNoteInput)
+{
+ WHIT();
+ if (__genlistItems[MYPROFILE_INPUT_IMPORTANT_FIELDS]) {
+ CtInputViewImportantFieldsItem *item = (CtInputViewImportantFieldsItem*)elm_object_item_data_get(__genlistItems[MYPROFILE_INPUT_IMPORTANT_FIELDS]);
+ if(item) {
+ item->updateNoteBtn(isNoteInput);
+ }
+ }
+}
+
+void CtMyProfileInputView::__updateSaveBtn()
+{
+ Eina_Bool empty = __checkIsEmpty();
+
+ elm_object_disabled_set(__saveBtn, empty);
+ WPRET_M(true == empty, "all fields are empty, can't save");
+
+ WPRET_M(false == __isCreate, "don't need to update save button");
+
+ Eina_Bool changed = __checkIsChanged();
+
+ elm_object_disabled_set(__saveBtn, !changed);
+}
+
+void CtMyProfileInputView::__addItem(int itemType)
+{
+ WDEBUG("itemType %d", itemType);
+ Eina_List *cursor = NULL;
+ Eina_List *list = NULL;
+ void *data = NULL;
+ contacts_record_h record = NULL;
+
+ switch(itemType) {
+ case MYPROFILE_INPUT_BASIC_INFO:
+ {
+ CtInputViewBasicInfoItem* item = new CtInputViewBasicInfoItem(__inputData, &__nameEntry,
+ [this](){ __itemChanged(); },
+ [this](CtInputViewBasicInfoItem::ITEM_DELETED deletedInfo){ __basicInfoItemDeleted( deletedInfo); },
+ [this](Evas_Object* obj){ __basicInfoItemImageClicked(obj); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); },
+ [this](Evas_Object* obj){ __basicInfoItemShowCreateKeypad(obj); },
+ [this](Elm_Object_Item* objItem){ __updateEntryReturnKeyType(objItem); });
+ Elm_Object_Item *genItem = elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[MYPROFILE_INPUT_BASIC_INFO] = genItem;
+ __updateBasicInfoItem();
+ break;
+ }
+ case MYPROFILE_INPUT_MSISDN:
+ {
+ contacts_record_h defaultRecord = __inputData->getDefaultNumber();
+ if (defaultRecord) {
+ CtInputViewMsisdnItem *item = new CtInputViewMsisdnItem( __inputData, defaultRecord);
+
+ Elm_Object_Item *genItem = elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[MYPROFILE_INPUT_MSISDN] = genItem;
+ }
+ break;
+ }
+ case MYPROFILE_INPUT_NUMBER:
+ {
+ list = __inputData->getNumberList();
+
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+
+ WDEBUG("added");
+
+ const char *number = __inputData->getNumberNumber(record);
+
+ CtInputViewNumberItem *item = new CtInputViewNumberItem( NULL, __inputData, record, number, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __numberItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+
+ Elm_Object_Item *genItem = elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[MYPROFILE_INPUT_NUMBER] = genItem;
+ }
+
+ if (__isCreate && list == NULL) {
+ record = __inputData->addNumber("");
+
+ CtInputViewNumberItem *item = new CtInputViewNumberItem( NULL, __inputData, record, NULL, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __numberItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+
+ Elm_Object_Item* genItem = elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[MYPROFILE_INPUT_NUMBER] = genItem;
+ }
+ break;
+ }
+ case MYPROFILE_INPUT_EMAIL:
+ {
+ list = __inputData->getEmailList();
+
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+
+ const char *email = __inputData->getEmailEmail(record);
+
+ CtInputViewEmailItem* item = new CtInputViewEmailItem( __inputData, record, email, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __emailItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+ Elm_Object_Item *genItem = elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[MYPROFILE_INPUT_EMAIL] = genItem;
+ }
+ break;
+ }
+ case MYPROFILE_INPUT_ADDRESS:
+ {
+ list = __inputData->getAddressList();
+
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+
+ char address[CT_TEXT_MAX_LEN] = {0,};
+ __inputData->getAddressAddress( record, address, sizeof(address));
+
+ CtInputViewAddressItem* item = new CtInputViewAddressItem( __inputData, record, address, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __addressItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+ Elm_Object_Item *genItem = elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[MYPROFILE_INPUT_ADDRESS] = genItem;
+ }
+ break;
+ }
+ case MYPROFILE_INPUT_MESSENGER:
+ {
+ list = __inputData->getMessengerList();
+
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+
+ const char *messenger = __inputData->getMessengerMessenger(record);
+
+ CtInputViewMessengerItem* item = new CtInputViewMessengerItem( __inputData, record, messenger, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __messengerItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+ Elm_Object_Item *genItem = elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[MYPROFILE_INPUT_MESSENGER] = genItem;
+ }
+ break;
+ }
+ case MYPROFILE_INPUT_URL:
+ {
+ list = __inputData->getWebsiteList();
+
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+
+ const char *website = __inputData->getWebsiteWebsite(record);
+
+ CtInputViewWebsiteItem* item = new CtInputViewWebsiteItem( __inputData, record, website, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __websiteItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){ __activateNextEntry(obj, objItem); } );
+ Elm_Object_Item *genItem = elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[MYPROFILE_INPUT_URL] = genItem;
+ }
+ break;
+ }
+ case MYPROFILE_INPUT_EVENT:
+ {
+ list = __inputData->getEventList();
+
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+
+ char event[256] = {0};
+ snprintf(event, sizeof(event), "%d", __inputData->getEventEvent(record));
+
+ if( __inputData->getEventType(record) == CONTACTS_EVENT_TYPE_BIRTH) {
+ *__birthdayEventExist = true;
+ }
+
+ CtInputViewEventItem *item = new CtInputViewEventItem( this, __inputData, record, event, __birthdayEventExist,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __eventItemDeleted( objItem, isChanged, record ); });
+ Elm_Object_Item *genItem = elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[MYPROFILE_INPUT_EVENT] = genItem;
+ }
+ break;
+ }
+ case MYPROFILE_INPUT_NOTE:
+ {
+ list = __inputData->getNoteList();
+ EINA_LIST_FOREACH(list, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ if(record == NULL) {
+ continue;
+ }
+ const char *note = __inputData->getNote(record);
+
+ CtInputViewNoteItem *item = new CtInputViewNoteItem( __inputData, record, note, INPUT_ADDED_ITEM_INDEX_NONE,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* objItem, bool isChanged, contacts_record_h record){ __noteItemDeleted( objItem, isChanged, record ); },
+ [this](Evas_Object* obj, Elm_Object_Item* objItem){this->__activateNextEntry(obj, objItem);});
+ Elm_Object_Item *genItem = elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[MYPROFILE_INPUT_NOTE] = genItem;
+ __updateNoteBtn(true);
+ }
+ break;
+ }
+ case MYPROFILE_INPUT_IMPORTANT_FIELDS:
+ {
+ bool isNoteInput = (__genlistItems[MYPROFILE_INPUT_NOTE] == NULL) ? false : true;
+ CtInputViewImportantFieldsItem *item = new CtInputViewImportantFieldsItem([this](){ __addNumberClickedCb(); },
+ [this](){ __addEmailClickedCb(); },
+ [this](){ __addNoteClickedCb(); },
+ [this](){ __addMoreClickedCb(); },
+ isNoteInput);
+ Elm_Object_Item *genItem = elm_genlist_item_append(__genlist, item->getItemClassStatic(), item, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[MYPROFILE_INPUT_IMPORTANT_FIELDS] = genItem;
+ break;
+ }
+ }
+}
+
+void CtMyProfileInputView::__addAllItems()
+{
+ WHIT();
+ int i = 0;
+
+ for (; i < MYPROFILE_INPUT_ITEMS_MAX; i++) {
+ __addItem(i);
+ }
+}
+
+void CtMyProfileInputView::onDestroy()
+{
+ WHIT();
+ evas_object_smart_callback_del(__genlist, "unrealized", __genlistUnrealizedCb);
+ evas_object_smart_callback_del(__genlist, "realized", __genlistRealizedCb);
+}
+
+void CtMyProfileInputView::onEvent(int eventType)
+{
+ WHIT();
+}
+
+bool CtMyProfileInputView::onPop()
+{
+ if(!__saved) {
+ WDEBUG("canceled");
+ if (__discard) {
+ return true;
+ }
+
+ Eina_Bool changed = __checkIsChanged();
+
+ if (!__isCreate) { // edit view
+ if (__changed) {
+ changed = EINA_TRUE;
+ }
+ }
+
+ if (changed) {
+ WDEBUG("changed");
+
+ WPopup *popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle("IDS_PB_HEADER_DISCARD_CHANGES_ABB");
+ popup->setContent("IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED");
+
+ popup->addButton("IDS_PB_BUTTON_CANCEL", NULL );
+ popup->addButton("IDS_PB_BUTTON_DISCARD_ABB", [this](bool* destroyPopup){
+ WDEBUG("Discard");
+ this->__discard = true;
+ popOut();
+ *destroyPopup = false;
+ });
+
+ attachPopup(popup);
+ return false;
+ } else {
+ WDEBUG("not changed");
+ return true;
+ }
+ }
+
+ return true;
+}
+
+void CtMyProfileInputView::__itemChanged()
+{
+ __updateSaveBtn();
+}
+
+void CtMyProfileInputView::__basicInfoItemDeleted( int deletedInfo)
+{
+ CtInputViewBasicInfoItem::ITEM_DELETED info = (CtInputViewBasicInfoItem::ITEM_DELETED)deletedInfo;
+
+ CtInputViewBasicInfoItem* basicInfoItem = (CtInputViewBasicInfoItem*)elm_object_item_data_get(__genlistItems[MYPROFILE_INPUT_BASIC_INFO]);
+ WPRET_M(NULL == basicInfoItem, "basicInfoItem is NULL");
+
+ switch( info )
+ {
+ case CtInputViewBasicInfoItem::PHONETIC_NAME_DELETED:
+ if( basicInfoItem->getPhoneticNameIsChanged()
+ || __inputData->getPhoneticFirstName()
+ || __inputData->getPhoneticMiddleName()
+ || __inputData->getPhoneticLastName()) {
+ __changed = true;
+ }
+
+ basicInfoItem->setPhoneticNameIsChanged(false);
+ basicInfoItem->setAddPhoneticName(false);
+ __inputData->setPhoneticFullName(NULL);
+ break;
+ case CtInputViewBasicInfoItem::NICKNAME_DELETED:
+ if( basicInfoItem->getNicknameIsChanged() || __inputData->getNickname())
+ __changed = true;
+
+ basicInfoItem->setNicknameIsChanged(false);
+ basicInfoItem->setAddNickname(false);
+ __inputData->setNickname(NULL);
+ break;
+ case CtInputViewBasicInfoItem::ORGANIZATION_DELETED:
+ if( (basicInfoItem->getCompanyIsChanged() || __inputData->getCompany())
+ || (basicInfoItem->getJobTitleIsChanged() || __inputData->getJobTitle()))
+ {
+ __changed = true;
+ }
+
+ basicInfoItem->setCompanyIsChanged(false);
+ basicInfoItem->setJobTitleIsChanged(false);
+ basicInfoItem->setAddOrganization(false);
+ __inputData->setCompany(NULL);
+ __inputData->setJobTitle(NULL);
+ break;
+ default:
+ WERROR("Not handled case =%d", deletedInfo);
+ break;
+ }
+
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(__genlistItems[MYPROFILE_INPUT_BASIC_INFO]);
+}
+
+void CtMyProfileInputView::__basicInfoItemImageClicked( Evas_Object* obj )
+{
+ WPopup* popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle("IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB");
+ popup->setContent([this](Evas_Object* parent)->Evas_Object*
+ {
+ Elm_Genlist_Item_Class* itc1 = elm_genlist_item_class_new();
+ Elm_Genlist_Item_Class* itc2 = elm_genlist_item_class_new();
+ Elm_Genlist_Item_Class* itc3 = elm_genlist_item_class_new();
+
+ if (itc1) {
+ itc1->item_style = "type1";
+ itc1->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if(!strcmp(part, "elm.text")) {
+ return SAFE_STRDUP(V_("IDS_PB_OPT_FROM_GALLERY_ABB2"));
+ }
+ return NULL;
+ };
+ }
+
+ if (itc2) {
+ itc2->item_style = "type1";
+ itc2->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if(!strcmp(part, "elm.text")) {
+ return SAFE_STRDUP(V_("IDS_PB_OPT_TAKE_PICTURE_ABB"));
+ }
+ return NULL;
+ };
+ }
+
+ if (itc3) {
+ itc3->item_style = "type1";
+ itc3->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if(!strcmp(part, "elm.text")) {
+ CtMyProfileInputView* view = (CtMyProfileInputView*)data;
+ if(view->__inputData->getImagePath())
+ return SAFE_STRDUP(V_("IDS_PB_OPT_REMOVE"));
+ else
+ return NULL;
+
+ }
+ return NULL;
+ };
+ }
+
+ int count = 2;
+
+ Evas_Object* genlist = elm_genlist_add(parent);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_scroller_content_min_limit(genlist, EINA_FALSE, EINA_TRUE);
+
+ elm_genlist_item_append(genlist, itc1, this, NULL, ELM_GENLIST_ITEM_NONE, __onGallerySelCb, this);
+ elm_genlist_item_append(genlist, itc2, this, NULL, ELM_GENLIST_ITEM_NONE, __onCameraSelCb, this);
+
+ if(__inputData->getImagePath()) {
+ elm_genlist_item_append(genlist, itc3, this, NULL, ELM_GENLIST_ITEM_NONE, __onRemoveSelCb, this);
+ count++;
+ }
+
+ elm_genlist_item_class_free(itc1);
+ elm_genlist_item_class_free(itc2);
+ elm_genlist_item_class_free(itc3);
+
+ return genlist;
+ });
+
+ attachPopup( popup );
+}
+
+void CtMyProfileInputView::__basicInfoItemShowCreateKeypad( Evas_Object* obj)
+{
+ WHIT();
+ if (__inputData->getContactId() == 0) {
+ elm_object_focus_set(__nameEntry, EINA_TRUE);
+ elm_entry_cursor_end_set(__nameEntry);
+ }
+}
+
+void CtMyProfileInputView::__basicInfoUpdateImage()
+{
+ WHIT();
+ elm_genlist_item_fields_update(__genlistItems[MYPROFILE_INPUT_BASIC_INFO], "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT);
+}
+
+Elm_Object_Item* CtMyProfileInputView::__getLastItem(Elm_Object_Item* deleteItem)
+{
+ Elm_Object_Item* item = NULL;
+ Elm_Object_Item* lastItem = NULL;
+ Elm_Object_Item* retItem = NULL;
+ int count = 0;
+
+ item = elm_genlist_first_item_get( __genlist );
+ while (item) {
+ if( elm_genlist_item_item_class_get( deleteItem ) == elm_genlist_item_item_class_get(item)) {
+ lastItem = item;
+ count++;
+ }
+ item = elm_genlist_item_next_get(item);
+ }
+
+ if( lastItem == deleteItem ) {
+ if (1 == count) {
+ retItem = NULL;
+ }
+ else { // must > 1
+ retItem = elm_genlist_item_prev_get(lastItem);
+ }
+ }
+ else {
+ retItem = lastItem;
+ }
+
+ return retItem;
+}
+
+void CtMyProfileInputView::__numberItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ __genlistItems[MYPROFILE_INPUT_NUMBER] = __getLastItem(deleteItem);
+
+ if( isChanged || __inputData->getNumberNumber(record)) {
+ __changed = true;
+ }
+
+ __inputData->removeNumber(record);
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(deleteItem);
+}
+
+void CtMyProfileInputView::__emailItemDeleted( Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ __genlistItems[MYPROFILE_INPUT_EMAIL] = __getLastItem(deleteItem);
+
+ if( isChanged || __inputData->getEmailEmail( record ) ) {
+ __changed = true;
+ }
+ __inputData->removeEmail( record );
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(deleteItem);
+}
+
+void CtMyProfileInputView::__addressItemDeleted( Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ __genlistItems[MYPROFILE_INPUT_ADDRESS] = __getLastItem(deleteItem);
+
+ char address[CT_TEXT_MAX_LEN] = {0,};
+ __inputData->getAddressAddress( record, address, sizeof(address));
+ if( isChanged || address[0] != '\0') {
+ __changed = true;
+ }
+
+ __inputData->removeAddress(record);
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(deleteItem);
+}
+
+void CtMyProfileInputView::__messengerItemDeleted( Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ __genlistItems[MYPROFILE_INPUT_MESSENGER] = __getLastItem(deleteItem);
+
+ if ( isChanged || __inputData->getMessengerMessenger( record)) {
+ __changed = true;
+ }
+
+ __inputData->removeMessenger(record);
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(deleteItem);
+}
+
+void CtMyProfileInputView::__websiteItemDeleted( Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ __genlistItems[MYPROFILE_INPUT_URL] = __getLastItem(deleteItem);
+
+ if( isChanged || __inputData->getWebsiteWebsite( record )) {
+ __changed = true;
+ }
+
+ __inputData->removeWebsite(record);
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(deleteItem);
+}
+
+void CtMyProfileInputView::__eventItemDeleted(Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ __genlistItems[MYPROFILE_INPUT_EVENT] = __getLastItem(deleteItem);
+
+ if (isChanged || __inputData->getEventEvent(record)) {
+ __changed = true;
+ }
+
+ __inputData->removeEvent(record);
+ __updateSaveBtn();
+}
+
+void CtMyProfileInputView::__noteItemDeleted( Elm_Object_Item* deleteItem, bool isChanged, contacts_record_h record)
+{
+ WHIT();
+ Evas_Object *noteBtn = elm_object_item_part_content_get(__genlistItems[MYPROFILE_INPUT_IMPORTANT_FIELDS], "elm.icon.3");
+ elm_object_disabled_set(noteBtn, EINA_FALSE);
+
+ if( isChanged || __inputData->getNote(record)) {
+ __changed = true;
+ }
+
+ __inputData->removeNote( record );
+ __genlistItems[MYPROFILE_INPUT_NOTE] = NULL;
+ __updateNoteBtn(false);
+ __updateSaveBtn();
+ __updateEntryReturnKeyType(deleteItem);
+}
+
+void CtMyProfileInputView::__activateNextEntry( Evas_Object* obj, Elm_Object_Item* item )
+{
+ WHIT();
+ WPRET_M(NULL == obj, "obj is NULL");
+ WPRET_M(NULL == item, "item is NULL");
+ Elm_Object_Item* nextItem = elm_genlist_item_next_get(item);
+ bool focused = false;
+ Evas_Object* entry = obj;
+ while (nextItem) {
+ if (nextItem == __genlistItems[MYPROFILE_INPUT_IMPORTANT_FIELDS]) {
+ break;
+ }
+
+ CtInputViewGenlistItem *viewItem = (CtInputViewGenlistItem *)elm_object_item_data_get(nextItem);
+ if (viewItem) {
+ entry = viewItem->getEntry();
+ if (entry) {
+ elm_object_focus_set(entry, EINA_TRUE);
+ focused = true;
+ break;
+ }
+ }
+ nextItem = elm_genlist_item_next_get(nextItem);
+ }
+ // don't have next entry, close IME
+ elm_object_focus_set(entry, focused);
+}
+
+void CtMyProfileInputView::__updateEntryReturnKeyType(Elm_Object_Item* deleteItem)
+{
+ WHIT();
+ Elm_Object_Item *item = __genlistItems[MYPROFILE_INPUT_BASIC_INFO];
+ Evas_Object* entry = NULL;
+ Evas_Object* box = NULL;
+ Eina_List* list = NULL;
+ Eina_List* cursor = NULL;
+ void *tmp = NULL;
+ Evas_Object* layout = NULL;
+
+ while (item) {
+ if (item == __genlistItems[MYPROFILE_INPUT_IMPORTANT_FIELDS]) {
+ break;
+ }
+
+ if (item == deleteItem) {
+ item = elm_genlist_item_next_get(item);
+ continue;
+ }
+
+ if (item == __genlistItems[MYPROFILE_INPUT_BASIC_INFO]) {
+ box = elm_object_item_part_content_get(item, "elm.icon.1");
+ if (box) {
+ list = elm_box_children_get(box);
+ EINA_LIST_FOREACH(list, cursor, tmp) {
+ layout = (Evas_Object*)tmp;
+ if (layout) {
+ entry = elm_object_part_content_get(layout, "elm.icon.1");
+ if (entry && elm_entry_single_line_get(entry)) {
+ elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_NEXT);
+ }
+ }
+ }
+ }
+ }
+ else {
+ CtInputViewGenlistItem *viewItem = (CtInputViewGenlistItem *)elm_object_item_data_get(item);
+ if (viewItem) {
+ entry = viewItem->getEntry();
+
+ if (entry && elm_entry_single_line_get(entry)) {
+ elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_NEXT);
+ }
+ }
+ }
+ item = elm_genlist_item_next_get(item);
+ }
+
+ if (entry && elm_entry_single_line_get(entry)) {
+ elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE);
+ }
+}
+
+void CtMyProfileInputView::__updateBasicInfoItem()
+{
+ WHIT();
+ if(__genlistItems[MYPROFILE_INPUT_BASIC_INFO]) {
+ elm_object_item_signal_emit(__genlistItems[MYPROFILE_INPUT_BASIC_INFO], "image,enable", "");
+ }
+}
+
+void CtMyProfileInputView::__createEventDataPopup()
+{
+ WHIT();
+ WPopup* popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle("IDS_ST_BODY_SET_DATE");
+ popup->addButton("IDS_PB_BUTTON_CANCEL", NULL);
+ popup->addButton( "IDS_PB_SK_SET", [popup, this](bool* destroyPopup) {
+ struct tm time1 = {};
+ time_t t;
+ t = time(NULL);
+ localtime_r(&t, &time1);
+
+ int year = 0;
+ int month = 0;
+ int day = 0;
+ Evas_Object *datetimePickerBg = elm_object_content_get(popup->getEvasObj());
+ Evas_Object *dateTime = elm_object_part_content_get(datetimePickerBg, "elm.swallow.content");
+ elm_datetime_value_get(dateTime, &time1);
+ year = time1.tm_year + 1900;
+ month = time1.tm_mon + 1;
+ day = time1.tm_mday;
+
+ __appendEventItem(year, month, day);
+
+ *destroyPopup = true;
+ });
+ popup->setOnMoreProperties([this](Evas_Object* popupObj ) {
+ struct tm time1 = {};
+ time_t t;
+ t = time(NULL);
+ localtime_r(&t, &time1);
+
+ Evas_Object* dateTime = elm_datetime_add(popupObj);
+ elm_datetime_format_set(dateTime, DATE_TIME_FORMAT);
+ elm_datetime_value_set(dateTime, &time1);
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ Evas_Object* datetimePickerBg = elm_layout_add(popupObj);
+ evas_object_size_hint_weight_set(datetimePickerBg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ CtThemeMgr::getInstance()->setObjectTheme(datetimePickerBg);
+ elm_layout_file_set(datetimePickerBg, contactsEdjePath.c_str(), "datetimePickerBg");
+ elm_object_part_content_set(datetimePickerBg, "elm.swallow.content", dateTime);
+ evas_object_show(datetimePickerBg);
+
+ elm_object_content_set(popupObj, datetimePickerBg);
+ });
+
+ attachPopup( popup );
+}
+
+void CtMyProfileInputView::__appendEventItem(int year, int month, int day)
+{
+ WHIT();
+ contacts_record_h record = NULL;
+ CtMyProfileInputItems checkExistItem = MYPROFILE_INPUT_BASIC_INFO;
+
+ record = __inputData->addEvent(year * 10000 + month * 100 + day);
+
+ if (__genlistItems[MYPROFILE_INPUT_EVENT]) {
+ checkExistItem = MYPROFILE_INPUT_EVENT;
+ }
+ else if (__genlistItems[MYPROFILE_INPUT_ADDRESS]) {
+ checkExistItem = MYPROFILE_INPUT_ADDRESS;
+ }
+ else if (__genlistItems[MYPROFILE_INPUT_NOTE]) {
+ checkExistItem = MYPROFILE_INPUT_NOTE;
+ }
+ else if (__genlistItems[MYPROFILE_INPUT_EMAIL]) {
+ checkExistItem = MYPROFILE_INPUT_EMAIL;
+ }
+ else if (__genlistItems[MYPROFILE_INPUT_NUMBER]) {
+ checkExistItem = MYPROFILE_INPUT_NUMBER;
+ }
+ else if (__genlistItems[MYPROFILE_INPUT_MSISDN]) {
+ checkExistItem = MYPROFILE_INPUT_MSISDN;
+ }
+ else {
+ checkExistItem = MYPROFILE_INPUT_BASIC_INFO;
+ }
+ WDEBUG("INPUT_EVENT item is after %d item", checkExistItem);
+
+ if(*__birthdayEventExist ) {
+ __inputData->setEventType(record, CONTACTS_EVENT_TYPE_ANNIVERSARY, NULL);
+ }
+ else {
+ if(__inputData->getEventType(record) == CONTACTS_EVENT_TYPE_BIRTH) {
+ *__birthdayEventExist = true;
+ }
+ }
+
+ CtInputViewEventItem *item = new CtInputViewEventItem(this, __inputData, record, NULL, __birthdayEventExist,
+ [this](){ __itemChanged(); },
+ [this](Elm_Object_Item* item, bool isChanged, contacts_record_h record){ __eventItemDeleted( item, isChanged, record ); } );
+ Elm_Object_Item *genItem = elm_genlist_item_insert_after( __genlist, item->getItemClassStatic(), item, NULL, __genlistItems[checkExistItem], ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(genItem, ELM_OBJECT_SELECT_MODE_NONE);
+ item->setElmObjectItem( genItem );
+ __genlistItems[MYPROFILE_INPUT_EVENT] = genItem;
+ elm_genlist_item_show(genItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+}
+
+extern "C" {
+ WAPP_ASSIST_EXPORT WView* createMyProfileInputView(contacts_record_h contactRecord) {
+ CtMyProfileInputView* view = new CtMyProfileInputView(contactRecord);
+ return view;
+ }
+}
diff --git a/lib-contact/ct-importer/CMakeLists.txt b/lib-contact/ct-importer/CMakeLists.txt
new file mode 100644
index 0000000..e9c87ab
--- /dev/null
+++ b/lib-contact/ct-importer/CMakeLists.txt
@@ -0,0 +1,20 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ct-importer CXX)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-common/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "contacts-common"
+ "ct-common"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_LIB_DIR}) \ No newline at end of file
diff --git a/lib-contact/ct-importer/inc/CtImporter.h b/lib-contact/ct-importer/inc/CtImporter.h
new file mode 100644
index 0000000..e43fae8
--- /dev/null
+++ b/lib-contact/ct-importer/inc/CtImporter.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_SETTING_CONTACT_IMPORTER_H_
+#define _CT_SETTING_CONTACT_IMPORTER_H_
+
+#include <string>
+#include <vector>
+
+#include "WDefine.h"
+
+class CtProgressBarPopup;
+
+class CtImporter {
+public:
+ CtImporter(int abId, std::vector<std::string> vcards, int contactsCount);
+ ~CtImporter();
+
+ CtProgressBarPopup *getProgressPopup();
+ WPopup *getCancelPopup();
+ void run();
+
+private:
+ void __createProgressPopup();
+ void __createCancelPopup();
+ void __cancelImporting(bool* destroyPopup);
+ void __stopImporting(bool* destroyPopup);
+ void __continueImporting(bool* destroyPopup);
+ static void __importFromVcardsCb(void *data, Ecore_Thread *thread);
+ static void __importFromVcardsEndCb(void *data, Ecore_Thread *thread);
+ static void __importFromVcardsCancelCb(void *data, Ecore_Thread *thread);
+ static bool __vcardParseCb(contacts_record_h record, void *user_data);
+
+private:
+ WDISABLE_COPY_AND_ASSIGN(CtImporter);
+
+private:
+ int __addressBookId;
+ bool __canceled;
+ bool __paused;
+ std::vector<int> __importedContacts;
+ CtProgressBarPopup *__progressPopup;
+ WUiObjectPtr __popupMonitor;
+ Ecore_Thread *__importThread;
+ std::vector<std::string> __vcards;
+ WPopup *__cancelPopup;
+ int __contactsCount;
+};
+
+#endif //_CT_SETTING_CONTACT_IMPORTER_H_
diff --git a/lib-contact/ct-importer/src/CtImporter.cpp b/lib-contact/ct-importer/src/CtImporter.cpp
new file mode 100644
index 0000000..f4ee91e
--- /dev/null
+++ b/lib-contact/ct-importer/src/CtImporter.cpp
@@ -0,0 +1,225 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <contacts.h>
+#include <notification.h>
+
+#include "ContactsDebug.h"
+#include "CtProgressBarPopup.h"
+#include "CtImporter.h"
+#include "CtString.h"
+#include "CtType.h"
+
+CtImporter::CtImporter(int abId, std::vector<std::string> vcards, int contactsCount)
+: __addressBookId(abId)
+, __canceled(false)
+, __paused(false)
+, __importThread(NULL)
+, __vcards(std::move(vcards))
+, __contactsCount(contactsCount)
+{
+ WHIT();
+ __createProgressPopup();
+ __createCancelPopup();
+}
+
+void CtImporter::__createProgressPopup()
+{
+ __progressPopup = new CtProgressBarPopup(__contactsCount, V_("IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"), true);
+ auto stopFunction = std::bind(&CtImporter::__stopImporting, this, std::placeholders::_1);
+ __progressPopup->addButton(V_("IDS_PB_BUTTON_CANCEL"), stopFunction);
+ __progressPopup->setOnBack(stopFunction);
+ __popupMonitor = __progressPopup->getWeakPtr();
+}
+
+void CtImporter::__createCancelPopup()
+{
+ __cancelPopup = new WPopup();
+ __cancelPopup->setTextTranslatable(PACKAGE);
+ __cancelPopup->setTitle("IDS_PB_HEADER_CANCEL_IMPORTING_ABB");
+
+ auto continueFunction = std::bind(&CtImporter::__continueImporting, this, std::placeholders::_1);
+ __cancelPopup->addButton("IDS_PB_BUTTON_CANCEL", continueFunction);
+ __cancelPopup->setOnBack(continueFunction);
+
+ auto cancelFunction = std::bind(&CtImporter::__cancelImporting, this, std::placeholders::_1);
+ __cancelPopup->addButton("IDS_PB_BUTTON_OK_ABB2", cancelFunction);
+}
+
+CtImporter::~CtImporter()
+{
+ WHIT();
+ if (auto popup = __popupMonitor.lock()) {
+ popup->destroy();
+ }
+ if (__cancelPopup) {
+ __cancelPopup->destroy();
+ }
+}
+
+CtProgressBarPopup *CtImporter::getProgressPopup()
+{
+ return __progressPopup;
+}
+
+WPopup *CtImporter::getCancelPopup()
+{
+ return __cancelPopup;
+}
+
+void CtImporter::run()
+{
+ WHIT();
+ __canceled = false;
+ __paused = false;
+ __importThread = ecore_thread_run(__importFromVcardsCb, __importFromVcardsEndCb, __importFromVcardsCancelCb, this);
+}
+
+void CtImporter::__stopImporting(bool* destroyPopup)
+{
+ WHIT();
+ __paused = true;
+ *destroyPopup = false;
+ char content[CT_TEXT_MAX_LEN] = {0};
+ char percent[CT_TEXT_SHORT_LEN] = {0};
+ snprintf(percent, CT_TEXT_SHORT_LEN, "%d%%", (int)(100.0 * (double)(__importedContacts.size())/(double(__contactsCount))));
+ snprintf(content, CT_TEXT_MAX_LEN, V_("IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"), percent);
+ elm_object_text_set(__cancelPopup->getEvasObj(), content);
+ evas_object_hide(__progressPopup->getEvasObj());
+ evas_object_show(__cancelPopup->getEvasObj());
+}
+
+void CtImporter::__cancelImporting(bool* destroyPopup)
+{
+ WHIT();
+ __paused = false;
+ __canceled = true;
+ *destroyPopup = true;
+ __cancelPopup = nullptr;
+}
+
+void CtImporter::__continueImporting(bool* destroyPopup)
+{
+ WHIT();
+ __paused = false;
+ *destroyPopup = false;
+ evas_object_show(__progressPopup->getEvasObj());
+ evas_object_hide(__cancelPopup->getEvasObj());
+}
+
+void CtImporter::__importFromVcardsCb(void *data, Ecore_Thread *thread)
+{
+ WHIT();
+ CtImporter* importer = static_cast<CtImporter*>(data);
+
+ for (auto &&vcard : importer->__vcards) {
+ if (importer->__canceled) {
+ WDEBUG("Import canceled");
+ ecore_thread_cancel(importer->__importThread);
+ return;
+ }
+ if (importer->__paused) {
+ WDEBUG("Import paused");
+ while (importer->__paused) {
+ usleep(1000);
+ }
+ }
+
+ int err = contacts_vcard_parse_to_contact_foreach(vcard.c_str(), __vcardParseCb, importer);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_vcard_parse_to_contact_foreach failed: %d", err);
+ }
+ }
+}
+
+void CtImporter::__importFromVcardsEndCb(void* data, Ecore_Thread* thread)
+{
+ WHIT();
+ CtImporter* importer = static_cast<CtImporter*>(data);
+ int count = importer->__importedContacts.size();
+
+ if (count > 0) {
+ char buf[256] = { 0, };
+ if (count == 1) {
+ snprintf(buf, sizeof(buf), V_("IDS_PB_TPOP_1_CONTACT_IMPORTED"));
+ } else {
+ snprintf(buf, sizeof(buf), ctGetContactsString("IDS_PB_TPOP_PD_CONTACTS_IMPORTED"), count);
+ }
+ WDEBUG("notification: %s", buf);
+ int err = notification_status_message_post(buf);
+ if (err != NOTIFICATION_ERROR_NONE) {
+ WERROR("notification_status_message_post: %d", err);
+ }
+ }
+
+ delete importer;
+}
+
+void CtImporter::__importFromVcardsCancelCb(void* data, Ecore_Thread* thread)
+{
+ WHIT();
+ CtImporter* importer = static_cast<CtImporter*>(data);
+
+ for (auto &&id : importer->__importedContacts) {
+ contacts_db_delete_record(_contacts_contact._uri, id);
+ }
+
+ int err = notification_status_message_post( V_("IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB") );
+ if (err != NOTIFICATION_ERROR_NONE) {
+ WERROR("notification_status_message_post failed: %d", err);
+ }
+
+ delete importer;
+}
+
+bool CtImporter::__vcardParseCb(contacts_record_h record, void* user_data)
+{
+ WHIT();
+ CtImporter *importer = static_cast<CtImporter *>(user_data);
+
+ if (record) {
+ if (importer->__canceled) {
+ ecore_thread_cancel(importer->__importThread);
+ return false;
+ }
+
+ if (importer->__paused) {
+ WDEBUG("Import paused");
+ while (importer->__paused) {
+ usleep(1000);
+ }
+ }
+
+ int id = 0;
+
+ int err = contacts_record_set_int(record, _contacts_contact.address_book_id, importer->__addressBookId);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_set_int failed: %d", err);
+ }
+
+ err = contacts_db_insert_record(record, &id);
+ if ((CONTACTS_ERROR_NONE != err) || (id <= 0)) {
+ WERROR("contacts_db_insert_record failed: err = %d, id = %d", err, id);
+ }
+
+ importer->__importedContacts.push_back(id);
+ importer->__progressPopup->setProgressStatusCount(importer->__importedContacts.size());
+ }
+
+ // Return true to continue to scan next contact, according to contacts_vcard_parse_cb specification.
+ return true;
+}
diff --git a/lib-contact/ct-list/.cproject b/lib-contact/ct-list/.cproject
new file mode 100644
index 0000000..5784c55
--- /dev/null
+++ b/lib-contact/ct-list/.cproject
@@ -0,0 +1,505 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.2033459981">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.2033459981" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ct-list" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.2033459981" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.2033459981." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1697298416" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.774068803" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/ct-list}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.2118466175" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.253440942" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="i386-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.492947525" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1301476186" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.2145270580" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.2106259" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1495069354" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.816717232" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath"/>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.686416948" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1612349545" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-detail/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/inc"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1286549398" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1552982377" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ <listOptionValue builtIn="false" value="_CONTACTS_EAS_ENABLE"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1205564902" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <option id="gnu.cpp.compiler.option.dialect.std.304910220" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.127301685"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1678696321" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="i386-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1861215757" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.2037686547" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1452719209" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1453909711" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.233868578" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1118601788" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.658862147" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.835810376" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1152637183" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.965861493" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1883002997"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1757696344" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1507702414" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="i386-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1368529777" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1878679236" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1143377747" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1428178331" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/Debug"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/Debug}&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.1164009587" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="common"/>
+ <listOptionValue builtIn="false" value="ct-common"/>
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="app-assist-efl"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.176149213" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.2005224609" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1762273030" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1228218169" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.2001283476" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.844629607" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1347283376" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.125956742" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.2092563166" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.1227286930">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1227286930" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ct-list" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1227286930" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.1227286930." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.1224831716" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.186230389" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/ct-list}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1123109998" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.553322821" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1034541289" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1011342723" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1046041859" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.401837846" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1585209480" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.203692581" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.276466369" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.449335621" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1812671095" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.690763084" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.314101167"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1394335062" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1226083928" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.595259819" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1252256951" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.2055009438" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.390505349" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1445168488" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1649663234" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.276795984" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.423469432" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1355345044"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.640334408" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.603047174" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1670796608" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1005778828" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1857702820" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1030145055" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1098827167" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.903542346" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1418099674" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.539531336" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1313133147" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.846852445" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.658828604" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1484701725" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.2089776750" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="ct-list.org.tizen.nativecore.target.sbi.gcc45.so.2035770886" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.2033459981">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.1227286930">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/ct-list"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/ct-list"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/lib-contact/ct-list/.project b/lib-contact/ct-list/.project
new file mode 100644
index 0000000..34a93b9
--- /dev/null
+++ b/lib-contact/ct-list/.project
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ct-list</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1413282533349</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/lib-contact/ct-list/.tproject b/lib-contact/ct-list/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/lib-contact/ct-list/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/lib-contact/ct-list/CMakeLists.txt b/lib-contact/ct-list/CMakeLists.txt
new file mode 100644
index 0000000..5b4bfa3
--- /dev/null
+++ b/lib-contact/ct-list/CMakeLists.txt
@@ -0,0 +1,27 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ct-list CXX)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-detail/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-importer/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-setting/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-vcard/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "contacts-common"
+ "ct-common"
+ "ct-detail"
+ "ct-importer"
+ "ct-vcard"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_LIB_DIR})
diff --git a/lib-contact/ct-list/inc/CtListController.h b/lib-contact/ct-list/inc/CtListController.h
new file mode 100644
index 0000000..c92a3e0
--- /dev/null
+++ b/lib-contact/ct-list/inc/CtListController.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_LIST_CONTROLLER_H_
+#define _CT_LIST_CONTROLLER_H_
+
+#include <Elementary.h>
+
+typedef enum {
+ CT_LIST_UPDATE_DATA_NUMBER,
+ CT_LIST_UPDATE_DATA_EMAIL,
+ CT_LIST_UPDATE_DATA_WEB,
+ CT_LIST_UPDATE_DATA_IMAGE,
+ CT_LIST_UPDATE_DATA_FACETAG_IMAGE
+}CtListUpdateDataType;
+
+class CtListView;
+
+class CtListController
+{
+public:
+ virtual ~CtListController(){};
+
+ virtual void onListUpdated() = 0;
+ virtual void onSelectItem(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState) = 0;
+ virtual void onSelectCreate(void *data, Evas_Object *obj, void *event_info) { };
+ virtual void onSelectDone(void *data, Evas_Object *obj, void *event_info) = 0;
+ virtual void onSelectBack(void *data, Evas_Object *obj, void *event_info) = 0;
+ virtual void onSelectCancel(void *data, Evas_Object *obj, void *event_info) = 0;
+ virtual void onSwipeLeftItem(void *data, Evas_Object *obj, void *event_info) = 0;
+ virtual void onSwipeRightItem(void *data, Evas_Object *obj, void *event_info) = 0;
+ virtual void onSelectCheckAll(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState) = 0;
+ virtual void onSelectMenu(CtListView *view) = 0;
+
+ // should remove
+ virtual void moreManageFavoritesItemOperation() = 0;
+
+};
+
+#endif // _CT_LIST_CONTROLLER_H_
+
diff --git a/lib-contact/ct-list/inc/CtListView.h b/lib-contact/ct-list/inc/CtListView.h
new file mode 100755
index 0000000..a087396
--- /dev/null
+++ b/lib-contact/ct-list/inc/CtListView.h
@@ -0,0 +1,415 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_VIEW_H_
+#define __CT_LIST_VIEW_H_
+
+#include <string>
+#include <vector>
+#include <list>
+#include <memory>
+
+#include "WNaviframe.h"
+
+#include "ContactsCommon.h"
+#include "IContactsTabPageView.h"
+#include "CtType.h"
+#include "CtView.h"
+#include "ICtChangeListener.h"
+#include "CtListController.h"
+#include "CtThread.h"
+
+class CtListModel;
+class CtListModelDb;
+class CtListModelGroup;
+class CtListDataPerson;
+class CtListDataGroup;
+
+class CtListBasicController;
+class CtListUgChooseController;
+class CtListUgMultiPickController;
+class CtListUgSinglePickController;
+
+typedef enum {
+ LIST_SUB_DEFAULT,
+ LIST_SUB_LINK_SUGGEST,
+ LIST_SUB_FAVORITE,
+ LIST_SUB_MFC,
+}CtListSubListType;
+
+enum CtListSelectMode {
+ LIST_SELECT_SINGLE,
+ LIST_SELECT_SINGLE_OR_CREATE,
+ LIST_SELECT_MULTIPLE
+};
+
+enum CtListResultType {
+ LIST_RESULT_ID,
+ LIST_RESULT_NUMBER,
+ LIST_RESULT_NUMBER_FOR_CALL,
+ LIST_RESULT_NUMBER_FOR_MESSAGE,
+ LIST_RESULT_EMAIL,
+ LIST_RESULT_VCARD,
+ LIST_RESULT_NUMBER_OR_EMAIL
+};
+
+class WAPP_ASSIST_EXPORT CtListView : public CtView, public IContactsTabPageView, public ICtChangeListener
+{
+public:
+ typedef std::function<void(const char*, CtListResultType)> SingleResultCb;
+ typedef std::function<void(const char*[], size_t)> MultiResultCb;
+
+ CtListView(const char *vcardPath);
+ CtListView(CtListSelectMode selectMode, CtListResultType resultType, int limit);
+ CtListView(CtListViewType viewType, CtListDataType dataType, CtListCtrlType ctrlType);
+ virtual const char* getClassName();
+
+ Evas_Object* getViewWindow(void);
+ Evas_Object* getViewNaviframe(void);
+ WNaviframe* getWNaviframe(void);
+
+ const int getListTopItemPersonId(void);
+ void setTopItemOnList(const int personId) {__topItemPersonId = personId;}
+ void setOnProgressOperation(bool onProgress);
+
+ Elm_Object_Item* getGenlistItemByPersonId(int personId);
+
+ void setOnSingleResult(SingleResultCb handler);
+ void setOnMultiResult(MultiResultCb handler);
+
+ void sendSingleResult(const char *data, CtListResultType type) const;
+ void sendMultiResult(const char *data[], size_t count) const;
+
+protected:
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+ virtual void onPushed(Elm_Object_Item* naviItem);
+ virtual void onEvent(int eventType);
+ virtual void onSetAsPageContent(Elm_Object_Item* parentNaviItem);
+ virtual void onTabSelect(Elm_Object_Item *naviItem);
+ virtual void onTabUnselect(Elm_Object_Item *naviItem);
+ virtual bool onTabPop();
+ virtual void onTabScrollStart() {return;}
+ virtual void onTabScrollStop() {return;}
+ virtual bool onPop();
+
+protected:
+ virtual void onLanguageChanged();
+
+private:
+
+ virtual void onDbChanged(const char* viewUri);
+ virtual void onCompleteGetContacts(int offset);
+ virtual void onConditionChagned();
+
+ typedef struct {
+ int position;
+ int skipped_count;
+ char index[10];
+ Elm_Object_Item *item;
+ } CtListFastIndexData;
+
+
+ struct CtListDataItem {
+ Elm_Object_Item* item;
+ CtListView *listView;
+ std::shared_ptr<CtListDataPerson> personData;
+ };
+
+ void __resetCheckitems();
+ void __initialize(void);
+ void __hideFastScroll(void);
+ void __showFastScroll(void);
+ void __freeFastIndexData(void);
+ void __appendFastScrollLetter(const std::string &str);
+ void __showNoContent(void);
+ void __showGenlist(void);
+ void __updatetGenlistItem(void);
+ void __showTitleButton(bool show);
+ void __initViewCondition(CtListViewType viewType, CtListCtrlType ctrlType);
+ void __appendGenlistItems(int offset);
+ char* __getSearchHighlightNumber(const char *src);
+ void __setItemClassStyle();
+ void __updateCheckRelatedInfo();
+ void __updateCheckAllRelatedInfo();
+ void __initFastscrollData();
+
+ //item style
+ void __setReorderItemClassStyle(void);
+ void __setCheckItemClassStyle(void);
+ void __setDefaultItemClassStyle(void);
+ void __setGroupTitleItemClassStyle(void);
+ void __setMyProfileItemClassStyle(void);
+ void __setSelectAllItemClassStyle(void);
+ void __setSearchbarItemClassStyle(void);
+ void __setFavoriteTitleItemClassStyle(void);
+ void __setMfcTitleItemClassStyle(void);
+ void __setLinkSuggestTitleItemClassStyle(void);
+#if 0
+ void __setGalSearchItemClassStyle(void);
+ void __setGalSearchTitleItemClassStyle(void);
+ void __setGalSearchMoreItemClassStyle(void);
+ void __setGalSearchProgressItemClassStyle(void);
+#endif
+ static Evas_Object* __createToolbar(Evas_Object *navi);
+
+ //Group Index
+ Eina_Unicode __hangulCompatibilityToJamo(Eina_Unicode unicode);
+ bool __compareCharacter(const char *str1, const char *str2);
+ void __linkItemsManually(Eina_List *indexItem, Elm_Object_Item *genItem);
+ void __linkItemToIndex(Elm_Object_Item *groupItem);
+ void __linkItemToRestIndex();
+
+
+ Evas_Object* __createGenlist(Evas_Object* parent);
+ Evas_Object* __createFastscroll(Evas_Object* parent);
+ Evas_Object* __createSearchbar(Evas_Object* parent);
+ Evas_Object* __createNoContent(Evas_Object* parent);
+ Evas_Object* __createFloatBtn(Evas_Object* parent);
+ void __cleanSearchbar(void);
+ void __hideCreateButton(void);
+ void __showCreateButton(void);
+ Evas_Object* __setNoContentsLayout(Evas_Object* parent);
+ void __setNoContentsText(std::string text, std::string helptext="");
+ void __hideNoContentsLayout();
+ void __showNoContentsLayout();
+
+#if 0
+ void __clearGalSearchItems();
+#endif
+
+private:
+
+ char *__getDelPopupText();
+
+ //view evas obj item callbacks
+ static void __onSelectItem(void *data, Evas_Object *obj, void *event_info);
+ static void __onMyProfileSelectCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onGenlistRealizedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onChangedSearchEditField(void *data, Evas_Object *obj, void *event_info);
+ static void __onSearchbarActivatedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onSipUpCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onSipDownCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onNaviTitleCancel(void *data, Evas_Object *obj, void *event_info);
+ static void __deletePopupDelCb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+ static void __onNaviTitleDone(void *data, Evas_Object *obj, void *event_info);
+ static void __onClickRemoveBtn(void *data, Evas_Object *obj, void *event_info);
+ static void __onToolbarDone(void *data, Evas_Object *obj, void *event_info);
+ static void __onSelectCheckAll(void *data, Evas_Object *obj, void *event_info);
+ static void __onSelectMenu(void *data, Evas_Object *obj, void *event_info);
+ static void __onSelectFloatBtn(void *data, Evas_Object *obj, void *event_info);
+ static void __onEntryFocused(void *data, Evas_Object *obj, void *event_info);
+ static void __onEntryUnfocused(void *data, Evas_Object *obj, void *event_info);
+ static void __onEntryBackButton(void *data, Evas_Object *obj, void *event_info);
+ static void __onCancelButtonClicked(void *data, Evas_Object *obj, void *event_info);
+
+ static void __genlistReoderCb(void *data, Evas_Object *obj, void *event_info);
+
+ static void __focusInCb(void *data, Evas_Object *obj, void *event_info);
+
+#if 0
+ static void __onSelectGalSearchMore(void *data, Evas_Object *obj, void *event_info);
+ static Eina_Bool __galSearchTimeoutCb(void* data);
+#endif
+
+ //bool __checkMFC(int personId);
+ //fast index callbacks
+ static void __fastIndexChanged(void *data, Evas_Object *obj, void *event_info);
+ static void __fastIndexSelected(void *data, Evas_Object *obj, void *event_info);
+
+ static bool __checkValidSpecialCharForNumber(char character);
+ static bool __checkValidCharForNumber(char character);
+
+ static void __onGenlistScrollStartCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onGenlistScrollStopCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onNaviTransitionFinishedCb(void *data, Evas_Object *obj, void *event_info);
+
+ static Eina_Bool __loadImageTimerCb(void *user_data);
+
+ static void __onInitMyProfileThreadRunCb(void *data);
+ static void __onInitMyProfileThreadEndCb(void *data);
+ static Eina_Bool __onInitMyProfileIdlerCb(void *data);
+
+ static void __reorderButtonMouseDownCb(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+ static void __reorderButtonMouseUpCb(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+
+ static Eina_Bool __createNocontentsPopupCb(void* data);
+
+ static void __onSearchGetContactsThreadRunCb(void *data);
+ static void __onSearchGetContactsThreadEndCb(void *data);
+
+ char *__getMyProfileNumber() const;
+ char* __getMsisdnFromSim();
+ void __initMyProfile(void);
+
+ void __initListItems(void);
+ Elm_Object_Item* __addSearchbarItem(void);
+ Elm_Object_Item* __addSelectAllItem(void);
+ Elm_Object_Item* __addMyProfileItem(void);
+ Elm_Object_Item* __addFavoriteTitleItem(Elm_Object_Item *curItem);
+ Elm_Object_Item* __addFavoriteItem(Elm_Object_Item *curItem, CtListDataItem* itemData);
+ Elm_Object_Item* __addMfcTitleItem(Elm_Object_Item *curItem);
+ Elm_Object_Item* __addMfcItem(Elm_Object_Item *curItem, CtListDataItem* itemData);
+ Elm_Object_Item* __addDefaultItem(Elm_Object_Item *curItem, CtListDataItem* itemData, bool needGroupTitle);
+ Elm_Object_Item* __addLinkSuggestItem(Elm_Object_Item *curItem, CtListDataItem* itemData);
+ Elm_Object_Item* __addLinkSuggestTitleItem(Elm_Object_Item *curItem);
+ Elm_Object_Item* __appendGroupItem(Elm_Object_Item *curItem, CtListDataItem* itemData);
+
+ void __deleteRestItems(Elm_Object_Item *curItem, bool all);
+
+ int __addLinkSuggestList(void);
+ int __addFavoriteList(void);
+ int __addMfcList(void);
+ int __addDefaultList(int offset);
+ int __addSearchList(int offset);
+
+ Elm_Object_Item* __getStandardItem(CtListSubListType listType);
+
+private:
+ virtual ~CtListView();
+
+private:
+ Evas_Object* __baseLayout;
+ Evas_Object* __fastLayout;
+ Evas_Object* __fastScroll;
+ Evas_Object* __genlist;
+ Evas_Object* __selectAllObj;
+ Evas_Object* __compose_btn;
+ Evas_Object* __noContentLayout;
+
+ Elm_Object_Item* __searchbarItem;
+ Elm_Object_Item* __selectAllItem;
+ Elm_Object_Item* __linkSuggestTitleItem;
+ Elm_Object_Item* __favoriteTitleItem;
+ Elm_Object_Item* __mfcTitleItem;
+ Elm_Object_Item* __myProfileItem;
+
+#if 0
+ Elm_Object_Item* __galSearchMoreItem;
+ Ecore_Timer *__galSearchTimer;
+#endif
+
+ CtListController* __listController;
+ CtListModel* __listModel;
+ CtListModelGroup* __listGroupModel;
+ CtListViewType __viewType;
+ CtListCtrlType __ctrlType;
+
+ //for group title
+ Elm_Object_Item *__curGroupTitleItem;
+ Elm_Object_Item *__unmatchedGroupTitleItem;
+ std::string __curGroupIndex;
+
+ bool __onSearching;
+ bool __onShowGroupButton;
+ bool __onShowGroupList;
+ bool __onShowMemberList;
+
+ bool __sipStatus;
+ bool __launching;
+ bool __genlistScrolling;
+ int __curAppendIndex;
+ int __launched;
+ bool __loaded;
+ bool __selectedCheckAll;
+ bool __onProgressOperation;
+ bool __onNoContentLayout;
+
+ int __updateQueue;
+ Eina_List *__fastIndexList;
+ std::vector<std::shared_ptr<CtListDataPerson>> __vcPersonData;
+
+ typedef struct {
+ int personId;
+ int prevPersonId;
+ int nextPersonId;
+ } CtListFavoriteReorderData;
+ std::vector <CtListFavoriteReorderData> __reorderData;
+
+ //itc member
+ Elm_Genlist_Item_Class* __listItc;
+ Elm_Genlist_Item_Class* __groupTitleItc;
+ Elm_Genlist_Item_Class* __myProfileItc;
+ Elm_Genlist_Item_Class* __selectAllItc;
+ Elm_Genlist_Item_Class* __searchbarItc;
+ Elm_Genlist_Item_Class* __favoriteTitleItc;
+ Elm_Genlist_Item_Class* __mfcTitleItc;
+ Elm_Genlist_Item_Class* __linkSuggestTitleItc;
+
+#if 0
+ Elm_Genlist_Item_Class* __galSearchItc;
+ Elm_Genlist_Item_Class* __galSearchTitleItc;
+ Elm_Genlist_Item_Class* __galSearchMoreItc;
+ Elm_Genlist_Item_Class* __galSearchProgressItc;
+#endif
+
+ //view condition
+ bool __hasTitle;
+ bool __hasSearchbar;
+ bool __hasFastscroll;
+ bool __hasToolbar;
+ bool __hasCreateButton;
+ bool __hasSelectAll;
+ bool __hasTotalCount;
+ bool __hasGroupTitle;
+ bool __hasMenu;
+ bool __hasDoneCancel;
+ bool __hasFavGroupTitle;
+ bool __hasMyProfile;
+ bool __enableDone;
+ bool __hasFavoriteList;
+ bool __hasMfcList;
+ bool __hasDefaultList;
+ bool __hasLinkSuggest;
+ bool __hasGroupButton;
+
+ CtCheckState __selectAllState;
+ int __selectedPersonId;
+ int __topItemPersonId;
+
+#if 0
+ int __galSearchOffset;
+ bool __onUpdateGalSearch;
+#endif
+
+ char* __groupName;
+
+ CtThread *__myProfileThread;
+ Ecore_Idler *__myProfileIdler;
+
+ Ecore_Timer *__loadImageTimer;
+ CtThread *__searchGetContactThread;
+
+ void* __detailDllHandle;
+ void* __cmDllHandle;
+
+ bool __background;
+ bool __isFirstGroupSync;
+ bool __isFirstGroupMemberSync;
+
+ int __groupUpdateTimer;
+ SingleResultCb __singleResultCb;
+ MultiResultCb __multiResultCb;
+
+ friend class CtListBasicController;
+ friend class CtListUgMultiPickController;
+ friend class CtListUgSinglePickController;
+ friend class CtListUgVcardViewController;
+ friend class CtListLinkContactController;
+};
+
+#endif
diff --git a/lib-contact/ct-list/src/CtListBasicController.cpp b/lib-contact/ct-list/src/CtListBasicController.cpp
new file mode 100755
index 0000000..35a2fa0
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListBasicController.cpp
@@ -0,0 +1,1049 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <dlfcn.h>
+#include <vector>
+#include <Elementary.h>
+#include <app_preference.h>
+#include <app.h>
+#include <contacts.h>
+#include <Ecore_File.h>
+#include <app_preference.h>
+
+#include "WView.h"
+#include "WNaviframe.h"
+#include "WPopup.h"
+#include "WMenuPopup.h"
+#include "WToastPopup.h"
+
+#include "ContactsDebug.h"
+#include "ContactsAppControl.h"
+#include "ContactsAppControlLauncher.h"
+#include "CtDetailView.h"
+#include "CtType.h"
+#include "CtListBasicController.h"
+#include "CtListDataPerson.h"
+#include "CtCommon.h"
+#include "CtContactsToVcard.h"
+#include "CtPath.h"
+#include "CtListView.h"
+#include "CtListModelDb.h"
+#include "CtRegistryMgr.h"
+
+#define __ITEM_HEIGHT 96
+
+bool CtListBasicController::__stopDoAsyncAction = false;
+
+CtListBasicController::CtListBasicController(CtListCtrlType ctrlType, CtListView *listView, CtListModelDb* listModel)
+{
+ WHIT();
+
+ __listView = listView;
+ __listModel = listModel;
+ __ctrlType = ctrlType;
+ __progressPopup = NULL;
+ __updateDataType = 0;
+ __canceled = false;
+ __stopDoAsyncAction = false;
+ __doActionThread = NULL;
+ __settingDllHandle = NULL;
+ __detailDllHandle = NULL;
+ __cmDllHandle = NULL;
+
+ preference_set_changed_cb(CT_KEY_SHOW_LINK_CONTACTS_TOAST_POPUP, __onPreferenceChangedCb, this);
+}
+
+CtListBasicController::~CtListBasicController()
+{
+ WHIT();
+
+ preference_unset_changed_cb(CT_KEY_SHOW_LINK_CONTACTS_TOAST_POPUP);
+
+ __stopDoAsyncAction = true;
+
+ __canceled = true;
+
+ if (auto popup = __popupMonitor.lock()) {
+ popup->destroy();
+ }
+
+ if(__doActionThread){
+ __doActionThread->destroy();
+ __doActionThread = NULL;
+ }
+
+}
+
+void CtListBasicController::__onPreferenceChangedCb(const char *key, void *data)
+{
+ CtListBasicController * listCtrl = static_cast<CtListBasicController*>(data);
+
+ if (strcmp(key, CT_KEY_SHOW_LINK_CONTACTS_TOAST_POPUP) == 0) {
+ bool showPopup = false;
+
+ int error = preference_get_boolean(CT_KEY_SHOW_LINK_CONTACTS_TOAST_POPUP, &showPopup);
+ WPRET_M(error != PREFERENCE_ERROR_NONE, "preference_get_boolean failed");
+
+ WDEBUG("showPopup %d", showPopup);
+
+ if (showPopup) {
+ preference_set_boolean(CT_KEY_SHOW_LINK_CONTACTS_TOAST_POPUP, false);
+ WToastPopup* popup = new WToastPopup("Some of your contacts appear to be duplicates. Manage this in Link contacts.");
+ listCtrl->__listView->attachPopup(popup);
+
+ }
+ }
+}
+
+bool CtListBasicController::__changeCheckState(Elm_Object_Item *item, bool checkState)
+{
+ WHIT();
+
+ Elm_Genlist_Item_Type item_type = elm_genlist_item_type_get(item);
+ if(item_type == ELM_GENLIST_ITEM_GROUP) {
+ return false;
+ }
+
+ Evas_Object* layout = elm_object_item_part_content_get(item,"elm.icon.2");
+ Evas_Object* check = elm_layout_content_get(layout, "elm.swallow.content");
+
+ CtListView::CtListDataItem* itemData = (CtListView::CtListDataItem*)elm_object_item_data_get(item);
+ WPRET_VM(itemData == NULL, false, "itemData is null");
+
+ itemData->personData->setAsChecked(checkState);
+ if(itemData->personData->isChecked() == true) {
+ __listModel->pushCheckedData(itemData->personData);
+ }
+ else {
+ __listModel->removeCheckedData(itemData->personData);
+ }
+ elm_check_state_set(check, (Eina_Bool)checkState);
+
+ int checkedCount = __listModel->getCheckedDataCount();
+ Elm_Object_Item *naviItem = elm_naviframe_top_item_get(__listView->getViewNaviframe());
+ Evas_Object *btn = elm_object_item_part_content_get(naviItem, "title_right_btn");
+ if(btn) {
+ if(checkedCount > 0)
+ elm_object_disabled_set(btn, EINA_FALSE);
+ else
+ elm_object_disabled_set(btn, EINA_TRUE);
+ }
+
+ WDEBUG("%d, %d", checkedCount, __listModel->getPersonListCount(LIST_QUERY_DEFAULT));
+
+ if (__listView->__onSearching) {
+ if(__listView->__selectAllObj) {
+ if (__listModel->checkIsSelectAllOnSearching()) {
+ WDEBUG("check select all");
+ elm_check_state_set(__listView->__selectAllObj, EINA_TRUE);
+ __listView->__selectAllState = CHECK_ON;
+ }
+ else {
+ elm_check_state_set(__listView->__selectAllObj, EINA_FALSE);
+ __listView->__selectAllState = CHECK_OFF;
+ }
+ }
+ }
+ else {
+ if(__listView->__selectAllObj) {
+ if( checkedCount == __listModel->getPersonListCount(LIST_QUERY_DEFAULT)) {
+ WDEBUG("check select all");
+ elm_check_state_set(__listView->__selectAllObj, EINA_TRUE);
+ __listView->__selectAllState = CHECK_ON;
+ }
+ else {
+ elm_check_state_set(__listView->__selectAllObj, EINA_FALSE);
+ __listView->__selectAllState = CHECK_OFF;
+ }
+ }
+ }
+
+ __listModel->setSelectAllState(false);
+
+ char buf[CT_TEXT_SHORT_LEN] = {0,};
+ if(__listModel->getLimitCount() == 0)
+ snprintf(buf, sizeof(buf), ctGetContactsString("IDS_PB_HEADER_PD_SELECTED_ABB3"), checkedCount);
+ else
+ snprintf(buf, sizeof(buf), "%d/%d", checkedCount, __listModel->getLimitCount());
+ elm_object_item_part_text_set(naviItem, "elm.text.title", buf);
+
+ return (bool)elm_check_state_get(check);
+}
+
+bool CtListBasicController::__getCheckState(Elm_Object_Item *item)
+{
+ WHIT();
+ Evas_Object* layout = elm_object_item_part_content_get(item,"elm.icon.2");
+ Evas_Object* check = elm_layout_content_get(layout, "elm.swallow.content");
+
+
+ return (bool)elm_check_state_get(check);
+}
+
+
+
+void CtListBasicController::onSelectItem(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState)
+{
+ WHIT();
+ WPRET_M(!view, "invalid view");
+ Elm_Object_Item *item = selectedItem;
+ elm_genlist_item_selected_set(selectedItem, EINA_FALSE);
+
+ CtListView::CtListDataItem* itemData = (CtListView::CtListDataItem*)elm_object_item_data_get(item);
+
+ WDEBUG("__ctrlType %d", __ctrlType);
+
+ switch(__ctrlType){
+ case LIST_CTRL_DEFAULT:
+ {
+ WView *detailView = new CtDetailView(itemData->personData->getPersonId());
+ view->getNaviframe()->push(detailView);
+ }
+ break;
+ case LIST_CTRL_DELETE_CONTACTS:
+ case LIST_CTRL_SHARE_CONTACTS:
+ case LIST_CTRL_ADD_FAVORITES:
+ case LIST_CTRL_REMOVE_FAVORITES:
+ __changeCheckState(item, checkState);
+ break;
+ case LIST_CTRL_SHARE_CONTACT_INFO :
+ {
+ if (__detailDllHandle == NULL) {
+ __detailDllHandle = ctGetDllHandle("libct-detail.so");
+ }
+
+ if (__detailDllHandle) {
+ typedef WView* (*CreateShareContactView)(int, ContactsData*);
+ CreateShareContactView createShareContactView = (CreateShareContactView)dlsym(__detailDllHandle, "createShareContactView");
+ if (createShareContactView) {
+ WView* shareContactView = createShareContactView(itemData->personData->getPersonId(), NULL);
+ view->getWNaviframe()->push(shareContactView);
+ }
+ }
+ }
+ break;
+ default:
+ WWARNING("Not handled type=%d", __ctrlType);
+ break;
+ }
+
+ elm_genlist_realized_items_update(view->__genlist);
+}
+
+void CtListBasicController::onSelectCreate(void *data, Evas_Object *obj, void *event_info)
+{
+ launchContactCreate(NULL);
+}
+
+void CtListBasicController::onSelectDone(void *data, Evas_Object *obj, void *event_info)
+{
+ switch(__ctrlType){
+ case LIST_CTRL_DEFAULT:
+ break;
+ case LIST_CTRL_DELETE_CONTACTS:
+ __canceled = false;
+ __doDeleteContacts();
+ break;
+ case LIST_CTRL_SHARE_CONTACTS:
+ __doShareContacts();
+ break;
+ case LIST_CTRL_ADD_FAVORITES:
+ case LIST_CTRL_REMOVE_FAVORITES:
+ __doFavoritesContacts(true);
+ break;
+ case LIST_CTRL_REORDER_FAVORITES:
+ __doSetFavoritesOrder();
+ break;
+ default:
+ break;
+ }
+}
+
+void CtListBasicController::onSelectCancel(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ switch(__ctrlType)
+ {
+ case LIST_CTRL_DELETE_CONTACTS :
+ case LIST_CTRL_SHARE_CONTACTS :
+ case LIST_CTRL_ADD_FAVORITES :
+ case LIST_CTRL_REMOVE_FAVORITES :
+ case LIST_CTRL_REORDER_FAVORITES :
+ __listView->popOut();
+ break;
+ default:
+ WWARNING("Not handled type=%d", __ctrlType);
+ break;
+ }
+}
+
+void CtListBasicController::onSelectBack(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+}
+
+void CtListBasicController::onSwipeLeftItem(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+}
+
+void CtListBasicController::onSwipeRightItem(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+}
+
+void CtListBasicController::onSelectCheckAll(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState)
+{
+ WHIT();
+ view->__selectAllState = checkState;
+
+ Elm_Object_Item *item = selectedItem;
+ if (item)
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ Evas_Object *genlist = view->__genlist;
+
+ WDEBUG("select all %d", checkState);
+
+ __listModel->setSelectAllState((bool)checkState);
+
+ int index = 0;
+ std::shared_ptr<CtListDataPerson> personData = view->__listModel->getAtPersonData(index, LIST_QUERY_DEFAULT);
+ while(personData) {
+ if(checkState == true && !personData->isChecked()) {
+ __listModel->doCheckedDataNoRelation(personData, true);
+ }
+ else if (checkState == false && personData->isChecked()) {
+ __listModel->doCheckedDataNoRelation(personData, false);
+ }
+ personData->setAsChecked(checkState);
+ index++;
+
+ personData = view->__listModel->getAtPersonData(index, LIST_QUERY_DEFAULT);
+ }
+
+ if (__ctrlType == LIST_CTRL_REMOVE_FAVORITES) {
+ index = 0;
+ personData = view->__listModel->getAtPersonData(index, LIST_QUERY_MFC);
+ while (personData) {
+ if(checkState == true && !personData->isChecked()) {
+ __listModel->doCheckedDataNoRelation(personData, true);
+ }
+ else if (checkState == false && personData->isChecked()) {
+ __listModel->doCheckedDataNoRelation(personData, false);
+ }
+ personData->setAsChecked(checkState);
+ index++;
+ personData = view->__listModel->getAtPersonData(index, LIST_QUERY_MFC);
+ }
+ }
+
+ elm_genlist_realized_items_update(genlist);
+}
+
+void CtListBasicController::moreManageFavoritesItemOperation()
+{
+ WENTER();
+
+ Elm_Genlist_Item_Class* itc = elm_genlist_item_class_new();
+ WPRET_M(!itc, "elm_genlist_item_class_new() failed");
+ itc->item_style = "type1";
+ itc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if(!strcmp(part, "elm.text")){
+ if (1 == (int)data)
+ return SAFE_STRDUP(V_("IDS_PB_OPT_ADD"));
+ else if (2 == (int)data)
+ return SAFE_STRDUP(V_("IDS_PB_OPT_REMOVE"));
+ else if (3 == (int)data)
+ return SAFE_STRDUP(V_("IDS_PB_HEADER_REORDER"));
+ else
+ return NULL;
+ }
+ return NULL;
+ };
+
+ WPopup* popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle( "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB");
+ popup->setContent([this,itc](Evas_Object* parent)->Evas_Object*
+ {
+ Evas_Object* genlist = elm_genlist_add(parent);
+ elm_object_style_set( genlist, "popup" );
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_genlist_mode_set( genlist, ELM_LIST_COMPRESS );
+ elm_scroller_content_min_limit( genlist, EINA_FALSE, EINA_TRUE ); // Automatically pop-up height is calculated
+ elm_object_content_set(parent, genlist);
+
+ elm_genlist_item_append(genlist, itc, (void*)1, NULL, ELM_GENLIST_ITEM_NONE,this->__onAddFavoritesSelCb,this);
+
+ Elm_Object_Item *item2 = elm_genlist_item_append(genlist, itc, (void*)2, NULL, ELM_GENLIST_ITEM_NONE,this->__onRemoveFavoritesSelCb,this);
+ Elm_Object_Item *item3 = elm_genlist_item_append(genlist, itc, (void*)3, NULL, ELM_GENLIST_ITEM_NONE,this->__onReorderFavoritesSelCb,this);
+
+ int count = 0;
+ count = __listModel->getContactsCount(LIST_QUERY_FAVORITE);
+ if(count == 0) {
+ if(0 == __listModel->getContactsCount(LIST_QUERY_MFC))
+ elm_object_item_disabled_set(item2, EINA_TRUE);
+ elm_object_item_disabled_set(item3, EINA_TRUE);
+ }
+ else {
+ if(count == 1)
+ elm_object_item_disabled_set(item3, EINA_TRUE);
+ }
+
+ evas_object_show(genlist);
+
+ return genlist;
+
+ });
+
+ __listView->attachPopup(popup);
+
+ elm_genlist_item_class_free(itc);
+
+ WLEAVE();
+
+}
+
+
+void CtListBasicController::onSelectMenu(CtListView* view)
+{
+ WENTER();
+
+ WMenuPopup* popup = new WMenuPopup();
+ popup->prepare(view->getViewWindow(), view->getViewNaviframe());
+
+ int listCount = view->__listModel->getPersonListCount(LIST_QUERY_DEFAULT);
+ if(listCount == 0) // make sure the count
+ listCount = view->__listModel->getContactsCount(LIST_QUERY_DEFAULT);
+
+ if(listCount > 0) {
+ popup->appendItem(V_("IDS_PB_BUTTON_DELETE_ABB4"), [view]()
+ {
+ int personId = view->getListTopItemPersonId();
+ CtListView *deleteView = new CtListView(LIST_VIEW_CHECK, LIST_DATA_ALL_PERSON, LIST_CTRL_DELETE_CONTACTS);
+ deleteView->setTopItemOnList(personId);
+ view->getWNaviframe()->push(deleteView, NULL, NULL);
+ });
+ popup->appendItem(V_("IDS_PB_HEADER_SHARE_VIA"), [view]()
+ {
+ view->getWNaviframe()->push(new CtListView(LIST_VIEW_CHECK, LIST_DATA_PERSON_EXCEPT_FACEBOOK, LIST_CTRL_SHARE_CONTACTS), NULL, NULL);
+ });
+ popup->appendItem(V_("IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"), [view]()
+ {
+ view->__listController->moreManageFavoritesItemOperation();
+ });
+ }
+
+ popup->appendItem( V_("IDS_PB_OPT_SETTINGS"), [this, view]()
+ {
+ WHIT();
+ if (__settingDllHandle == NULL) {
+ __settingDllHandle = ctGetDllHandle("libct-setting.so");
+ }
+
+ typedef WView* (*get_setting_view_t)();
+ get_setting_view_t createSettingView = (get_setting_view_t)dlsym(__settingDllHandle, "createSettingView");
+ if (createSettingView) {
+ WView* settingView = createSettingView();
+ view->getWNaviframe()->push(settingView, NULL, NULL);
+ }
+ });
+
+ view->attachPopup(popup);
+}
+
+void CtListBasicController::__onAddFavoritesSelCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ //CONTACTS_LOGGING_LOG(LOGGING_LOG_ADD_TO_FAVOR); //DO NOT REMOVE!!!
+ CtListBasicController * listCtrl = static_cast<CtListBasicController*>(data);
+ listCtrl->__listView->destroyPopup();
+ listCtrl->__listView->getWNaviframe()->push(new CtListView(LIST_VIEW_CHECK, LIST_DATA_PERSON_EXCEPT_SIM, LIST_CTRL_ADD_FAVORITES), NULL, NULL);
+
+}
+
+void CtListBasicController::__onRemoveFavoritesSelCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ //CONTACTS_LOGGING_LOG(LOGGING_LOG_REMOVE_FROM_FAVOR); //DO NOT REMOVE!!!
+ CtListBasicController * listCtrl = static_cast<CtListBasicController*>(data);
+ listCtrl->__listView->destroyPopup();
+ listCtrl->__listView->getWNaviframe()->push(new CtListView(LIST_VIEW_CHECK, LIST_DATA_ALL_FAVORITES, LIST_CTRL_REMOVE_FAVORITES), NULL, NULL);
+}
+
+void CtListBasicController::__onReorderFavoritesSelCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ CtListBasicController * listCtrl = static_cast<CtListBasicController*>(data);
+ listCtrl->__listView->destroyPopup();
+ listCtrl->__listView->getWNaviframe()->push(new CtListView(LIST_VIEW_REORDER, LIST_DATA_ALL_FAVORITES, LIST_CTRL_REORDER_FAVORITES), NULL, NULL);
+}
+
+int CtListBasicController::__setImage(contacts_record_h record, char *image)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ if(image && *image) {
+ err = contacts_record_set_str(record, _contacts_image.path, image);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ // err = contacts_record_set_int(record, _contacts_image.type, CONTACTS_IMAGE_TYPE_EX_CUSTOM);
+ // WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_int() Failed(%d)", err);
+ }
+ return err;
+}
+
+int CtListBasicController::__removeImage(contacts_record_h contactRecord, contacts_record_h imageRecord)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_record_remove_child_record(contactRecord, _contacts_contact.image, imageRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ err = contacts_record_destroy(imageRecord, true);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_destroy() Failed(%d)", err);
+
+ return err;
+}
+
+bool CtListBasicController::__setFavoriteImage(int personId, bool set, contacts_record_h contactRecord)
+{
+ return true;
+}
+
+//typedef struct {
+// contacts_list_h personRecordList;
+// contacts_list_h contactRecordList;
+//} CtListContactList;
+
+bool CtListBasicController::__getHasReadOnlyMode(char* addressbookIDs)
+{
+ WHIT();
+ int addressbookId = -1;
+ char* tok = NULL;
+ contacts_record_h addressbookRecord = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ tok = strtok (addressbookIDs," ");
+ int addressbookMode = 0;
+ while (tok != NULL)
+ {
+ WDEBUG ("%s",tok);
+ addressbookId = atoi(tok);
+
+ err = contacts_db_get_record(_contacts_address_book._uri, addressbookId, &addressbookRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_db_get_record() Failed(%d)", err);
+
+ err = contacts_record_get_int(addressbookRecord, _contacts_address_book.mode, &addressbookMode);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_destroy(addressbookRecord, true);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, false, "contacts_record_destroy() Failed(%d)", err);
+
+// if (CONTACTS_ADDRESS_BOOK_MODE_EX_READONLY & addressbookMode) {
+ if (CONTACTS_ADDRESS_BOOK_MODE_READONLY & addressbookMode) {
+ return true;
+ }
+ tok = strtok (NULL, " ");
+ }
+ return false;
+}
+
+void CtListBasicController::__doFavoritesContacts(bool addFirstOne)
+{
+ WHIT();
+
+ bool updateMfc = false;
+ bool updateFavorite = false;
+ bool isfavorite = false;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+ contacts_list_h contactRecordList = NULL;
+ int displayContactId = 0;
+ const int LIST_BULK_LENGTH = 100;
+ int count =0;
+
+ if(__progressPopup == NULL) {
+ __checkedData.reset(__listModel->getCheckedDataList());
+ if ((int)__checkedData->size() == 0)
+ return;
+
+ __listView->setOnProgressOperation(true);
+ if(__ctrlType == LIST_CTRL_ADD_FAVORITES)
+ __progressPopup = new CtProgressBarPopup(__checkedData->size(), V_("IDS_PB_BODY_ADD_TO_FAVOURITES"),true);
+ else if (__ctrlType == LIST_CTRL_REMOVE_FAVORITES)
+ __progressPopup = new CtProgressBarPopup(__checkedData->size(), V_("IDS_PB_BODY_REMOVE_FROM_FAVOURITES"),true);
+ if (__progressPopup) {
+ __progressPopup->addButton(V_("IDS_PB_BUTTON_CANCEL"), [this](bool* destroyPopup)->bool{
+ WDEBUG("Cancel");
+ __canceled = true;
+ *destroyPopup = true;
+ return true;
+ });
+ __progressPopup->create(__listView->getViewNaviframe(), NULL);
+ __popupMonitor = __progressPopup->getWeakPtr();
+ }
+ }
+ else if(__popupMonitor.lock()){
+ __progressPopup->setProgressRemainCount(__checkedData->size());
+ }
+ else{
+ __listView->setOnProgressOperation(false);
+ __progressPopup = NULL;
+ __listView->popOut();
+ return;
+ }
+
+ if(__ctrlType == LIST_CTRL_ADD_FAVORITES){
+ isfavorite = true;
+ }
+ else if (__ctrlType == LIST_CTRL_REMOVE_FAVORITES) {
+ isfavorite = false;
+ }
+ else {
+ WERROR("__ctrlType() Failed(%d)", __ctrlType);
+ }
+ WDEBUG("isfavorite %d", isfavorite);
+
+ err = contacts_list_create(&contactRecordList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_create() Failed(%d) - contactRecordList", err);
+
+ if((int)__checkedData->size() > LIST_BULK_LENGTH) {
+ for(auto iter = __checkedData->begin() ;count < LIST_BULK_LENGTH ;++iter) {
+ int personId = (*iter)->getPersonId();
+ displayContactId = 0;
+ // remove mfc
+ if (__listModel->checkMostFrequentContact((personId))) {
+ err = contacts_person_reset_usage(personId, CONTACTS_USAGE_STAT_TYPE_OUTGOING_CALL);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_person_reset_usage() Failed(%d)", err);
+ count++;
+ updateMfc = true;
+ continue;
+ }
+ //get person
+ err = contacts_db_get_record(_contacts_person._uri, personId, &record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_db_get_record() Failed(%d) - _contacts_person", err);
+ continue;
+ }
+ char *thumbnailPath = NULL;
+ err = contacts_record_get_str_p(record, _contacts_person.image_thumbnail_path, &thumbnailPath);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+
+ char *addressbookIDs =NULL;
+ err = contacts_record_get_str_p(record, _contacts_person.addressbook_ids, &addressbookIDs);
+ if(CONTACTS_ERROR_NONE != err)
+ {
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+ continue;
+ }
+ if(__getHasReadOnlyMode(addressbookIDs) == true)
+ {
+ err = contacts_record_set_bool(record, _contacts_person.is_favorite, isfavorite);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_set_bool() Failed(%d)", err);
+ err = contacts_db_update_record(record);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_update_record() Failed(%d)", err);
+ continue;
+ }
+
+ err = contacts_record_get_int(record, _contacts_person_contact.display_contact_id, &displayContactId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+
+ Eina_List *contactList = NULL;
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ contactList = ctCommonGetContactsList(personId);
+
+ EINA_LIST_FOREACH(contactList, cursor, data) {
+ contacts_record_h contactRecord = (contacts_record_h)data;
+ int contactId = -1;
+ err = contacts_record_set_bool(contactRecord, _contacts_contact.is_favorite, isfavorite);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_set_bool() Failed(%d)", err);
+ contacts_record_destroy(contactRecord, true);
+ continue;
+ }
+
+ err = contacts_record_get_int(contactRecord, _contacts_contact.id, &contactId);
+ WWARNING ("contactId : %d, displayContactId id :%d",contactId, displayContactId);
+ //if(contactId == displayContactId) {
+ contacts_record_h imageRecord = NULL;
+ err = contacts_record_get_child_record_at_p(contactRecord, _contacts_contact.image, 0, &imageRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_child_record_at_p() Failed(%d) - contact_list", err);
+
+ if(imageRecord) {
+ int imageType = 0;
+ err = contacts_record_get_int(imageRecord, _contacts_image.type, &imageType);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ contacts_record_destroy(contactRecord, true);
+ continue;
+ }
+// if(imageType != CONTACTS_IMAGE_TYPE_EX_CUSTOM) {
+ if(imageType != CONTACTS_IMAGE_TYPE_CUSTOM) {
+ WERROR("imageType is Not Custom(%d)", imageType);
+ err = contacts_list_add(contactRecordList, contactRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_add() Failed(%d) - contact_list", err);
+ continue;
+ }
+ else {
+ //remove default image.
+ if(!isfavorite) {
+ __removeImage(contactRecord,imageRecord);
+ }
+ }
+ }
+ else {
+ if(thumbnailPath == NULL) {
+ WDEBUG("thumbnailPath is NULL");
+ }
+ }
+ //}
+
+ err = contacts_list_add(contactRecordList, contactRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_add() Failed(%d) - contact_list", err);
+ }
+
+ count++;
+ updateFavorite = true;
+ if(addFirstOne)
+ break;
+ }
+ if(addFirstOne)
+ __checkedData->erase(__checkedData->begin(), __checkedData->begin()+(1));
+ else
+ __checkedData->erase(__checkedData->begin(), __checkedData->begin()+(LIST_BULK_LENGTH-1));
+ }
+ else if((int)__checkedData->size() > 0) {
+ for(auto iter = __checkedData->begin() ;iter != __checkedData->end();++iter) {
+ int personId = (*iter)->getPersonId();
+ displayContactId = 0;
+ // remove mfc
+ if (__listModel->checkMostFrequentContact(personId)) {
+ err = contacts_person_reset_usage(personId, CONTACTS_USAGE_STAT_TYPE_OUTGOING_CALL);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_person_reset_usage() Failed(%d)", err);
+ updateMfc = true;
+ continue;
+ }
+ WDEBUG("personId %d", personId);
+ err = contacts_db_get_record(_contacts_person._uri, personId, &record);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_db_get_record() Failed(%d) - _contacts_person", err);
+ break;
+ }
+
+ char *thumbnailPath = NULL;
+ err = contacts_record_get_str_p(record, _contacts_person.image_thumbnail_path, &thumbnailPath);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+
+ char *addressbookIDs =NULL;
+ err = contacts_record_get_str_p(record, _contacts_person.addressbook_ids, &addressbookIDs);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+
+ if(__getHasReadOnlyMode(addressbookIDs) == true)
+ {
+ err = contacts_record_set_bool(record, _contacts_person.is_favorite, isfavorite);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_set_bool() Failed(%d)", err);
+ err = contacts_db_update_record(record);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_update_record() Failed(%d)", err);
+ continue;
+ }
+ err = contacts_record_get_int(record, _contacts_person_contact.display_contact_id, &displayContactId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ contacts_record_destroy(record, true);
+ WDEBUG("displayContactId %d", displayContactId);
+ Eina_List *contactList = NULL;
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+ contactList = ctCommonGetContactsList(personId);
+ EINA_LIST_FOREACH(contactList, cursor, data) {
+ contacts_record_h contactRecord = (contacts_record_h)data;
+
+ err = contacts_record_set_bool(contactRecord, _contacts_contact.is_favorite, isfavorite);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_set_bool() Failed(%d)", err);
+ contacts_record_destroy(contactRecord, true);
+ continue;
+ }
+
+ int contactId = -1;
+ err = contacts_record_get_int(contactRecord, _contacts_contact.id, &contactId);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ contacts_record_destroy(contactRecord, true);
+ continue;
+ }
+ WWARNING ("contactId : %d, displayContactId id :%d",contactId, displayContactId);
+ //if(contactId == displayContactId) {
+ contacts_record_h imageRecord = NULL;
+ err = contacts_record_get_child_record_at_p(contactRecord, _contacts_contact.image, 0, &imageRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_child_record_at_p() Failed(%d) - contact_list", err);
+ if(imageRecord) {
+ int imageType = 0;
+ err = contacts_record_get_int(imageRecord, _contacts_image.type, &imageType);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ contacts_record_destroy(contactRecord, true);
+ continue;
+ }
+// if(imageType != CONTACTS_IMAGE_TYPE_EX_CUSTOM) {
+ if(imageType != CONTACTS_IMAGE_TYPE_CUSTOM) {
+ WERROR("imageType is Not Custom(%d)", imageType);
+ err = contacts_list_add(contactRecordList, contactRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_add() Failed(%d) - contact_list", err);
+ continue;
+ }
+ else {
+ //remove default image.
+ if(!isfavorite) {
+ __removeImage(contactRecord,imageRecord);
+ }
+ }
+ }
+ else {
+ if(thumbnailPath == NULL) {
+ WDEBUG("thumbnailPath is NULL");
+ }
+ }
+ //}
+ err = contacts_list_add(contactRecordList, contactRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_add() Failed(%d) - contact_list", err);
+ }
+ count++;
+ updateFavorite = true;
+ }
+ __checkedData->clear();
+ }
+
+ if(__doActionThread){
+ __doActionThread->destroy();
+ __doActionThread = NULL;
+ }
+ __doActionThread = new CtThread(__onDoFavouritesThreadRunCb, contactRecordList, __onDoFavouritesThreadEndCb, this);
+ __doActionThread->start();
+
+ WDEBUG("updateFavorite %d updateMfc %d", updateFavorite, updateMfc);
+ if(updateMfc && false == updateFavorite) {
+ CtRegistryMgr::getInstance()->setInt(REGISTRY_KEY_MFC_UPDATED, 1);
+ }
+}
+
+void CtListBasicController:: __onDoFavouritesThreadRunCb(void *data)
+{
+ WHIT();
+ contacts_list_h contactRecordList = (contacts_list_h)data;
+
+ int err = CONTACTS_ERROR_NONE;
+
+ CtRegistryMgr::getInstance()->setInt(REGISTRY_KEY_FAVORITE_UPDATED, 1);
+
+ contacts_connect_on_thread();
+ err = contacts_db_update_records(contactRecordList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_update_records() Failed(%d)", err);
+
+ contacts_list_destroy(contactRecordList, true);
+ contacts_disconnect_on_thread();
+
+ WLEAVE();
+}
+
+void CtListBasicController::__onDoFavouritesThreadEndCb(void *data)
+{
+ WHIT();
+ CtListBasicController * listCtrl = static_cast<CtListBasicController*>(data);
+
+ if (__stopDoAsyncAction) return;
+ if (listCtrl->__checkedData->empty()){
+ if (auto popup = listCtrl->__popupMonitor.lock()) {
+ popup->destroy();
+ }
+ listCtrl->__listView->setOnProgressOperation(false);
+ listCtrl->__progressPopup = NULL;
+ listCtrl->__listView->popOut();
+ }
+ else{
+ listCtrl->__doFavoritesContacts(false);
+ }
+}
+
+void CtListBasicController::__doSetFavoritesOrder()
+{
+ WENTER();
+
+ int err = CONTACTS_ERROR_NONE;
+
+ for (auto iter = __listView->__reorderData.begin(); iter != __listView->__reorderData.end(); iter++) {
+ err = contacts_person_set_favorite_order(iter->personId, iter->prevPersonId, iter->nextPersonId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_person_set_favorite_order() Failed(%d) %d %d %d", err, iter->personId, iter->prevPersonId, iter->nextPersonId);
+ }
+
+ CtRegistryMgr::getInstance()->setInt(REGISTRY_KEY_FAVORITE_UPDATED, 1);
+
+ __listView->popOut();
+ WLEAVE();
+}
+
+std::string CtListBasicController::__makeCheckedDataPath(int personId)
+{
+ WENTER();
+ contacts_record_h personRecord = NULL;
+
+ std::string vcardPath;
+ do {
+ int err = contacts_db_get_record(_contacts_person._uri, personId, &personRecord);
+ if (err != CONTACTS_ERROR_NONE) {
+ WDEBUG("contacts_db_get_record FAILED");
+ break;
+ }
+
+ vcardPath = createVcardFile(personRecord);
+
+ if(vcardPath.empty()) {
+ WDEBUG("createVcardPath FAILED");
+ break;
+ }
+
+ } while(false);
+
+ if (personRecord) {
+ contacts_record_destroy(personRecord, true);
+ }
+
+ WLEAVE();
+ return vcardPath;
+}
+
+void CtListBasicController::__doShareContacts()
+{
+ WENTER();
+ std::unique_ptr<std::vector<std::shared_ptr<CtListDataPerson>>> checkedData(__listModel->getCheckedDataList());
+ int checkedIdCount = checkedData->size();
+ WPRET_M(!checkedIdCount, "checked id count is null");
+
+ std::vector<char *> result;
+ result.reserve(checkedIdCount);
+
+ for (auto &data : *checkedData) {
+ char buf[CT_TEXT_SHORT_LEN] = { 0, };
+ snprintf(buf, sizeof(buf), "%d", data->getPersonId());
+ result.push_back(strdup(buf));
+ }
+
+ if (launchMultiShareContacts((const char**) result.data(), checkedIdCount) != TIZEN_ERROR_NONE) {
+ WERROR("launchMultiShareContacts failed");
+ }
+
+ for (auto &id : result) {
+ free(id);
+ }
+
+ __listView->popOut();
+}
+
+void CtListBasicController::__doDeleteContacts(void)
+{
+ WENTER();
+
+ int checkedIdCount = 0;
+
+ if(__progressPopup == NULL) {
+ __checkedData.reset(__listModel->getCheckedDataList());
+ checkedIdCount = __checkedData->size();
+ if ( 0 == checkedIdCount)
+ return;
+ std::shared_ptr<CtListDataPerson> personData;
+
+ //delete just only 1 contact for performance
+ if ( 1 == checkedIdCount) {
+ int idx = 0;
+
+ __listView->popOut();
+
+ while(true) {
+ personData = __listModel->getAtPersonData(idx, LIST_QUERY_DEFAULT);
+ if(personData == NULL)
+ break;
+ if(personData->isChecked()) {
+ int err = CONTACTS_ERROR_NONE;
+ int personId = personData->getPersonId();
+ CtRegistryMgr::getInstance()->setInt(REGISTRY_KEY_DELETED_PERSON, 1);
+ CtRegistryMgr::getInstance()->setInt(REGISTRY_KEY_DELETED_PERSON_ID, personId);
+ err = contacts_db_delete_record(_contacts_person._uri, personId);
+ WPWARN(err != CONTACTS_ERROR_NONE, "contacts_db_delete_record() fail(%d)",err);
+ }
+ idx++;
+ }
+ return;
+ }
+
+ __listView->setOnProgressOperation(true);
+ __progressPopup = new CtProgressBarPopup(checkedIdCount, V_("IDS_PB_POP_DELETING_CONTACTS_ING"),true);
+ __progressPopup->addButton(V_("IDS_PB_BUTTON_CANCEL"), [this](bool* destroyPopup)->bool{
+ WDEBUG("Cancel");
+ __listView->setOnProgressOperation(false);
+ __canceled = true;
+ *destroyPopup = true;
+ return true;
+ });
+ __progressPopup->create(__listView->getViewNaviframe(), NULL);
+ __popupMonitor = __progressPopup->getWeakPtr();
+ }
+
+ if (__canceled) {
+ WDEBUG("delete is Canceled");
+ return;
+ }
+
+ if(__checkedData->size() > 0){
+ __doActionThread = new CtThread(__onDoDeleteThreadRunCb, this, __onDoDeleteThreadEndCb, this);
+ __doActionThread->start();
+ }
+}
+
+void CtListBasicController:: __onDoDeleteThreadRunCb(void *data)
+{
+ WHIT();
+ CtListBasicController * listCtrl = (CtListBasicController*)data;
+ int err = CONTACTS_ERROR_NONE;
+
+ CtRegistryMgr::getInstance()->setInt(REGISTRY_KEY_DELETED_PERSON, 1);
+
+ for(size_t i = 0; i < listCtrl->__checkedData->size(); ++i) {
+ err = contacts_db_delete_record(_contacts_person._uri, listCtrl->__checkedData->at(i)->getPersonId());
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_delete_record() Failed(%d)", err);
+ listCtrl->__progressPopup->setProgressRemainCount(listCtrl->__checkedData->size() - i);
+ }
+
+ listCtrl->__checkedData->clear();
+ WLEAVE();
+}
+
+void CtListBasicController::__onDoDeleteThreadEndCb(void *data)
+{
+ WENTER();
+
+ CtListBasicController * listCtrl = (CtListBasicController*)data;
+ if (__stopDoAsyncAction) return;
+
+ listCtrl->__listView->setOnProgressOperation(false);
+ listCtrl->__progressPopup = NULL;
+ listCtrl->__listView->popOut();
+}
+
diff --git a/lib-contact/ct-list/src/CtListBasicController.h b/lib-contact/ct-list/src/CtListBasicController.h
new file mode 100644
index 0000000..d008987
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListBasicController.h
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_BASIC_CONTROLLER_H_
+#define __CT_LIST_BASIC_CONTROLLER_H_
+
+#include "WPopup.h"
+#include "ContactsCommon.h"
+#include "CtType.h"
+#include "CtListController.h"
+#include "CtProgressBarPopup.h"
+#include "CtListDataPerson.h"
+
+namespace std {
+class thread;
+}
+
+class CtThread;
+class CtListView;
+class CtListModelDb;
+class CtListModelMergeContacts;
+class CtProgressController;
+class CtListBasicController : public CtListController
+{
+public:
+ CtListBasicController(CtListCtrlType ctrlType, CtListView *listView, CtListModelDb* listModel);
+ CtListBasicController();
+ virtual ~CtListBasicController();
+
+public:
+ virtual void onListUpdated() {};
+ virtual void onSelectItem(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState);
+ virtual void onSelectCreate(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectDone(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectBack(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectCancel(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSwipeLeftItem(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSwipeRightItem(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectCheckAll(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState);
+ virtual void moreManageFavoritesItemOperation();
+ virtual void onSelectMenu(CtListView *view);
+
+private:
+ int __setImage(contacts_record_h record, char *image);
+ int __removeImage(contacts_record_h contactRecord, contacts_record_h imageRecord);
+ bool __setFavoriteImage(int personId, bool set, contacts_record_h contact_record);
+ void __doDeleteContacts(void);
+ void __doShareContacts();
+ void __doFavoritesContacts(bool addFirstOne);
+ bool __getHasReadOnlyMode(char* addressbookIDs);
+ void __doSetFavoritesOrder();
+
+ std::string __makeCheckedDataPath(int personId);
+
+private:
+ static void __onAddFavoritesSelCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onRemoveFavoritesSelCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onReorderFavoritesSelCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onPreferenceChangedCb(const char *key, void *data);
+
+ //for check for data
+ bool __changeCheckState(Elm_Object_Item *item, bool checkState);
+ static bool __getCheckState(Elm_Object_Item *item);
+
+
+ static void __onDoFavouritesThreadRunCb(void *data);
+ static void __onDoFavouritesThreadEndCb(void *data);
+ static void __onDoDeleteThreadRunCb(void *data);
+ static void __onDoDeleteThreadEndCb(void* data);
+
+
+private:
+ CtListView* __listView;
+ CtListModelDb* __listModel;
+ CtListCtrlType __ctrlType;
+ static bool __stopDoAsyncAction;
+ CtThread *__doActionThread;
+
+ std::unique_ptr<std::vector<std::shared_ptr<CtListDataPerson>>> __checkedData;
+
+ CtProgressBarPopup* __progressPopup;
+ WUiObjectPtr __popupMonitor;
+
+ int __updateDataType;
+ bool __canceled;
+ void* __settingDllHandle;
+ void* __detailDllHandle;
+ void* __cmDllHandle;
+};
+
+#endif //__CT_LIST_BASIC_CONTROLLER_H_
+
diff --git a/lib-contact/ct-list/src/CtListDataGroup.cpp b/lib-contact/ct-list/src/CtListDataGroup.cpp
new file mode 100755
index 0000000..4af1311
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListDataGroup.cpp
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <string.h>
+#include "CtListDataGroup.h"
+#include "ContactsDebug.h"
+#include "CtString.h"
+
+using namespace std;
+
+CtListDataGroup::CtListDataGroup(contacts_record_h record)
+{
+ __initialize();
+ __setDataFromRecord(record);
+}
+
+CtListDataGroup::CtListDataGroup()
+{
+}
+
+CtListDataGroup::~CtListDataGroup()
+{
+ if (__name) free(__name);
+}
+
+const char* CtListDataGroup::getName(void)
+{
+ if (SAFE_STRCMP(__name, "System Group: My Contacts") == 0) {
+ if (__name) free(__name);
+ __name = strdup(V_("IDS_PB_BODY_MY_CONTACTS"));
+ }
+ else if (SAFE_STRCMP(__name, "System Group: Friends") == 0) {
+ if (__name) free(__name);
+ __name = strdup(V_("IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"));
+ }
+ else if (SAFE_STRCMP(__name, "System Group: Family") == 0) {
+ if (__name) free(__name);
+ __name = strdup(V_("IDS_PB_BODY_DEFAULT_GROUP_FAMILY"));
+ }
+ else if (SAFE_STRCMP(__name, "System Group: Coworkers") == 0) {
+ if (__name) free(__name);
+ __name = strdup(V_("IDS_PB_BODY_CO_WORKERS"));
+ }
+
+ return __name;
+}
+
+void CtListDataGroup::__initialize(void)
+{
+ __name = NULL;
+}
+
+void CtListDataGroup::__setDataFromRecord(contacts_record_h record)
+{
+ int err = CONTACTS_ERROR_NONE;
+ const char* uri = NULL;
+
+ contacts_record_get_uri_p(record, &uri);
+
+ if(strcmp(uri, _contacts_group_relation._uri) != 0) {
+ WERROR("INVALID uri!!! uri is not _contacts_group._uri !!!");
+ }
+
+ err = contacts_record_get_str(record, _contacts_group_relation.name, &__name);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+}
diff --git a/lib-contact/ct-list/src/CtListDataGroup.h b/lib-contact/ct-list/src/CtListDataGroup.h
new file mode 100644
index 0000000..b26ac2e
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListDataGroup.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_DATA_GROUP_H_
+#define __CT_LIST_DATA_GROUP_H_
+
+#include <contacts.h>
+#include <vector>
+
+class CtListDataGroup
+{
+public:
+ CtListDataGroup(contacts_record_h record);
+ virtual ~CtListDataGroup();
+
+public:
+ const char* getName(void);
+
+private:
+ CtListDataGroup();
+
+private:
+ void __initialize(void);
+ void __setDataFromRecord(contacts_record_h record);
+
+private:
+ char* __name;
+};
+
+#endif
diff --git a/lib-contact/ct-list/src/CtListDataPerson.cpp b/lib-contact/ct-list/src/CtListDataPerson.cpp
new file mode 100755
index 0000000..d6d45c2
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListDataPerson.cpp
@@ -0,0 +1,452 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <string.h>
+#include "CtListDataPerson.h"
+#include "ContactsDebug.h"
+#include "CtCommon.h"
+#include "CtType.h"
+
+using namespace std;
+
+
+CtListDataPerson::CtListDataPerson(contacts_record_h record)
+{
+ __initialize();
+ __setPersonRecord(record);
+}
+
+CtListDataPerson::~CtListDataPerson()
+{
+ free(__displayName);
+ free(__displayIndex);
+ free(__imagePath);
+ free(__dataString);
+ contacts_record_destroy(__person, true);
+}
+
+CtListDataPerson* CtListDataPerson::makeClone()
+{
+ WHIT();
+ CtListDataPerson *dataPerson = new CtListDataPerson(__person);
+ dataPerson->setAsChecked(__checked);
+
+ dataPerson->setDataString(__dataString);
+ dataPerson->setDataType(__dataType);
+ dataPerson->setDataId(__dataId);
+
+ return dataPerson;
+}
+
+contacts_record_h CtListDataPerson::getPersonRecord()
+{
+ return __person;
+}
+
+const char* CtListDataPerson::getDisplayName()
+{
+ return __displayName;
+}
+
+const char* CtListDataPerson::getDisplayIndex()
+{
+ return __displayIndex;
+}
+
+const char* CtListDataPerson::getImagePath()
+{
+ return __imagePath;
+}
+
+void CtListDataPerson::setImagePath(const char *imagePath)
+{
+ FREEandSTRDUP(__imagePath, imagePath);
+}
+
+int CtListDataPerson::getPersonId()
+{
+ return __personId;
+}
+
+int CtListDataPerson::getLinkedCount()
+{
+ return __linkedCount;
+}
+
+bool CtListDataPerson::getFavorite()
+{
+ return __favorite;
+}
+
+bool isMFC()
+{
+ return false;
+}
+
+void CtListDataPerson::__initialize()
+{
+ __displayName = NULL;
+ __displayIndex = NULL;
+ __personId = 0;
+ __person = NULL;
+ __linkedCount = 1;
+ __imagePath = NULL;
+ __addressbookId = 0;
+ __checked = false;
+ __dataString = NULL;
+ __dataType = 0;
+ __dataId = 0;
+ __favorite = false;
+
+}
+
+void CtListDataPerson::__setPersonRecord(contacts_record_h record)
+{
+ //WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ const char* uri = NULL;
+ contacts_record_get_uri_p(record, &uri);
+
+ err = contacts_record_clone(record, &__person);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_clone() Failed(%d)", err);
+
+ if(strcmp(uri, _contacts_contact._uri) == 0) {
+ err = contacts_record_get_str(record, _contacts_contact.display_name, &__displayName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_contact.image_thumbnail_path, &__imagePath);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_int(record, _contacts_contact.address_book_id, &__addressbookId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_get_bool(record, _contacts_contact.is_favorite, &__favorite);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ }
+ else if(strcmp(uri, _contacts_person_number._uri) == 0){
+ err = contacts_record_get_str(record, _contacts_person_number.display_name,&__displayName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_int(record, _contacts_person_number.person_id, &__personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_person_number.display_name_index, &__displayIndex);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_person_number.image_thumbnail_path, &__imagePath);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ }
+ else if(strcmp(uri, _contacts_person_email._uri) == 0){
+ err = contacts_record_get_str(record, _contacts_person_email.display_name,&__displayName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_int(record, _contacts_person_email.person_id, &__personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_person_email.display_name_index, &__displayIndex);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_person_email.image_thumbnail_path, &__imagePath);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ }
+ else if(strcmp(uri, _contacts_person._uri) == 0){
+ char* tmpStr = NULL;
+ err = contacts_record_get_str(record, _contacts_person.display_name,&__displayName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_int(record, _contacts_person.id, &__personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_person.display_name_index, &__displayIndex);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_person.image_thumbnail_path, &__imagePath);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_person.addressbook_ids, &tmpStr);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_bool(record, _contacts_person.is_favorite, &__favorite);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ if(tmpStr) {
+ int linkCount = 0;
+ char* ptr = NULL;
+ char* token = strtok_r(tmpStr, " ", &ptr);
+ while (token)
+ {
+ linkCount++;
+ if(linkCount == 1)
+ __addressbookId = atoi(token);
+
+ token = strtok_r(NULL, " ", &ptr);
+ }
+ __linkedCount = linkCount;
+ free(tmpStr);
+ }
+ }
+ else if(strcmp(uri, _contacts_person_contact._uri) == 0){
+ char* tmpStr = NULL;
+ err = contacts_record_get_str(record, _contacts_person_contact.display_name,&__displayName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_int(record, _contacts_person_contact.person_id, &__personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_person_contact.display_name_index, &__displayIndex);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_person_contact.image_thumbnail_path, &__imagePath);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_person_contact.addressbook_ids, &tmpStr);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_bool(record, _contacts_person_contact.is_favorite, &__favorite);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ if(tmpStr) {
+ int linkCount = 0;
+ char* ptr = NULL;
+ char* token = strtok_r(tmpStr, " ", &ptr);
+ while (token)
+ {
+ linkCount++;
+ if(linkCount == 1)
+ __addressbookId = atoi(token);
+
+ token = strtok_r(NULL, " ", &ptr);
+ }
+ __linkedCount = linkCount;
+ free(tmpStr);
+ }
+ }
+ else if(strcmp(uri, _contacts_person_usage._uri) == 0){
+ err = contacts_record_get_str(record, _contacts_person_usage.display_name,&__displayName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_int(record, _contacts_person_usage.person_id, &__personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_person_usage.image_thumbnail_path, &__imagePath);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ }
+ else if (strcmp(uri, _contacts_person_grouprel._uri) == 0) {
+ err = contacts_record_get_str(record, _contacts_person_grouprel.display_name,&__displayName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ err = contacts_record_get_int(record, _contacts_person_grouprel.person_id, &__personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_person_grouprel.image_thumbnail_path, &__imagePath);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+ }
+
+ ctCommonRemoveNewline(__displayName);
+}
+
+bool CtListDataPerson::isChecked()
+{
+ return __checked;
+}
+
+void CtListDataPerson::setAsChecked(bool checked)
+{
+ __checked = checked;
+}
+
+Eina_List* CtListDataPerson::getNumberList()
+{
+ if (__personId == 0) return NULL; // vcard
+
+ return __getDataList(__personId, _contacts_person_number._uri);
+}
+
+Eina_List* CtListDataPerson::getEmailList()
+{
+ if (__personId == 0) return NULL; // vcard
+
+ return __getDataList(__personId, _contacts_person_email._uri);
+}
+
+
+const char* CtListDataPerson::getDataString()
+{
+ return __dataString;
+}
+
+int CtListDataPerson::getDataType()
+{
+ return __dataType;
+}
+
+int CtListDataPerson::getDataId()
+{
+ return __dataId;
+}
+
+int CtListDataPerson::getAddressbookId()
+{
+ return __addressbookId;
+}
+
+void CtListDataPerson::setDataString(const char *data)
+{
+ __dataString = SAFE_STRDUP(data);
+}
+
+void CtListDataPerson::setDataType(int dataType)
+{
+ __dataType = dataType;
+}
+
+void CtListDataPerson::setDataId(int dataId)
+{
+ __dataId = dataId;
+}
+
+bool CtListDataPerson::getSearchNumber(const char *searchStr, std::string &numberStr)
+{
+ std::string search = searchStr;
+ bool result = false;
+
+ if(search != __searchStr) {
+ __searchStr = searchStr;
+
+ char* number = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h list = NULL;
+ contacts_record_h record = NULL;
+ contacts_query_h query = NULL;
+ contacts_filter_h filter = NULL;
+ contacts_filter_h filter2 = NULL;
+
+ err = contacts_query_create(_contacts_person_number._uri, &query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_create Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person_number._uri, &filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person_number._uri, &filter2);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create Failed(%d)", err);
+ err = contacts_filter_add_int(filter, _contacts_person_number.person_id, CONTACTS_MATCH_EQUAL, getPersonId());
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int Failed(%d)", err);
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator Failed(%d)", err);
+ err = contacts_filter_add_str(filter2, _contacts_person_number.normalized_number, CONTACTS_MATCH_CONTAINS, __searchStr.c_str());
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_str Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter2);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter Failed(%d)", err);
+ err = contacts_query_set_filter(query, filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_filter Failed(%d)", err);
+ err = contacts_db_get_records_with_query(query, 0, 0, &list);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_records_with_query Failed(%d)", err);
+
+ contacts_query_destroy(query);
+ contacts_filter_destroy(filter);
+ contacts_filter_destroy(filter2);
+ if (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(list, &record)) {
+ err = contacts_record_get_str_p(record, _contacts_person_number.number, &number);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p Failed(%d)", err);
+ }
+ if(SAFE_STRLEN(number) > 0) {
+ numberStr = number;
+ __searchNumber = number;
+ result = true;
+ }
+ else {
+ __searchNumber.clear();
+ }
+
+ contacts_list_destroy(list, true);
+ }
+ else {
+ if(__searchNumber.length() > 0) {
+ numberStr = __searchNumber;
+ result = true;
+ }
+ }
+
+ return result;
+
+
+}
+
+Eina_List* CtListDataPerson::__getDataList(int personId, const char* viewUri)
+{
+ WHIT();
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h record = NULL;
+ contacts_record_h recordClone = NULL;
+ contacts_list_h list = NULL;
+ Eina_List *result = NULL;
+ contacts_filter_h filter = NULL;
+ contacts_query_h query = NULL;
+
+ err = contacts_filter_create(viewUri, &filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contactcs_filter_create() Failed(%d)", err);
+
+ if(strcmp(viewUri, _contacts_person_number._uri) == 0)
+ err = contacts_filter_add_int(filter, _contacts_person_number.person_id, CONTACTS_MATCH_EQUAL, personId);
+ else if(strcmp(viewUri, _contacts_person_email._uri) == 0)
+ err = contacts_filter_add_int(filter, _contacts_person_email.person_id, CONTACTS_MATCH_EQUAL, personId);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_filter_add_int() Failed(%d)", err);
+ contacts_filter_destroy(filter);
+ return NULL;
+ }
+ err = contacts_query_create(viewUri, &query);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_query_create() Failed(%d)", err);
+ contacts_filter_destroy(filter);
+ return NULL;
+ }
+ err = contacts_query_set_filter(query, filter);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_query_set_filter() Failed(%d)", err);
+ contacts_filter_destroy(filter);
+ contacts_query_destroy(query);
+ return NULL;
+ }
+ err = contacts_db_get_records_with_query(query, 0, 0, &list);
+ if(CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_db_get_records_with_query() Failed(%d)", err);
+ if(list)
+ contacts_list_destroy(list, true);
+ contacts_filter_destroy(filter);
+ contacts_query_destroy(query);
+ return NULL;
+ }
+
+ contacts_filter_destroy(filter);
+ contacts_query_destroy(query);
+
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(list, &record)) {
+ err = contacts_record_clone(record, &recordClone);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_clone() Failed(%d)", err);
+ break;
+ }
+ result = eina_list_append(result, recordClone);
+ contacts_list_next(list);
+ }
+ contacts_list_destroy(list, true);
+ return result;
+}
+
diff --git a/lib-contact/ct-list/src/CtListDataPerson.h b/lib-contact/ct-list/src/CtListDataPerson.h
new file mode 100644
index 0000000..34da339
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListDataPerson.h
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_DATA_PERSON_H_
+#define __CT_LIST_DATA_PERSON_H_
+
+#include <Eina.h>
+#include <string>
+#include <contacts.h>
+
+
+typedef enum {
+ CT_LIST_DATA_VCARD = 1 << 0,
+ CT_LIST_DATA_PERSON = 1 << 1,
+ CT_LIST_DATA_NUMBER = 1 << 2,
+ CT_LIST_DATA_EMAIL = 1 << 3,
+ CT_LIST_DATA_ALL = CT_LIST_DATA_NUMBER | CT_LIST_DATA_EMAIL,
+}CtListItemDataType;
+
+class CtListDataPerson
+{
+public:
+ CtListDataPerson(contacts_record_h record);
+ virtual ~CtListDataPerson();
+
+public:
+//getter
+ CtListDataPerson* makeClone();
+ contacts_record_h getPersonRecord();
+ const char* getDisplayName();
+ const char* getImagePath();
+ void setImagePath(const char *imagePath);
+ int getPersonId();
+ int getLinkedCount();
+ const char* getDisplayIndex();
+ bool isChecked();
+ void setAsChecked(bool checked);
+ // for ug
+ Eina_List* getNumberList();
+ Eina_List* getEmailList();
+ const char* getDataString();
+ int getDataType();
+ int getDataId();
+ void setDataString(const char *data);
+ void setDataType(int dataType);
+ void setDataId(int dataId);
+ int getAddressbookId();
+
+ bool getFavorite();
+ bool getSearchNumber(const char *searchStr, std::string &numberStr);
+
+private:
+ void __initialize();
+ void __setPersonRecord(contacts_record_h record);
+ Eina_List* __getDataList(int personId, const char* viewUri);
+ //bool __checkMFC(int personId);
+private:
+ contacts_record_h __person;
+ char* __displayName;
+ char* __imagePath;
+ char* __displayIndex;
+ bool __favorite;
+ int __personId;
+ int __addressbookId;
+
+ std::string __searchStr;
+ std::string __searchNumber;
+
+
+ // TODO: review required
+ bool __checked;
+ // for ug
+ char *__dataString;
+ int __dataType;
+ int __dataId;
+ int __linkedCount;
+
+};
+
+#endif
diff --git a/lib-contact/ct-list/src/CtListLinkContactController.cpp b/lib-contact/ct-list/src/CtListLinkContactController.cpp
new file mode 100644
index 0000000..d5a29d5
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListLinkContactController.cpp
@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <vector>
+#include <thread>
+#include <Elementary.h>
+#include <app.h>
+#include <contacts.h>
+
+#include "WView.h"
+#include "WNaviframe.h"
+#include "WPopup.h"
+
+#include "ContactsDebug.h"
+#include "CtType.h"
+#include "CtListDataPerson.h"
+#include "CtCommon.h"
+#include "CtListView.h"
+#include "CtListModelDb.h"
+#include "CtProgressBarPopup.h"
+#include "CtListLinkContactController.h"
+
+CtListLinkContactController::CtListLinkContactController(CtListView *listView, CtListModelDb* listData)
+: __listView(listView)
+, __listModel(listData)
+, __checkedItemCount(0)
+, __basePersonId(0)
+{
+
+}
+
+CtListLinkContactController::~CtListLinkContactController()
+{
+ WHIT();
+}
+
+void CtListLinkContactController::onSelectItem(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState)
+{
+ Elm_Object_Item *item = selectedItem;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ Elm_Genlist_Item_Type item_type = elm_genlist_item_type_get(item);
+ if(item_type == ELM_GENLIST_ITEM_GROUP) {
+ return;
+ }
+
+ Evas_Object* layout = elm_object_item_part_content_get(item,"elm.icon.2");
+ Evas_Object* check = elm_layout_content_get(layout, "elm.swallow.content");
+
+ CtListView::CtListDataItem* itemData = static_cast<CtListView::CtListDataItem*>(elm_object_item_data_get(item));
+ WPRET_M(itemData == NULL, "itemData is null");
+
+ if(checkState == CHECK_ON) {
+ itemData->personData->setAsChecked(true);
+ elm_check_state_set(check, true);
+ __checkedItemCount++;
+ }
+ else if(checkState == CHECK_OFF) {
+ itemData->personData->setAsChecked(false);
+ elm_check_state_set(check, false);
+ __checkedItemCount--;
+ }
+
+ Elm_Object_Item *naviItem = elm_naviframe_top_item_get(__listView->getViewNaviframe());
+ Evas_Object *btn = elm_object_item_part_content_get(naviItem, "title_right_btn");
+ if(__checkedItemCount > 0)
+ elm_object_disabled_set(btn, EINA_FALSE);
+ else
+ elm_object_disabled_set(btn, EINA_TRUE);
+
+ char buf[CT_TEXT_SHORT_LEN] = {0,};
+ snprintf(buf, sizeof(buf), ctGetContactsString("IDS_PB_HEADER_PD_SELECTED_ABB3"), __checkedItemCount);
+ elm_object_item_part_text_set(naviItem, "elm.text.title", buf );
+
+ WHIT();
+}
+
+void CtListLinkContactController::onSelectCheckAll(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState)
+{
+}
+
+void CtListLinkContactController::onSelectDone(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+
+ int err = CONTACTS_ERROR_NONE;
+ std::vector<std::shared_ptr<CtListDataPerson>>* checkedList = __listModel->getCheckedDataList();
+ for (auto iter = checkedList->begin(); iter != checkedList->end(); iter++) {
+ WDEBUG("Link %d to %d", (*iter)->getPersonId(), __basePersonId);
+ err = contacts_person_link_person(__basePersonId, (*iter)->getPersonId());
+ WPWARN(err != CONTACTS_ERROR_NONE, "contacts_person_link_person() fail(%d)",err);
+ }
+
+ delete checkedList;
+
+ __listView->popOut();
+}
+
+void CtListLinkContactController::onSelectCancel(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ __listView->popOut();
+}
+
+void CtListLinkContactController::onSelectBack(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+}
+
+void CtListLinkContactController::onSwipeLeftItem(void *data, Evas_Object *obj, void *event_info)
+{
+ // empty
+}
+
+void CtListLinkContactController::onSwipeRightItem(void *data, Evas_Object *obj, void *event_info)
+{
+ // empty
+}
+
+void CtListLinkContactController::moreManageFavoritesItemOperation()
+{
+ // empty
+}
diff --git a/lib-contact/ct-list/src/CtListLinkContactController.h b/lib-contact/ct-list/src/CtListLinkContactController.h
new file mode 100644
index 0000000..3f86043
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListLinkContactController.h
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_LINK_CONTACT_CONTROLLER_H_
+#define __CT_LIST_LINK_CONTACT_CONTROLLER_H_
+
+#include <string>
+#include <app.h>
+#include "WPopup.h"
+
+#include "ContactsCommon.h"
+#include "CtListView.h"
+#include "CtType.h"
+#include "CtListController.h"
+
+
+
+class CtListView;
+class CtListModelDb;
+class CtListLinkContactController : public CtListController
+{
+public:
+ CtListLinkContactController(CtListView *listView, CtListModelDb* listData);
+ virtual ~CtListLinkContactController();
+
+public:
+ virtual void onListUpdated() {};
+ virtual void onSelectItem(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState);
+ virtual void onSelectDone(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectCancel(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectBack(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSwipeLeftItem(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSwipeRightItem(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectCheckAll(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState);
+ virtual void moreManageFavoritesItemOperation();
+ virtual void onSelectMenu(CtListView *view) {}
+
+private:
+ CtListLinkContactController();
+
+private:
+ CtListView* __listView;
+ CtListModelDb* __listModel;
+ int __checkedItemCount;
+ int __basePersonId;
+};
+
+#endif //__CT_LIST_LINK_CONTACT_CONTROLLER_H_
+
diff --git a/lib-contact/ct-list/src/CtListLoadingPopup.cpp b/lib-contact/ct-list/src/CtListLoadingPopup.cpp
new file mode 100644
index 0000000..937f647
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListLoadingPopup.cpp
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+//#include <efl_assist.h>
+#include "WControl.h"
+#include "ContactsDebug.h"
+#include "ContactsCommon.h"
+#include "CtListLoadingPopup.h"
+#include "CtPath.h"
+#include "CtString.h"
+#include "CtThemeMgr.h"
+
+#define __ITEM_HEIGHT 96
+
+
+CtListLoadingPopup::CtListLoadingPopup()
+{
+
+}
+
+const char* CtListLoadingPopup::getClassName()
+{
+ return "CtListLoadingPopup";
+}
+
+Evas_Object* CtListLoadingPopup::__createContent(Evas_Object *parent)
+{
+ WHIT();
+
+ std::string contactsEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ Evas_Object *layout = elm_layout_add(parent);
+ CtThemeMgr::getInstance()->setObjectTheme(layout);
+ elm_layout_file_set(layout, contactsEdjePath.c_str(), "processing_view");
+
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ // TODO: use string id for Progressing
+ elm_object_part_text_set(layout, "elm.text", "Progressing...");
+// elm_object_domain_translatable_part_text_set(layout, "elm.text", t_title_text.domain, t_title_text.id);
+
+ Evas_Object *progress = elm_progressbar_add(layout);
+ elm_object_style_set(progress, "process_small");
+ elm_progressbar_pulse_set(progress, EINA_TRUE);
+ elm_progressbar_pulse(progress, EINA_TRUE);
+ evas_object_show(progress);
+
+ evas_object_size_hint_align_set(progress, EVAS_HINT_FILL, 0.5);
+ evas_object_size_hint_weight_set(progress, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_part_content_set(layout, "processing", progress);
+ elm_object_content_set(parent, layout);
+
+ return layout;
+}
+
+Evas_Object* CtListLoadingPopup::onCreate( Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+
+ setContent([this](Evas_Object* parent)->Evas_Object* {
+ return __createContent(parent);
+ });
+
+ return WPopup::onCreate(parent, viewParam);
+}
+
+void CtListLoadingPopup::onDestroy()
+{
+
+}
+
+CtListLoadingPopup::~CtListLoadingPopup()
+{
+
+}
diff --git a/lib-contact/ct-list/src/CtListLoadingPopup.h b/lib-contact/ct-list/src/CtListLoadingPopup.h
new file mode 100644
index 0000000..29bb1bc
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListLoadingPopup.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_LIST_LOADING_POPUP_H_
+#define _CT_LIST_LOADING_POPUP_H_
+
+#include <string>
+#include <vector>
+#include <functional>
+#include "WPopup.h"
+
+class CtListLoadingPopup : public WPopup
+{
+public:
+ CtListLoadingPopup();
+ const char* getClassName();
+
+private:
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+
+ Evas_Object* __createContent(Evas_Object *parent);
+
+private:
+ virtual ~CtListLoadingPopup();
+};
+
+#endif //_CT_LIST_LOADING_POPUP_H_
diff --git a/lib-contact/ct-list/src/CtListModel.h b/lib-contact/ct-list/src/CtListModel.h
new file mode 100755
index 0000000..ca9176e
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModel.h
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_MODEL_H_
+#define __CT_LIST_MODEL_H_
+
+#include <vector>
+#include <memory>
+#include "CtListDataPerson.h"
+#include "ICtChangeListener.h"
+
+typedef enum {
+ GET_AS_SYNC,
+ GET_AS_ASYNC,
+ GET_AS_SYNC_ASYNC,
+}CtGetContactsType;
+
+
+class CtListModel
+{
+public:
+ virtual ~CtListModel(){};
+
+public:
+ virtual int getContactsCount(CtListQueryType queryType) = 0; //get contacts count from db
+ virtual int getContacts(CtListQueryType queryType, CtGetContactsType syncType) = 0;
+ virtual int cancelGetContacts() = 0;
+ virtual std::shared_ptr<CtListDataPerson> getAtPersonData(int index, CtListQueryType queryType) = 0;
+ virtual int getPersonListCount(CtListQueryType queryType) = 0; //get contacts count from list
+ virtual bool getMadePersonListStatus() {return true;}//get status of whether personlist has been updated from DB
+ virtual void attachListener(ICtChangeListener* listener) = 0;
+
+ virtual void setSelectedPersonId(int selectedPersonId) = 0;
+ virtual const char* getSearchString(void) = 0;
+ virtual bool setSearchString(char* search) = 0;
+ virtual int getCheckedDataCount()= 0;
+ virtual void getNumberSearchString(const std::shared_ptr<CtListDataPerson>& dataPerson, std::string &numberStr) = 0;
+
+ virtual void initialOriginalCheckedIdList() = 0;
+ virtual void clearOriginalCheckedIdList() = 0;
+ virtual bool checkIsSelectAllOnSearching() = 0;
+ virtual void initialOriginalPersonDataListSize() = 0;
+ virtual void clearOriginalPersonDataListSize() = 0;
+ virtual int getOriginalPersonDataListSize() = 0;
+ virtual int getLimitCount() = 0;
+ virtual int getCurrentLinkedCount() = 0;
+};
+
+#endif
diff --git a/lib-contact/ct-list/src/CtListModelDb.cpp b/lib-contact/ct-list/src/CtListModelDb.cpp
new file mode 100755
index 0000000..2ba6348
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModelDb.cpp
@@ -0,0 +1,1222 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <contacts.h>
+#include <app_preference.h>
+#include <algorithm>
+//#include <contacts_product.h>
+
+#include "ContactsDebug.h"
+#include "CtListModelDb.h"
+#include "CtListDataPerson.h"
+#include "ContactsCommon.h"
+#include "CtCommon.h"
+#include "CtListModelFilter.h"
+
+#define MAX_MFC_LIST 5
+
+CtListModelDb::CtListModelDb(CtListHasType filterType, int limit)
+{
+ WENTER();
+ __initialize();
+ __dataFilter = new CtListModelFilter(filterType);
+ __dataFilter->attachListener(this);
+ __limitCount = limit;
+}
+
+CtListModelDb::CtListModelDb(CtListDataType dataType)
+{
+ WENTER();
+ __initialize();
+ __dataFilter = new CtListModelFilter(dataType);
+ __dataFilter->attachListener(this);
+ __dataType = dataType; //Tdod set dataFilter
+}
+
+CtListModelDb::~CtListModelDb()
+{
+ WENTER();
+ int err = CONTACTS_ERROR_NONE;
+
+ if(__idler)
+ ecore_idler_del(__idler);
+
+ if(__updateMFCListIdler)
+ ecore_idler_del(__updateMFCListIdler);
+
+ if(__listThread)
+ __listThread->destroy();
+
+ if(__mfcThread)
+ __mfcThread->destroy();
+
+ delete __dataFilter;
+
+ if(__listener) {
+ err = contacts_db_remove_changed_cb( _contacts_person._uri, __onDbChanged ,this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_remove_changed_cb() Failed(%d)", err);
+
+ err = contacts_db_remove_changed_cb( _contacts_my_profile._uri, __onDbChanged ,this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_remove_changed_cb() Failed(%d)", err);
+
+ //err = contacts_db_remove_changed_cb( _contacts_person_usage._uri, __onDbChanged ,this);
+ //WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_remove_changed_cb() Failed(%d)", err);
+
+ err = contacts_db_remove_changed_cb( _contacts_group_relation._uri, __onDbChanged ,this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_remove_changed_cb() Failed(%d)", err);
+
+ err = contacts_db_remove_changed_cb( _contacts_phone_log._uri, __onDbChanged ,this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_remove_changed_cb() Failed(%d)", err);
+
+ err = contacts_setting_remove_name_display_order_changed_cb( __onDisplayNameOrderChangedCb ,this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_setting_remove_name_display_order_changed_cb() Failed(%d)", err);
+
+ err = contacts_setting_remove_name_sorting_order_changed_cb( __onNameSortingOrderChangedCb ,this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_setting_remove_name_sorting_order_changed_cb() Failed(%d)", err);
+ }
+
+ __personDataList.clear();
+ __checkedDataList.clear();
+ __checkedDataListOld.clear();
+ __originalCheckedIdList.clear();
+
+}
+
+int CtListModelDb::getContactsCount(CtListQueryType queryType)
+{
+ int count = 0;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_query_h query = __dataFilter->getQuery(queryType);
+
+ if(query) {
+ err = contacts_db_get_count_with_query(query, &count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_count_with_query() Failed(%d)", err);
+
+ err = contacts_query_destroy(query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_destroy() Failed(%d)", err);
+ }
+ else{
+ err = contacts_db_get_count(_contacts_person._uri, &count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_count() Failed(%d)", err);
+ }
+
+ WDEBUG("count %d", count);
+
+ return count;
+}
+
+int CtListModelDb::getContacts(CtListQueryType queryType, CtGetContactsType syncType)
+{
+ WENTER();
+ WDEBUG("queryType %d, syncType %d", queryType, syncType);
+
+ if(queryType == LIST_QUERY_FAVORITE) {
+ __favoritePersonDataList.clear();
+ __getFavoritePersonList();
+ }
+ else if(queryType == LIST_QUERY_MFC) {
+ WDEBUG("__dataType %d", __dataType);
+ __mfcPersonDataList.clear();
+ __getMfcPersonListFromPreference();
+ }
+ else if(queryType == LIST_QUERY_DEFAULT) {
+ __personDataList.clear();
+
+ if(syncType == GET_AS_SYNC_ASYNC){
+ __getQueryResult(0, CTLISTDATA_NQUERY_COUNT);
+ __offset = CTLISTDATA_NQUERY_COUNT;
+
+ if(__listThread)
+ __listThread->destroy();
+ __listThread = NULL;
+ if(__idler)
+ ecore_idler_del(__idler);
+ __idler = ecore_idler_add(__onGetContactsIdlerCb, this);
+
+ WLEAVE();
+ return getPersonListCount(LIST_QUERY_DEFAULT);
+ }
+ else if(syncType == GET_AS_SYNC){
+ __getQueryResult(0, -1);
+
+ WLEAVE();
+ return getPersonListCount(LIST_QUERY_DEFAULT);
+ }
+ else if(syncType == GET_AS_ASYNC){
+ __offset = 0;
+ if(__listThread)
+ __listThread->destroy();
+ __listThread = NULL;
+ if(__idler)
+ ecore_idler_del(__idler);
+ __idler = NULL;
+
+ __listThread = new CtThread(__onGetContactsThreadRunCb, this, __onGetContactsEndCb, this);
+ __listThread->start();
+ }
+ }
+ else
+ WERROR("no queryType");
+
+ WLEAVE();
+ return 0;
+}
+
+int CtListModelDb::cancelGetContacts()
+{
+ WENTER();
+
+ if(__listThread)
+ __listThread->destroy();
+ __listThread = NULL;
+ if(__idler)
+ ecore_idler_del(__idler);
+ __idler = NULL;
+
+ return 0;
+ WLEAVE();
+}
+
+
+std::shared_ptr<CtListDataPerson> CtListModelDb::getAtPersonData(int index, CtListQueryType queryType)
+{
+ if(queryType == LIST_QUERY_DEFAULT) {
+ if(index < (int)__personDataList.size())
+ return __personDataList[index].second;
+ else
+ return NULL;
+ }
+ else if(queryType == LIST_QUERY_MFC) {
+ if(index < (int)__mfcPersonDataList.size())
+ return __mfcPersonDataList[index].second;
+ else
+ return NULL;
+ }
+ else if(queryType == LIST_QUERY_FAVORITE) {
+ if(index < (int)__favoritePersonDataList.size())
+ return __favoritePersonDataList[index].second;
+ else
+ return NULL;
+ }
+ else
+ return NULL;
+}
+
+int CtListModelDb::getPersonListCount(CtListQueryType queryType)
+{
+ int count = 0;
+ if(queryType == LIST_QUERY_DEFAULT)
+ count = (int)__personDataList.size();
+ else if(queryType == LIST_QUERY_MFC)
+ count = (int)__mfcPersonDataList.size();
+ else if(queryType == LIST_QUERY_FAVORITE)
+ count = (int)__favoritePersonDataList.size();
+
+ WDEBUG("count %d", count);
+
+ return count;
+}
+
+void CtListModelDb::setSelectedPersonId(int selectedPersonId)
+{
+ __selectedPersonId = selectedPersonId;
+}
+
+bool CtListModelDb::setSearchString(char* search)
+{
+ WENTER();
+
+ if(SAFE_STRLEN(search)> 0){
+ __search = search;
+ }
+ else{
+ __search.clear();
+ }
+
+ return true;
+}
+
+const char* CtListModelDb::getSearchString(void)
+{
+ if(__search.length() >0)
+ return __search.c_str();
+ else
+ return NULL;
+}
+
+void CtListModelDb::getNumberSearchString(const std::shared_ptr<CtListDataPerson>& dataPerson, std::string &numberStr)
+{
+ char* pos = NULL;
+
+ if (__search.length() <= 0)
+ return;
+
+ if (ctCommonCheckDirtyPhoneNumber(__search) == false)
+ return;
+
+ if (dataPerson->getDisplayName())
+ pos = strcasestr( (char*)dataPerson->getDisplayName(), __search.c_str());
+
+ WDEBUG("pos : %x",pos);
+ if (pos == NULL) {
+ dataPerson->getSearchNumber(__search.c_str(), numberStr);
+ }
+
+}
+
+int CtListModelDb::getCheckedDataCount()
+{
+ WENTER();
+ return __checkedDataList.size();
+}
+
+void CtListModelDb::onFilterChanged()
+{
+ WHIT();
+ if (__listener)
+ __listener->onDbChanged(NULL);
+}
+
+void CtListModelDb::attachListener(ICtChangeListener* listener)
+{
+ WENTER();
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_db_add_changed_cb( _contacts_person._uri, __onDbChanged ,this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_add_changed_cb() _contacts_person Failed(%d)", err);
+
+ err = contacts_db_add_changed_cb( _contacts_my_profile._uri, __onDbChanged ,this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_add_changed_cb() _contacts_person Failed(%d)", err);
+
+ //err = contacts_db_add_changed_cb( _contacts_person_usage._uri, __onDbChanged ,this);
+ //WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_add_changed_cb() _contacts_person_usage Failed(%d)", err);
+
+ err = contacts_db_add_changed_cb( _contacts_group_relation._uri, __onDbChanged ,this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_add_changed_cb() _contacts_group Failed(%d)", err);
+
+ err = contacts_db_add_changed_cb( _contacts_phone_log._uri, __onDbChanged ,this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_add_changed_cb() _contacts_person Failed(%d)", err);
+
+ err = contacts_setting_add_name_display_order_changed_cb(__onDisplayNameOrderChangedCb, this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_setting_add_name_display_order_changed_cb() Failed(%d)", err);
+
+ err = contacts_setting_add_name_sorting_order_changed_cb( __onNameSortingOrderChangedCb ,this);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_setting_add_name_sorting_order_changed_cb() Failed(%d)", err);
+
+ __listener = listener;
+
+ WLEAVE();
+}
+
+void CtListModelDb::pushCheckedData(std::shared_ptr<CtListDataPerson> dataPerson)
+{
+ __setAsCheck(dataPerson, true, false);
+}
+
+void CtListModelDb::removeCheckedData(std::shared_ptr<CtListDataPerson> dataPerson)
+{
+ __setAsCheck(dataPerson, false, false);
+}
+
+void CtListModelDb::doCheckedDataNoRelation(std::shared_ptr<CtListDataPerson> dataPerson, bool check)
+{
+ __setAsCheck(dataPerson, check, true);
+}
+
+std::vector<std::shared_ptr<CtListDataPerson>>* CtListModelDb::getCheckedDataList() const
+{
+ std::vector<std::shared_ptr<CtListDataPerson>>* checkedDataList(new std::vector<std::shared_ptr<CtListDataPerson>>);
+ for (auto iter = __checkedDataList.begin(); iter != __checkedDataList.end(); iter++)
+ {
+ checkedDataList->push_back((*iter).second);
+ }
+
+ return checkedDataList;
+}
+
+void CtListModelDb::setDisplayAddressbook(int addressbookId, bool display)
+{
+ WHIT();
+ __dataFilter->setDisplayAddressbook(addressbookId, display);
+
+}
+
+std::map<int, CtAddressbookInfo*>& CtListModelDb::getAddressbookList()
+{
+ return __dataFilter->getAddressbookList();
+}
+
+int CtListModelDb::getLimitCount()
+{
+ return __limitCount;
+}
+
+int CtListModelDb::getCurrentLinkedCount()
+{
+ return __currentLinkedCount;
+}
+
+void CtListModelDb::setSelectAllState(bool selectAll)
+{
+ WDEBUG("selectAll = %d", selectAll);
+ __isSelectAll = selectAll;
+}
+
+bool CtListModelDb::getSelectAllState()
+{
+ WDEBUG("isSeelctAll = %d", __isSelectAll);
+ return __isSelectAll;
+}
+
+
+void CtListModelDb::__onDbChanged(const char* view_uri, void* user_data)
+{
+ WENTER();
+
+ CtListModelDb* listModelDb = (CtListModelDb*)user_data;
+
+ if (listModelDb->__listener)
+ listModelDb->__listener->onDbChanged(view_uri);
+
+}
+
+Eina_Bool CtListModelDb::__onGetContactsIdlerCb(void* data)
+{
+ WENTER();
+ CtListModelDb* listModel = (CtListModelDb*)data;
+ listModel->__idler = NULL;
+
+ if(listModel->__listThread)
+ listModel->__listThread->destroy();
+ listModel->__listThread = NULL;
+
+ listModel->__listThread = new CtThread(__onGetContactsThreadRunCb, listModel, __onGetContactsEndCb, listModel);
+ listModel->__listThread->start();
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void CtListModelDb::__onGetContactsThreadRunCb(void *data)
+{
+ WENTER();
+
+ CtListModelDb* listModel = (CtListModelDb*)data;
+
+ listModel->__getQueryResult(listModel->__offset, -1);
+
+ WLEAVE();
+}
+
+void CtListModelDb::__onGetContactsEndCb(void *data)
+{
+ WENTER();
+
+ CtListModelDb* listModel = (CtListModelDb*)data;
+
+ if(listModel->__listThread)
+ listModel->__listThread->destroy();
+ listModel->__listThread = NULL;
+
+ if (listModel->__listener)
+ listModel->__listener->onCompleteGetContacts(listModel->__offset);
+
+}
+
+void CtListModelDb::__initialize(void)
+{
+ WENTER();
+ __dataType = LIST_DATA_DEFAULT;
+ __listener = NULL;
+ __offset = 0;
+ __listThread = NULL;
+ __idler = NULL;
+ __selectedPersonId = -1;
+ __excludeIdList.clear();
+ __checkedDataList.clear();
+ __checkedDataListOld.clear();
+ __search.clear();
+ __personDataList.clear();
+ __addressbookList.clear();
+ __mfcPersonDataList.clear();
+ __favoritePersonDataList.clear();
+ __originalCheckedIdList.clear();
+ __originalPersonDataListSize = 0;
+ __limitCount = 0;
+ __currentLinkedCount = 0;
+ __madePersonList = false;
+ __updateMFCListIdler = NULL;
+ __mfcThread = NULL;
+ __isSelectAll = false;
+ __excludeAddressbookId = 0;
+ __needUpdate = false;
+ __originalCount = 0;
+ __curCheckCount = 0;
+
+ WLEAVE();
+}
+
+void CtListModelDb::__onDisplayNameOrderChangedCb(contacts_name_display_order_e name_display_order, void* user_data)
+{
+ WENTER();
+
+ CtListModelDb* listModelDb = (CtListModelDb*)user_data;
+
+ if (listModelDb->__listener)
+ listModelDb->__listener->onDbChanged(NULL);
+
+}
+
+void CtListModelDb::__onNameSortingOrderChangedCb(contacts_name_sorting_order_e name_display_order, void* user_data)
+{
+ WENTER();
+
+ CtListModelDb* listModelDb = (CtListModelDb*)user_data;
+
+ if (listModelDb->__listener)
+ listModelDb->__listener->onDbChanged(NULL);
+
+}
+
+
+int CtListModelDb::__getQueryResult(int offset, int limit)
+{
+ WENTER();
+
+ WDEBUG("offset : %d, limit : %d",offset, limit);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h personList = NULL;
+ contacts_query_h query = __dataFilter->getQuery(LIST_QUERY_DEFAULT);
+
+ unsigned int search_person_projection[] = {
+ _contacts_person.id,
+ _contacts_person.display_name,
+ _contacts_person.addressbook_ids,
+ _contacts_person.has_phonenumber,
+ _contacts_person.image_thumbnail_path,
+ };
+
+ if(query) {
+ if (__search.length() > 0 ) {
+ err = contacts_query_set_projection(query, search_person_projection, sizeof(search_person_projection)/sizeof(int));
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_projection() Failed(%d)", err);
+
+ err = contacts_db_search_records_with_query(query, __search.c_str(), offset, limit, &personList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_search_records_with_query() Failed(%d)", err);
+ }
+ else {
+ WDEBUG("contacts_db_get_records_with_query");
+ err = contacts_db_get_records_with_query(query, offset, limit, &personList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_records_with_query() Failed(%d)", err);
+ }
+
+ err = contacts_query_destroy(query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_destroy() Failed(%d)", err);
+ }
+ else{
+ if (__search.length() > 0){
+ err = contacts_db_search_records(_contacts_person._uri, __search.c_str(), offset, limit, &personList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_search_records() Failed(%d)", err);
+ }
+ else {
+ WDEBUG("contacts_db_get_all_records");
+ err = contacts_db_get_all_records(_contacts_person._uri, offset, limit, &personList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_all_records() Failed(%d)", err);
+ }
+ }
+ int count = 0;
+ err = contacts_list_get_count(personList, &count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_count() Failed(%d)", err);
+
+ WDEBUG("count : %d", count);
+
+ __mutexLock.lock();
+ __makePersonList(personList, offset);
+ __mutexLock.unlock();
+
+ err = contacts_list_destroy(personList, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)", err);
+
+ WLEAVE();
+
+ return count;
+}
+
+bool CtListModelDb::checkSimAddressbook(int addressbookId)
+{
+ std::map<int, CtAddressbookInfo*> addressbookList = __dataFilter->getAddressbookList();
+
+ if(strstr(addressbookList[addressbookId]->addressbookName, CT_SIM_ADDRESSBOOK_NAME))
+ return true;
+
+ return false;
+
+}
+
+bool CtListModelDb::__makePersonList(contacts_list_h list, int offset)
+{
+ WENTER();
+ WPRET_VM(list == NULL, false, "list is NULL");
+
+ if(offset == 0) {
+ __curCheckCount = 0;
+ __personDataList.clear();
+ __checkedDataListOld.clear();
+ __checkedDataListOld.insert(__checkedDataList.begin(), __checkedDataList.end());
+ if (__search.length() == 0) { // on searching, no change check data
+ __checkedDataList.clear();
+ }
+ }
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h recordPerson = NULL;
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(list, &recordPerson)) {
+ if(recordPerson){
+ std::shared_ptr<CtListDataPerson> dataPerson(std::make_shared<CtListDataPerson>(recordPerson));
+
+ int personId = 0;
+ err = contacts_record_get_int(recordPerson, _contacts_person.id, &personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ if (__selectedPersonId == personId) {
+ err = contacts_list_next(list);
+ continue;
+ }
+ if(std::find(__excludeIdList.begin(), __excludeIdList.end(), personId) != __excludeIdList.end()) {
+ err = contacts_list_next(list);
+ continue;
+ }
+
+ //reserve check state
+ std::map<int, std::shared_ptr<CtListDataPerson>>::iterator iter;
+ iter = __checkedDataListOld.find(dataPerson->getPersonId());
+ if(iter != __checkedDataListOld.end()) {
+ dataPerson->setAsChecked(true);
+ dataPerson->setDataId((*iter).second->getDataId());
+ dataPerson->setDataString((*iter).second->getDataString());
+ dataPerson->setDataType((*iter).second->getDataType());
+ __setAsCheck(dataPerson, true, false);
+ __curCheckCount++;
+ }
+
+ //remove sim contacts
+ if(__dataFilter->checkConditionWritable() == LIST_FILTER_WRITABLE_EXCEPT_SIM
+ || LIST_DATA_PERSON_EXCEPT_SIM == __dataType) {
+ char *value = NULL;
+ err = contacts_record_get_str_p(recordPerson, _contacts_person.addressbook_ids, &value);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+
+ int addressbookId = atoi(value);
+ if(addressbookId > 0) {
+ if(checkSimAddressbook(addressbookId) == true) {
+ WDEBUG("addressbookId %d", addressbookId);
+ err = contacts_list_next(list);
+ continue;
+ }
+ }
+ }
+
+ if(__excludeAddressbookId > 0) {
+ char *value = NULL;
+ err = contacts_record_get_str_p(recordPerson, _contacts_person.addressbook_ids, &value);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+
+ int addressbookId = atoi(value);
+ if(addressbookId > 0 ) {
+ if(__excludeAddressbookId == addressbookId) {
+ WDEBUG("exclude addressbookId %d", addressbookId);
+ err = contacts_list_next(list);
+ continue;
+ }
+ }
+ }
+
+ __personDataList.push_back(std::make_pair(dataPerson->getPersonId(), dataPerson));
+ }
+ err = contacts_list_next(list);
+ }
+
+ if(__search.length() == 0) {
+ __originalCount = __personDataList.size();
+ }
+ __madePersonList = true;
+
+ return true;
+}
+
+bool CtListModelDb::getMadePersonListStatus()
+{
+ return __madePersonList;
+}
+
+bool CtListModelDb::checkMostFrequentContact(int personId)
+{
+ int mfcPersonCount = __mfcPersonDataList.size();
+ if (mfcPersonCount == 0) {
+ return false;
+ }
+
+ for (auto iter = __mfcPersonDataList.begin(); iter != __mfcPersonDataList.end(); iter++) {
+ if (((*iter).second)->getPersonId() == personId) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+Eina_Bool CtListModelDb::__getCurentMfcListIdlerCb(void* data)
+{
+ WENTER();
+ CtListModelDb* listModel = (CtListModelDb*)data;
+
+ if(listModel->__updateMFCListIdler)
+ ecore_idler_del(listModel->__updateMFCListIdler);
+ listModel->__updateMFCListIdler = NULL;
+
+
+ if(listModel->__mfcThread)
+ listModel->__mfcThread->destroy();
+ listModel->__mfcThread = NULL;
+
+ listModel->__mfcThread = new CtThread(__onGetCurrentMfcListThreadRunCb, listModel, __onGetCurrentMfcListThreadEndCb, listModel);
+ listModel->__mfcThread->start();
+
+ WLEAVE();
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void CtListModelDb::__onGetCurrentMfcListThreadRunCb(void* data)
+{
+ WENTER();
+ CtListModelDb* listModel = (CtListModelDb*)data;
+
+ listModel->__getMfcPersonList();
+
+ WLEAVE();
+}
+
+void CtListModelDb::__onGetCurrentMfcListThreadEndCb(void* data)
+{
+ WENTER();
+ CtListModelDb* listModel = (CtListModelDb*)data;
+
+ if(listModel->__mfcThread)
+ listModel->__mfcThread->destroy();
+ listModel->__mfcThread = NULL;
+
+ if(listModel->__needUpdate == true) {
+ listModel->__needUpdate = false;
+ if(listModel->__listener)
+ listModel->__listener->onDbChanged(NULL);
+ }
+
+ WLEAVE();
+}
+
+int CtListModelDb::__setImage(contacts_record_h record, char *image)
+{
+ int err = CONTACTS_ERROR_NONE;
+
+ if(image && *image) {
+ err = contacts_record_set_str(record, _contacts_image.path, image);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_str() Failed(%d)", err);
+ //err = contacts_record_set_int(record, _contacts_image.type, CONTACTS_IMAGE_TYPE_EX_CUSTOM);
+ err = contacts_record_set_int(record, _contacts_image.type, CONTACTS_IMAGE_TYPE_CUSTOM);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_set_int() Failed(%d)", err);
+ }
+ return err;
+}
+
+bool CtListModelDb::__setMFCImage(contacts_record_h personRecord, char *imagePath){
+ WENTER();
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h imageRecord = NULL;
+ int personId = 0;
+ char *thumbnailPath = NULL;
+ bool result = false;
+ int displayContactId = 0;
+
+ err = contacts_record_get_int(personRecord, _contacts_person.id, &personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ err = contacts_record_get_int(personRecord, _contacts_person.display_contact_id, &displayContactId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int(displayContactId) Failed(%d)", err);
+
+ WDEBUG("personId %d, imagePath %s", personId, imagePath);
+
+ if(imagePath) {
+ err = contacts_record_get_str_p(personRecord, _contacts_person.image_thumbnail_path, &thumbnailPath);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+
+ if(thumbnailPath) {
+ WERROR("already image has %s", thumbnailPath);
+ return false;
+ }
+
+ Eina_List *contactList = ctCommonGetWritableContactList(personId);
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+
+ EINA_LIST_FOREACH(contactList, cursor, data) {
+ contacts_record_h contactRecord = (contacts_record_h)data;
+
+ int contactId = 0;
+ err = contacts_record_get_int(contactRecord, _contacts_contact.id, &contactId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ if(contactId == displayContactId) {
+ err = contacts_record_create(_contacts_image._uri, &imageRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_create() Failed(%d)", err);
+ err = contacts_record_set_str(imageRecord, _contacts_image.path, imagePath);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_set_str() Failed(%d)", err);
+// err = contacts_record_set_int(imageRecord, _contacts_image.type, CONTACTS_IMAGE_TYPE_EX_CUSTOM);
+ err = contacts_record_set_int(imageRecord, _contacts_image.type, CONTACTS_IMAGE_TYPE_CUSTOM);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_set_int() Failed(%d)", err);
+ err = contacts_record_add_child_record(contactRecord, _contacts_contact.image, imageRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_add_child_record() Failed(%d)", err);
+
+ err = contacts_db_update_record(contactRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_update_record() Failed(%d)", err);
+ result = true;
+ break;
+ }
+ }
+
+ ctCommonDestroyRecordList(contactList);
+ WDEBUG("image set as %s %d", imagePath, result);
+ return result;
+ }
+ else {
+ err = contacts_record_get_str_p(personRecord, _contacts_person.image_thumbnail_path, &thumbnailPath);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+
+ if(thumbnailPath == NULL) {
+ WERROR("already image absent");
+ return false;
+ }
+
+ Eina_List *contactList = ctCommonGetWritableContactList(personId);
+
+ void *data = NULL;
+ Eina_List *cursor = NULL;
+
+ //set default image to first contact, it is enough
+ EINA_LIST_FOREACH(contactList, cursor, data) {
+ contacts_record_h contactRecord = (contacts_record_h)data;
+
+ int contactId = 0;
+ err = contacts_record_get_int(contactRecord, _contacts_contact.id, &contactId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ if(contactId == displayContactId) {
+ err = contacts_record_get_child_record_at_p(contactRecord, _contacts_contact.image, 0, &imageRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+
+ int imageType = 0;
+ err = contacts_record_get_int(imageRecord, _contacts_image.type, &imageType);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+// if(imageType != CONTACTS_IMAGE_TYPE_EX_CUSTOM) {
+ if(imageType != CONTACTS_IMAGE_TYPE_CUSTOM) {
+ WERROR("not custom default image");
+ break;
+ }
+
+ err = contacts_record_remove_child_record(contactRecord, _contacts_contact.image, imageRecord);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_remove_child_record() Failed(%d)", err);
+
+ err = contacts_record_destroy(imageRecord, true);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, err, "contacts_record_destroy() Failed(%d)", err);
+
+ err = contacts_db_update_record(contactRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_update_record() Failed(%d)", err);
+
+ result = true;
+ break;
+ }
+ }
+
+ ctCommonDestroyRecordList(contactList);
+ WDEBUG("image removed %d", result);
+ return result;
+ }
+
+ return true;
+
+}
+
+bool CtListModelDb::__checkToDisplayMfc(char *addressbookIds)
+{
+ if(addressbookIds) {
+ int hideCount = 0;
+ int addressbookCount = 0;
+ int addressbookId = 0;
+ char* ptr = NULL;
+ char* token = strtok_r(addressbookIds, " ", &ptr);
+ std::map<int, CtAddressbookInfo*> addressbookList = __dataFilter->getAddressbookList();
+ while(token) {
+ addressbookId = atoi(token);
+
+ if(addressbookList[addressbookId]->display == false)
+ hideCount++;
+ addressbookCount++;
+
+ token = strtok_r(NULL, " ", &ptr);
+ }
+
+ if(hideCount == addressbookCount)
+ return false;
+ }
+
+ return true;
+
+}
+
+
+void CtListModelDb::__getMfcPersonListFromPreference()
+{
+ WENTER();
+
+ int mfc_personid = -1;
+ char *pch = NULL;
+ char *mfc_personid_list = NULL;
+ int error = preference_get_string(CT_KEY_LIST_MFC_PERSON_IDS, &mfc_personid_list);
+ WPRET_M(error != PREFERENCE_ERROR_NONE, "preference_get_string failed error code (%d)", error);
+
+ if(__updateMFCListIdler)
+ ecore_idler_del(__updateMFCListIdler);
+ __updateMFCListIdler = NULL;
+
+ if(NULL == mfc_personid_list) {
+ __updateMFCListIdler = ecore_idler_add(__getCurentMfcListIdlerCb, this);
+ WLEAVE();
+ return;
+ }
+
+ WDEBUG("mfc_personid_list %s", mfc_personid_list);
+ pch = strtok (mfc_personid_list," ");
+ while (pch != NULL) {
+ mfc_personid = atoi(pch);
+ pch = strtok (NULL, " ");
+
+ contacts_record_h recordPerson = NULL;
+ if (CONTACTS_ERROR_NONE == contacts_db_get_record(_contacts_person._uri, mfc_personid, &recordPerson) ) {
+ if(recordPerson){
+ if(std::find(__excludeIdList.begin(), __excludeIdList.end(), mfc_personid) != __excludeIdList.end()) {
+ continue;
+ }
+
+ int err = CONTACTS_ERROR_NONE;
+ char *temp = NULL;
+ err = contacts_record_get_str_p(recordPerson, _contacts_person.addressbook_ids, &temp);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ if(temp && __checkToDisplayMfc(temp) == false)
+ continue;
+
+ std::shared_ptr<CtListDataPerson> dataPerson(std::make_shared<CtListDataPerson>(recordPerson));
+
+ //reserve check state
+ std::map<int, std::shared_ptr<CtListDataPerson>>::iterator iter;
+ iter = __checkedDataList.find(dataPerson->getPersonId());
+ if(iter != __checkedDataList.end()) {
+ dataPerson->setAsChecked(true);
+ dataPerson->setDataId((*iter).second->getDataId());
+ dataPerson->setDataString((*iter).second->getDataString());
+ dataPerson->setDataType((*iter).second->getDataType());
+ }
+
+ __mfcPersonDataList.push_back(std::make_pair(dataPerson->getPersonId(), dataPerson));
+ }
+ }
+ }
+ free(mfc_personid_list);
+
+ if (__dataType != LIST_DATA_ALL_FAVORITES) {
+ __updateMFCListIdler = ecore_idler_add(__getCurentMfcListIdlerCb, this);
+ }
+}
+
+void CtListModelDb::__getMfcPersonList()
+{
+ WENTER();
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h personUsageList = NULL;
+ contacts_query_h query = __dataFilter->getQuery(LIST_QUERY_MFC);
+
+ err = contacts_db_get_records_with_query(query, 0, 5, &personUsageList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_get_list() Failed(%d)", err);
+
+ contacts_query_destroy(query);
+
+ __makeMfcPersonList(personUsageList);
+
+ err = contacts_list_destroy(personUsageList, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)", err);
+ WLEAVE();
+
+}
+
+
+void CtListModelDb::__getFavoritePersonList()
+{
+ WENTER();
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h personList = NULL;
+ contacts_query_h query = __dataFilter->getQuery(LIST_QUERY_FAVORITE);
+
+ int queryCount = 0;
+ err = contacts_db_get_count_with_query(query, &queryCount);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_count_with_query() Failed(%d)", err);
+ WDEBUG("count : %d", queryCount);
+ if(queryCount == 0) {
+ contacts_query_destroy(query);
+ return;
+ }
+
+ err = contacts_db_get_records_with_query(query, 0, 0, &personList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_get_list() Failed(%d)", err);
+
+ contacts_query_destroy(query);
+
+ __makeFavoritePersonList(personList);
+
+ err = contacts_list_destroy(personList, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)", err);
+ WLEAVE();
+}
+
+bool CtListModelDb::__makeMfcPersonList(contacts_list_h list)
+{
+ WENTER();
+ WPRET_VM(list == NULL, false, "list is NULL");
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h recordPerson = NULL;
+ std::vector<int> mfcPersonIds;
+
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(list, &recordPerson)) {
+ if(recordPerson){
+ int personId = 0;
+ err = contacts_record_get_int(recordPerson, _contacts_person.id, &personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ contacts_record_h record = NULL;
+ if(CONTACTS_ERROR_NONE == contacts_db_get_record(_contacts_person._uri, personId, &record)) {
+ char *temp = NULL;
+ err = contacts_record_get_str_p(record, _contacts_person.addressbook_ids, &temp);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ if(temp && __checkToDisplayMfc(temp) == false) {
+ contacts_list_next(list);
+ continue;
+ }
+ }
+
+ mfcPersonIds.push_back(personId);
+ if(find_if( __mfcPersonDataList.begin(), __mfcPersonDataList.end(),
+ [personId](std::pair<int, std::shared_ptr<CtListDataPerson>> dataPerson)->bool {
+ if(dataPerson.first == personId) {
+ return true;
+ }
+ return false;
+ }
+ ) == __mfcPersonDataList.end())
+ __needUpdate = true;
+ }
+ contacts_list_next(list);
+ }
+
+ if(__mfcPersonDataList.size() != mfcPersonIds.size()) {
+ WDEBUG("count changed old %d, new %d", __mfcPersonDataList.size(), mfcPersonIds.size());
+ __needUpdate = true;
+ }
+
+ //set mfc to preference no matter chaged
+ WDEBUG("MFC are changed");
+ std::string mfcPersonIdsStr;
+ int index = 0;
+ for(index=0;index<(int)mfcPersonIds.size();index++) {
+ std::string tempStr = std::to_string(mfcPersonIds[index]);
+
+ if(mfcPersonIdsStr.size() > 0)
+ mfcPersonIdsStr += " ";
+ mfcPersonIdsStr += tempStr;
+ }
+ WDEBUG("mfcPersonList %s", mfcPersonIdsStr.c_str());
+ preference_set_string(CT_KEY_LIST_MFC_PERSON_IDS, mfcPersonIdsStr.c_str());
+
+ return true;
+}
+
+bool CtListModelDb::__makeFavoritePersonList(contacts_list_h list)
+{
+ WENTER();
+ WPRET_VM(list == NULL, false, "list is NULL");
+
+ int err = CONTACTS_ERROR_NONE;
+
+ contacts_record_h recordPerson = NULL;
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(list, &recordPerson)) {
+ if(recordPerson){
+ std::shared_ptr<CtListDataPerson> dataPerson(std::make_shared<CtListDataPerson>(recordPerson));
+
+ int personId = 0;
+ err = contacts_record_get_int(recordPerson, _contacts_person.id, &personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+
+ if(std::find(__excludeIdList.begin(), __excludeIdList.end(), personId) != __excludeIdList.end()) {
+ err = contacts_list_next(list);
+ continue;
+ }
+ //reserve check state
+ std::map<int, std::shared_ptr<CtListDataPerson>>::iterator iter;
+ iter = __checkedDataList.find(dataPerson->getPersonId());
+ if(iter != __checkedDataList.end()) {
+ dataPerson->setAsChecked(true);
+ dataPerson->setDataId((*iter).second->getDataId());
+ dataPerson->setDataString((*iter).second->getDataString());
+ dataPerson->setDataType((*iter).second->getDataType());
+ }
+
+ __favoritePersonDataList.push_back(std::make_pair(dataPerson->getPersonId(), dataPerson));
+ }
+ err = contacts_list_next(list);
+ }
+ return true;
+}
+
+void CtListModelDb::initialOriginalCheckedIdList()
+{
+ WENTER();
+
+ __originalCheckedIdList.clear();
+ for (auto iter = __checkedDataList.begin(); iter != __checkedDataList.end(); iter++)
+ {
+ __originalCheckedIdList.push_back((*iter).second->getPersonId());
+ }
+}
+
+void CtListModelDb::clearOriginalCheckedIdList()
+{
+ WENTER();
+ __originalCheckedIdList.clear();
+}
+
+bool CtListModelDb::checkIsSelectAllOnSearching()
+{
+ WENTER();
+ WPRET_VM(0 == __originalCheckedIdList.size(), false, "__originalCheckedIdList is empty");
+
+ int originCheckedCount = __originalCheckedIdList.size();
+ int curCheckedCount = __curCheckCount;
+ int curCount = __personDataList.size();
+ int maxCount = __originalCount;
+
+ WDEBUG("originCheckedCount %d, maxCount %d, curCount %d, curCheckedCount %d", originCheckedCount, maxCount, curCount, curCheckedCount);
+
+ return (curCheckedCount == curCount);
+}
+
+void CtListModelDb::initialOriginalPersonDataListSize()
+{
+ WENTER();
+ __originalPersonDataListSize = __personDataList.size();
+}
+
+void CtListModelDb::clearOriginalPersonDataListSize()
+{
+ WENTER();
+ __originalPersonDataListSize = 0;
+}
+
+int CtListModelDb::getOriginalPersonDataListSize()
+{
+ WENTER();
+ return __originalPersonDataListSize;
+}
+
+void CtListModelDb::__setAsCheck(std::shared_ptr<CtListDataPerson> personData, bool check, bool noRelation)
+{
+ std::map<int, std::shared_ptr<CtListDataPerson>>::iterator iter;
+
+ iter = __checkedDataList.find(personData->getPersonId());
+
+ if(check == true) {
+ if(iter == __checkedDataList.end()) {
+ __checkedDataList.insert(std::make_pair(personData->getPersonId(), personData));
+ __curCheckCount++;
+ }
+
+ if(std::find(__originalCheckedIdList.begin(), __originalCheckedIdList.end(), personData->getPersonId()) == __originalCheckedIdList.end()) {
+ __originalCheckedIdList.push_back(personData->getPersonId());
+ }
+ }
+ else {
+ if(iter != __checkedDataList.end()) {
+ __checkedDataList.erase(iter);
+ __curCheckCount--;
+ }
+
+ std::vector<int>::iterator originalIter = std::find(__originalCheckedIdList.begin(), __originalCheckedIdList.end(), personData->getPersonId());
+ if(originalIter != __originalCheckedIdList.end()) {
+ __originalCheckedIdList.erase(originalIter);
+ }
+ }
+
+ //set check other same person
+ int personId = personData->getPersonId();
+ if(noRelation) {
+ //for check all performance, consider default contact based check
+ personData->setAsChecked(check);
+ }
+ else {
+ find_if( __personDataList.begin(), __personDataList.end(),
+ [personId, check](std::pair<int, std::shared_ptr<CtListDataPerson>> dataPerson)->bool {
+ if(dataPerson.first == personId) {
+ dataPerson.second->setAsChecked(check);
+ return true;
+ }
+ return false;
+ }
+ );
+ }
+
+ find_if( __mfcPersonDataList.begin(), __mfcPersonDataList.end(),
+ [personId, check](std::pair<int, std::shared_ptr<CtListDataPerson>> dataPerson)->bool {
+ if(dataPerson.first == personId) {
+ dataPerson.second->setAsChecked(check);
+ return true;
+ }
+ return false;
+ }
+ );
+
+ find_if( __favoritePersonDataList.begin(), __favoritePersonDataList.end(),
+ [personId, check](std::pair<int, std::shared_ptr<CtListDataPerson>> dataPerson)->bool {
+ if(dataPerson.first == personId) {
+ dataPerson.second->setAsChecked(check);
+ return true;
+ }
+ return false;
+ }
+ );
+
+
+}
diff --git a/lib-contact/ct-list/src/CtListModelDb.h b/lib-contact/ct-list/src/CtListModelDb.h
new file mode 100755
index 0000000..48cf832
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModelDb.h
@@ -0,0 +1,163 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_MODEL_DB_H_
+#define __CT_LIST_MODEL_DB_H_
+
+#include <map>
+#include <vector>
+#include <string>
+#include <contacts.h>
+#include <memory>
+#include <Ecore.h>
+#include <Elementary.h>
+#include <mutex>
+
+#include "ContactsCommon.h"
+#include "ICtChangeListener.h"
+#include "CtCommon.h"
+#include "CtType.h"
+#include "CtThread.h"
+
+#include "CtListModelListener.h"
+#include "CtListModel.h"
+#include "CtListDataPerson.h"
+
+#include "CtListModelFilter.h"
+
+
+#define CTLISTDATA_NQUERY_COUNT 20
+#define CTLISTDATA_NQUERY_TIMER_INTERVAL 0.4
+
+class CtListModelDb : public CtListModel , public CtListModelListener
+{
+public:
+ CtListModelDb(CtListHasType filterType, int limit);
+ CtListModelDb(CtListDataType dataType);
+
+ virtual ~CtListModelDb();
+
+public:
+ // CtListModel interfaces
+ virtual int getContactsCount(CtListQueryType queryType);
+ virtual int getContacts(CtListQueryType queryType, CtGetContactsType syncType);
+ virtual int cancelGetContacts();
+ virtual std::shared_ptr<CtListDataPerson> getAtPersonData(int index, CtListQueryType queryType);
+ virtual int getPersonListCount(CtListQueryType queryType);
+ virtual bool getMadePersonListStatus();
+ virtual void attachListener(ICtChangeListener* listener);
+
+ virtual void setSelectedPersonId(int selectedPersonId);
+ virtual const char* getSearchString(void);
+ virtual bool setSearchString(char* search);
+ virtual void pushCheckedData(std::shared_ptr<CtListDataPerson> dataPerson);
+ virtual void removeCheckedData(std::shared_ptr<CtListDataPerson> dataPerson);
+ virtual void getNumberSearchString(const std::shared_ptr<CtListDataPerson>& dataPerson, std::string &numberStr);
+ virtual int getCheckedDataCount();
+ virtual int getLimitCount();
+ virtual int getCurrentLinkedCount();
+
+ // CtListModelListener
+ virtual void onFilterChanged();
+
+ std::vector<std::shared_ptr<CtListDataPerson>>* getCheckedDataList() const;
+ std::map<int, CtAddressbookInfo*>& getAddressbookList();
+ void setDisplayAddressbook(int addressbookId, bool display);
+ bool checkSimAddressbook(int addressbookId);
+
+ virtual void initialOriginalCheckedIdList();
+ virtual void clearOriginalCheckedIdList();
+ virtual bool checkIsSelectAllOnSearching();
+ virtual void initialOriginalPersonDataListSize();
+ virtual void clearOriginalPersonDataListSize();
+ virtual int getOriginalPersonDataListSize();
+
+ bool checkMostFrequentContact(int personId);
+
+ void setSelectAllState(bool selectAll);
+ bool getSelectAllState();
+ void doCheckedDataNoRelation(std::shared_ptr<CtListDataPerson> dataPerson, bool check);
+
+
+
+private:
+
+ void __initialize(void);
+ int __getQueryResult(int offset, int limit);
+ CtListDataPerson* __createPersonData(contacts_record_h record);
+ bool __makePersonList(contacts_list_h list, int offset);
+ void __getMfcPersonListFromPreference();
+ int __setImage(contacts_record_h record, char *image);
+ bool __setMFCImage(contacts_record_h personRecord, char *imagePath);
+ void __getMfcPersonList();
+ void __getFavoritePersonList();
+ bool __makeMfcPersonList(contacts_list_h list);
+ bool __makeFavoritePersonList(contacts_list_h list);
+ void __setAsCheck(std::shared_ptr<CtListDataPerson> personData, bool check, bool noRelation);
+ bool __checkToDisplayMfc(char *addressbookIds);
+
+private:
+ static void __onDbChanged(const char* view_uri, void* user_data);
+ static Eina_Bool __onGetContactsIdlerCb(void* data);
+ static void __onGetContactsThreadRunCb(void *data);
+ static void __onGetContactsEndCb(void *data);
+ static void __onDisplayNameOrderChangedCb(contacts_name_display_order_e name_display_order, void* user_data);
+ static void __onNameSortingOrderChangedCb(contacts_name_sorting_order_e name_display_order, void* user_data);
+ static Eina_Bool __getCurentMfcListIdlerCb(void* data);
+ static void __onGetCurrentMfcListThreadRunCb(void* data);
+ static void __onGetCurrentMfcListThreadEndCb(void* data);
+
+private:
+ std::string __search;
+ CtListDataType __dataType;
+ ICtChangeListener *__listener;
+
+ CtThread *__listThread;
+ CtThread *__mfcThread;
+
+ Ecore_Idler *__idler;
+ Ecore_Idler *__updateMFCListIdler;
+ int __offset;
+ CtListModelFilter *__dataFilter;
+ int __selectedPersonId;
+ int __limitCount;
+ int __currentLinkedCount;
+ bool __madePersonList;
+ bool __isSelectAll;
+ int __excludeAddressbookId;
+ bool __needUpdate;
+ int __originalCount;
+ int __curCheckCount;
+
+ std::vector<std::pair<int, std::shared_ptr<CtListDataPerson>>> __personDataList;
+ std::vector<std::pair<int, std::shared_ptr<CtListDataPerson>>> __mfcPersonDataList;
+ std::vector<std::pair<int, std::shared_ptr<CtListDataPerson>>> __favoritePersonDataList;
+
+ std::map<int, std::shared_ptr<CtListDataPerson>> __checkedDataList;
+ std::map<int, std::shared_ptr<CtListDataPerson>> __checkedDataListOld;
+
+ std::vector<int> __excludeIdList;
+ std::vector<int> __originalCheckedIdList; // when searching, use this list to check
+ int __originalPersonDataListSize; // when searching, use this size to check
+
+ std::vector<CtAddressbookInfo*> __addressbookList;
+
+ std::mutex __mutexLock;
+};
+
+#endif
+
diff --git a/lib-contact/ct-list/src/CtListModelFilter.cpp b/lib-contact/ct-list/src/CtListModelFilter.cpp
new file mode 100644
index 0000000..e9c2810
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModelFilter.cpp
@@ -0,0 +1,835 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <contacts.h>
+#include <vector>
+#include <memory>
+#include <algorithm>
+#include <app_preference.h>
+
+#include "CtCommon.h"
+#include "CtListModelFilter.h"
+#include "CtListModelFilter.h"
+
+CtListModelFilter::CtListModelFilter(CtListHasType filterType)
+{
+ WENTER();
+ __initialize();
+ __initAddressbook();
+ if(__getDisplayAddressbookCount() == 0)
+ __setDisplayAddressbookAll();
+
+ __hasType = filterType;
+ WLEAVE();
+}
+
+CtListModelFilter::CtListModelFilter(CtListDataType dataType)
+{
+ WENTER();
+ __initialize();
+ __initAddressbook();
+ __getOpFromDataType(dataType);
+ if(__getDisplayAddressbookCount() == 0)
+ __setDisplayAddressbookAsPreference();
+ __initHasType();
+
+
+}
+
+CtListModelFilter::~CtListModelFilter()
+{
+ WHIT();
+ preference_unset_changed_cb(CT_KEY_DISPLAY_WITH_NUMBER);
+ preference_unset_changed_cb(CT_KEY_LIST_DISPLAY_ADDRESSBOOK);
+
+ for(auto iter = __addressbookList.begin(); iter != __addressbookList.end(); iter++) {
+ free(iter->second->addressbookName);
+ delete (*iter).second;
+ }
+ __addressbookList.clear();
+}
+
+
+CtListHasType CtListModelFilter::__getListHasType() const
+{
+ return __hasType;
+#if 0
+ if(__ugRequest == CT_UG_REQUEST_LIST_FOR_DIAL)
+ return LIST_HAS_NUMBER;
+
+ if (__listOp == CT_GET_LIST_ALL_PERSON_HAD_NUMBER ||
+ __listOp == CT_GET_LIST_ALL_PERSON_HAD_NUMBER_NO_EXIST)
+ return LIST_HAS_NUMBER;
+
+ if (__listOp == CT_GET_LIST_ALL_PERSON_HAD_EMAIL)
+ return LIST_HAS_EMAIL;
+
+ if (__listOp == CT_GET_LIST_ALL_PERSON_HAD_NUMBER_OR_EMAIL)
+ return LIST_HAS_NUMBER_OR_EMAIL;
+
+
+ return LIST_HAS_NONE;
+#endif
+}
+
+
+CtListFavoriteType CtListModelFilter::__getListFavoriteType() const
+{
+ if( __listOp == CT_GET_LIST_ALL_PERSON_REMOVE_FAVORITE ||
+ __listOp == CT_GET_LIST_ALL_PERSON_REORDER_FAVORITE)
+ return LIST_FAVORITE_SET;
+ else if (__listOp == CT_GET_LIST_ALL_PERSON_ADD_FAVORITE)
+ return LIST_FAVORITE_UNSET;
+ else
+ return LIST_FAVORITE_NONE;
+}
+void CtListModelFilter::setListHasType(CtListHasType hasType)
+{
+ WDEBUG("hasType %d", hasType);
+ __hasType = hasType;
+}
+
+void CtListModelFilter::attachListener(CtListModelListener *listener)
+{
+ __listener = listener;
+}
+
+contacts_query_h CtListModelFilter::getQuery(CtListQueryType queryType)
+{
+ WDEBUG("queryType %d", queryType);
+
+ CtListViewUriType uriType = LIST_VIEW_URI_TYPE_PERSON;
+ contacts_query_h query = NULL;
+ contacts_filter_h filter = NULL;
+ contacts_filter_h filter2 = NULL;
+ contacts_filter_h filter3 = NULL;
+ contacts_filter_h filter4 = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ int conditionCount = 0;
+
+ unsigned int person_projection[] = {
+ _contacts_person.id,
+ _contacts_person.display_name,
+ _contacts_person.display_name_index,
+ _contacts_person.addressbook_ids,
+ _contacts_person.image_thumbnail_path,
+ _contacts_person.is_favorite,
+ };
+
+ unsigned int person_contact_projection[] = {
+ _contacts_person_contact.person_id,
+ _contacts_person_contact.display_name,
+ _contacts_person_contact.display_name_index,
+ _contacts_person_contact.addressbook_ids,
+ _contacts_person_contact.image_thumbnail_path,
+ };
+
+ unsigned int person_usage_projection[] = {
+ _contacts_person_usage.person_id,
+ _contacts_person_usage.display_name,
+ _contacts_person_usage.image_thumbnail_path,
+ };
+
+ if(queryType == LIST_QUERY_MFC) {
+ WDEBUG("person usage uri");
+ uriType = LIST_VIEW_URI_TYPE_PERSON_USAGE;
+
+ err = contacts_query_create(_contacts_person_usage._uri, &query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person_usage._uri, &filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person_usage._uri, &filter2);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ do {
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter2, _contacts_person_usage.times_used, CONTACTS_MATCH_GREATER_THAN_OR_EQUAL, 1))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter2, CONTACTS_FILTER_OPERATOR_AND))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter2, _contacts_person_usage.usage_type, CONTACTS_MATCH_EQUAL, CONTACTS_USAGE_STAT_TYPE_OUTGOING_CALL))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter2, CONTACTS_FILTER_OPERATOR_AND))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_bool(filter2, _contacts_person_usage.is_favorite, false))) break;
+ } while (0);
+ err = contacts_filter_add_filter(filter, filter2);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ conditionCount++;
+ // add condition for hastype
+ WDEBUG("condition hastype %d", __getListHasType());
+ if(__getListHasType() == LIST_HAS_NUMBER) {
+ if(conditionCount > 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+
+ err = contacts_filter_create(_contacts_person_usage._uri, &filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter3, _contacts_person_usage.has_phonenumber, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ conditionCount++;
+ }
+ else if(__getListHasType() == LIST_HAS_EMAIL) {
+ if(conditionCount > 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+
+ err = contacts_filter_create(_contacts_person_usage._uri, &filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter3, _contacts_person_usage.has_email, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ conditionCount++;
+ }
+ else if(__getListHasType() == LIST_HAS_NUMBER_OR_EMAIL) {
+ if(conditionCount > 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+
+ err = contacts_filter_create(_contacts_person_usage._uri, &filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter3, _contacts_person_usage.has_phonenumber, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_operator(filter3, CONTACTS_FILTER_OPERATOR_OR);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter3, _contacts_person_usage.has_email, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ conditionCount++;
+ }
+
+ err = contacts_query_set_sort(query, _contacts_person_usage.times_used, false);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_sort() Failed(%d)", err);
+
+ err = contacts_query_set_projection(query, person_usage_projection, sizeof(person_usage_projection)/sizeof(int));
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_projection() Failed(%d)", err);
+
+ err = contacts_query_set_distinct(query, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_distinct() Failed(%d)", err);
+ }
+ else {
+ int allAddressbookCount = __addressbookList.size();
+ int displayAddressbookCount = __getDisplayAddressbookCount();
+ WDEBUG("allAddressbookCount %d, displayAddressbookCount %d", allAddressbookCount, displayAddressbookCount);
+ // create query and filter
+
+ // create query and filter
+ if( allAddressbookCount == displayAddressbookCount) {
+ WDEBUG("person uri");
+ uriType = LIST_VIEW_URI_TYPE_PERSON;
+ err = contacts_query_create(_contacts_person._uri, &query);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, NULL, "contacts_query_create() Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person._uri, &filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person._uri, &filter2);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+
+ // add condition for favorite
+ CtListFavoriteType favoriteType = LIST_FAVORITE_NONE;
+ if(queryType == LIST_QUERY_FAVORITE)
+ favoriteType = LIST_FAVORITE_SET;
+ else
+ favoriteType = __getListFavoriteType();
+ WDEBUG("condition favoriteType %d", favoriteType);
+ if(favoriteType == LIST_FAVORITE_SET) {
+ err = contacts_filter_add_bool(filter2, _contacts_person.is_favorite, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter2);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ err = contacts_query_set_sort(query, _contacts_person.favorite_priority, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_sort() Failed(%d)", err);
+ conditionCount++;
+ }
+ else if(__getListFavoriteType() == LIST_FAVORITE_UNSET) {
+ err = contacts_filter_add_bool(filter2, _contacts_person.is_favorite, false);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter2);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ conditionCount++;
+ }
+
+ // add condition for hastype
+ WDEBUG("condition hastype %d", __getListHasType());
+ if(__getListHasType() == LIST_HAS_NUMBER) {
+ if(conditionCount > 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+
+ err = contacts_filter_create(_contacts_person._uri, &filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter3, _contacts_person.has_phonenumber, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ conditionCount++;
+ }
+ else if(__getListHasType() == LIST_HAS_EMAIL) {
+ if(conditionCount > 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+
+ err = contacts_filter_create(_contacts_person._uri, &filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter3, _contacts_person.has_email, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ conditionCount++;
+ }
+ else if(__getListHasType() == LIST_HAS_NUMBER_OR_EMAIL) {
+ if(conditionCount > 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+
+ err = contacts_filter_create(_contacts_person._uri, &filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter3, _contacts_person.has_phonenumber, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_operator(filter3, CONTACTS_FILTER_OPERATOR_OR);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter3, _contacts_person.has_email, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ conditionCount++;
+ }
+ err = contacts_query_set_projection(query, person_projection, sizeof(person_projection)/sizeof(int));
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_projection() Failed(%d)", err);
+
+ err = contacts_query_set_distinct(query, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_distinct() Failed(%d)", err);
+
+ }
+ else {
+ WDEBUG("person contact uri");
+ uriType = LIST_VIEW_URI_TYPE_PERSON_CONTACT;
+ err = contacts_query_create(_contacts_person_contact._uri, &query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person_contact._uri, &filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person_contact._uri, &filter2);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+
+ // add condition for addressbook
+ for (auto iter = __addressbookList.begin(); iter != __addressbookList.end(); iter++)
+ {
+ if((*iter).second->display == true) {
+ if(conditionCount > 0) {
+ err = contacts_filter_add_operator(filter2, CONTACTS_FILTER_OPERATOR_OR);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+
+ WDEBUG("condition addressbookId %d", (*iter).first);
+ err = contacts_filter_add_int(filter2, _contacts_person_contact.address_book_id, CONTACTS_MATCH_EQUAL, (*iter).first);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ conditionCount++;
+ }
+ }
+ err = contacts_filter_add_filter(filter, filter2);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+
+ // add condition for favorite
+ CtListFavoriteType favoriteType = LIST_FAVORITE_NONE;
+ if(queryType == LIST_QUERY_FAVORITE)
+ favoriteType = LIST_FAVORITE_SET;
+ else
+ favoriteType = __getListFavoriteType();
+ WDEBUG("condition favoriteType %d", favoriteType);
+ if(favoriteType == LIST_FAVORITE_SET) {
+ if(conditionCount > 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+
+ err = contacts_filter_create(_contacts_person_contact._uri, &filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter3, _contacts_person_contact.is_favorite, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ conditionCount++;
+ }
+ else if(__getListFavoriteType() == LIST_FAVORITE_UNSET) {
+ if(conditionCount > 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+
+ err = contacts_filter_create(_contacts_person_contact._uri, &filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter3, _contacts_person_contact.is_favorite, false);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ conditionCount++;
+ }
+
+ // add condition for hastype
+ WDEBUG("condition hastype %d", __getListHasType());
+
+ if(__getListHasType() == LIST_HAS_NUMBER) {
+ if(conditionCount > 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+
+ err = contacts_filter_create(_contacts_person_contact._uri, &filter4);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter4, _contacts_person_contact.has_phonenumber, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter4);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ conditionCount++;
+ }
+ else if(__getListHasType() == LIST_HAS_EMAIL) {
+ if(conditionCount > 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+
+ err = contacts_filter_create(_contacts_person_contact._uri, &filter4);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter4, _contacts_person_contact.has_email, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter4);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ conditionCount++;
+ }
+ else if(__getListHasType() == LIST_HAS_NUMBER_OR_EMAIL) {
+ if(conditionCount > 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+ conditionCount++;
+
+ err = contacts_filter_create(_contacts_person_contact._uri, &filter4);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter4, _contacts_person_contact.has_phonenumber, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_operator(filter4, CONTACTS_FILTER_OPERATOR_OR);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ err = contacts_filter_add_bool(filter4, _contacts_person_contact.has_email, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ err = contacts_filter_add_filter(filter, filter4);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_filter() Failed(%d)", err);
+ }
+
+ err = contacts_query_set_projection(query, person_contact_projection, sizeof(person_contact_projection)/sizeof(int));
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_projection() Failed(%d)", err);
+
+ err = contacts_query_set_distinct(query, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_distinct() Failed(%d)", err);
+ }
+ }
+ WDEBUG("uriType is [%d], conditionCount %d",uriType, conditionCount);
+
+ // set filter to query
+ if(conditionCount > 0) {
+ err = contacts_query_set_filter(query, filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_filter() Failed(%d)", err);
+ }
+ else {
+ if(query) {
+ err = contacts_query_destroy(query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_destroy() Failed(%d)", err);
+ query = NULL;
+ }
+ }
+
+ if(filter4) {
+ err = contacts_filter_destroy(filter4);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_destroy() Failed(%d)", err);
+ }
+ if(filter3) {
+ err = contacts_filter_destroy(filter3);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_destroy() Failed(%d)", err);
+ }
+ if(filter2) {
+ err = contacts_filter_destroy(filter2);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_destroy() Failed(%d)", err);
+ }
+ if(filter) {
+ err = contacts_filter_destroy(filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_destroy() Failed(%d)", err);
+ }
+
+ return query;
+}
+
+void CtListModelFilter::__initialize()
+{
+ __listOp = 0;
+ __selectedPersonId = 0;
+ __viewId = 0;
+ __ugRequest = 0;
+ __ugData = NULL;
+ __listener = NULL;
+
+ preference_set_changed_cb(CT_KEY_DISPLAY_WITH_NUMBER, __onDisplayWithNumberChangedCb, this);
+ preference_set_changed_cb(CT_KEY_LIST_DISPLAY_ADDRESSBOOK, __onDisplayAddressbookChangedCb, this);
+}
+
+void CtListModelFilter::__initHasType()
+{
+ if (__listOp == CT_GET_LIST_ALL_PERSON_HAD_NUMBER || __listOp == CT_GET_LIST_ALL_PERSON_HAD_NUMBER_NO_EXIST)
+ __hasType = LIST_HAS_NUMBER;
+ else if (__listOp == CT_GET_LIST_ALL_PERSON_HAD_EMAIL)
+ __hasType = LIST_HAS_EMAIL;
+ else if (__listOp == CT_GET_LIST_ALL_PERSON_HAD_NUMBER_OR_EMAIL)
+ __hasType = LIST_HAS_NUMBER_OR_EMAIL;
+ else
+ {
+ int showMode = 0;
+ preference_get_int(CT_KEY_DISPLAY_WITH_NUMBER, &showMode);
+ WDEBUG("showMode %d", showMode);
+
+ if(showMode == 1)
+ __hasType = LIST_HAS_NUMBER;
+ else
+ __hasType = LIST_HAS_NONE;
+ }
+
+ WDEBUG("hasType %d", __hasType);
+}
+
+void CtListModelFilter::__onDisplayWithNumberChangedCb(const char *key, void *data)
+{
+ CtListModelFilter* modelFilter = (CtListModelFilter*)data;
+
+ int showMode = 0;
+ preference_get_int(CT_KEY_DISPLAY_WITH_NUMBER, &showMode);
+ WDEBUG("showMode %d", showMode);
+
+ if(showMode == 1)
+ modelFilter->__hasType = LIST_HAS_NUMBER;
+ else
+ modelFilter->__hasType = LIST_HAS_NONE;
+
+ if (modelFilter->__listener)
+ modelFilter->__listener->onFilterChanged();
+}
+
+void CtListModelFilter::__onDisplayAddressbookChangedCb(const char *key, void *data)
+{
+ WHIT();
+ CtListModelFilter* modelFilter = (CtListModelFilter*)data;
+
+ if(modelFilter->__ugRequest == 0) {
+ modelFilter->__initAddressbook();
+ modelFilter->__setDisplayAddressbookAsPreference();
+
+ if (modelFilter->__listener)
+ modelFilter->__listener->onFilterChanged();
+ }
+
+}
+
+
+bool CtListModelFilter::__checkAddressbook() const
+{
+ int all = __addressbookIds.size();
+ int show = 0;
+
+ for(auto iter = __addressbookIds.begin(); iter != __addressbookIds.end(); iter++)
+ {
+ if((*iter).second == true)
+ show++;
+ }
+
+ if(all == show)
+ return true;
+ else
+ return false;
+}
+
+
+void CtListModelFilter::__initAddressbook()
+{
+ WENTER();
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h list = NULL;
+ contacts_record_h addressbookRecord = NULL;
+ CtAddressbookInfo *addressbookInfo = NULL;
+
+ __addressbookList.clear();
+
+ err = contacts_db_get_all_records(_contacts_address_book._uri, 0, 0, &list);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_all_records() Failed(%d)", err);
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(list, &addressbookRecord)) {
+ addressbookInfo = new CtAddressbookInfo;
+
+ err = contacts_record_get_int(addressbookRecord, _contacts_address_book.id, &addressbookInfo->addressbookId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int(_contacts_address_book.id) Failed(%d)", err);
+
+ err = contacts_record_get_int(addressbookRecord, _contacts_address_book.account_id, &addressbookInfo->accountId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int(_contacts_address_book.account_id) Failed(%d)", err);
+
+ err = contacts_record_get_int(addressbookRecord, _contacts_address_book.mode, &addressbookInfo->mode);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int(_contacts_address_book.account_id) Failed(%d)", err);
+
+ err = contacts_record_get_str(addressbookRecord, _contacts_address_book.name, &addressbookInfo->addressbookName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str(_contacts_address_book.name) Failed(%d)", err);
+
+ addressbookInfo->iconPath = NULL;
+ addressbookInfo->displayName = NULL;
+ addressbookInfo->display = false;
+ WDEBUG("addressbookId %d accountId %d", addressbookInfo->addressbookId, addressbookInfo->accountId);
+
+ __addressbookList.insert(std::make_pair(addressbookInfo->addressbookId, addressbookInfo));
+
+ contacts_list_next(list);
+ }
+ err = contacts_list_destroy(list, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)", err);
+
+ WLEAVE();
+}
+
+int CtListModelFilter::__getDisplayAddressbookCount()
+{
+ int count = 0;
+
+ for(auto iter = __addressbookList.begin(); iter != __addressbookList.end(); iter++) {
+ if((*iter).second->display == true)
+ count++;
+ }
+
+ return count;
+}
+
+void CtListModelFilter::__setDisplayAddressbookAsPreference()
+{
+ int displayCount = 0;
+ if(__listOp == CT_GET_LIST_ALL_PERSON_REMOVE_FAVORITE || __listOp == CT_GET_LIST_ALL_PERSON_ADD_FAVORITE
+ || __listOp == CT_GET_LIST_ALL_PERSON_REORDER_FAVORITE) {
+ WDEBUG("favorite list is not effected by addressbook setting");
+ for(auto iter = __addressbookList.begin(); iter != __addressbookList.end(); iter++) {
+ (*iter).second->display = true;
+ displayCount++;
+ continue;
+ }
+ }
+ else {
+ char *string = NULL;
+ preference_get_string(CT_KEY_LIST_DISPLAY_ADDRESSBOOK, &string);
+ WDEBUG("display addressbookid %s", string);
+ int hasCondition = SAFE_STRLEN(string);
+ std::unique_ptr<std::vector<int>> addressbookIds(CtListModelFilter::__makeTokenizeAddressbookList(string, ";"));
+ free(string);
+ for(auto iter = __addressbookList.begin(); iter != __addressbookList.end(); iter++) {
+ if (hasCondition == 0) { // display all
+ (*iter).second->display = true;
+ displayCount++;
+ continue;
+ }
+
+ if(std::find(addressbookIds->begin(), addressbookIds->end(), (*iter).first) != addressbookIds->end()) {
+ (*iter).second->display = true;
+ displayCount++;
+ }
+ else {
+ (*iter).second->display = false;
+ }
+
+ WDEBUG("addressbookid %d, display %d", (*iter).first, (*iter).second->display);
+ }
+ }
+
+ if(displayCount == 0) {
+ WDEBUG("show all");
+ for(auto iter = __addressbookList.begin(); iter != __addressbookList.end(); iter++) {
+ (*iter).second->display = true;
+ continue;
+ }
+ }
+}
+
+void CtListModelFilter::__setDisplayAddressbookAsAppcontrol(int addressbookId)
+{
+ WDEBUG("%d", addressbookId);
+
+ for(auto iter = __addressbookList.begin(); iter != __addressbookList.end(); iter++) {
+ if((*iter).first == addressbookId) {
+ (*iter).second->display = true;
+ }
+ else {
+ (*iter).second->display = false;
+ }
+ }
+}
+
+int addressbookId;
+int accountId;
+
+void CtListModelFilter::__setDisplayAddressbookWithoutSim()
+{
+ WHIT();
+ int displayCount = __getDisplayAddressbookCount();
+
+ for(auto iter = __addressbookList.begin(); iter != __addressbookList.end(); iter++) {
+ if ((*iter).second->accountId > 0 || (*iter).second->addressbookId == 0) {
+ if(displayCount == 0)
+ (*iter).second->display = true;
+ }
+ else {
+ (*iter).second->display = false;
+ }
+ }
+}
+
+void CtListModelFilter::__setDisplayAddressbookWithoutSimAndFacebook()
+{
+ WHIT();
+ int displayCount = __getDisplayAddressbookCount();
+
+ for(auto iter = __addressbookList.begin(); iter != __addressbookList.end(); iter++) {
+ if ((*iter).second->mode == 101) {
+ (*iter).second->display = false;
+ }
+ else {
+ if ((*iter).second->accountId > 0 || (*iter).second->addressbookId == 0) {
+ if(displayCount == 0)
+ (*iter).second->display = true;
+ }
+ else {
+ (*iter).second->display = false;
+ }
+ }
+ }
+}
+
+void CtListModelFilter::__setDisplayAddressbookWithoutFacebook()
+{
+ WHIT();
+ int displayCount = __getDisplayAddressbookCount();
+
+ for(auto iter = __addressbookList.begin(); iter != __addressbookList.end(); iter++) {
+ if ((*iter).second->mode != 101) {
+ if(displayCount == 0)
+ (*iter).second->display = true;
+ }
+ else {
+ (*iter).second->display = false;
+ }
+ }
+}
+
+void CtListModelFilter::__setDisplayAddressbookAll()
+{
+ WHIT();
+ for(auto iter = __addressbookList.begin(); iter != __addressbookList.end(); iter++) {
+ (*iter).second->display = true;
+ }
+}
+
+std::vector<int>* CtListModelFilter::__makeTokenizeAddressbookList(const char *originString, const char *delimiter)
+{
+ std::vector<int>* addressbookList(new std::vector<int>);
+ char *token = NULL;
+ char *copyString;
+ char *save;
+
+ if(!originString) {
+ WDEBUG("Input string is NULL");
+ delete addressbookList;
+ return NULL;
+ }
+
+ copyString = SAFE_STRDUP(originString);
+
+ if(copyString) {
+ token = strtok_r(copyString, delimiter, &save);
+
+ if(token)
+ WDEBUG("list item = %s", token);
+
+ while(token) {
+ //char *c = SAFE_STRDUP(p);
+ int id = atoi(token);
+
+ addressbookList->push_back(id);
+
+ token = strtok_r(NULL, delimiter, &save);
+
+ if(token)
+ WDEBUG("list item = %s", token);
+ }
+ free(copyString);
+ }
+ return addressbookList;
+}
+
+void CtListModelFilter::setDisplayAddressbook(int addressbookId, bool display)
+{
+ WDEBUG("addressbookId %d, display show %d", addressbookId, display);
+
+ if(__addressbookList.find(addressbookId) != __addressbookList.end()) {
+ __addressbookList[addressbookId]->display = display;
+ }
+ else
+ WERROR("no addressbook exist");
+}
+
+std::map<int, CtAddressbookInfo*>& CtListModelFilter::getAddressbookList()
+{
+ return __addressbookList;
+}
+
+bool CtListModelFilter::__getOpFromDataType(CtListDataType dataType)
+{
+ switch(dataType){
+ case LIST_DATA_DEFAULT :
+ case LIST_DATA_ALL_PERSON :
+ __listOp = CT_GET_LIST_ALL_PERSON;
+ break;
+
+ case LIST_DATA_PERSON_EXCEPT_SIM:
+ __listOp = CT_GET_LIST_ALL_PERSON_ADD_FAVORITE;
+ break;
+ case LIST_DATA_ALL_FAVORITES:
+ __listOp = CT_GET_LIST_ALL_PERSON_REMOVE_FAVORITE;
+ break;
+ case LIST_DATA_PERSON_WITH_NUMBER:
+ __listOp = CT_GET_LIST_ALL_PERSON_HAD_NUMBER;
+ break;
+ case LIST_DATA_PERSON_EXCEPT_FACEBOOK:
+ __listOp = CT_GET_LIST_ALL_PERSON;
+ __setDisplayAddressbookWithoutFacebook();
+ break;
+
+
+ default:
+ WERROR("Invalid dataType(%d)", dataType);
+ return false;
+ }
+
+ return true;
+}
+
+CtListWritableType CtListModelFilter::checkConditionWritable()
+{
+ if(__listOp == CT_GET_LIST_PERSON_OF_WRITABLE_EXCEPT_SIM)
+ return LIST_FILTER_WRITABLE_EXCEPT_SIM;
+ else if(__listOp == CT_GET_LIST_PERSON_OF_WRITABLE_ADDRBOOK_ID)
+ return LIST_FILTER_WRITABLE_ALL;
+
+ return LIST_FILTER_WRITABLE_READ_ONLY;
+}
diff --git a/lib-contact/ct-list/src/CtListModelFilter.h b/lib-contact/ct-list/src/CtListModelFilter.h
new file mode 100644
index 0000000..c0c8fbd
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModelFilter.h
@@ -0,0 +1,173 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_DATA_FILTER_H_
+#define __CT_LIST_DATA_FILTER_H_
+
+#include <vector>
+#include <map>
+
+#include "ContactsCommon.h"
+#include "ContactsDebug.h"
+
+#include "CtType.h"
+#include "CtListModelListener.h"
+
+enum { // this order affects to set list_op in ct_list_create_contact_view_with_info
+ CT_GET_LIST_ALL_PERSON = 0,
+
+ CT_GET_LIST_PERSON_OF_WRITABLE_EXCEPT_SIM = 4,
+ CT_GET_LIST_PERSON_OF_WRITABLE_ADDRBOOK_ID = 5,
+ CT_GET_LIST_PERSON_ASSIGNED_FAVORITE = 6,
+ CT_GET_LIST_PERSON_OF_BUSINESS_CARD = 7,
+
+ CT_GET_LIST_ALL_PERSON_HAD_NUMBER = 20,
+ CT_GET_LIST_ALL_PERSON_HAD_EMAIL = 21,
+ CT_GET_LIST_ALL_PERSON_HAD_NUMBER_OR_EMAIL = 22,
+ CT_GET_LIST_ALL_PERSON_ADD_FAVORITE = 23,
+ CT_GET_LIST_ALL_PERSON_REMOVE_FAVORITE = 24,
+ CT_GET_LIST_ALL_PERSON_REORDER_FAVORITE = 25,
+ CT_GET_LIST_ALL_PERSON_HAD_NUMBER_NO_EXIST = 26,
+ CT_GET_LIST_VCARD = 30,
+}; //list op
+
+enum {
+ CT_LIST_NORMAL = 0x00,
+ CT_LIST_NORMAL_CONTACT = 0x01,
+ CT_LIST_NORMAL_FAVORITE = 0x02,
+ CT_LIST_NORMAL_MEMBER = 0x03,
+ CT_LIST_NORMAL_SDN = 0x04,
+ CT_LIST_NORMAL_BUSINESS_CARDS = 0x05,
+
+ CT_LIST_SINGLE = 0x30,
+ CT_LIST_SINGLE_LINK = 0x31,
+ CT_LIST_SINGLE_RELATION = 0x32,
+
+ CT_LIST_SINGLE_UG = 0x50,
+
+ CT_LIST_MULTI = 0x70,
+ CT_LIST_MULTI_DELETE = 0x71,
+ CT_LIST_MULTI_ADD_MEMBER = 0x72,
+ CT_LIST_MULTI_REMOVE_MEMBER = 0x73,
+ CT_LIST_MULTI_ADD_FAVORITE = 0x74,
+ CT_LIST_MULTI_REMOVE_FAVORITE = 0x75,
+ CT_LIST_MULTI_REORDER_FAVORITE = 0x76,
+ CT_LIST_MULTI_EXPORT_TO_SIM = 0x77,
+ CT_LIST_MULTI_EXPORT_TO_VCARD = 0x78,
+ CT_LIST_MULTI_IMPORT_FROM_SIM = 0x79,
+ CT_LIST_MULTI_IMPORT_FROM_VCARD = 0x7A,
+ CT_LIST_MULTI_RECIPIENT_MESSAGE_INGROUP = 0x7B,
+ CT_LIST_MULTI_RECIPIENT_EMAIL_INGROUP = 0x7C,
+ CT_LIST_MULTI_SHARE = 0x7D,
+
+ CT_LIST_MULTI_UG = 0xA0,
+}; //view id
+
+typedef enum {
+ LIST_FILTER_WRITABLE_ALL,
+ LIST_FILTER_WRITABLE_EXCEPT_SIM,
+ LIST_FILTER_WRITABLE_READ_ONLY,
+}CtListWritableType;
+
+typedef enum {
+ LIST_VIEW_URI_TYPE_NONE,
+ LIST_VIEW_URI_TYPE_PERSON,
+ LIST_VIEW_URI_TYPE_PERSON_CONTACT,
+ LIST_VIEW_URI_TYPE_PERSON_USAGE,
+// LIST_VIEW_URI_TYPE_PERSON_BUSINESS_CARD,
+}CtListViewUriType;
+
+typedef enum {
+ LIST_HAS_NONE,
+ LIST_HAS_NUMBER,
+ LIST_HAS_EMAIL,
+ LIST_HAS_NUMBER_OR_EMAIL,
+}CtListHasType;
+
+typedef enum {
+ LIST_FAVORITE_NONE,
+ LIST_FAVORITE_SET,
+ LIST_FAVORITE_UNSET,
+}CtListFavoriteType;
+
+typedef enum {
+ LIST_PROJECTION_NONE,
+ LIST_PERSON_PROJECTION,
+ LIST_PERSON_SEARCH_PROJECTION,
+ LIST_PERSON_CONTACT_PROJECTION,
+ LIST_PERSON_GROUPREL_PROJECTION,
+ LIST_PERSON_GROUPNOTASSIGNED_PROJECTION,
+}CtListProjectionType;
+
+
+class CtListModelFilter
+{
+public:
+ CtListModelFilter(CtListHasType filterType);
+ CtListModelFilter(CtListDataType dataType);
+ virtual ~CtListModelFilter();
+
+public:
+ contacts_query_h getQuery(CtListQueryType queryType);
+
+ std::map<int, CtAddressbookInfo*>& getAddressbookList();
+ void setDisplayAddressbook(int addressbookId, bool display);
+ void setListHasType(CtListHasType hasType);
+ void attachListener(CtListModelListener *listener);
+ CtListWritableType checkConditionWritable();
+
+private:
+ bool __getOpFromDataType(CtListDataType dataType);
+ void __initialize(void);
+ void __initHasType();
+ bool __checkAddressbook() const;
+
+ CtListHasType __getListHasType() const;
+ CtListFavoriteType __getListFavoriteType() const;
+
+ void __initAddressbook();
+ int __getDisplayAddressbookCount();
+ void __setDisplayAddressbookAsPreference();
+ void __setDisplayAddressbookAsAppcontrol(int addressbookId);
+ void __setDisplayAddressbookWithoutSim();
+ void __setDisplayAddressbookWithoutSimAndFacebook();
+ void __setDisplayAddressbookWithoutFacebook();
+ void __setDisplayAddressbookAll();
+ static std::vector<int>* __makeTokenizeAddressbookList(const char *originString, const char *delimiter);
+
+ static void __onDisplayWithNumberChangedCb(const char *key, void *data);
+ static void __onDisplayAddressbookChangedCb(const char *key, void *data);
+
+private:
+ int __listOp;
+ int __selectedPersonId;
+ int __viewId;
+ int __ugRequest;
+ char* __ugData;
+ std::vector<int> excludePersonId;
+ std::map<int, bool> __addressbookIds;
+
+
+ CtListHasType __hasType;
+ bool __IsSearchQuery;
+
+ CtListModelListener *__listener;
+ std::map<int, CtAddressbookInfo*> __addressbookList;
+};
+
+#endif
+
diff --git a/lib-contact/ct-list/src/CtListModelGroup.cpp b/lib-contact/ct-list/src/CtListModelGroup.cpp
new file mode 100755
index 0000000..217d98c
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModelGroup.cpp
@@ -0,0 +1,419 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <contacts.h>
+
+#include "CtString.h"
+#include "ContactsDebug.h"
+#include "CtListModelGroup.h"
+
+CtListModelGroup::CtListModelGroup()
+{
+ WENTER();
+
+ __initialize();
+}
+
+CtListModelGroup::~CtListModelGroup()
+{
+ WENTER();
+
+ __groupDataList.clear();
+ __groupMemberDataList.clear();
+}
+
+
+std::shared_ptr< CtListDataPerson > CtListModelGroup::getAtPersonData(int index)
+{
+ if (index < (int)__groupMemberDataList.size()) {
+ return __groupMemberDataList[index];
+ }
+ else {
+ return NULL;
+ }
+}
+
+std::shared_ptr< CtListDataGroup > CtListModelGroup::getAtGroupData(int index)
+{
+ if (index < (int)__groupDataList.size()) {
+ return __groupDataList[index];
+ }
+ else {
+ return NULL;
+ }
+}
+
+int CtListModelGroup::getAvailableGroupCount(void)
+{
+ WENTER();
+
+ int count = 0;
+ int err = CONTACTS_ERROR_NONE;
+
+ contacts_query_h query = NULL;
+
+ unsigned int group_projection[] = {
+ _contacts_group_relation.group_id,
+ };
+
+ err = contacts_query_create(_contacts_group_relation._uri, &query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)", err);
+ err = contacts_query_set_projection(query, group_projection, sizeof(group_projection)/sizeof(int));
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_projection() Failed(%d)", err);
+ err = contacts_query_set_distinct(query, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_distinct() Failed(%d)", err);
+
+ err = contacts_db_get_count_with_query(query, &count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_records_with_query() Failed(%d)", err);
+
+ err = contacts_query_destroy(query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_destroy() Failed(%d)", err);
+
+ WDEBUG("count : %d", count);
+
+ return count;
+
+}
+
+int CtListModelGroup::getAvailableGroups(void)
+{
+ WENTER();
+
+ int offset = 0;
+ int limit = 0;
+ int err = CONTACTS_ERROR_NONE;
+
+ contacts_list_h list = NULL;
+ contacts_query_h query = NULL;
+
+ __groupDataList.clear();
+
+ err = contacts_query_create(_contacts_group_relation._uri, &query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)", err);
+ err = contacts_query_set_sort(query, _contacts_group_relation.name, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_sort() Failed(%d)", err);
+ err = contacts_query_set_distinct(query, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_distinct() Failed(%d)", err);
+
+ err = contacts_db_get_records_with_query(query, offset, limit, &list);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_records_with_query() Failed(%d)", err);
+
+ err = contacts_query_destroy(query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_destroy() Failed(%d)", err);
+
+ int count = 0;
+ err = contacts_list_get_count(list, &count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_count() Failed(%d)", err);
+
+ if(count > 0) {
+ count = __makeGroupListUnifiedByName(list, false);
+ }
+
+ WDEBUG("count : %d", count);
+
+ err = contacts_list_destroy(list, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)", err);
+
+ return count;
+}
+
+int CtListModelGroup::getAllMembersByGroupName(char* groupName)
+{
+ __groupMemberDataList.clear();
+
+ int err = CONTACTS_ERROR_NONE;
+ int offset = 0;
+ int limit = 0;
+
+ contacts_list_h list = NULL;
+ contacts_query_h query = NULL;
+
+ query = __getQuery(groupName);
+
+ err = contacts_db_get_records_with_query(query, offset, limit, &list);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_records_with_query() Failed(%d)", err);
+
+ err = contacts_query_destroy(query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_destroy() Failed(%d)", err);
+
+ int count = 0;
+ err = contacts_list_get_count(list, &count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_count() Failed(%d)", err);
+
+ if (count > 0) {
+ __makeMemberList(list);
+ }
+
+ err = contacts_list_destroy(list, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)", err);
+
+ return count;
+}
+
+void CtListModelGroup::__initialize(void)
+{
+ __groupDataList.clear();
+ __groupMemberDataList.clear();
+}
+
+contacts_query_h CtListModelGroup::__getQuery(char* groupName)
+{
+ unsigned int person_group_projection[] = {
+ _contacts_person_grouprel.person_id,
+ _contacts_person_grouprel.status,
+ _contacts_person_grouprel.display_name,
+ _contacts_person_grouprel.display_name_index,
+ _contacts_person_grouprel.addressbook_ids,
+ _contacts_person_grouprel.has_phonenumber,
+ _contacts_person_grouprel.image_thumbnail_path,
+ _contacts_person_grouprel.is_favorite,
+ };
+
+ contacts_query_h query = NULL;
+ contacts_filter_h filter = NULL;
+
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_query_create(_contacts_person_grouprel._uri, &query);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person_grouprel._uri, &filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+
+ std::vector<int> groupIds = __getGroupIdsByName(groupName);
+
+ bool isFirst = true;
+ for (auto iter = groupIds.begin(); iter != groupIds.end(); iter++) {
+ if (isFirst) {
+ isFirst = false;
+ }
+ else {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+ err = contacts_filter_add_int(filter, _contacts_person_grouprel.group_id, CONTACTS_MATCH_EQUAL, *iter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_int() Failed(%d)", err);
+ }
+
+ err = contacts_query_set_projection(query, person_group_projection, sizeof(person_group_projection)/sizeof(int));
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_projection() Failed(%d)", err);
+ err = contacts_query_set_distinct(query, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_distinct() Failed(%d)", err);
+ err = contacts_query_set_filter(query, filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_filter() Failed(%d)", err);
+
+ err = contacts_filter_destroy(filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_destroy() Failed(%d)", err);
+
+ groupIds.clear();
+
+ return query;
+}
+
+int CtListModelGroup::__makeGroupListUnifiedByName(contacts_list_h list, bool needNotList)
+{
+ WENTER();
+
+ WPRET_VM(list == NULL, 0, "list is NULL");
+
+ int err = CONTACTS_ERROR_NONE;
+ int groupCount = 0;
+
+ char* groupName = strdup("");
+
+ contacts_record_h recordGroup = NULL;
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(list, &recordGroup)) {
+ if (recordGroup){
+ char* currentName = NULL;
+
+ err = contacts_record_get_str_p(recordGroup, _contacts_group_relation.name, &currentName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ if ((SAFE_STRCMP(currentName, "") != 0 && SAFE_STRCMP(currentName, groupName)) == 0) {
+ err = contacts_list_next(list);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)", err);
+
+ continue;
+ }
+
+ if (needNotList == false) {
+ std::shared_ptr < CtListDataGroup > dataGroup (std::make_shared < CtListDataGroup > (recordGroup));
+ __groupDataList.push_back(dataGroup);
+ }
+
+ groupCount++;
+
+ if (groupName) {
+ free(groupName);
+ groupName = NULL;
+ }
+ groupName = SAFE_STRDUP(currentName);
+ }
+ err = contacts_list_next(list);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)", err);
+ }
+ if (groupName) {
+ free(groupName);
+ }
+
+ return groupCount;
+}
+
+int CtListModelGroup::__makeMemberList(contacts_list_h list)
+{
+ int memberCount = 0;
+ int err = CONTACTS_ERROR_NONE;
+
+ contacts_record_h recordMember = NULL;
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(list, &recordMember)) {
+ if (recordMember){
+ std::shared_ptr < CtListDataPerson > dataPerson (std::make_shared < CtListDataPerson > (recordMember));
+ __groupMemberDataList.push_back(dataPerson);
+ memberCount++;
+ }
+ err = contacts_list_next(list);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)", err);
+ }
+
+ return memberCount;
+}
+
+std::vector<int> CtListModelGroup::__getGroupIdsByName(char* groupName)
+{
+ std::vector<int> groupIds;
+ groupIds.clear();
+
+ int err = CONTACTS_ERROR_NONE;
+
+ contacts_filter_h filter = NULL;
+ contacts_query_h query = NULL;
+ contacts_list_h list = NULL;
+ contacts_record_h record = NULL;
+
+ unsigned int group_projection[] = {
+ _contacts_group.id,
+ _contacts_group.name,
+ };
+
+ err = contacts_filter_create(_contacts_group._uri, &filter);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, groupIds, "contactcs_filter_create() Failed(%d)", err);
+
+ // search records which have same name
+ err = contacts_filter_add_str(filter, _contacts_group.name, CONTACTS_MATCH_EXACTLY, groupName);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_filter_add_str() Failed(%d)", err);
+ contacts_filter_destroy(filter);
+
+ return groupIds;
+ }
+
+ // add filter for google default groups
+ if (SAFE_STRCMP(groupName, V_("IDS_PB_BODY_MY_CONTACTS")) == 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR);
+ WERROR("contacts_filter_add_operator() Failed(%d)", err);
+ err = contacts_filter_add_str(filter, _contacts_group.name, CONTACTS_MATCH_EXACTLY, "System Group: My Contacts");
+ WERROR("contacts_filter_add_str() Failed(%d)", err);
+ }
+ else if (SAFE_STRCMP(groupName, V_("IDS_PB_BODY_DEFAULT_GROUP_FRIENDS")) == 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR);
+ WERROR("contacts_filter_add_operator() Failed(%d)", err);
+ err = contacts_filter_add_str(filter, _contacts_group.name, CONTACTS_MATCH_EXACTLY, "System Group: Friends");
+ WERROR("contacts_filter_add_str() Failed(%d)", err);
+ }
+ else if (SAFE_STRCMP(groupName, V_("IDS_PB_BODY_DEFAULT_GROUP_FAMILY")) == 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR);
+ WERROR("contacts_filter_add_operator() Failed(%d)", err);
+ err = contacts_filter_add_str(filter, _contacts_group.name, CONTACTS_MATCH_EXACTLY, "System Group: Family");
+ WERROR("contacts_filter_add_str() Failed(%d)", err);
+ }
+ else if (SAFE_STRCMP(groupName, V_("IDS_PB_BODY_CO_WORKERS")) == 0) {
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR);
+ WERROR("contacts_filter_add_operator() Failed(%d)", err);
+ err = contacts_filter_add_str(filter, _contacts_group.name, CONTACTS_MATCH_EXACTLY, "System Group: Coworkers");
+ WERROR("contacts_filter_add_str() Failed(%d)", err);
+ }
+ if (CONTACTS_ERROR_NONE != err) {
+ contacts_filter_destroy(filter);
+
+ return groupIds;
+ }
+
+ err = contacts_query_create(_contacts_group._uri, &query);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_query_create() Failed(%d)", err);
+ contacts_filter_destroy(filter);
+
+ return groupIds;
+ }
+ err = contacts_query_set_filter(query, filter);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_query_set_filter() Failed(%d)", err);
+ contacts_filter_destroy(filter);
+ contacts_query_destroy(query);
+
+ return groupIds;
+ }
+ contacts_filter_destroy(filter);
+
+ err = contacts_query_set_projection(query, group_projection, sizeof(group_projection)/sizeof(int));
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_query_set_projection() Failed(%d)", err);
+ contacts_query_destroy(query);
+
+ return groupIds;
+ }
+
+ if (query == NULL) {
+ WERROR("query is NULL !!");
+ return groupIds;
+ }
+
+ err = contacts_db_get_records_with_query(query, 0, 0, &list);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_db_get_records_with_query() Failed(%d)", err);
+ contacts_query_destroy(query);
+ if(list)
+ contacts_list_destroy(list, true);
+ return groupIds;
+ }
+ contacts_query_destroy(query);
+
+ int count = 0;
+
+ contacts_list_get_count(list, &count);
+ if (0 == count) {
+ WERROR("no contact records found");
+ if(list)
+ contacts_list_destroy(list, true);
+ return groupIds;
+ }
+
+ int groupId = 0;
+
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(list, &record)) {
+ err = contacts_record_get_int(record, _contacts_group.id, &groupId);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int Failed(%d)", err);
+ break;
+ }
+
+ groupIds.push_back(groupId);
+ contacts_list_next(list);
+ }
+ contacts_list_destroy(list, true);
+
+ return groupIds;
+}
diff --git a/lib-contact/ct-list/src/CtListModelGroup.h b/lib-contact/ct-list/src/CtListModelGroup.h
new file mode 100755
index 0000000..e4f4616
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModelGroup.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_MODEL_GROUP_H_
+#define __CT_LIST_MODEL_GROUP_H_
+
+#include <contacts.h>
+#include <memory>
+#include <vector>
+
+#include "CtListDataPerson.h"
+#include "CtListDataGroup.h"
+
+class ICtChangeListener;
+
+class CtListModelGroup
+{
+public:
+ CtListModelGroup();
+ virtual ~CtListModelGroup();
+
+public:
+ int getAvailableGroupCount(void);
+ int getAvailableGroups(void);
+ std::shared_ptr< CtListDataGroup > getAtGroupData(int index);
+ std::shared_ptr< CtListDataPerson > getAtPersonData(int index);
+ int getAllMembersByGroupName(char* groupName);
+
+private:
+ void __initialize(void);
+ int __makeGroupListUnifiedByName(contacts_list_h list, bool needNotList);
+ contacts_query_h __getQuery(char* groupName);
+ int __makeMemberList(contacts_list_h list);
+ std::vector<int> __getGroupIdsByName(char* groupName);
+
+private:
+ std::vector<std::shared_ptr< CtListDataGroup >> __groupDataList;
+ std::vector<std::shared_ptr< CtListDataPerson >> __groupMemberDataList;
+};
+
+#endif // __CT_LIST_MODEL_GROUP_H_
diff --git a/lib-contact/ct-list/src/CtListModelLinkSuggest.cpp b/lib-contact/ct-list/src/CtListModelLinkSuggest.cpp
new file mode 100755
index 0000000..487237d
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModelLinkSuggest.cpp
@@ -0,0 +1,495 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <thread>
+#include <contacts.h>
+#include <algorithm>
+
+#include "ContactsDebug.h"
+#include "CtType.h"
+#include "ContactsCommon.h"
+#include "CtListDataPerson.h"
+#include "CtListModelLinkSuggest.h"
+
+CtListModelLinkSuggest::CtListModelLinkSuggest(const int selectedPersonId)
+: __listener(NULL)
+{
+ WENTER();
+
+ __listener = NULL;
+ __selectedName = NULL;
+ __selectedPersonId = selectedPersonId;
+
+ __nameQuery = NULL;
+ __emailQuery = NULL;
+ __numberQuery = NULL;
+
+ __nameList = NULL;
+ __emailList = NULL;
+ __numberList = NULL;
+
+ __setLinkContactData(__selectedPersonId);
+ __makeQuery();
+
+ __getQueryResult();
+ __makePersonList();
+
+
+}
+
+CtListModelLinkSuggest::~CtListModelLinkSuggest()
+{
+ WENTER();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_list_destroy(__nameList, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)", err);
+ err = contacts_list_destroy(__emailList, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)", err);
+ err = contacts_list_destroy(__numberList, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)", err);
+
+ err = contacts_query_destroy(__nameQuery);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_destroy() Failed(%d)", err);
+ err = contacts_query_destroy(__emailQuery);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_destroy() Failed(%d)", err);
+ err = contacts_query_destroy(__numberQuery);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_destroy() Failed(%d)", err);
+
+
+ for(auto iter = __vcSelectedNumber.begin(); iter != __vcSelectedNumber.end(); iter++) {
+ free(*iter);
+ }
+
+ for(auto iter = __vcSelectedEmail.begin(); iter != __vcSelectedEmail.end(); iter++) {
+ free(*iter);
+ }
+ __vcSelectedEmail.clear();
+ __vcSelectedNumber.clear();
+ __personDataList.clear();
+
+}
+
+int CtListModelLinkSuggest::getContactsCount(CtListQueryType queryType)
+{
+
+ return getPersonListCount(LIST_QUERY_DEFAULT);
+}
+
+int CtListModelLinkSuggest::getContacts(CtListQueryType queryType, CtGetContactsType syncType)
+{
+ if(queryType == LIST_QUERY_DEFAULT)
+ return __personDataList.size();
+ else
+ WERROR("wrong queryType %d", queryType);
+
+ return 0;
+}
+
+std::shared_ptr<CtListDataPerson> CtListModelLinkSuggest::getAtPersonData(int index, CtListQueryType queryType)
+{
+ if(queryType == LIST_QUERY_DEFAULT) {
+ if(index < (int)__personDataList.size())
+ return __personDataList[index].second;
+ else
+ return NULL;
+ }
+ else {
+ return NULL;
+ }
+}
+
+int CtListModelLinkSuggest::getPersonListCount(CtListQueryType queryType)
+{
+ WENTER();
+/*
+ int err = CONTACTS_ERROR_NONE;
+
+
+ int nameCount =0;
+ int numberCount =0;
+ int emailCount =0;
+
+
+ err = contacts_db_get_count_with_query(__nameQuery, &nameCount);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_count_with_query() Failed(%d)", err);
+ err = contacts_db_get_count_with_query(__numberQuery, &numberCount);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_count_with_query() Failed(%d)", err);
+ err = contacts_db_get_count_with_query(__emailQuery, &emailCount);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_count_with_query() Failed(%d)", err);
+*/
+ //todo
+ return __personDataList.size();
+}
+
+void CtListModelLinkSuggest::attachListener(ICtChangeListener* listener)
+{
+ WHIT();
+ __listener = listener;
+}
+
+void CtListModelLinkSuggest::__setLinkContactData(int personId)
+{
+ WENTER();
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h contactRecord = NULL;
+ contacts_record_h selectedRecord = NULL;
+ contacts_record_h nameRecord = NULL;
+ contacts_record_h emailRecord = NULL;
+ contacts_record_h numberRecord = NULL;
+ char *value = NULL;
+ int contactId =0;
+ int count =0;
+
+
+ err = contacts_db_get_record(_contacts_person._uri,personId, &selectedRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)", err);
+ err = contacts_record_get_int(selectedRecord, _contacts_person.display_contact_id, &contactId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ err = contacts_db_get_record(_contacts_contact._uri,contactId, &contactRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)", err);
+
+ err = contacts_record_get_child_record_at_p(contactRecord,_contacts_contact.name,0,&nameRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+ err = contacts_record_get_str(nameRecord,_contacts_name.first, &__selectedName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+
+ err = contacts_record_get_child_record_count(contactRecord,_contacts_contact.number,&count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+ for(int i = 0; i < (int)count ; i++){
+ err = contacts_record_get_child_record_at_p(contactRecord,_contacts_contact.number, i, &numberRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+ err = contacts_record_get_str(numberRecord,_contacts_number.number, &value);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+ __vcSelectedNumber.push_back(value);
+ }
+
+ err = contacts_record_get_child_record_count(contactRecord,_contacts_contact.email,&count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+ for(int i = 0; i < (int)count ; i++){
+ err = contacts_record_get_child_record_at_p(contactRecord,_contacts_contact.email, i, &emailRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_child_record_at_p() Failed(%d)", err);
+ err = contacts_record_get_str(emailRecord,_contacts_email.email, &value);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+ __vcSelectedEmail.push_back(value);
+ }
+
+}
+int CtListModelLinkSuggest::__makeQuery()
+{
+
+ contacts_filter_h filter = NULL;
+ int err = CONTACTS_ERROR_NONE;
+
+ unsigned int personProjection[] = {
+ _contacts_person.id,
+ _contacts_person.addressbook_ids,
+ _contacts_person.display_name,
+ _contacts_person.has_phonenumber,
+ _contacts_person.image_thumbnail_path,
+ _contacts_person.display_name_index,
+ _contacts_person.is_favorite,
+ };
+
+ unsigned int numberProjection[] = {
+ _contacts_person_number.person_id,
+ _contacts_person_number.display_name,
+ _contacts_person_number.display_contact_id,
+ _contacts_person_number.has_phonenumber,
+ _contacts_person_number.image_thumbnail_path,
+ _contacts_person_number.is_favorite,
+ _contacts_person_number.display_name_index,
+ };
+
+ unsigned int emailProjection[] = {
+ _contacts_person_email.person_id,
+ _contacts_person_email.display_name,
+ _contacts_person_email.display_contact_id,
+ _contacts_person_email.has_phonenumber,
+ _contacts_person_email.image_thumbnail_path,
+ _contacts_person_email.is_favorite,
+ _contacts_person_email.display_name_index,
+ };
+
+ if(__selectedName != NULL){
+ err = contacts_query_create(_contacts_person._uri, &__nameQuery);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person._uri, &filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ err = contacts_filter_add_str(filter, _contacts_person.display_name, CONTACTS_MATCH_CONTAINS, __selectedName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_str() Failed(%d)", err);
+ err = contacts_query_set_filter(__nameQuery, filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_filter() Failed(%d)", err);
+ err = contacts_query_set_projection(__nameQuery, personProjection, sizeof(personProjection)/sizeof(int));
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_projection() Failed(%d)", err);
+ err = contacts_filter_destroy(filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_destroy() Failed(%d)", err);
+ }
+
+ if(__vcSelectedNumber.size() > 0){
+ err = contacts_query_create(_contacts_person_number._uri, &__numberQuery);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person_number._uri, &filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ for(auto iter = __vcSelectedNumber.begin(); iter != __vcSelectedNumber.end(); iter++) {
+
+ if(iter != __vcSelectedNumber.begin()){
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+
+ err = contacts_filter_add_str(filter, _contacts_person_number.number, CONTACTS_MATCH_EXACTLY, *iter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_str() Failed(%d)", err);
+ }
+ err = contacts_query_set_filter(__numberQuery, filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "__list_create_filter_bool() Failed(%d)", err);
+ err = contacts_query_set_projection(__numberQuery, numberProjection, sizeof(numberProjection)/sizeof(int));
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_projection() Failed(%d)", err);
+ err = contacts_filter_destroy(filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_destroy() Failed(%d)", err);
+
+ }
+
+ if(__vcSelectedEmail.size() > 0){
+ err = contacts_query_create(_contacts_person_email._uri, &__emailQuery);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)", err);
+ err = contacts_filter_create(_contacts_person_email._uri, &filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_create() Failed(%d)", err);
+ for(auto iter = __vcSelectedEmail.begin(); iter != __vcSelectedEmail.end(); iter++) {
+
+ if(iter != __vcSelectedEmail.begin()){
+ err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_operator() Failed(%d)", err);
+ }
+
+ err = contacts_filter_add_str(filter, _contacts_person_email.email, CONTACTS_MATCH_EXACTLY, *iter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_add_str() Failed(%d)", err);
+ }
+ err = contacts_query_set_filter(__emailQuery, filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "__list_create_filter_bool() Failed(%d)", err);
+ err = contacts_query_set_projection(__emailQuery, emailProjection, sizeof(emailProjection)/sizeof(int));
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_query_set_projection() Failed(%d)", err);
+ err = contacts_filter_destroy(filter);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_filter_destroy() Failed(%d)", err);
+
+
+ }
+ return err;
+}
+
+int CtListModelLinkSuggest::__getQueryResult()
+{
+ WENTER();
+ int err = CONTACTS_ERROR_NONE;
+
+
+ int totalCount =0;
+ int count =0;
+
+ err = contacts_db_get_records_with_query(__nameQuery, 0, 0, &__nameList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_records_with_query() Failed(%d)", err);
+
+ err = contacts_db_get_records_with_query(__numberQuery, 0, 0, &__numberList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_records_with_query() Failed(%d)", err);
+
+ err = contacts_db_get_records_with_query(__emailQuery, 0, 0, &__emailList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_records_with_query() Failed(%d)", err);
+
+ err = contacts_list_get_count(__nameList, &count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_count() Failed(%d)", err);
+ totalCount += count;
+
+ err = contacts_list_get_count(__numberList, &count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_count() Failed(%d)", err);
+ totalCount += count;
+
+ err = contacts_list_get_count(__emailList, &count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_count() Failed(%d)", err);
+ totalCount += count;
+
+ if(totalCount > 0){
+ __makePersonList();
+ }
+ return err;
+
+}
+
+int CtListModelLinkSuggest::__makePersonList()
+{
+ contacts_record_h record = NULL;
+ int err = CONTACTS_ERROR_NONE;
+
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(__nameList, &record)) {
+ if(record){
+ std::shared_ptr<CtListDataPerson> dataPerson(std::make_shared<CtListDataPerson>(record));
+
+ int personId = 0;
+ err = contacts_record_get_int(record, _contacts_person.id, &personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ if (__selectedPersonId == personId) {
+ contacts_list_next(__nameList);
+ continue;
+ }
+ if(__selectedPersonId == personId) {
+ contacts_list_next(__nameList);
+ continue;
+ }
+ std::vector<std::pair<int, std::shared_ptr<CtListDataPerson>>>::iterator existIter = std::find_if( __personDataList.begin(), __personDataList.end(),
+ [personId](std::pair<int, std::shared_ptr<CtListDataPerson>> dataPerson)->bool {
+ if(dataPerson.first == personId) {
+ return true;
+ }
+ return false;
+ }
+ );
+ if(existIter != __personDataList.end()){
+ contacts_list_next(__nameList);
+ continue;
+ }
+ __personDataList.push_back(std::make_pair(dataPerson->getPersonId(), dataPerson));
+ }
+ err = contacts_list_next(__nameList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)", err);
+ }
+
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(__numberList, &record)) {
+ if(record){
+ std::shared_ptr<CtListDataPerson> dataPerson(std::make_shared<CtListDataPerson>(record));
+
+ int personId = 0;
+ err = contacts_record_get_int(record, _contacts_person_number.person_id, &personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ if (__selectedPersonId == personId) {
+ contacts_list_next(__numberList);
+ continue;
+ }
+ if(__selectedPersonId == personId) {
+ contacts_list_next(__numberList);
+ continue;
+ }
+
+ std::vector<std::pair<int, std::shared_ptr<CtListDataPerson>>>::iterator existIter = std::find_if( __personDataList.begin(), __personDataList.end(),
+ [personId](std::pair<int, std::shared_ptr<CtListDataPerson>> dataPerson)->bool {
+ if(dataPerson.first == personId) {
+ return true;
+ }
+ return false;
+ }
+ );
+ if(existIter != __personDataList.end()){
+ contacts_list_next(__numberList);
+ continue;
+ }
+ __personDataList.push_back(std::make_pair(dataPerson->getPersonId(), dataPerson));
+ }
+ err = contacts_list_next(__numberList);
+ }
+
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(__emailList, &record)) {
+ if(record){
+ std::shared_ptr<CtListDataPerson> dataPerson(std::make_shared<CtListDataPerson>(record));
+
+ int personId = 0;
+ err = contacts_record_get_int(record, _contacts_person_email.person_id, &personId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ if (__selectedPersonId == personId) {
+ contacts_list_next(__emailList);
+ continue;
+ }
+ if(__selectedPersonId == personId) {
+ contacts_list_next(__emailList);
+ continue;
+ }
+
+ std::vector<std::pair<int, std::shared_ptr<CtListDataPerson>>>::iterator existIter = std::find_if( __personDataList.begin(), __personDataList.end(),
+ [personId](std::pair<int, std::shared_ptr<CtListDataPerson>> dataPerson)->bool {
+ if(dataPerson.first == personId) {
+ return true;
+ }
+ return false;
+ }
+ );
+ if(existIter != __personDataList.end()){
+ contacts_list_next(__emailList);
+ continue;
+ }
+ __personDataList.push_back(std::make_pair(dataPerson->getPersonId(), dataPerson));
+ }
+ err = contacts_list_next(__emailList);
+ }
+
+
+ return 0;
+}
+
+void CtListModelLinkSuggest::setSelectedPersonId(int selectedPersonId)
+{
+ // empty
+}
+
+const char* CtListModelLinkSuggest::getSearchString(void)
+{
+ return NULL;
+}
+
+bool CtListModelLinkSuggest::setSearchString(char* search)
+{
+ return false;
+}
+
+void CtListModelLinkSuggest::getNumberSearchString(const std::shared_ptr<CtListDataPerson>& dataPerson, std::string &numberStr)
+{
+
+}
+
+int CtListModelLinkSuggest::getCheckedDataCount()
+{
+ return 0;
+}
+
+int CtListModelLinkSuggest::getLimitCount()
+{
+ return 0;
+}
+
+void CtListModelLinkSuggest::initialOriginalCheckedIdList()
+{
+}
+
+void CtListModelLinkSuggest::clearOriginalCheckedIdList()
+{
+}
+
+bool CtListModelLinkSuggest::checkIsSelectAllOnSearching()
+{
+ return false;
+}
+
+void CtListModelLinkSuggest::initialOriginalPersonDataListSize()
+{
+}
+
+void CtListModelLinkSuggest::clearOriginalPersonDataListSize()
+{
+}
+
+int CtListModelLinkSuggest::getOriginalPersonDataListSize()
+{
+ return 0;
+}
diff --git a/lib-contact/ct-list/src/CtListModelLinkSuggest.h b/lib-contact/ct-list/src/CtListModelLinkSuggest.h
new file mode 100644
index 0000000..73119a8
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModelLinkSuggest.h
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_MODEL_LINK_SUGGEST_H_
+#define __CT_LIST_MODEL_LINK_SUGGEST_H_
+
+#include <vector>
+#include <string>
+#include <functional>
+#include <contacts.h>
+#include <memory>
+#include <Ecore.h>
+#include <Elementary.h>
+
+#include "CtType.h"
+#include "CtCommon.h"
+#include "ContactsCommon.h"
+#include "CtListModel.h"
+#include "CtListDataPerson.h"
+
+class ICtChangeListener;
+
+class CtListModelLinkSuggest : public CtListModel
+{
+public:
+ CtListModelLinkSuggest(const int selectedPersonId);
+ virtual ~CtListModelLinkSuggest();
+
+public:
+ // CtListModel interfaces
+ virtual int getContactsCount(CtListQueryType queryType);
+ virtual int getContacts(CtListQueryType queryType, CtGetContactsType syncType);
+ virtual int cancelGetContacts() { return 0; }
+ virtual std::shared_ptr<CtListDataPerson> getAtPersonData(int index, CtListQueryType queryType);
+ virtual int getPersonListCount(CtListQueryType queryType);
+ virtual void attachListener(ICtChangeListener* listener);
+
+ virtual void setSelectedPersonId(int selectedPersonId);
+ virtual const char* getSearchString(void);
+ virtual bool setSearchString(char* search);
+ virtual void getNumberSearchString(const std::shared_ptr<CtListDataPerson>& dataPerson, std::string &numberStr);
+ virtual int getCheckedDataCount();
+ virtual int getLimitCount();
+ virtual int getCurrentLinkedCount() { return 0; }
+
+ void setOnLoadingCb(std::function<void (int, int)> loadingCb);
+ void resetLoadingCb();
+
+ std::vector<std::shared_ptr<CtListDataPerson>>* getCheckedDataList() const;
+
+ virtual void initialOriginalCheckedIdList();
+ virtual void clearOriginalCheckedIdList();
+ virtual bool checkIsSelectAllOnSearching();
+ virtual void initialOriginalPersonDataListSize();
+ virtual void clearOriginalPersonDataListSize();
+ virtual int getOriginalPersonDataListSize();
+
+private:
+ void __setLinkContactData(int personId);
+ int __makePersonList();
+ int __getQueryResult();
+ int __makeQuery();
+
+private:
+ ICtChangeListener* __listener;
+ std::vector<std::pair<int, std::shared_ptr<CtListDataPerson>>> __personDataList;
+
+ int __selectedPersonId;
+ char *__selectedName;
+ std::vector<char *>__vcSelectedEmail;
+ std::vector<char *>__vcSelectedNumber;
+
+ contacts_list_h __nameList;
+ contacts_list_h __emailList;
+ contacts_list_h __numberList;
+
+ contacts_query_h __nameQuery;
+ contacts_query_h __emailQuery;
+ contacts_query_h __numberQuery;
+
+};
+
+#endif
+
diff --git a/lib-contact/ct-list/src/CtListModelListener.h b/lib-contact/ct-list/src/CtListModelListener.h
new file mode 100644
index 0000000..1197773
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModelListener.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_LIST_MODEL_LISTENER_H_
+#define _CT_LIST_MODEL_LISTENER_H_
+
+class CtListModelListener
+{
+public:
+ virtual ~CtListModelListener(){};
+ virtual void onFilterChanged() = 0;
+};
+
+#endif // _CT_LIST_MODEL_LISTENER_H_
+
diff --git a/lib-contact/ct-list/src/CtListModelMergeContacts.cpp b/lib-contact/ct-list/src/CtListModelMergeContacts.cpp
new file mode 100755
index 0000000..5ec7a82
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModelMergeContacts.cpp
@@ -0,0 +1,689 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <map>
+#include <string>
+#include <list>
+#include <thread>
+#include <string.h>
+#include <contacts.h>
+#include "WView.h"
+#include "WToastPopup.h"
+#include "ContactsDebug.h"
+#include "CtType.h"
+#include "CtListModelMergeContacts.h"
+#include "CtCommon.h"
+
+__Group::~__Group()
+{
+}
+
+__Person::__Person()
+: personId(0)
+, addressbookMode(0)
+, addressbookId(0)
+, representative(false)
+,favorite(FALSE)
+, group(NULL)
+{
+}
+
+CtListModelMergeContacts::CtListModelMergeContacts()
+: __finder(NULL)
+, __canceled(false)
+, __resultCb(NULL)
+{
+ WHIT();
+
+ __simAddressbookIds[0] = -1;
+ __simAddressbookIds[1] = -1;
+ __initSimAddressbookIds();
+}
+
+CtListModelMergeContacts::~CtListModelMergeContacts()
+{
+ WHIT();
+ __canceled = true;
+
+ __finder->join();
+ delete __finder;
+}
+
+void CtListModelMergeContacts::findMergeCandidates(std::function<void ()> resultCb)
+{
+ if (__resultCb) {
+ return;
+ }
+
+ __resultCb = resultCb;
+
+ __finder = new std::thread([this]{
+
+ if (!__canceled)
+ __makeCandidatesByName(__personInfoMap);
+ if (!__canceled)
+ __makeCandidatesByEmail(__personInfoMap);
+ if (!__canceled)
+ __makeCandidatesByNumber(__personInfoMap);
+
+ __resultCb();
+ });
+}
+
+std::list<std::unique_ptr<__Group> >& CtListModelMergeContacts::getMergeCandidates()
+{
+ return __groups;
+}
+
+void CtListModelMergeContacts::lock()
+{
+ __lock.lock();
+}
+
+void CtListModelMergeContacts::unlock()
+{
+ __lock.unlock();
+}
+
+void CtListModelMergeContacts::__initSimAddressbookIds()
+{
+ int index = 0;
+ int addressbookId = 0;
+ int accountId = 0;
+ contacts_list_h addressbookList = NULL;
+ contacts_record_h addressbookRecord = NULL;
+
+ int ret = contacts_db_get_all_records(_contacts_address_book._uri, 0, 0, &addressbookList);
+ if(ret != CONTACTS_ERROR_NONE)
+ {
+ WWARNING("contacts_db_get_all_records() Failed(%d)", ret);
+ if(addressbookList)
+ contacts_list_destroy(addressbookList, true);
+ return;
+ }
+
+ while(contacts_list_get_current_record_p(addressbookList, &addressbookRecord) == CONTACTS_ERROR_NONE) {
+ ret = contacts_record_get_int(addressbookRecord, _contacts_address_book.id, &addressbookId);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ ret = contacts_record_get_int(addressbookRecord, _contacts_address_book.account_id, &accountId);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+
+ if (accountId == 0 && addressbookId != 0) {
+ if (index < 2)
+ __simAddressbookIds[index] = addressbookId;
+
+ index++;
+ }
+
+ contacts_list_next(addressbookList);
+ }
+ ret = contacts_list_destroy(addressbookList, true);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_list_get_count() Failed(%d)", ret);
+
+}
+
+bool CtListModelMergeContacts::__isSimAddressbook(int addressbookId)
+{
+ if (addressbookId == __simAddressbookIds[0] || addressbookId == __simAddressbookIds[1]) {
+ return true;
+ }
+
+ return false;
+}
+
+void CtListModelMergeContacts::__appendGroup(std::unique_ptr<__Group> group)
+{
+ lock();
+ __groups.push_back(move(group));
+ unlock();
+}
+
+void CtListModelMergeContacts::__makeCandidatesByName(std::map<int, __PersonInfo>& personInfoMap)
+{
+ WHIT();
+
+ unsigned int person_contact_projection[] = {
+ _contacts_person_contact.person_id,
+ _contacts_person_contact.display_name,
+ _contacts_person_contact.display_contact_id,
+ _contacts_person_contact.image_thumbnail_path,
+ _contacts_person_contact.addressbook_ids,
+ _contacts_person_contact.contact_id,
+ _contacts_person_contact.address_book_id,
+ _contacts_person_contact.address_book_mode,
+ _contacts_person_contact.is_favorite,
+ _contacts_person_contact.link_count
+ };
+
+ contacts_query_h query = NULL;
+ int ret = contacts_query_create(_contacts_person_contact._uri, &query);
+ WPRET_M(ret != CONTACTS_ERROR_NONE, "contacts_query_create() Failed(%d)", ret);
+
+ ret = contacts_query_set_projection(query, person_contact_projection, sizeof(person_contact_projection)/sizeof(int));
+ if (ret != CONTACTS_ERROR_NONE) {
+ WERROR("contacts_query_set_projection failed");
+ contacts_query_destroy(query);
+ return;
+ }
+
+ int addressbookMode = 0;
+ int personId = 0;
+ int contactId = 0;
+ int displayContactId = 0;
+ int addressbookId = 0;
+ int mergeCount = 0;
+ bool favorite = false;
+ char* displayName = NULL;
+ char* thumbnailPath = NULL;
+
+ std::unique_ptr<__Group> currentGroup;
+ std::unique_ptr<__Person> pendedPerson;
+
+ contacts_record_h personRecord = NULL;
+ contacts_list_h personList = NULL;
+ ret = contacts_db_get_records_with_query(query, 0, 0, &personList);
+ if (ret != CONTACTS_ERROR_NONE) {
+ WERROR("contacts_db_get_records_with_query failed");
+ contacts_query_destroy(query);
+ if(personList)
+ contacts_list_destroy(personList, true);
+ return;
+ }
+
+ while(contacts_list_get_current_record_p(personList, &personRecord) == CONTACTS_ERROR_NONE) {
+ if (__canceled)
+ break;
+
+ ret = contacts_record_get_int(personRecord, _contacts_person_contact.person_id, &personId);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ ret = contacts_record_get_int(personRecord, _contacts_person_contact.link_count, &mergeCount);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ ret = contacts_record_get_int(personRecord, _contacts_person_contact.address_book_mode, &addressbookMode);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ ret = contacts_record_get_int(personRecord, _contacts_person_contact.contact_id, &contactId);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ ret = contacts_record_get_int(personRecord, _contacts_person_contact.display_contact_id, &displayContactId);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ ret = contacts_record_get_bool(personRecord, _contacts_person_contact.is_favorite, &favorite);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ if (contactId != displayContactId) { // skip
+ contacts_list_next(personList);
+ continue;
+ }
+
+ ret = contacts_record_get_int(personRecord, _contacts_person_contact.address_book_id, &addressbookId);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ if (__isSimAddressbook(addressbookId)) {
+ contacts_list_next(personList);
+
+ __PersonInfo personInfo;
+ personInfo.grouped = false;
+ personInfo.inSimAddressbook = true;
+ personInfo.addressbookId = addressbookId;
+ personInfo.addressbookMode = addressbookMode;
+ personInfo.mergeCount = mergeCount;
+ personInfoMap[personId] = personInfo;
+
+ continue;
+ }
+
+ ret = contacts_record_get_str_p(personRecord, _contacts_person_contact.display_name, &displayName);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_str_p() Failed(%d)", ret);
+ ctCommonRemoveNewline(displayName);
+
+ if (displayName == NULL || strlen(displayName) == 0) {
+ contacts_list_next(personList);
+
+ __PersonInfo personInfo;
+ personInfo.grouped = false;
+ personInfo.inSimAddressbook = false;
+ personInfo.addressbookId = addressbookId;
+ personInfo.addressbookMode = addressbookMode;
+ personInfo.mergeCount = mergeCount;
+ personInfoMap[personId] = personInfo;
+
+ continue;
+ }
+
+ ret = contacts_record_get_str_p(personRecord, _contacts_person_contact.image_thumbnail_path, &thumbnailPath);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_str_p() Failed(%d)", ret);
+ std::unique_ptr<__Person> newPerson(new __Person());
+
+ newPerson->personId = personId;
+ newPerson->addressbookMode = addressbookMode;
+ newPerson->addressbookId = addressbookId;
+ newPerson->mergeCount = mergeCount;
+ newPerson->displayName = displayName;
+ newPerson->label = displayName;
+ newPerson->favorite = favorite;
+
+ if (thumbnailPath)
+ newPerson->thumbnail = thumbnailPath;
+
+ if (currentGroup == NULL) {
+ if (pendedPerson == NULL) {
+ pendedPerson = move(newPerson);
+ }
+ else {
+ if (newPerson->label == pendedPerson->label) {
+ __PersonInfo personInfo;
+
+ personInfo.grouped = true;
+ personInfo.inSimAddressbook = false;
+ personInfo.addressbookId = pendedPerson->addressbookId;
+ personInfo.addressbookMode = pendedPerson->addressbookMode;
+ personInfo.mergeCount = pendedPerson->mergeCount;
+
+ personInfoMap[pendedPerson->personId] = personInfo;
+
+ personInfo.grouped = true;
+ personInfo.inSimAddressbook = false;
+ personInfo.addressbookId = newPerson->addressbookId;
+ personInfo.addressbookMode = newPerson->addressbookMode;
+ personInfo.mergeCount = newPerson->mergeCount;
+
+ personInfoMap[newPerson->personId] = personInfo;
+
+ std::unique_ptr<__Group> newGroup(new __Group);
+
+ newGroup->label = newPerson->label;
+ newGroup->checkedCount = 0;
+
+ pendedPerson->representative = true;
+ newGroup->members.push_back(move(pendedPerson));
+ newGroup->members.push_back(move(newPerson));
+
+ currentGroup = move(newGroup);
+ }
+ else {
+ __PersonInfo personInfo;
+
+ personInfo.grouped = false;
+ personInfo.inSimAddressbook = false;
+ personInfo.addressbookId = pendedPerson->addressbookId;
+ personInfo.addressbookMode = pendedPerson->addressbookMode;
+ personInfo.mergeCount = pendedPerson->mergeCount;
+ personInfoMap[pendedPerson->personId] = personInfo;
+
+ pendedPerson = move(newPerson);
+ }
+ }
+ }
+ else {
+ if (currentGroup->label == newPerson->label) {
+ __PersonInfo personInfo;
+
+ personInfo.grouped = true;
+ personInfo.inSimAddressbook = false;
+ personInfo.addressbookId = newPerson->addressbookId;
+ personInfo.addressbookMode = newPerson->addressbookMode;
+ personInfo.mergeCount = newPerson->mergeCount;
+ personInfoMap[newPerson->personId] = personInfo;
+
+ currentGroup->members.push_back(move(newPerson));
+ }
+ else {
+ pendedPerson = move(newPerson);
+ __appendGroup(move(currentGroup));
+ }
+ }
+ contacts_list_next(personList);
+ }
+
+ if (currentGroup) {
+ __appendGroup(move(currentGroup));
+ }
+
+ if (pendedPerson) {
+ __PersonInfo personInfo;
+
+ personInfo.grouped = false;
+ personInfo.inSimAddressbook = false;
+ personInfo.addressbookId = pendedPerson->addressbookId;
+ personInfo.addressbookMode = pendedPerson->addressbookMode;
+ personInfo.mergeCount = pendedPerson->mergeCount;
+
+ personInfoMap[pendedPerson->personId] = personInfo;
+ }
+
+ contacts_query_destroy(query);
+ contacts_list_destroy(personList, true);
+
+ WHIT();
+}
+
+void CtListModelMergeContacts::__makeCandidatesByEmail(std::map<int, __PersonInfo>& personInfoMap)
+{
+ WHIT();
+
+ unsigned int contacts_person_email_projection[] = {
+ _contacts_person_email.person_id,
+ _contacts_person_email.display_name,
+ _contacts_person_email.image_thumbnail_path,
+ _contacts_person_email.email,
+ };
+
+ contacts_query_h query = NULL;
+
+ int personId = 0;
+ char* displayName = NULL;
+ char* thumbnailPath = NULL;
+ char* email = NULL;
+
+ std::unique_ptr<__Group> currentGroup;
+ std::unique_ptr<__Person> pendedPerson;
+
+ contacts_record_h personRecord = NULL;
+ contacts_list_h personList = NULL;
+
+ int ret = contacts_query_create(_contacts_person_email._uri, &query);
+ WPRET_M(ret != CONTACTS_ERROR_NONE, "contacts_query_create() Failed(%d)", ret);
+
+ ret = contacts_query_set_projection(query, contacts_person_email_projection, sizeof(contacts_person_email_projection)/sizeof(int));
+ if (ret != CONTACTS_ERROR_NONE) {
+ WERROR("contacts_query_set_projection failed");
+ contacts_query_destroy(query);
+ return;
+ }
+
+ ret = contacts_query_set_sort(query, _contacts_person_email.email, true);
+ if (CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_query_set_sort() Failed(%d)", ret);
+ contacts_query_destroy(query);
+ return;
+ }
+
+ ret = contacts_db_get_records_with_query(query, 0, 0, &personList);
+ if (ret != CONTACTS_ERROR_NONE) {
+ WERROR("contacts_db_get_records_with_query failed");
+ contacts_query_destroy(query);
+ if(personList)
+ contacts_list_destroy(personList, true);
+ return;
+ }
+
+ while(contacts_list_get_current_record_p(personList, &personRecord) == CONTACTS_ERROR_NONE) {
+ if (__canceled)
+ break;
+
+ ret = contacts_record_get_int(personRecord, _contacts_person_email.person_id, &personId);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ if (pendedPerson && pendedPerson->personId == personId) {
+ contacts_list_next(personList);
+ continue;
+ }
+
+ auto iter = personInfoMap.find(personId);
+ if (iter == personInfoMap.end()) { // person info does not exist
+ contacts_list_next(personList);
+ continue;
+ }
+
+ if (iter->second.grouped) { // already grouped
+ contacts_list_next(personList);
+ continue;
+ }
+
+ if (iter->second.inSimAddressbook) { // sim contact
+ contacts_list_next(personList);
+ continue;
+ }
+
+ ret = contacts_record_get_str_p(personRecord, _contacts_person_email.email, &email);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_str_p() Failed(%d)", ret);
+ if (email == NULL || strlen(email) == 0) {
+ contacts_list_next(personList);
+ continue;
+ }
+
+ ret = contacts_record_get_str_p(personRecord, _contacts_person_email.display_name, &displayName);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_str_p() Failed(%d)", ret);
+ if (displayName == NULL || strlen(displayName) == 0) {
+ contacts_list_next(personList);
+ continue;
+ }
+
+ ctCommonRemoveNewline(displayName);
+
+ ret = contacts_record_get_str_p(personRecord, _contacts_person_contact.image_thumbnail_path, &thumbnailPath);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_str_p() Failed(%d)", ret);
+
+ std::unique_ptr<__Person> newPerson(new __Person());
+
+ newPerson->personId = personId;
+ newPerson->addressbookId = personInfoMap[personId].addressbookId;
+ newPerson->addressbookMode = personInfoMap[personId].addressbookMode;
+ newPerson->mergeCount = personInfoMap[personId].mergeCount;
+ newPerson->displayName = displayName;
+ newPerson->label = email;
+
+ if (thumbnailPath)
+ newPerson->thumbnail = thumbnailPath;
+
+ if (currentGroup == NULL) {
+
+ if (pendedPerson == NULL) {
+ pendedPerson = move(newPerson);
+ }
+ else {
+ if (newPerson->label == pendedPerson->label) {
+ personInfoMap[pendedPerson->personId].grouped = true;
+ personInfoMap[newPerson->personId].grouped = true;
+
+ std::unique_ptr<__Group> newGroup(new __Group);
+
+ newGroup->label = newPerson->label;
+ newGroup->checkedCount = 0;
+
+ pendedPerson->representative = true;
+ newGroup->members.push_back(move(pendedPerson));
+ newGroup->members.push_back(move(newPerson));
+
+ currentGroup = move(newGroup);
+ }
+ else {
+ pendedPerson = move(newPerson);
+ }
+ }
+ }
+ else {
+ if (currentGroup->label == newPerson->label) {
+ personInfoMap[newPerson->personId].grouped = true;
+ currentGroup->members.push_back(move(newPerson));
+ }
+ else {
+ pendedPerson = move(newPerson);
+ __appendGroup(move(currentGroup));
+ }
+ }
+ contacts_list_next(personList);
+ }
+
+ if (currentGroup) {
+ __appendGroup(move(currentGroup));
+ }
+
+ contacts_query_destroy(query);
+ contacts_list_destroy(personList, true);
+
+ WHIT();
+}
+
+void CtListModelMergeContacts::__makeCandidatesByNumber(std::map<int, __PersonInfo>& personInfoMap)
+{
+ WHIT();
+ unsigned int contacts_person_number_projection[] = {
+ _contacts_person_number.person_id,
+ _contacts_person_number.display_name,
+ _contacts_person_number.image_thumbnail_path,
+ _contacts_person_number.number,
+ _contacts_person_number.type,
+ };
+
+ int personId = 0;
+ int type = 0;
+ char* displayName = NULL;
+ char* thumbnailPath = NULL;
+ char* number = NULL;
+
+ std::unique_ptr<__Group> currentGroup;
+ std::unique_ptr<__Person> pendedPerson;
+ contacts_query_h query = NULL;
+
+ int ret = contacts_query_create(_contacts_person_number._uri, &query);
+ WPRET_M(ret != CONTACTS_ERROR_NONE, "contacts_query_create() Failed(%d)", ret);
+
+ ret = contacts_query_set_projection(query, contacts_person_number_projection, sizeof(contacts_person_number_projection)/sizeof(int));
+ if (CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_query_set_projection() Failed(%d)", ret);
+ contacts_query_destroy(query);
+ return;
+ }
+
+ ret = contacts_query_set_sort(query, _contacts_person_number.number, true);
+ if (CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_query_set_sort() Failed(%d)", ret);
+ contacts_query_destroy(query);
+ return;
+ }
+
+ contacts_record_h personRecord = NULL;
+ contacts_list_h personList = NULL;
+ ret = contacts_db_get_records_with_query(query, 0, 0, &personList);
+ if(CONTACTS_ERROR_NONE != ret) {
+ WERROR("contacts_db_get_records_with_query() Failed(%d)", ret);
+ contacts_query_destroy(query);
+ if(personList)
+ contacts_list_destroy(personList, true);
+ return;
+ }
+
+ while(contacts_list_get_current_record_p(personList, &personRecord) == CONTACTS_ERROR_NONE) {
+ if (__canceled)
+ break;
+
+ ret = contacts_record_get_int(personRecord, _contacts_person_number.type, &type);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ if (CONTACTS_NUMBER_TYPE_WORK & type || CONTACTS_NUMBER_TYPE_FAX & type) {
+ WDEBUG("type: %d", type);
+ contacts_list_next(personList);
+ continue;
+ }
+
+ ret = contacts_record_get_int(personRecord, _contacts_person_number.person_id, &personId);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ if (pendedPerson && pendedPerson->personId == personId) {
+ contacts_list_next(personList);
+ continue;
+ }
+
+ auto iter = personInfoMap.find(personId);
+ if (iter == personInfoMap.end()) { // person info does not exist
+ contacts_list_next(personList);
+ continue;
+ }
+
+ if (iter->second.grouped) { // already grouped
+ contacts_list_next(personList);
+ continue;
+ }
+
+ if (iter->second.inSimAddressbook) { // sim contact
+ contacts_list_next(personList);
+ continue;
+ }
+
+ ret = contacts_record_get_str_p(personRecord, _contacts_person_number.number, &number);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_str_p() Failed(%d)", ret);
+ if (number == NULL || strlen(number) == 0) {
+ contacts_list_next(personList);
+ continue;
+ }
+
+ ret = contacts_record_get_str_p(personRecord, _contacts_person_number.display_name, &displayName);
+
+ ctCommonRemoveNewline(displayName);
+
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_str_p() Failed(%d)", ret);
+ if (displayName == NULL || strlen(displayName) == 0) {
+ contacts_list_next(personList);
+ continue;
+ }
+
+ ret = contacts_record_get_str_p(personRecord, _contacts_person_number.image_thumbnail_path, &thumbnailPath);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_str_p() Failed(%d)", ret);
+
+ std::unique_ptr<__Person> newPerson(new __Person());
+
+ newPerson->personId = personId;
+ newPerson->addressbookId = personInfoMap[personId].addressbookId;
+ newPerson->addressbookMode = personInfoMap[personId].addressbookMode;
+ newPerson->mergeCount = personInfoMap[personId].mergeCount;
+ newPerson->displayName = displayName;
+ newPerson->label = number;
+
+ if (thumbnailPath)
+ newPerson->thumbnail = thumbnailPath;
+
+ if (currentGroup == NULL) {
+
+ if (pendedPerson == NULL) {
+ pendedPerson = move(newPerson);
+ }
+ else {
+ if (newPerson->label == pendedPerson->label) {
+ personInfoMap[pendedPerson->personId].grouped = true;
+ personInfoMap[newPerson->personId].grouped = true;
+
+ std::unique_ptr<__Group> newGroup(new __Group);
+
+ newGroup->label = newPerson->label;
+ newGroup->checkedCount = 0;
+
+ pendedPerson->representative = true;
+ newGroup->members.push_back(move(pendedPerson));
+ newGroup->members.push_back(move(newPerson));
+
+ currentGroup = move(newGroup);
+ }
+ else {
+ pendedPerson = move(newPerson);
+ }
+ }
+ }
+ else {
+ if (currentGroup->label == newPerson->label) {
+ personInfoMap[newPerson->personId].grouped = true;
+ currentGroup->members.push_back(move(newPerson));
+ }
+ else {
+ pendedPerson = move(newPerson);
+ __appendGroup(move(currentGroup));
+ }
+ }
+ contacts_list_next(personList);
+ }
+
+ if (currentGroup) {
+ __appendGroup(move(currentGroup));
+ }
+
+ contacts_query_destroy(query);
+ contacts_list_destroy(personList, true);
+
+ WHIT();
+}
diff --git a/lib-contact/ct-list/src/CtListModelMergeContacts.h b/lib-contact/ct-list/src/CtListModelMergeContacts.h
new file mode 100644
index 0000000..8dbe802
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModelMergeContacts.h
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_MODEL_MERGE_CONTACTS_H_
+#define __CT_LIST_MODEL_MERGE_CONTACTS_H_
+
+#include <list>
+#include <thread>
+#include <memory>
+#include <mutex>
+
+class WView;
+
+struct __Group;
+
+struct __Person
+{
+ __Person();
+ int personId;
+ int addressbookMode;
+ int addressbookId;
+ int mergeCount;
+ std::string label;
+ std::string displayName;
+ std::string thumbnail;
+ bool representative;
+ bool favorite;
+ __Group* group;
+};
+
+struct __Group
+{
+ ~__Group();
+ std::string label;
+ int checkedCount;
+ std::list<std::unique_ptr<__Person> > members;
+ __Person* representative;
+};
+
+struct __PersonInfo
+{
+ bool inSimAddressbook;
+ bool grouped;
+ int addressbookId;
+ int addressbookMode;
+ int mergeCount;
+};
+
+class CtListModelMergeContacts
+{
+
+public:
+ CtListModelMergeContacts();
+ ~CtListModelMergeContacts();
+
+public:
+ void findMergeCandidates(std::function<void ()> resultCb);
+ std::list<std::unique_ptr<__Group> >& getMergeCandidates();
+
+ void lock();
+ void unlock();
+
+private:
+ void __appendGroup(std::unique_ptr<__Group>);
+ void __initSimAddressbookIds();
+ bool __isSimAddressbook(int addressbookId);
+
+ void __makeCandidatesByName(std::map<int, __PersonInfo>& personInfoMap);
+ void __makeCandidatesByEmail(std::map<int, __PersonInfo>& personInfoMap);
+ void __makeCandidatesByNumber(std::map<int, __PersonInfo>& personInfoMap);
+
+private:
+ int __simAddressbookIds[2];
+
+private:
+ int __numOfMergeableContact;
+ std::list<std::unique_ptr<__Group> > __groups;
+ std::map<int, __PersonInfo> __personInfoMap;
+ std::thread* __finder;
+ bool __canceled;
+ std::function<void ()> __resultCb;
+ std::mutex __lock;
+};
+
+#endif //__CT_LIST_MODEL_MERGE_CONTACTS_H_
+
diff --git a/lib-contact/ct-list/src/CtListModelVcard.cpp b/lib-contact/ct-list/src/CtListModelVcard.cpp
new file mode 100755
index 0000000..b1509b6
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModelVcard.cpp
@@ -0,0 +1,283 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <thread>
+#include <contacts.h>
+
+#include "ContactsDebug.h"
+#include "CtType.h"
+#include "ContactsCommon.h"
+#include "CtListDataPerson.h"
+#include "CtListModelVcard.h"
+
+CtListModelVcard::CtListModelVcard(const std::string& vcardPath)
+: __listener(NULL)
+, __parser(NULL)
+, __nQuery(false)
+, __vcardPath(vcardPath)
+, __loadedCount(0)
+, __totalCount(-1)
+, __realTotalCount(-1)
+, __onTerminating(false)
+{
+ WENTER();
+
+ __getVcardPathFromUri();
+ getPersonListCount(LIST_QUERY_DEFAULT);
+}
+
+CtListModelVcard::~CtListModelVcard()
+{
+ WENTER();
+
+ if (__parser) {
+ __onTerminating = true;
+ while (__parser) {
+ sleep(1);
+ }
+ }
+
+ __personDataList.clear();
+
+}
+
+int CtListModelVcard::getContactsCount(CtListQueryType queryType)
+{
+ return getPersonListCount(LIST_QUERY_DEFAULT);
+}
+
+int CtListModelVcard::getContacts(CtListQueryType queryType, CtGetContactsType syncType)
+{
+ WHIT();
+
+ if(queryType == LIST_QUERY_DEFAULT) {
+ if (__personDataList.size() == 0) {
+ __makePersonListFromVcard();
+ }
+
+ return __personDataList.size();
+ }
+ else
+ WERROR("wrong queryType %d", queryType);
+
+ return 0;
+}
+
+std::shared_ptr<CtListDataPerson> CtListModelVcard::getAtPersonData(int index, CtListQueryType queryType)
+{
+ if(queryType == LIST_QUERY_DEFAULT) {
+ if(index < (int)__personDataList.size()) {
+ return __personDataList[index];
+ }
+ else {
+ return NULL;
+ }
+ }
+ else
+ return NULL;
+}
+
+int CtListModelVcard::getPersonListCount(CtListQueryType queryType)
+{
+ WENTER();
+
+ if (__totalCount == -1) {
+ int err = contacts_vcard_get_entity_count(__vcardPath.c_str(), &__realTotalCount);
+ if (err != CONTACTS_ERROR_NONE) {
+ return 0;
+ }
+
+ __totalCount = __realTotalCount;
+
+ // show maximum 100 contacts
+ if (__totalCount > 100)
+ __totalCount = 100;
+
+ WDEBUG("real count %d", __realTotalCount);
+ }
+
+ return __totalCount;
+}
+
+void CtListModelVcard::attachListener(ICtChangeListener* listener)
+{
+ WHIT();
+ __listener = listener;
+}
+
+int CtListModelVcard::__makePersonListFromVcard()
+{
+ __nQuery = true;
+ contacts_vcard_parse_to_contact_foreach(__vcardPath.c_str(), __onEachContactInVcard, this);
+ __nQuery = false;
+
+ WDEBUG("total: %d, loaded: %d", __totalCount, __loadedCount);
+ if (__loadedCount == __totalCount)
+ {
+ return 0;
+ }
+
+ ecore_idler_add([](void* data)->Eina_Bool{
+ WHIT();
+ CtListModelVcard* self = static_cast<CtListModelVcard*>(data);
+
+ self->__loadedCount = 0;
+ self->__parser = ecore_thread_run([](void *data, Ecore_Thread *thread){ // run callback
+ CtListModelVcard* self = static_cast<CtListModelVcard*>(data);
+
+ contacts_vcard_parse_to_contact_foreach(self->__vcardPath.c_str(), __onEachContactInVcard, data);
+
+ },[](void *data, Ecore_Thread *thread){ // end callback
+ WHIT();
+ CtListModelVcard* self = static_cast<CtListModelVcard*>(data);
+ self->__parser = NULL;
+
+ if (self->__onTerminating)
+ return;
+
+ WDEBUG("listener:%x", self->__listener);
+ if (self->__listener) {
+ self->__listener->onCompleteGetContacts(20); // nquery
+ }
+ },[](void *data, Ecore_Thread *thread){
+ WHIT();
+ }, self);
+
+ return ECORE_CALLBACK_CANCEL;
+ }, this);
+
+ return 0;
+}
+
+bool CtListModelVcard::__onEachContactInVcard(contacts_record_h record, void *data)
+{
+ CtListModelVcard* self = static_cast<CtListModelVcard*>(data);
+ if (self->__onTerminating) {
+ WERROR("pending cancel statue...");
+ return false;
+ }
+
+ self->__loadedCount++;
+
+ if (self->__nQuery || self->__loadedCount > 20)
+ {
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h newRecord = NULL;
+ err = contacts_record_clone(record, &newRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_clone() Failed(%d)", err);
+ self->__personDataList.push_back(std::make_shared<CtListDataPerson>(newRecord));
+ }
+
+ if (self->__nQuery)
+ {
+ if (self->__loadedCount == 20)
+ {
+ WERROR("__loadedCount 20");
+ return false;
+ }
+ }
+
+ if (self->__loadedCount == self->__totalCount) {
+ self->__loadCompleteCb(self->__loadedCount, self->__totalCount, self->__realTotalCount > 100);
+ return false;
+ }
+
+ return true;
+}
+
+void CtListModelVcard::__getVcardPathFromUri(void)
+{
+ size_t position = 0;
+ std::string prefix("file://");
+
+ if ((position = __vcardPath.find(prefix)) != std::string::npos) {
+ __vcardPath.erase(position, prefix.length());
+ }
+
+ WDEBUG("vcard path is %s", __vcardPath.c_str());
+}
+
+void CtListModelVcard::setSelectedPersonId(int selectedPersonId)
+{
+ // empty
+}
+
+const char* CtListModelVcard::getSearchString(void)
+{
+ return NULL;
+}
+
+bool CtListModelVcard::setSearchString(char* search)
+{
+ return false;
+}
+
+void CtListModelVcard::getNumberSearchString(const std::shared_ptr<CtListDataPerson>& dataPerson, std::string &numberStr)
+{
+
+}
+
+int CtListModelVcard::getCheckedDataCount()
+{
+ return 0;
+}
+
+void CtListModelVcard::setOnLoadCompleteCb(std::function<void (int, int, bool)> loadCompleteCb)
+{
+ __loadCompleteCb = loadCompleteCb;
+}
+
+void CtListModelVcard::resetLoadCompleteCb()
+{
+ __loadCompleteCb = NULL;
+}
+
+void CtListModelVcard::__getMfcPersonList()
+{
+
+}
+
+bool CtListModelVcard::__makeUsagePersonList(contacts_list_h list)
+{
+ return true;
+}
+
+void CtListModelVcard::initialOriginalCheckedIdList()
+{
+}
+
+void CtListModelVcard::clearOriginalCheckedIdList()
+{
+}
+
+bool CtListModelVcard::checkIsSelectAllOnSearching()
+{
+ return false;
+}
+
+void CtListModelVcard::initialOriginalPersonDataListSize()
+{
+}
+
+void CtListModelVcard::clearOriginalPersonDataListSize()
+{
+}
+
+int CtListModelVcard::getOriginalPersonDataListSize()
+{
+ return 0;
+}
diff --git a/lib-contact/ct-list/src/CtListModelVcard.h b/lib-contact/ct-list/src/CtListModelVcard.h
new file mode 100644
index 0000000..1ff7783
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListModelVcard.h
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_MODEL_VCARD_H_
+#define __CT_LIST_MODEL_VCARD_H_
+
+#include <vector>
+#include <string>
+#include <functional>
+#include <contacts.h>
+#include <memory>
+#include <Ecore.h>
+#include <Elementary.h>
+
+#include "CtType.h"
+#include "CtCommon.h"
+#include "ContactsCommon.h"
+#include "CtListModel.h"
+#include "CtListDataPerson.h"
+
+class ICtChangeListener;
+
+class CtListModelVcard : public CtListModel
+{
+public:
+ CtListModelVcard(const std::string& vcardPath);
+ virtual ~CtListModelVcard();
+
+public:
+ // CtListModel interfaces
+ virtual int getContactsCount(CtListQueryType queryType);
+ virtual int getContacts(CtListQueryType queryType, CtGetContactsType syncType);
+ virtual int cancelGetContacts() { return 0; }
+ virtual std::shared_ptr<CtListDataPerson> getAtPersonData(int index, CtListQueryType queryType);
+ virtual int getPersonListCount(CtListQueryType queryType);
+ virtual void attachListener(ICtChangeListener* listener);
+
+ virtual void setSelectedPersonId(int selectedPersonId);
+ virtual const char* getSearchString(void);
+ virtual bool setSearchString(char* search);
+ virtual void getNumberSearchString(const std::shared_ptr<CtListDataPerson>& dataPerson, std::string &numberStr);
+ virtual int getCheckedDataCount();
+ virtual int getLimitCount() { return 0;}
+ virtual int getCurrentLinkedCount() { return 0; }
+
+ void setOnLoadCompleteCb(std::function<void (int, int, bool)> loadingCb);
+ void resetLoadCompleteCb();
+
+ std::vector<std::shared_ptr<CtListDataPerson>>* getCheckedDataList() const;
+ void __getMfcPersonList();
+ bool __makeUsagePersonList(contacts_list_h list);
+ void __getVcardPathFromUri(void);
+
+ virtual void initialOriginalCheckedIdList();
+ virtual void clearOriginalCheckedIdList();
+ virtual bool checkIsSelectAllOnSearching();
+ virtual void initialOriginalPersonDataListSize();
+ virtual void clearOriginalPersonDataListSize();
+ virtual int getOriginalPersonDataListSize();
+
+private:
+ int __makePersonListFromVcard();
+ static bool __onEachContactInVcard(contacts_record_h record, void *data);
+
+private:
+ ICtChangeListener* __listener;
+ Ecore_Thread* __parser;
+ bool __nQuery;
+ std::string __vcardPath;
+ std::vector<std::shared_ptr<CtListDataPerson>> __personDataList;
+ std::function<void (int count, int total, bool)> __loadCompleteCb;
+ int __loadedCount;
+ int __totalCount;
+ int __realTotalCount;
+ bool __onTerminating;
+};
+
+#endif
+
diff --git a/lib-contact/ct-list/src/CtListUgMultiPickController.cpp b/lib-contact/ct-list/src/CtListUgMultiPickController.cpp
new file mode 100644
index 0000000..d3e4101
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListUgMultiPickController.cpp
@@ -0,0 +1,903 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <vector>
+#include <thread>
+#include <Elementary.h>
+#include <app.h>
+#include <contacts.h>
+#include <app_preference.h>
+
+#include "WView.h"
+#include "WNaviframe.h"
+#include "WPopup.h"
+
+#include "ContactsDebug.h"
+#include "CtType.h"
+#include "CtListUgMultiPickController.h"
+#include "CtCommon.h"
+#include "CtContactsToVcard.h"
+#include "CtListView.h"
+#include "CtListModelDb.h"
+#include "CtProgressBarPopup.h"
+
+#define __ITEM_HEIGHT 96
+#define CHECKED_INFO_PAUSE_INTERVAL 200*1000
+
+
+CtListUgMultiPickController::CtListUgMultiPickController(CtListResultType resultType, CtListView *listView, CtListModelDb* listData)
+{
+ WHIT();
+ __listView = listView;
+ __linkedCount = 1;
+
+ __listModel = listData;
+ __ctrlType = LIST_CTRL_DEFAULT;
+ __selectedPersonData = NULL;
+
+ switch (resultType) {
+ case LIST_RESULT_ID:
+ __ctrlType = LIST_CTRL_REQUEST_CHECK_FOR_PERSON;
+ break;
+ case LIST_RESULT_NUMBER:
+ case LIST_RESULT_NUMBER_FOR_CALL:
+ case LIST_RESULT_NUMBER_FOR_MESSAGE:
+ __ctrlType = LIST_CTRL_REQUEST_CHECK_FOR_NUMBER;
+ break;
+ case LIST_RESULT_EMAIL:
+ __ctrlType = LIST_CTRL_REQUEST_CHECK_FOR_EMAIL;
+ break;
+ case LIST_RESULT_VCARD:
+ __ctrlType = LIST_CTRL_REQUEST_CHECK_FOR_VCARD;
+ break;
+ case LIST_RESULT_NUMBER_OR_EMAIL:
+ __ctrlType = LIST_CTRL_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL;
+ break;
+ }
+}
+
+CtListUgMultiPickController::~CtListUgMultiPickController()
+{
+ WHIT();
+
+ if(__selectedPersonData)
+ delete __selectedPersonData;
+
+}
+
+void CtListUgMultiPickController::__onSelectDataPopupItem(void *data, Evas_Object *obj, void *event_info)
+{
+ //WHIT();
+ CtListPopupItemData *popupItemData = (CtListPopupItemData*)data;
+ int personId = popupItemData->controller->__selectedPersonData->getPersonId();
+ Elm_Object_Item *seletedItem = popupItemData->controller->__listView->getGenlistItemByPersonId(personId);
+
+ popupItemData->controller->__listView->destroyPopup();
+ CtCheckState checkState = CHECK_OFF;
+ if(popupItemData->controller->__getCheckState(seletedItem) == CHECK_OFF)
+ checkState = CHECK_ON;
+ else
+ checkState = CHECK_OFF;
+
+ popupItemData->controller->__changeCheckState(seletedItem, checkState, true);
+
+ if(popupItemData->dataType == CT_LIST_DATA_NUMBER) {
+ popupItemData->controller->__setCheckedInfo(seletedItem, popupItemData->record, CT_LIST_DATA_NUMBER);
+
+ }
+ else if(popupItemData->dataType == CT_LIST_DATA_EMAIL) {
+ popupItemData->controller->__setCheckedInfo(seletedItem, popupItemData->record, CT_LIST_DATA_EMAIL);
+ }
+
+ elm_genlist_realized_items_update(popupItemData->controller->__listView->__genlist);
+}
+
+Evas_Object* CtListUgMultiPickController::__createDataListPopup(Elm_Object_Item *item, int dataType)
+{
+ CtListView::CtListDataItem* itemData = (CtListView::CtListDataItem*)elm_object_item_data_get(item);
+ WPRET_VM(itemData == NULL, NULL, "itemData is null");
+ Eina_List *numberList = NULL;
+ Eina_List *emailList = NULL;
+ if(dataType == CT_LIST_DATA_NUMBER)
+ numberList = __selectedPersonData->getNumberList();
+ else if(dataType == CT_LIST_DATA_EMAIL)
+ emailList = itemData->personData->getEmailList();
+ else if(dataType == CT_LIST_DATA_ALL) {
+ numberList = __selectedPersonData->getNumberList();
+ emailList = __selectedPersonData->getEmailList();
+ }
+ else {
+ WERROR("wrong dataType %d", dataType);
+ return NULL;
+ }
+
+ Eina_List *checked_numberList = NULL;
+ Eina_List *checked_emailList = NULL;
+ checked_numberList = ctCommonGetChekedDuplicatedNumberList(numberList);
+ checked_emailList = ctCommonGetChekedDuplicatedEmailList(emailList);
+
+ int count = eina_list_count(checked_numberList) + eina_list_count(checked_emailList);
+ WDEBUG("data count %d", count);
+ if(count == 1) {
+ ctCommonDestroyRecordList(checked_numberList);
+ ctCommonDestroyRecordList(checked_emailList);
+ return NULL;
+ }
+
+ Elm_Genlist_Item_Class* itc = elm_genlist_item_class_new();
+ if (!itc) {
+ WERROR("elm_genlist_item_class_new() failed");
+ ctCommonDestroyRecordList(checked_numberList);
+ ctCommonDestroyRecordList(checked_emailList);
+ return NULL;
+ }
+
+ itc->item_style = "type1";
+ itc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ CtListUgMultiPickController::CtListPopupItemData *popupItemData = (CtListUgMultiPickController::CtListPopupItemData*)data;
+ if(!strcmp(part, "elm.text")){
+ char *value = NULL;
+ if(popupItemData->dataType == CT_LIST_DATA_NUMBER)
+ contacts_record_get_str_p(popupItemData->record, _contacts_person_number.number, &value);
+ else if(popupItemData->dataType == CT_LIST_DATA_EMAIL)
+ contacts_record_get_str_p(popupItemData->record, _contacts_person_email.email, &value);
+ else
+ WPRET_VM(1, NULL, "wrong dataType %d", popupItemData->dataType);
+
+ if (value)
+ return SAFE_STRDUP(value);
+ else
+ return NULL;
+ }
+ return NULL;
+ };
+ itc->func.del = [](void* data, Evas_Object* obj)->void
+ {
+ CtListPopupItemData *popupItemData = (CtListPopupItemData*)data;
+ contacts_record_destroy(popupItemData->record, true);
+ delete popupItemData;
+ };
+
+ WPopup* popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle(itemData->personData->getDisplayName());
+ popup->setContent([this,itc,checked_numberList,checked_emailList,item](Evas_Object* parent)->Evas_Object*
+ {
+ Evas_Object* genlist = elm_genlist_add(parent);
+ elm_object_style_set( genlist, "popup" );
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_genlist_mode_set( genlist, ELM_LIST_COMPRESS );
+ elm_scroller_content_min_limit( genlist, EINA_FALSE, EINA_TRUE ); // Automatically pop-up height is calculated
+ elm_object_content_set(parent, genlist);
+
+ void *data = NULL;
+ int count = 0;
+ int err = CONTACTS_ERROR_NONE;
+ Eina_List *cursor;
+ EINA_LIST_FOREACH(checked_numberList, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+
+ CtListPopupItemData *popupItemData = new CtListPopupItemData;
+ err = contacts_record_clone(record, &popupItemData->record);
+ if(err != CONTACTS_ERROR_NONE)
+ {
+ WERROR("contacts_record_clone() Failed(%d)", err);
+ if(popupItemData->record)
+ contacts_record_destroy(popupItemData->record, true);
+ delete popupItemData;
+ break;
+ }
+ popupItemData->controller = this;
+ popupItemData->dataType = CT_LIST_DATA_NUMBER;
+
+ popupItemData->popupItem = elm_genlist_item_append(genlist, itc, (void*)popupItemData, NULL, ELM_GENLIST_ITEM_NONE, CtListUgMultiPickController::__onSelectDataPopupItem, popupItemData);
+ count++;
+ }
+ ctCommonDestroyRecordList(checked_numberList);
+
+ EINA_LIST_FOREACH(checked_emailList, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+
+ CtListPopupItemData *popupItemData = new CtListPopupItemData;
+ err = contacts_record_clone(record, &popupItemData->record);
+ if(err != CONTACTS_ERROR_NONE)
+ {
+ WERROR("contacts_record_clone() Failed(%d)", err);
+ delete popupItemData;
+ break;
+ }
+ popupItemData->controller = this;
+ popupItemData->dataType = CT_LIST_DATA_EMAIL;
+
+ popupItemData->popupItem = elm_genlist_item_append(genlist, itc, (void*)popupItemData, NULL, ELM_GENLIST_ITEM_NONE, CtListUgMultiPickController::__onSelectDataPopupItem, popupItemData);
+ count++;
+ }
+ ctCommonDestroyRecordList(checked_emailList);
+
+ evas_object_show(genlist);
+
+ return genlist;
+
+ });
+
+ __listView->attachPopup(popup);
+
+ elm_genlist_item_class_free(itc);
+
+ return popup->getEvasObj();
+}
+
+void CtListUgMultiPickController::__updateTitleAndDone()
+{
+ Elm_Object_Item *naviItem = elm_naviframe_top_item_get(__listView->getViewNaviframe());
+ Evas_Object *btn = elm_object_item_part_content_get(naviItem, "title_right_btn");
+
+ int checkedCount = __listModel->getCheckedDataCount();
+
+ if(btn) {
+ if(checkedCount > 0)
+ elm_object_disabled_set(btn, EINA_FALSE);
+ else
+ elm_object_disabled_set(btn, EINA_TRUE);
+ }
+
+ WDEBUG("%d, %d", checkedCount, __listModel->getPersonListCount(LIST_QUERY_DEFAULT));
+ //To avoid watchdog
+ if(checkedCount>500) {
+ if( checkedCount%500 == 1)
+ usleep(CHECKED_INFO_PAUSE_INTERVAL);
+ }
+
+ char buf[CT_TEXT_SHORT_LEN] = {0,};
+ if(__listModel->getLimitCount() == 0)
+ snprintf(buf, sizeof(buf), ctGetContactsString("IDS_PB_HEADER_PD_SELECTED_ABB3"), checkedCount);
+ else
+ snprintf(buf, sizeof(buf), "%d/%d", checkedCount, __listModel->getLimitCount());
+
+ elm_object_item_part_text_set(naviItem, "elm.text.title", buf);
+}
+
+bool CtListUgMultiPickController::__changeCheckState(Elm_Object_Item *item, CtCheckState checkState, bool updateTitleAndDone)
+{
+ WHIT();
+
+ Elm_Genlist_Item_Type item_type = elm_genlist_item_type_get(item);
+ if(item_type == ELM_GENLIST_ITEM_GROUP) {
+ return false;
+ }
+
+ CtListView::CtListDataItem* itemData = (CtListView::CtListDataItem*)elm_object_item_data_get(item);
+ WPRET_VM(itemData == NULL, false, "itemData is null");
+
+ Evas_Object* layout = elm_object_item_part_content_get(item,"elm.icon.2");
+ Evas_Object* check = elm_layout_content_get(layout, "elm.swallow.content");
+ elm_check_state_set(check, (Eina_Bool)checkState);
+
+ itemData->personData->setAsChecked((bool)checkState);
+ if(itemData->personData->isChecked() == true) {
+ __listModel->pushCheckedData(itemData->personData);
+ __linkedCount += itemData->personData->getLinkedCount();
+ }
+ else {
+ __listModel->removeCheckedData(itemData->personData);
+ __linkedCount -= itemData->personData->getLinkedCount();
+ }
+
+
+/*
+ Elm_Object_Item *naviItem = elm_naviframe_top_item_get(__listView->getViewNaviframe());
+ Evas_Object *btn = elm_object_item_part_content_get(naviItem, "title_right_btn");
+
+ if(btn) {
+ if(checkedCount > 0)
+ elm_object_disabled_set(btn, EINA_FALSE);
+ else
+ elm_object_disabled_set(btn, EINA_TRUE);
+ }
+
+ WDEBUG("%d, %d", checkedCount, __listModel->getPersonListCount(LIST_QUERY_DEFAULT));
+ //To avoid watchdog
+ if(checkedCount>500) {
+ if( checkedCount%500 == 1)
+ usleep(CHECKED_INFO_PAUSE_INTERVAL);
+ }
+*/
+
+ if(__listView->__selectAllObj) {
+ if (__listModel->getSearchString()) {
+ if (__listModel->checkIsSelectAllOnSearching()) {
+ __listView->__selectAllState = CHECK_ON;
+ }
+ else {
+ __listView->__selectAllState = CHECK_OFF;
+ }
+ }
+ else {
+ int checkedCount = __listModel->getCheckedDataCount();
+ int maxCount = __listModel->getPersonListCount(LIST_QUERY_DEFAULT);
+ WDEBUG("%d, %d", checkedCount, maxCount);
+
+ if(checkedCount == maxCount) {
+ WDEBUG("check select all");
+ elm_check_state_set(__listView->__selectAllObj, EINA_TRUE);
+ __listView->__selectAllState = CHECK_ON;
+ }
+ else {
+ elm_check_state_set(__listView->__selectAllObj, EINA_FALSE);
+ __listView->__selectAllState = CHECK_OFF;
+ }
+ }
+ }
+/*
+ char buf[CT_TEXT_SHORT_LEN] = {0,};
+ if(__listModel->getLimitCount() == 0)
+ snprintf(buf, sizeof(buf), ctGetContactsString("IDS_PB_HEADER_PD_SELECTED_ABB3"), checkedCount);
+ else
+ snprintf(buf, sizeof(buf), "%d/%d", checkedCount, __listModel->getLimitCount());
+
+ elm_object_item_part_text_set(naviItem, "elm.text.title", buf);
+*/
+
+ if (updateTitleAndDone) {
+ __updateTitleAndDone();
+ }
+
+
+ return itemData->personData->isChecked();
+}
+
+CtCheckState CtListUgMultiPickController::__getCheckState(Elm_Object_Item *item)
+{
+ WHIT();
+
+ CtListView::CtListDataItem* itemData = (CtListView::CtListDataItem*)elm_object_item_data_get(item);
+ WPRET_VM(itemData == NULL, CHECK_OFF, "itemData is null");
+
+ return (CtCheckState)itemData->personData->isChecked();
+}
+
+void CtListUgMultiPickController::__setCheckedInfo(Elm_Object_Item *item, contacts_record_h record, CtListItemDataType dataType)
+{
+ CtListView::CtListDataItem* itemData = (CtListView::CtListDataItem*)elm_object_item_data_get(item);
+ WPRET_M(itemData == NULL, "itemData is null");
+ int dataId = 0;
+ char *dataString = NULL;
+ int err = CONTACTS_ERROR_NONE;
+
+ switch(dataType) {
+ case CT_LIST_DATA_PERSON:
+ itemData->personData->setDataId(itemData->personData->getPersonId());
+ itemData->personData->setDataString(itemData->personData->getDisplayName());
+ itemData->personData->setDataType((int)dataType);
+ break;
+ case CT_LIST_DATA_NUMBER:
+ err = contacts_record_get_int(record, _contacts_person_number.number_id, &dataId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ err = contacts_record_get_str_p(record, _contacts_person_number.number, &dataString);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ itemData->personData->setDataId(dataId);
+ itemData->personData->setDataString(dataString);
+ itemData->personData->setDataType((int)dataType);
+ break;
+ case CT_LIST_DATA_EMAIL:
+ err = contacts_record_get_int(record, _contacts_person_email.email_id, &dataId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ err = contacts_record_get_str_p(record, _contacts_person_email.email, &dataString);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ itemData->personData->setDataId(dataId);
+ itemData->personData->setDataString(dataString);
+ itemData->personData->setDataType((int)dataType);
+ break;
+ case CT_LIST_DATA_VCARD:
+ break;
+ default:
+ WERROR("wring data type %d", dataType);
+ break;
+ }
+
+}
+
+void CtListUgMultiPickController::onSelectItem(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState)
+{
+ //WHIT();
+ Elm_Object_Item *item = selectedItem;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ CtListView::CtListDataItem* itemData = (CtListView::CtListDataItem*)elm_object_item_data_get(item);
+
+ if(__selectedPersonData)
+ delete __selectedPersonData;
+ __selectedPersonData = itemData->personData->makeClone();
+
+ WDEBUG("__ctrlType %d", __ctrlType);
+
+ if(checkState == __getCheckState(item))
+ return;
+
+ if(checkState == CHECK_ON) {
+ int checkedNum = 0;
+
+ checkedNum = __listModel->getCheckedDataCount()+1;
+
+ if(__checkLimitCount(checkedNum, __listModel->getLimitCount()) == true)
+ return;
+ }
+
+ switch(__ctrlType){
+ case LIST_CTRL_REQUEST_CHECK_FOR_VCARD:
+ {
+ __changeCheckState(item, checkState, true);
+ }
+ break;
+ case LIST_CTRL_REQUEST_CHECK_FOR_LINK_CONTACTS:
+ {
+ if(checkState == CHECK_ON) {
+ const int currentContactLinkedCount = __listModel->getCurrentLinkedCount();
+ const int checkedContactLinkedCount = itemData->personData->getLinkedCount();
+ if(__checkMaxLinkCount(currentContactLinkedCount, checkedContactLinkedCount) == true)
+ return;
+ }
+
+ if(__changeCheckState(item, checkState, true) == true) {
+ __setCheckedInfo(item, NULL, CT_LIST_DATA_PERSON);
+ }
+ }
+ break;
+ case LIST_CTRL_REQUEST_CHECK_FOR_PERSON:
+ {
+ if(__changeCheckState(item, checkState, true) == true) {
+ __setCheckedInfo(item, NULL, CT_LIST_DATA_PERSON);
+ }
+ }
+ break;
+ case LIST_CTRL_REQUEST_CHECK_FOR_NUMBER:
+ {
+ if(checkState == CHECK_OFF) {
+ __changeCheckState(item, checkState, true);
+ break;
+ }
+
+ if(__createDataListPopup(item, CT_LIST_DATA_NUMBER) == NULL) {
+ if(__changeCheckState(item, checkState, true) == true) {
+ Eina_List *cursor = NULL;
+ void *data = NULL;
+ Eina_List *dataList = __selectedPersonData->getNumberList();
+ EINA_LIST_FOREACH(dataList, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ __setCheckedInfo(item, record, CT_LIST_DATA_NUMBER);
+ break;
+ }
+ }
+ }
+ }
+ break;
+ case LIST_CTRL_REQUEST_CHECK_FOR_EMAIL:
+ {
+ if(checkState == CHECK_OFF) {
+ __changeCheckState(item, checkState, true);
+ break;
+ } else if(checkState == CHECK_ON){
+ Evas_Object* layout = elm_object_item_part_content_get(item,"elm.icon.2");
+ Evas_Object* check = elm_layout_content_get(layout, "elm.swallow.content");
+ elm_check_state_set(check, EINA_FALSE);
+ }
+
+ if(__createDataListPopup(item, CT_LIST_DATA_EMAIL) == NULL) {
+ if(__changeCheckState(item, checkState, true) == true) {
+ Eina_List *cursor = NULL;
+ void *data = NULL;
+ Eina_List *dataList = __selectedPersonData->getEmailList();
+ EINA_LIST_FOREACH(dataList, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ __setCheckedInfo(item, record, CT_LIST_DATA_EMAIL);
+ break;
+ }
+ }
+ }
+ }
+ break;
+ case LIST_CTRL_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL:
+ {
+ if(checkState == CHECK_OFF) {
+ __changeCheckState(item, checkState, true);
+ break;
+ } else if(checkState == CHECK_ON){
+ Evas_Object* layout = elm_object_item_part_content_get(item,"elm.icon.2");
+ Evas_Object* check = elm_layout_content_get(layout, "elm.swallow.content");
+ elm_check_state_set(check, EINA_FALSE);
+ }
+
+ if(__createDataListPopup(item, CT_LIST_DATA_ALL) == NULL) {
+ if(__changeCheckState(item, checkState, true) == true) {
+
+ Eina_List *cursor = NULL;
+ void *data = NULL;
+ Eina_List *dataList = __selectedPersonData->getNumberList();
+ if(dataList == NULL) {
+ dataList = __selectedPersonData->getEmailList();
+ EINA_LIST_FOREACH(dataList, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ __setCheckedInfo(item, record, CT_LIST_DATA_EMAIL);
+ break;
+ }
+ }
+ else {
+ EINA_LIST_FOREACH(dataList, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ __setCheckedInfo(item, record, CT_LIST_DATA_NUMBER);
+ break;
+ }
+ }
+ }
+ }
+ }
+ break;
+ default:
+ WWARNING("Not handled type=%d", __ctrlType);
+ break;
+ }
+
+ elm_genlist_realized_items_update(view->__genlist);
+}
+
+void CtListUgMultiPickController::onSelectDone(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+
+ switch(__ctrlType){
+ case LIST_CTRL_REQUEST_CHECK_FOR_VCARD:
+ case LIST_CTRL_REQUEST_CHECK_FOR_PERSON:
+ case LIST_CTRL_REQUEST_CHECK_FOR_NUMBER:
+ case LIST_CTRL_REQUEST_CHECK_FOR_EMAIL:
+ case LIST_CTRL_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL:
+ case LIST_CTRL_REQUEST_CHECK_FOR_LINK_CONTACTS:
+ __doReplyCheckedInfo();
+ break;
+ default:
+ break;
+ }
+}
+
+
+void CtListUgMultiPickController::onSelectCancel(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ __listView->sendMultiResult(NULL, 0);
+ __listView->popOut();
+}
+
+void CtListUgMultiPickController::onSelectBack(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ __listView->sendMultiResult(NULL, 0);
+}
+
+void CtListUgMultiPickController::onSwipeLeftItem(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+}
+
+
+void CtListUgMultiPickController::onSwipeRightItem(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+}
+
+void CtListUgMultiPickController::onSelectCheckAll(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState)
+{
+ WHIT();
+
+ Elm_Object_Item *item = selectedItem;
+ if (item)
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ Evas_Object *genlist = view->__genlist;
+ int checkedCount = __listModel->getCheckedDataCount();
+ int limitCount = __listModel->getLimitCount();
+ int maxCount = __listModel->getPersonListCount(LIST_QUERY_DEFAULT);
+
+ if (limitCount > 0 && limitCount < maxCount && checkState == CHECK_ON) {
+ __checkLimitCount(maxCount, limitCount);
+ return;
+ }
+
+ WDEBUG("select all %d", checkState);
+ if (!item) {
+ item = elm_genlist_first_item_get(genlist);
+ if(view->__searchbarItem) {
+ item = elm_genlist_item_next_get(view->__searchbarItem);
+ }
+ }
+
+ while(item) {
+ if(item == view->__selectAllItem) {
+ item = elm_genlist_item_next_get(item);
+ continue;
+ }
+ Elm_Genlist_Item_Type item_type = elm_genlist_item_type_get(item);
+ if(item_type == ELM_GENLIST_ITEM_GROUP) {
+ item = elm_genlist_item_next_get(item);
+ continue;
+ }
+
+ if(__checkItem(item, view, checkState) == false) {
+ WDEBUG("already checked");
+ item = elm_genlist_item_next_get(item);
+ continue;
+ }
+ checkedCount++;
+
+ item = elm_genlist_item_next_get(item);
+ }
+
+ __updateTitleAndDone();
+
+ WHIT();
+ elm_genlist_realized_items_update(genlist);
+}
+
+void CtListUgMultiPickController::moreManageFavoritesItemOperation()
+{
+ WHIT();
+}
+
+bool CtListUgMultiPickController::__checkItem(Elm_Object_Item *item, CtListView *view, CtCheckState checkState)
+{
+ //WHIT();
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ CtListView::CtListDataItem* itemData = (CtListView::CtListDataItem*)elm_object_item_data_get(item);
+ WPRET_VM(itemData == NULL, false, "itemData is null");
+ WDEBUG("__ctrlType %d", __ctrlType);
+
+ if(checkState == __getCheckState(item))
+ return false;
+
+ if(checkState == CHECK_ON) {
+ int checkedNum = 0;
+
+ checkedNum = __listModel->getCheckedDataCount()+1;
+
+ if(__checkLimitCount(checkedNum, __listModel->getLimitCount()) == true)
+ return false;
+ }
+
+ switch(__ctrlType){
+ case LIST_CTRL_REQUEST_CHECK_FOR_VCARD:
+ {
+ __changeCheckState(item, checkState, false);
+ }
+ break;
+ case LIST_CTRL_REQUEST_CHECK_FOR_LINK_CONTACTS:
+ case LIST_CTRL_REQUEST_CHECK_FOR_PERSON:
+ {
+ if(__changeCheckState(item, checkState, false) == true) {
+ __setCheckedInfo(item, NULL, CT_LIST_DATA_PERSON);
+ }
+ }
+ break;
+ case LIST_CTRL_REQUEST_CHECK_FOR_NUMBER:
+ {
+ if(checkState == CHECK_OFF) {
+ __changeCheckState(item, checkState, false);
+ break;
+ }
+
+ if(__changeCheckState(item, checkState, false) == true) {
+ Eina_List *cursor = NULL;
+ void *data = NULL;
+ Eina_List *dataList = itemData->personData->getNumberList();
+ EINA_LIST_FOREACH(dataList, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ __setCheckedInfo(item, record, CT_LIST_DATA_NUMBER);
+ break;
+ }
+ }
+ }
+ break;
+ case LIST_CTRL_REQUEST_CHECK_FOR_EMAIL:
+ {
+ if(checkState == CHECK_OFF) {
+ __changeCheckState(item, checkState, false);
+ break;
+ } else if(checkState == CHECK_ON){
+ Evas_Object* layout = elm_object_item_part_content_get(item,"elm.icon.2");
+ Evas_Object* check = elm_layout_content_get(layout, "elm.swallow.content");
+ elm_check_state_set(check, EINA_FALSE);
+ }
+
+ if(__changeCheckState(item, checkState, false) == true) {
+ Eina_List *cursor = NULL;
+ void *data = NULL;
+ Eina_List *dataList = itemData->personData->getEmailList();
+ EINA_LIST_FOREACH(dataList, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ __setCheckedInfo(item, record, CT_LIST_DATA_EMAIL);
+ break;
+ }
+ }
+ }
+ break;
+ case LIST_CTRL_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL:
+ {
+ if(checkState == CHECK_OFF) {
+ __changeCheckState(item, checkState, false);
+ break;
+ } else if(checkState == CHECK_ON){
+ Evas_Object* layout = elm_object_item_part_content_get(item,"elm.icon.2");
+ Evas_Object* check = elm_layout_content_get(layout, "elm.swallow.content");
+ elm_check_state_set(check, EINA_FALSE);
+ }
+
+ if(__changeCheckState(item, checkState, false) == true) {
+ Eina_List *cursor = NULL;
+ void *data = NULL;
+ Eina_List *dataList = itemData->personData->getNumberList();
+ if(dataList == NULL) {
+ dataList = itemData->personData->getEmailList();
+ EINA_LIST_FOREACH(dataList, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ __setCheckedInfo(item, record, CT_LIST_DATA_EMAIL);
+ break;
+ }
+ }
+ else {
+ EINA_LIST_FOREACH(dataList, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+ __setCheckedInfo(item, record, CT_LIST_DATA_NUMBER);
+ break;
+ }
+ }
+ }
+ }
+ break;
+ default:
+ WWARNING("Not handled type=%d", __ctrlType);
+ break;
+ }
+
+ elm_genlist_realized_items_update(view->__genlist);
+
+ return true;
+}
+
+
+bool CtListUgMultiPickController::__checkLimitCount(int checkCount, int limitCount)
+{
+ WHIT();
+
+ if(limitCount == 0)
+ return false;
+
+ if(limitCount < checkCount) {
+ WPopup* popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle("IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB");
+ char buf[CT_TEXT_MAX_LEN] = {0,};
+ snprintf(buf, sizeof(buf), ctGetContactsString("IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"), __listModel->getLimitCount());
+ popup->setContent(buf);
+ popup->addButton("IDS_PB_BUTTON_OK_ABB2", NULL );
+
+ WDEBUG("limitcount %d, checkcount %d", limitCount, checkCount);
+ __listView->attachPopup(popup);
+ return true;
+ }
+
+ return false;
+}
+
+bool CtListUgMultiPickController::__checkMaxLinkCount(const int currentContactLinkedCount, const int checkedContactLinkedCount)
+{
+ WHIT();
+ int sumOfCheckedContactLinkCount = 0;
+
+ std::unique_ptr<std::vector<std::shared_ptr<CtListDataPerson>>> checkedDatas(__listModel->getCheckedDataList());
+ int checkedDataCount = checkedDatas->size();
+ if (checkedDataCount) {
+ for(auto iter = checkedDatas->begin();iter != checkedDatas->end();++iter) {
+ sumOfCheckedContactLinkCount += (*iter)->getLinkedCount();
+ }
+ }
+
+ WDEBUG("current %d checked %d total%d", currentContactLinkedCount, checkedContactLinkedCount, sumOfCheckedContactLinkCount);
+ if(currentContactLinkedCount+checkedContactLinkedCount+sumOfCheckedContactLinkCount <= 10)
+ return false;
+
+ WPopup* popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle("IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB");
+ char buf[CT_TEXT_MAX_LEN] = {0,};
+ snprintf(buf, sizeof(buf), ctGetContactsString("IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"), 10);
+ popup->setContent(buf);
+ popup->addButton("IDS_PB_BUTTON_OK_ABB2", NULL );
+
+ __listView->attachPopup(popup);
+ return true;
+}
+
+void CtListUgMultiPickController::__doReplyCheckedInfo()
+{
+ WENTER();
+ if(__ctrlType == LIST_CTRL_REQUEST_CHECK_FOR_VCARD) {
+ __vcardReplyCheckedInfo();
+ return;
+ }
+
+ std::unique_ptr<std::vector<std::shared_ptr<CtListDataPerson>>> checkedData(__listModel->getCheckedDataList());
+ int checkedDataCount = checkedData->size();
+ if (checkedDataCount == 0) {
+ WERROR("no checked item");
+ return;
+ }
+
+ char **resultArray = new char*[checkedDataCount];
+ char **result = resultArray;
+
+ for (auto &&data : *checkedData) {
+ int dataId = 0;
+ if (data->getDataType() == CT_LIST_DATA_PERSON) {
+ dataId = data->getPersonId();
+ } else {
+ dataId = data->getDataId();
+ }
+
+ char buf[CT_TEXT_SHORT_LEN] = { 0, };
+ snprintf(buf, sizeof(buf), "%d", dataId);
+ *result++ = strdup(buf);
+ }
+
+ __listView->sendMultiResult((const char**) resultArray, checkedDataCount);
+ for (int i = 0; i < checkedDataCount; ++i) {
+ free(resultArray[i]);
+ }
+
+ delete [] resultArray;
+ __listView->popOut();
+}
+
+void CtListUgMultiPickController::__vcardReplyCheckedInfo()
+{
+ std::unique_ptr<std::vector<std::shared_ptr<CtListDataPerson>>> checkedData(__listModel->getCheckedDataList());
+ WPRET_M(!checkedData, "checkedData is null");
+ int checkedDataCount = checkedData->size();
+ WPRET_M(!checkedDataCount, "checkedDataCount is null");
+
+ std::vector<int> personIdList;
+ CtContactsToVcard *vcard = NULL;
+
+ personIdList.reserve(checkedDataCount);
+ for (auto &item : *checkedData) {
+ personIdList.push_back(item->getPersonId());
+ }
+
+ vcard = new CtContactsToVcard("Pick contacts", TargetStorage::INTERNAL_OTHER, std::move(personIdList));
+ vcard->setOnFinish(std::bind(&CtListUgMultiPickController::__sendVcardResult, this, std::placeholders::_1));
+
+ __listView->attachPopup(vcard->getProgressPopup());
+
+ vcard->run();
+}
+
+void CtListUgMultiPickController::__sendVcardResult(CtProgressController& controller)
+{
+ CtContactsToVcard &vcard = static_cast<CtContactsToVcard&>(controller);
+ const char *vcardPath = vcard.getVcardPath().c_str();
+
+ __listView->sendMultiResult(&vcardPath, 1);
+ __listView->popOut();
+}
diff --git a/lib-contact/ct-list/src/CtListUgMultiPickController.h b/lib-contact/ct-list/src/CtListUgMultiPickController.h
new file mode 100644
index 0000000..98b2f06
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListUgMultiPickController.h
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_UG_MULTI_PICK_CONTROLLER_H_
+#define __CT_LIST_UG_MULTI_PICK_CONTROLLER_H_
+
+#include "WPopup.h"
+
+#include "ContactsCommon.h"
+#include "CtListView.h"
+#include "CtType.h"
+#include "CtListController.h"
+#include "CtListDataPerson.h"
+
+
+class CtListView;
+class CtListModelDb;
+class CtProgressController;
+class CtListUgMultiPickController : public CtListController
+{
+public:
+ CtListUgMultiPickController(CtListResultType resultType, CtListView *listView, CtListModelDb* listData);
+ CtListUgMultiPickController(CtListCtrlType ctrlType, CtListView *listView, CtListModelDb* listData);
+ virtual ~CtListUgMultiPickController();
+
+public:
+ virtual void onListUpdated() {};
+ virtual void onSelectItem(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState);
+ virtual void onSelectDone(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectBack(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectCancel(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSwipeLeftItem(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSwipeRightItem(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectCheckAll(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState);
+ virtual void moreManageFavoritesItemOperation();
+ virtual void onSelectMenu(CtListView *view) {}
+
+
+private:
+ typedef struct {
+ CtListUgMultiPickController *controller;
+
+ contacts_record_h record;
+ Elm_Object_Item *popupItem;
+ int dataType;
+ }CtListPopupItemData;
+
+
+private:
+ void __doReplyCheckedInfo();
+ bool __checkLimitCount(int checkCount, int limitCount);
+ bool __checkMaxLinkCount(const int currentContactLinkedCount, const int checkedContactLinkedCount);
+ bool __checkItem(Elm_Object_Item *item, CtListView *view, CtCheckState checkState);
+ void __vcardReplyCheckedInfo();
+ void __sendVcardResult(CtProgressController &controller);
+
+
+private:
+ //for check for data
+ static void __onSelectDataPopupItem(void *data, Evas_Object *obj, void *event_info);
+
+ void __updateTitleAndDone();
+ bool __changeCheckState(Elm_Object_Item *item, CtCheckState checkState, bool updateTitleAndDone);
+ static CtCheckState __getCheckState(Elm_Object_Item *item);
+ Evas_Object* __createDataListPopup(Elm_Object_Item *item, int dataType);
+ void __setCheckedInfo(Elm_Object_Item *item, contacts_record_h record, CtListItemDataType dataType);
+private:
+ CtListUgMultiPickController();
+private:
+ CtListView* __listView;
+ CtListModelDb* __listModel;
+ CtListCtrlType __ctrlType;
+ //use for child data copy
+ CtListDataPerson *__selectedPersonData;
+ int __linkedCount;
+};
+
+#endif //__CT_LIST_UG_MULTI_PICK_CONTROLLER_H_
+
diff --git a/lib-contact/ct-list/src/CtListUgSinglePickController.cpp b/lib-contact/ct-list/src/CtListUgSinglePickController.cpp
new file mode 100755
index 0000000..035da2c
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListUgSinglePickController.cpp
@@ -0,0 +1,394 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <fcntl.h>
+#include <vector>
+#include <thread>
+#include <Elementary.h>
+#include <app.h>
+#include <contacts.h>
+#include <glib.h>
+#include <app_preference.h>
+
+#include "WView.h"
+#include "WNaviframe.h"
+#include "WPopup.h"
+
+#include "ContactsDebug.h"
+#include "CtType.h"
+#include "CtListUgSinglePickController.h"
+#include "CtListDataPerson.h"
+#include "CtCommon.h"
+#include "CtListView.h"
+#include "CtListModelDb.h"
+#include "CtProgressBarPopup.h"
+#include "CtNumberPopup.h"
+
+#define __ITEM_HEIGHT 96
+
+
+CtListUgSinglePickController::CtListUgSinglePickController(CtListResultType resultType, CtListView *listView, CtListModelDb* listData)
+{
+ WHIT();
+ __listView = listView;
+ __idler = NULL;
+ __selectedPersonData = NULL;
+ __listModel = listData;
+ __resultType = resultType;
+}
+
+CtListUgSinglePickController::~CtListUgSinglePickController()
+{
+ WHIT();
+
+ if(__idler)
+ ecore_idler_del(__idler);
+ __idler = NULL;
+
+ if(__selectedPersonData)
+ delete __selectedPersonData;
+}
+
+Eina_Bool CtListUgSinglePickController::__doReplyIdle(void* data)
+{
+ CtListUgSinglePickController *controller = (CtListUgSinglePickController*)data;
+ CtListDataPerson *personData = controller->__selectedPersonData;
+
+ switch(controller->__resultType) {
+ case LIST_RESULT_ID:
+ case LIST_RESULT_VCARD:
+ controller->__doReplySelectedInfo(personData);
+ break;
+ case LIST_RESULT_NUMBER:
+ if(controller->__createDataListPopup(personData, CT_LIST_DATA_NUMBER) == NULL)
+ controller->__doReplySelectedInfo(personData);
+ break;
+ case LIST_RESULT_EMAIL:
+ if(controller->__createDataListPopup(personData, CT_LIST_DATA_EMAIL) == NULL)
+ controller->__doReplySelectedInfo(personData);
+ break;
+ case LIST_RESULT_NUMBER_OR_EMAIL:
+ if(controller->__createDataListPopup(personData, CT_LIST_DATA_ALL) == NULL)
+ controller->__doReplySelectedInfo(personData);
+ break;
+ default:
+ WERROR("wrong control type");
+ break;
+ }
+
+ controller->__idler = NULL;
+ return EINA_FALSE;
+}
+
+void CtListUgSinglePickController::onSelectItem(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState)
+{
+ WHIT();
+
+ elm_genlist_item_selected_set(selectedItem, EINA_FALSE);
+ CtListView::CtListDataItem* itemData = (CtListView::CtListDataItem*)elm_object_item_data_get(selectedItem);
+ if(__selectedPersonData)
+ delete __selectedPersonData;
+ __selectedPersonData = itemData->personData->makeClone();
+
+ __idler = ecore_idler_add(__doReplyIdle, this);
+}
+
+void CtListUgSinglePickController::onSelectCreate(void *data, Evas_Object *obj, void *event_info)
+{
+ __listView->sendSingleResult("0", LIST_RESULT_ID);
+ __listView->popOut();
+}
+
+void CtListUgSinglePickController::onSelectDone(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+}
+
+
+void CtListUgSinglePickController::onSelectCancel(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+}
+
+void CtListUgSinglePickController::onSelectBack(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+
+ __listView->sendSingleResult(nullptr, LIST_RESULT_ID);
+}
+
+void CtListUgSinglePickController::onSwipeLeftItem(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+}
+
+
+void CtListUgSinglePickController::onSwipeRightItem(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+}
+
+void CtListUgSinglePickController::onSelectCheckAll(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState)
+{
+ WHIT();
+}
+
+void CtListUgSinglePickController::moreManageFavoritesItemOperation()
+{
+ WHIT();
+}
+
+
+void CtListUgSinglePickController::__doReplySelectedInfo(CtListDataPerson* personData)
+{
+ WENTER();
+
+ switch(__resultType) {
+ case LIST_RESULT_ID:
+ {
+ char buf[CT_TEXT_SHORT_LEN] = {0, };
+ snprintf(buf, sizeof(buf), "%d", personData->getPersonId());
+ __listView->sendSingleResult(buf, __resultType);
+ }
+ break;
+ case LIST_RESULT_NUMBER_OR_EMAIL:
+ case LIST_RESULT_NUMBER:
+ case LIST_RESULT_EMAIL:
+ {
+ char buf[CT_TEXT_SHORT_LEN] = {0, };
+ snprintf(buf, sizeof(buf), "%d", personData->getDataId());
+ __listView->sendSingleResult(buf, (CtListResultType) personData->getDataType());
+ }
+ break;
+ case LIST_RESULT_VCARD:
+ {
+ std::string vcardPath = createVcardFile(personData->getPersonRecord());
+ __listView->sendSingleResult(vcardPath.c_str(), __resultType);
+ }
+ break;
+ default:
+ break;
+ }
+
+ __listView->popOut();
+}
+
+Evas_Object* CtListUgSinglePickController::__createDataListPopup(CtListDataPerson *personData, int dataType)
+{
+ WDEBUG("dataType %d", dataType);
+
+ Eina_List *numberList = NULL;
+ Eina_List *emailList = NULL;
+ Eina_List *checked_numberList = NULL;
+ Eina_List *checked_emailList = NULL;
+ int dataId = 0;
+ int err = CONTACTS_ERROR_NONE;
+ if(dataType & CT_LIST_DATA_NUMBER) {
+ numberList = personData->getNumberList();
+ checked_numberList = ctCommonGetChekedDuplicatedNumberList(numberList);
+ }
+
+ if(dataType & CT_LIST_DATA_EMAIL) {
+ emailList = personData->getEmailList();
+ checked_emailList = ctCommonGetChekedDuplicatedEmailList(emailList);
+ }
+
+ if(eina_list_count(checked_numberList) == 1 && eina_list_count(checked_emailList) == 0) {
+ char *dataString = NULL;
+ err = contacts_record_get_int((contacts_record_h)eina_list_nth(checked_numberList, 0), _contacts_person_number.number_id, &dataId);
+ WPWARN(err != CONTACTS_ERROR_NONE, "contacts_record_get_int() fail(%d)",err);
+ err = contacts_record_get_str_p((contacts_record_h)eina_list_nth(checked_numberList, 0), _contacts_person_number.number, &dataString);
+ WPWARN(err != CONTACTS_ERROR_NONE, "contacts_record_get_str_p() fail(%d)",err);
+
+ personData->setDataId(dataId);
+ personData->setDataString(dataString);
+ personData->setDataType(LIST_RESULT_NUMBER);
+ ctCommonDestroyRecordList(checked_numberList);
+
+ if (__resultType == LIST_RESULT_NUMBER_OR_EMAIL) {
+ return __createNumberPopup(personData);
+ }
+
+ return NULL;
+ } else if(eina_list_count(checked_numberList) == 0 && eina_list_count(checked_emailList) == 1) {
+ err = contacts_record_get_int((contacts_record_h)eina_list_nth(checked_emailList, 0), _contacts_person_email.email_id, &dataId);
+ WPWARN(err != CONTACTS_ERROR_NONE, "contacts_record_get_int() fail(%d)",err);
+
+ personData->setDataId(dataId);
+ personData->setDataType(LIST_RESULT_EMAIL);
+ ctCommonDestroyRecordList(checked_emailList);
+
+ return NULL;
+ }
+
+ Elm_Genlist_Item_Class* itc = elm_genlist_item_class_new();
+ if (!itc) {
+ WERROR("elm_genlist_item_class_new() failed");
+ ctCommonDestroyRecordList(checked_numberList);
+ ctCommonDestroyRecordList(checked_emailList);
+ return NULL;
+ }
+
+ itc->item_style = "type1";
+ itc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ CtListUgSinglePickController::CtListPopupItemData *popupItemData = (CtListUgSinglePickController::CtListPopupItemData*)data;
+ if(!strcmp(part, "elm.text")){
+ char *value = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ if(popupItemData->dataType == CT_LIST_DATA_NUMBER){
+ err = contacts_record_get_str_p(popupItemData->record, _contacts_person_number.number, &value);
+ WPWARN(err != CONTACTS_ERROR_NONE, "contacts_record_get_str_p() fail(%d)",err);
+ }
+ else if(popupItemData->dataType == CT_LIST_DATA_EMAIL){
+ err = contacts_record_get_str_p(popupItemData->record, _contacts_person_email.email, &value);
+ WPWARN(err != CONTACTS_ERROR_NONE, "contacts_record_get_str_p() fail(%d)",err);
+ }
+ else
+ WPRET_VM(1, NULL, "wrong dataType %d", popupItemData->dataType);
+
+ if (value)
+ return SAFE_STRDUP(value);
+ else
+ return NULL;
+ }
+ return NULL;
+ };
+ itc->func.del = [](void* data, Evas_Object* obj)->void
+ {
+ CtListPopupItemData *popupItemData = (CtListPopupItemData*)data;
+ contacts_record_destroy(popupItemData->record, true);
+ delete popupItemData;
+ };
+
+ WPopup* popup = new WPopup();
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle(personData->getDisplayName());
+ popup->setContent([this,itc,checked_numberList,checked_emailList](Evas_Object* parent)->Evas_Object*
+ {
+ Evas_Object* genlist = elm_genlist_add(parent);
+ elm_object_style_set( genlist, "popup" );
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_genlist_mode_set( genlist, ELM_LIST_COMPRESS );
+ elm_scroller_content_min_limit( genlist, EINA_FALSE, EINA_TRUE ); // Automatically pop-up height is calculated
+ elm_object_content_set(parent, genlist);
+
+ void *data = NULL;
+ int count = 0;
+ int err = CONTACTS_ERROR_NONE;
+ Eina_List *cursor;
+ EINA_LIST_FOREACH(checked_numberList, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+
+ CtListPopupItemData *popupItemData = new CtListPopupItemData;
+ err = contacts_record_clone(record, &popupItemData->record);
+ if(err != CONTACTS_ERROR_NONE)
+ {
+ if(popupItemData->record)
+ contacts_record_destroy(popupItemData->record, true);
+ delete popupItemData;
+ WERROR("contacts_record_clone() Failed(%d)", err);
+ break;
+ }
+ popupItemData->controller = this;
+ popupItemData->dataType = CT_LIST_DATA_NUMBER;
+
+ popupItemData->popupItem = elm_genlist_item_append(genlist, itc, (void*)popupItemData, NULL, ELM_GENLIST_ITEM_NONE, CtListUgSinglePickController::__onSelectDataPopupItem, popupItemData);
+ count++;
+ }
+ ctCommonDestroyRecordList(checked_numberList);
+
+ EINA_LIST_FOREACH(checked_emailList, cursor, data) {
+ contacts_record_h record = (contacts_record_h)data;
+
+ CtListPopupItemData *popupItemData = new CtListPopupItemData;
+ err = contacts_record_clone(record, &popupItemData->record);
+ if(err != CONTACTS_ERROR_NONE)
+ {
+ WERROR("contacts_record_clone() Failed(%d)", err);
+ if(popupItemData->record)
+ contacts_record_destroy(popupItemData->record, true);
+ delete popupItemData;
+ break;
+ }
+ popupItemData->controller = this;
+ popupItemData->dataType = CT_LIST_DATA_EMAIL;
+
+ popupItemData->popupItem = elm_genlist_item_append(genlist, itc, (void*)popupItemData, NULL, ELM_GENLIST_ITEM_NONE, CtListUgSinglePickController::__onSelectDataPopupItem, popupItemData);
+ count++;
+ }
+ ctCommonDestroyRecordList(checked_emailList);
+
+ evas_object_show(genlist);
+
+ return genlist;
+
+ });
+
+ __listView->attachPopup(popup);
+
+ elm_genlist_item_class_free(itc);
+
+ return popup->getEvasObj();
+}
+
+Evas_Object* CtListUgSinglePickController::__createNumberPopup(CtListDataPerson *personData)
+{
+ CtNumberPopup *popup = new CtNumberPopup(personData);
+ popup->setOnResult(std::bind(&CtListUgSinglePickController::__doReplySelectedInfo,
+ this, std::placeholders::_1));
+ __listView->attachPopup(popup);
+ return popup->getEvasObj();
+}
+
+void CtListUgSinglePickController::__onSelectDataPopupItem(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtListPopupItemData *popupItemData = (CtListPopupItemData*)data;
+ int err = CONTACTS_ERROR_NONE;
+
+ popupItemData->controller->__listView->destroyPopup();
+
+ int dataId = 0;
+ char *dataString = NULL;
+ if(popupItemData->dataType == CT_LIST_DATA_NUMBER) {
+ err = contacts_record_get_int(popupItemData->record, _contacts_person_number.number_id, &dataId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ err = contacts_record_get_str_p(popupItemData->record, _contacts_person_number.number, &dataString);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ popupItemData->controller->__selectedPersonData->setDataId(dataId);
+ popupItemData->controller->__selectedPersonData->setDataString(dataString);
+ popupItemData->controller->__selectedPersonData->setDataType(LIST_RESULT_NUMBER);
+
+ if (popupItemData->controller->__resultType
+ == LIST_RESULT_NUMBER_OR_EMAIL) {
+ popupItemData->controller->__createNumberPopup(popupItemData->controller->__selectedPersonData);
+ return;
+ }
+ }
+ else if(popupItemData->dataType == CT_LIST_DATA_EMAIL) {
+ err = contacts_record_get_int(popupItemData->record, _contacts_person_email.email_id, &dataId);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ err = contacts_record_get_str_p(popupItemData->record, _contacts_person_email.email, &dataString);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ popupItemData->controller->__selectedPersonData->setDataId(dataId);
+ popupItemData->controller->__selectedPersonData->setDataString(dataString);
+ popupItemData->controller->__selectedPersonData->setDataType(LIST_RESULT_EMAIL);
+ }
+
+ popupItemData->controller->__doReplySelectedInfo(popupItemData->controller->__selectedPersonData);
+}
diff --git a/lib-contact/ct-list/src/CtListUgSinglePickController.h b/lib-contact/ct-list/src/CtListUgSinglePickController.h
new file mode 100644
index 0000000..9735502
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListUgSinglePickController.h
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_UG_SINGLE_PICK_CONTROLLER_H_
+#define __CT_LIST_UG_SINGLE_PICK_CONTROLLER_H_
+
+#include "WPopup.h"
+
+#include "ContactsCommon.h"
+#include "CtListView.h"
+#include "CtType.h"
+#include "CtListController.h"
+
+class CtListView;
+class CtListModelDb;
+class CtListUgSinglePickController : public CtListController
+{
+public:
+ CtListUgSinglePickController(CtListResultType resultType, CtListView *listView, CtListModelDb* listData);
+ virtual ~CtListUgSinglePickController();
+
+public:
+ virtual void onListUpdated() {};
+ virtual void onSelectItem(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState);
+ virtual void onSelectCreate(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectDone(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectBack(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectCancel(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSwipeLeftItem(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSwipeRightItem(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectCheckAll(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState);
+ virtual void moreManageFavoritesItemOperation();
+ virtual void onSelectMenu(CtListView *view) {}
+
+private:
+ void __doReplySelectedInfo(CtListDataPerson *personData);
+ Evas_Object* __createDataListPopup(CtListDataPerson *personData, int dataType);
+ Evas_Object* __createNumberPopup(CtListDataPerson *personData);
+ static void __onSelectDataPopupItem(void *data, Evas_Object *obj, void *event_info);
+ static Eina_Bool __doReplyIdle(void* data);
+private:
+ CtListUgSinglePickController();
+
+private:
+ typedef struct {
+ CtListUgSinglePickController *controller;
+
+ contacts_record_h record;
+ Elm_Object_Item *popupItem;
+ int dataType;
+ }CtListPopupItemData;
+
+private:
+ CtListView* __listView;
+ CtListModelDb* __listModel;
+ CtListResultType __resultType;
+
+ CtListDataPerson *__selectedPersonData;
+ Ecore_Idler *__idler;
+};
+
+#endif //__CT_LIST_UG_SINGLE_PICK_CONTROLLER_H_
+
diff --git a/lib-contact/ct-list/src/CtListUgVcardViewController.cpp b/lib-contact/ct-list/src/CtListUgVcardViewController.cpp
new file mode 100644
index 0000000..15dcc9a
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListUgVcardViewController.cpp
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <vector>
+#include <thread>
+#include <Elementary.h>
+#include <app.h>
+#include <contacts.h>
+
+#include "WView.h"
+#include "WNaviframe.h"
+#include "WPopup.h"
+#include "WToastPopup.h"
+
+#include "ContactsDebug.h"
+#include "CtType.h"
+#include "CtListDataPerson.h"
+#include "CtCommon.h"
+#include "CtListView.h"
+#include "CtListModelVcard.h"
+#include "CtListLoadingPopup.h"
+#include "CtListUgVcardViewController.h"
+#include "CtImporter.h"
+#include "CtProgressBarPopup.h"
+
+
+CtListUgVcardViewController::CtListUgVcardViewController(const std::string& vcardPath, CtListView *listView, CtListModelVcard* listData)
+: __vcardPath(vcardPath)
+, __listView(listView)
+, __listModel(listData)
+, __popup(NULL)
+, __showLoadingPopup(false)
+{
+ __getVcardPathFromUri();
+
+ __listModel->setOnLoadCompleteCb([this](int count, int total, bool showToast){
+ if (showToast) {
+ ecore_job_add([](void* data){
+ WENTER();
+ CtListUgVcardViewController* self = static_cast<CtListUgVcardViewController*>(data);
+ WToastPopup* popup = new WToastPopup("Only first 100 contacts displayed.");
+ self->__listView->attachPopup(popup);
+ WLEAVE();
+ }, this);
+ }
+ });
+}
+
+CtListUgVcardViewController::~CtListUgVcardViewController()
+{
+ WHIT();
+}
+
+void CtListUgVcardViewController::onSelectItem(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState)
+{
+ WHIT();
+ elm_genlist_item_selected_set(selectedItem, EINA_FALSE);
+}
+
+void CtListUgVcardViewController::onSelectDone(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ const int deviceAbId = 0;
+ std::vector<std::string> vcards;
+ vcards.push_back(__vcardPath);
+
+ CtImporter *contactImporter = new CtImporter(deviceAbId, std::move(vcards), __listModel->getContactsCount(LIST_QUERY_DEFAULT));
+ __listView->attachPopup(contactImporter->getProgressPopup());
+ __listView->attachHiddenPopup(contactImporter->getCancelPopup());
+ contactImporter->run();
+}
+
+void CtListUgVcardViewController::onSelectCancel(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ __listView->popOut();
+}
+
+void CtListUgVcardViewController::onSelectBack(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+}
+
+void CtListUgVcardViewController::onSwipeLeftItem(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+}
+
+void CtListUgVcardViewController::onSwipeRightItem(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+}
+
+void CtListUgVcardViewController::onSelectCheckAll(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState)
+{
+ WHIT();
+}
+
+void CtListUgVcardViewController::moreManageFavoritesItemOperation()
+{
+ WHIT();
+}
+
+void CtListUgVcardViewController::onImportFinished(app_control_h request, app_control_h reply, app_control_result_e result, void *user_data)
+{
+ WHIT();
+ CtListUgVcardViewController* c = static_cast<CtListUgVcardViewController*>(user_data);
+
+ c->__listView->popOut();
+}
+
+void CtListUgVcardViewController::__getVcardPathFromUri(void)
+{
+ std::string prefix("file://");
+
+ size_t position = 0;
+ if ((position = __vcardPath.find(prefix)) != std::string::npos) {
+ __vcardPath.erase(position, prefix.length());
+ }
+
+ WDEBUG("vcard path is %s", __vcardPath.c_str());
+}
diff --git a/lib-contact/ct-list/src/CtListUgVcardViewController.h b/lib-contact/ct-list/src/CtListUgVcardViewController.h
new file mode 100644
index 0000000..1f70171
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListUgVcardViewController.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __CT_LIST_UG_VCARD_VIEW_CONTROLLER_H_
+#define __CT_LIST_UG_VCARD_VIEW_CONTROLLER_H_
+
+#include <string>
+#include <app.h>
+#include "WPopup.h"
+
+#include "ContactsCommon.h"
+#include "CtListView.h"
+#include "CtType.h"
+#include "CtListController.h"
+
+
+
+class CtListView;
+class CtListModelVcard;
+class CtListLoadingPopup;
+
+class CtListUgVcardViewController : public CtListController
+{
+public:
+ CtListUgVcardViewController(const std::string& vcardPath, CtListView *listView, CtListModelVcard* listData);
+ virtual ~CtListUgVcardViewController();
+
+public:
+ virtual void onListUpdated() {};
+ virtual void onSelectItem(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState);
+ virtual void onSelectDone(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectCancel(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectBack(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSwipeLeftItem(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSwipeRightItem(void *data, Evas_Object *obj, void *event_info);
+ virtual void onSelectCheckAll(Elm_Object_Item *selectedItem, CtListView *view, CtCheckState checkState);
+ virtual void moreManageFavoritesItemOperation();
+ virtual void onSelectMenu(CtListView *view) {}
+
+ static void onImportFinished(app_control_h request, app_control_h reply, app_control_result_e result, void *user_data);
+private:
+ CtListUgVcardViewController();
+ void __getVcardPathFromUri(void);
+
+private:
+ std::string __vcardPath;
+ CtListView* __listView;
+ CtListModelVcard* __listModel;
+ CtListLoadingPopup* __popup;
+ bool __showLoadingPopup;
+};
+
+#endif //__CT_LIST_UG_VCARD_VIEW_CONTROLLER_H_
+
diff --git a/lib-contact/ct-list/src/CtListView.cpp b/lib-contact/ct-list/src/CtListView.cpp
new file mode 100755
index 0000000..c4fef11
--- /dev/null
+++ b/lib-contact/ct-list/src/CtListView.cpp
@@ -0,0 +1,3858 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <dlfcn.h>
+#include <app.h>
+#include <contacts.h>
+#include <string>
+#include <telephony.h>
+#include <system_settings.h>
+#include <app_preference.h>
+
+#include "WNaviframe.h"
+#include "WWindow.h"
+#include "WMenuPopup.h"
+#include "WEditfield.h"
+#include "ContactsDebug.h"
+
+#include "CtPath.h"
+#include "CtCommon.h"
+#include "ContactsCommon.h"
+#include "ContactsAppControl.h"
+#include "ContactsAppControlLauncher.h"
+#include "ContactsThumbnail.h"
+
+#include "CtListView.h"
+#include "CtListModelDb.h"
+#include "CtListModelVcard.h"
+#include "CtListModelLinkSuggest.h"
+#include "CtListModelGroup.h"
+
+#include "CtListDataPerson.h"
+#include "CtListDataGroup.h"
+
+#include "CtListBasicController.h"
+#include "CtListUgSinglePickController.h"
+#include "CtListUgMultiPickController.h"
+#include "CtListUgVcardViewController.h"
+#include "CtListLinkContactController.h"
+#include "CtRegistryMgr.h"
+#include "CtThemeMgr.h"
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+#include <efl_extension.h>
+#ifdef __cplusplus
+ }
+#endif
+
+#ifdef _SDK_BUILD
+ //#define //ELM_IMAGE_ASYNC_OPEN_SET(ICON,VALUE) WERROR("not support API: //ELM_IMAGE_ASYNC_OPEN_SET()")
+#else
+ //#define //ELM_IMAGE_ASYNC_OPEN_SET(ICON,VALUE) //ELM_IMAGE_ASYNC_OPEN_SET(ICON, VALUE);
+#endif
+
+#define CONTACTS_GAL_SEARCH_LIST 20
+#define CT_LIST_IMAGE_LOAD_TIMER 0.3
+
+static const Eina_Unicode __hangulCompatibilityChoseong[14] = {
+ 12593, 12596, 12599, 12601, 12609, 12610, 12613, //unicode 3131 ~ 314E
+ 12615, 12616, 12618, 12619, 12620, 12621, 12622};
+
+static const Eina_Unicode __hangulJamoChoseong[14] = {
+ 4352, 4354, 4355, 4357, 4358, 4359, 4361, //unicode 1100 ~ 1112
+ 4363, 4364, 4366, 4367, 4368, 4369, 4370};
+
+namespace
+{
+ const char *SYMBOL_MAGNIFIER = "\U0001f50d";
+ const char *SYMBOL_STAR = "\uF896";
+}
+
+CtListView::CtListView(const char *vcardPath)
+{
+ WENTER();
+ __initialize();
+ __hasTitle = true;
+ __hasDefaultList = true;
+ __hasDoneCancel = true;
+ __enableDone = true;
+
+ CtListModelVcard *model = new CtListModelVcard(vcardPath);
+ __listModel = model;
+ __listController = new CtListUgVcardViewController(vcardPath, this, model);
+ setTitle(V_("IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"));
+}
+
+CtListView::CtListView(CtListSelectMode selectMode, CtListResultType resultType, int limit)
+{
+ WENTER();
+ __initialize();
+
+ __hasTitle = true;
+ __hasSearchbar = true;
+ __hasDefaultList = true;
+ __hasGroupTitle = true;
+ __hasFastscroll = true;
+ __hasFavoriteList = true;
+ CtListHasType hasType = LIST_HAS_NONE;
+ switch (resultType) {
+ case LIST_RESULT_NUMBER: hasType = LIST_HAS_NUMBER; break;
+ case LIST_RESULT_EMAIL: hasType = LIST_HAS_EMAIL; break;
+ case LIST_RESULT_NUMBER_OR_EMAIL: hasType = LIST_HAS_NUMBER_OR_EMAIL; break;
+ case LIST_RESULT_ID:
+ case LIST_RESULT_VCARD:
+ default:
+ hasType = LIST_HAS_NONE; break;
+ }
+
+ __listModel = new CtListModelDb(hasType, limit);
+ __listModel->setSelectedPersonId(__selectedPersonId);
+ __listGroupModel = new CtListModelGroup();
+
+ if (selectMode == LIST_SELECT_MULTIPLE) {
+ char buf[CT_TEXT_SHORT_LEN] = {0, };
+ snprintf(buf, sizeof(buf), ctGetContactsString("IDS_PB_HEADER_PD_SELECTED_ABB3"), 0);
+ setTitle(buf);
+
+ __viewType = LIST_VIEW_CHECK;
+ __hasSelectAll = true;
+ __hasDoneCancel = true;
+ __listController = new CtListUgMultiPickController(resultType, this, (CtListModelDb*) __listModel);
+ } else {
+ if (selectMode == LIST_SELECT_SINGLE_OR_CREATE) {
+ WDEBUG("LIST_SELECT_SINGLE_OR_CREATE");
+ __hasCreateButton = true;
+ }
+
+ setTitle(V_("IDS_PB_HEADER_SELECT"));
+ __listController = new CtListUgSinglePickController(resultType, this, (CtListModelDb*) __listModel);
+ }
+}
+
+CtListView::CtListView(CtListViewType viewType, CtListDataType dataType, CtListCtrlType ctrlType)
+{
+ WENTER();
+ __initialize();
+ __initViewCondition(viewType, ctrlType);
+ __ctrlType = ctrlType;
+
+ if (ctrlType == LIST_CTRL_LINK_CONTACT) {
+ CtListModelDb* model = new CtListModelDb(dataType);
+ __listModel = model;
+
+ std::map<int, CtAddressbookInfo*>& abInfo = model->getAddressbookList();
+ for (auto iter = abInfo.begin(); iter != abInfo.end(); iter++) {
+ if (iter->second->accountId == 0 && iter->second->addressbookId > 0){
+ model->setDisplayAddressbook(iter->first, false);
+ }
+ else {
+ model->setDisplayAddressbook(iter->first, true);
+ }
+ WDEBUG("name:%s, id:%d", iter->second->addressbookName, iter->first);
+ }
+ __listController = new CtListLinkContactController(this, model);
+ }
+ else {
+ CtListModelDb* model = new CtListModelDb(dataType);
+ __listModel = model;
+ __listController = new CtListBasicController(ctrlType, this, model);
+ }
+
+ __listGroupModel = new CtListModelGroup();
+
+ __viewType = viewType;
+}
+
+CtListView::~CtListView()
+{
+ WENTER();
+
+ Evas_Object *conformant = NULL;
+ if(getWindow())
+ conformant = getWindow()->getConformantEvasObj();
+
+ if(conformant) {
+ evas_object_smart_callback_del(conformant, "virtualkeypad,state,on", __onSipUpCb);
+ evas_object_smart_callback_del(conformant, "virtualkeypad,state,off", __onSipDownCb);
+ }
+
+ evas_object_smart_callback_del(__genlist, "scroll,anim,start", __onGenlistScrollStartCb);
+ evas_object_smart_callback_del(__genlist, "scroll,anim,stop", __onGenlistScrollStopCb);
+
+ if(__loadImageTimer)
+ ecore_timer_del(__loadImageTimer);
+
+ if(__myProfileThread)
+ __myProfileThread->destroy();
+
+ if(__myProfileIdler)
+ ecore_idler_del(__myProfileIdler);
+
+ __freeFastIndexData();
+
+ if(__listItc)
+ elm_genlist_item_class_free(__listItc);
+ if(__groupTitleItc)
+ elm_genlist_item_class_free(__groupTitleItc);
+ if(__myProfileItc)
+ elm_genlist_item_class_free(__myProfileItc);
+ if(__selectAllItc)
+ elm_genlist_item_class_free(__selectAllItc);
+ if(__searchbarItc)
+ elm_genlist_item_class_free(__searchbarItc);
+ if (__favoriteTitleItc)
+ elm_genlist_item_class_free(__favoriteTitleItc);
+ if (__mfcTitleItc)
+ elm_genlist_item_class_free(__mfcTitleItc);
+ if (__linkSuggestTitleItc)
+ elm_genlist_item_class_free(__linkSuggestTitleItc);
+
+ if(__searchGetContactThread){
+ __searchGetContactThread->destroy();
+ __searchGetContactThread = NULL;
+ __listModel->cancelGetContacts();
+ }
+
+ SAFE_FREE(__groupName);
+
+ delete __listController;
+ delete __listModel;
+ delete __listGroupModel;
+
+ WLEAVE();
+}
+
+Eina_Bool CtListView::__onInitMyProfileIdlerCb(void *data)
+{
+ WHIT();
+ CtListView* view = (CtListView*)data;
+ view->__myProfileIdler = NULL;
+ view->__myProfileThread = new CtThread(__onInitMyProfileThreadRunCb, view, __onInitMyProfileThreadEndCb, view);
+ view->__myProfileThread->start();
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void CtListView::__onInitMyProfileThreadRunCb(void *data)
+{
+ WHIT();
+ CtListView *view = (CtListView*)data;
+ view->__initMyProfile();
+}
+
+
+void CtListView::__onInitMyProfileThreadEndCb(void *data)
+{
+ WHIT();
+ CtListView* view = (CtListView*)data;
+
+ if(view->__myProfileItem)
+ elm_genlist_item_update(view->__myProfileItem);
+
+ if(view->__myProfileThread)
+ view->__myProfileThread->destroy();
+ view->__myProfileThread = NULL;
+
+}
+
+char* CtListView::__getMsisdnFromSim()
+{
+ WENTER();
+ char *msisdn = NULL;
+ int simCount = 0;
+ telephony_handle_list_s tapiHandleList;
+ int ret = telephony_init(&tapiHandleList);
+ if (ret != TELEPHONY_ERROR_NONE)
+ WDEBUG("no sim");
+ else {
+ simCount = tapiHandleList.count;
+
+ /*my numbers(SIM1 and SIM2)*/
+ for(int i=0; i<simCount; i ++){
+ if(tapiHandleList.handle[i])
+ ret = telephony_sim_get_subscriber_number(tapiHandleList.handle[i], &msisdn);
+ if (msisdn && *msisdn) {
+ WDEBUG("msisdn exists");
+ break;
+ }
+ }
+
+ ret = telephony_deinit(&tapiHandleList);
+ if (ret != TELEPHONY_ERROR_NONE) {
+ WERROR( "telephony_deinit failed(%d)", ret);
+ return NULL;
+ }
+ }
+ WLEAVE();
+ return msisdn;
+}
+
+void CtListView::__initMyProfile(void)
+{
+ WENTER();
+
+ char *msisdn = __getMsisdnFromSim();
+ WPRET_M(msisdn == NULL, "no msisdn");
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h myprofileList = NULL;
+ contacts_record_h numRecord = NULL;
+ contacts_record_h myRecord = NULL;
+ bool changed = false;
+ bool hasRecord = false;
+
+ err = contacts_db_get_all_records(_contacts_my_profile._uri, 0, 0, &myprofileList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_all_records() Failed(%d)", err);
+
+ if (myprofileList != NULL) {
+ contacts_record_h contactRecord = NULL;
+ int count = 0;
+
+ contacts_list_get_count(myprofileList, &count);
+ if (count > 0) {
+ err = contacts_list_get_current_record_p(myprofileList, &contactRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_current_record_p() Failed(%d)", err);
+ }
+ err = contacts_record_clone(contactRecord, &myRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_clone() Failed(%d)", err);
+
+ err = contacts_list_destroy(myprofileList, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)", err);
+
+ int index = 0;
+ char *number = NULL;
+ contacts_record_h record = NULL;
+
+ while (CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(myRecord, _contacts_my_profile.number, index++, &record)) {
+ err = contacts_record_get_str_p(record, _contacts_number.number, &number);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ continue;
+ }
+
+ if (strcmp(number, msisdn) == 0) {
+ changed = true;
+ break;
+ }
+ }
+
+ if(changed) {
+ SAFE_FREE(msisdn);
+ err = contacts_record_destroy(myRecord, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
+ WDEBUG("my profile not changed");
+ return;
+ }
+ }
+
+ if(myRecord == NULL) {
+ err = contacts_record_create(_contacts_my_profile._uri, &myRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_create() Failed(%d)", err);
+ }
+ else {
+ hasRecord = true;
+ }
+
+ if(numRecord == NULL) {
+ do {
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_create(_contacts_number._uri, &numRecord))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_set_str(numRecord, _contacts_number.number, msisdn))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_set_int(numRecord, _contacts_number.type, CONTACTS_NUMBER_TYPE_CELL))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_set_bool(numRecord, _contacts_number.is_default, true))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_record_set_str(numRecord, _contacts_number.label, CT_KEY_SIM_CARD_NUMBER))) break;
+ } while (0);
+
+ if(CONTACTS_ERROR_NONE != err) {
+ SAFE_FREE(msisdn);
+ contacts_record_destroy(myRecord, true);
+ contacts_record_destroy(numRecord, true);
+ WERROR("contacts_record_set_str() Failed(%d)", err);
+ return;
+ }
+ }
+
+ err = contacts_record_add_child_record(myRecord, _contacts_my_profile.number, numRecord);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_person_set_default_property() Failed(%d)", err);
+
+
+ int contactId = 0;
+ if(hasRecord == true || changed) {
+ WDEBUG("update my profile");
+ err = contacts_db_update_record(myRecord);
+ }
+ else {
+ WDEBUG("insert my profile");
+ err = contacts_db_insert_record(myRecord, &contactId);
+ }
+
+ if (CONTACTS_ERROR_NONE != err) {
+ SAFE_FREE(msisdn);
+ contacts_record_destroy(myRecord, true);
+ WERROR("contacts_db_update_record() Failed(%d)", err);
+ return;
+ }
+
+ SAFE_FREE(msisdn);
+ contacts_record_destroy(myRecord, true);
+
+ WLEAVE();
+}
+
+const char* CtListView::getClassName()
+{
+ return "CtListView";
+}
+
+Evas_Object* CtListView::onCreate( Evas_Object* parent, void* viewParam)
+{
+ WENTER();
+
+ Evas_Object *base = createBaseLayout(parent);
+ __baseLayout = elm_layout_add(base);
+
+ std::string contactsEdjePath;
+ std::string detailEdjePath;
+ std::string genlistExtendedEdjePath;
+ ContactsCommon::getAppEdjePath(CONTACTS_EDJ, contactsEdjePath);
+ ContactsCommon::getAppEdjePath(GENLIST_EXTENDED_ITEM_EDJ, genlistExtendedEdjePath);
+ ContactsCommon::getAppEdjePath(DETAIL_LAYOUT_EDJ, detailEdjePath);
+
+ CtThemeMgr::getInstance()->addExtensionTheme(contactsEdjePath.c_str());
+ CtThemeMgr::getInstance()->addExtensionTheme(genlistExtendedEdjePath.c_str());
+ CtThemeMgr::getInstance()->addExtensionTheme(detailEdjePath.c_str());
+ CtThemeMgr::getInstance()->setObjectTheme(__baseLayout);
+
+ elm_layout_file_set(__baseLayout, contactsEdjePath.c_str(), "list/base_layout");
+ evas_object_size_hint_weight_set(__baseLayout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(__baseLayout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_object_part_content_set(base, "elm.swallow.content", __baseLayout);
+ evas_object_show(__baseLayout);
+
+ if(__hasFavoriteList)
+ __listModel->getContacts(LIST_QUERY_FAVORITE, GET_AS_SYNC);
+ if(__hasMfcList)
+ __listModel->getContacts(LIST_QUERY_MFC, GET_AS_SYNC);
+
+ int listCount = __listModel->getContacts(LIST_QUERY_DEFAULT, GET_AS_SYNC_ASYNC);
+
+ // in remove favorites view, it needs to show MFC
+ if (__ctrlType == LIST_CTRL_REMOVE_FAVORITES) {
+ listCount += __listModel->getContactsCount(LIST_QUERY_MFC);
+ }
+
+ if(__hasMyProfile == false && __onSearching == false) {
+ if(listCount > 0) {
+ __showGenlist();
+ }
+ else {
+ __showNoContent();
+ }
+ }
+ else {
+ WDEBUG("listCount = %d", listCount);
+ __showGenlist();
+ }
+
+ WLEAVE();
+
+ return base;
+}
+
+void CtListView::onLanguageChanged()
+{
+ WHIT();
+
+ if(__genlist)
+ elm_genlist_realized_items_update(__genlist);
+
+ if(__viewType == LIST_VIEW_REORDER)
+ {
+ elm_object_item_part_text_set(getNaviItem(), "elm.text.title", V_("IDS_PB_OPT_REORDER"));
+ }
+ Evas_Object* saveBtn = elm_object_item_part_content_get(getNaviItem(), "title_right_btn");
+ if(saveBtn){
+ if(__ctrlType == LIST_CTRL_DELETE_CONTACTS)
+ elm_object_text_set(saveBtn, V_("IDS_TPLATFORM_ACBUTTON_DELETE_ABB"));
+ else
+ elm_object_text_set(saveBtn, V_("IDS_TPLATFORM_ACBUTTON_DONE_ABB"));
+ }
+ Evas_Object* cancelBtn = elm_object_item_part_content_get(getNaviItem(), "title_left_btn");
+ if(cancelBtn){
+ elm_object_text_set(cancelBtn, V_("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"));
+ }
+}
+
+bool CtListView::onPop()
+{
+ WHIT();
+
+ __listController->onSelectBack(this, NULL, NULL);
+
+ return true;
+}
+
+void CtListView::onDestroy()
+{
+ WENTER();
+}
+
+void CtListView::onDbChanged(const char* viewUri)
+{
+ WENTER();
+
+ if(__loaded == false) {
+ __updateQueue = 2;
+ WERROR("not loaded yet");
+ return;
+ }
+
+ // special case for 1 delete item peformace
+ int deletedPersonId = 0;
+ CtRegistryMgr::getInstance()->getInt(REGISTRY_KEY_DELETED_PERSON_ID, &deletedPersonId);
+ if(deletedPersonId > 0) {
+ Elm_Object_Item *deletedItem = getGenlistItemByPersonId(deletedPersonId);
+ if(deletedItem) {
+ WDEBUG("item of personid %d delete early", deletedPersonId);
+ Elm_Object_Item *nextitem = elm_genlist_item_next_get(deletedItem);
+ if(nextitem) {
+ Elm_Genlist_Item_Type itemType = elm_genlist_item_type_get(nextitem);
+ if(itemType == ELM_GENLIST_ITEM_GROUP) {
+ Elm_Object_Item *previtem = elm_genlist_item_prev_get(deletedItem);
+ if(previtem) {
+ itemType = elm_genlist_item_type_get(previtem);
+ if(itemType == ELM_GENLIST_ITEM_GROUP)
+ elm_object_item_del(previtem);
+ }
+ }
+ }
+
+ elm_object_item_del(deletedItem);
+ }
+ }
+
+ //while DB is being updated, popup is destroyed
+ //destroyPopup();
+
+ if (__onShowGroupList == true) {
+ if (SAFE_STRCMP(viewUri, _contacts_group_relation._uri) == 0 && __groupUpdateTimer > 10) {
+ WDEBUG("group changed");
+ __groupUpdateTimer = 0;
+ WLEAVE();
+ return;
+ }
+ }
+ if (__onShowMemberList == true) {
+ if (SAFE_STRCMP(viewUri, _contacts_group_relation._uri) == 0 && __groupUpdateTimer > 10) {
+ WDEBUG("group changed");
+ __groupUpdateTimer = 0;
+ elm_genlist_clear(__genlist);
+ WLEAVE();
+ return;
+ }
+ }
+
+ __groupUpdateTimer++;
+
+ if(__onProgressOperation == true) {
+ WDEBUG("do not update list on progressing");
+ WLEAVE();
+ return;
+ }
+
+ if(__background == true) {
+ WDEBUG("now is background");
+
+ int updated = 0;
+ CtRegistryMgr::getInstance()->getInt(REGISTRY_KEY_FAVORITE_UPDATED, &updated);
+
+ int inserted = 0;
+ CtRegistryMgr::getInstance()->getInt(REGISTRY_KEY_INSERTED_PERSON, &inserted);
+
+ int deleted = 0;
+ CtRegistryMgr::getInstance()->getInt(REGISTRY_KEY_DELETED_PERSON, &deleted);
+
+ if(!updated && !inserted && !deleted) {
+ __updateQueue = 1;
+ WLEAVE();
+ return;
+ }
+ else
+ WDEBUG("updated %d, inserted %d, deleted %d", updated, inserted, deleted);
+ }
+
+ if (__onShowGroupList == false && __onShowMemberList == false) {
+ __updateQueue++;
+ }
+
+ WDEBUG(" __updateQueue %d", __updateQueue);
+
+ if(__updateQueue < 2) {
+ __updateQueue = 1;
+ if(__hasFavoriteList)
+ __listModel->getContacts(LIST_QUERY_FAVORITE, GET_AS_ASYNC);
+ if(__hasMfcList)
+ __listModel->getContacts(LIST_QUERY_MFC, GET_AS_ASYNC);
+ __listModel->getContacts(LIST_QUERY_DEFAULT, GET_AS_ASYNC);
+ __listController->onListUpdated();
+ }
+ else {
+ WDEBUG("already update requested %d. wait", __updateQueue);
+ }
+ if (__hasMyProfile) {
+ int updateMyprofile = (int)evas_object_data_del(getViewNaviframe(), "ct_list_update_myprofile");
+ if (updateMyprofile) {
+ __myProfileIdler = ecore_idler_add(__onInitMyProfileIdlerCb, this);
+ }
+ }
+
+ WLEAVE();
+}
+
+void CtListView::onCompleteGetContacts(int offset)
+{
+ WDEBUG("offset %d", offset);
+ //Todo We need to more action
+
+ __loaded = true;
+
+ if (__onShowGroupList == true || __onShowMemberList == true) {
+ return;
+ }
+
+ bool showNocontent = false;
+
+ if(offset == 0) {
+ __curAppendIndex = 0;
+ }
+
+ if(__launched == 0) {
+ __launched = 1;
+ }
+
+ int listCount = __listModel->getPersonListCount(LIST_QUERY_DEFAULT);
+ // in remove favorites view, it needs to show MFC
+ if (__ctrlType == LIST_CTRL_REMOVE_FAVORITES) {
+ listCount += __listModel->getContactsCount(LIST_QUERY_MFC);
+ }
+
+ if (listCount == 0) {
+ if(__hasMyProfile == false && __onSearching == false) {
+ __genlist = NULL;
+ __showNoContent();
+ showNocontent = true;
+ }
+ }
+
+ if(showNocontent == false) {
+ if(__genlist == NULL)
+ __showGenlist();
+ else {
+ __appendGenlistItems(offset);
+ __updateCheckRelatedInfo();
+ // after all item appended, link reset items to fastscroll
+ __linkItemToRestIndex();
+ }
+ }
+
+ __updateQueue--;
+ WDEBUG(" %d", __updateQueue);
+
+ if(__updateQueue > 0) {
+ WDEBUG("update request exist yet %d, update again", __updateQueue);
+ __updateQueue = 0;
+ if(__hasFavoriteList)
+ __listModel->getContacts(LIST_QUERY_FAVORITE, GET_AS_ASYNC);
+ if(__hasMfcList)
+ __listModel->getContacts(LIST_QUERY_MFC, GET_AS_ASYNC);
+
+ __listModel->getContacts(LIST_QUERY_DEFAULT, GET_AS_ASYNC);
+ __listController->onListUpdated();
+ }
+ else {
+ __updateQueue = 0;
+ }
+
+ Eina_Bool sipStatus = false;
+ if(__searchbarItem){
+ Evas_Object *entry = elm_object_item_part_content_get(__searchbarItem, "elm.swallow.content");
+ sipStatus = elm_object_focus_get(entry);
+ }
+ if (false == __onSearching && false == sipStatus) {
+ elm_genlist_realized_items_update(__genlist);
+ }
+ else{
+ WDEBUG("sipStatus is TRUE");
+ }
+
+ if(__selectedCheckAll == true) {
+ __listController->onSelectCheckAll(__selectAllItem, this, CHECK_ON);
+ __updateCheckRelatedInfo();
+ __selectedCheckAll = false;
+ }
+
+ WLEAVE();
+}
+
+void CtListView::onConditionChagned()
+{
+ WENTER();
+ if(__hasFavoriteList)
+ __listModel->getContacts(LIST_QUERY_FAVORITE, GET_AS_ASYNC);
+ if(__hasMfcList)
+ __listModel->getContacts(LIST_QUERY_MFC, GET_AS_ASYNC);
+ __listModel->getContacts(LIST_QUERY_DEFAULT, GET_AS_ASYNC);
+
+ __listController->onListUpdated();
+}
+
+
+void CtListView::onPushed(Elm_Object_Item* naviItem)
+{
+ WHIT();
+
+ int listCount = __listModel->getPersonListCount(LIST_QUERY_DEFAULT);
+ // in remove favorites view, it needs to show MFC
+ if (__ctrlType == LIST_CTRL_REMOVE_FAVORITES) {
+ listCount += __listModel->getContactsCount(LIST_QUERY_MFC);
+ }
+
+ if (listCount > 0)
+ __showTitleButton(true);
+ else
+ __showTitleButton(false);
+
+ if (__hasMenu)
+ enableMoreButton(naviItem, __onSelectMenu, this);
+
+ // set virtual keypad
+ Evas_Object *conformant = getWindow()->getConformantEvasObj();
+ evas_object_smart_callback_add(conformant, "virtualkeypad,state,on", __onSipUpCb, this);
+ evas_object_smart_callback_add(conformant, "virtualkeypad,state,off", __onSipDownCb, this);
+
+ __listModel->attachListener(this);
+}
+
+Evas_Object* CtListView::__createToolbar(Evas_Object *navi)
+{
+ Evas_Object *toolbar = NULL;
+ toolbar = elm_toolbar_add(navi);
+ elm_object_style_set(toolbar, "default");
+ elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
+ elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
+ elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
+ evas_object_show(toolbar);
+
+ return toolbar;
+}
+
+void CtListView::onTabSelect(Elm_Object_Item *naviItem)
+{
+ WHIT();
+
+ evas_object_smart_callback_add(getNaviframe()->getEvasObj(), "transition,finished", __onNaviTransitionFinishedCb, this);
+ elm_object_focus_set(getEvasObj(), EINA_TRUE);
+
+ __background = false;
+
+ WDEBUG("__hasTitle %d __hasToolbar %d __hasDoneCancel %", __hasTitle, __hasToolbar, __hasDoneCancel);
+
+ if (naviItem == elm_naviframe_top_item_get(getNaviframe()->getEvasObj())) {
+ __showCreateButton();
+ }
+
+ __cleanSearchbar();
+ destroyPopup();
+
+ if(__hasTitle) {
+ WDEBUG("item %p, title %s", naviItem, getTitle());
+ elm_object_item_part_text_set(getNaviItem(), "elm.text.title", getTitle());
+ }
+
+
+ if(__hasToolbar) {
+ WDEBUG("need toobar");
+ Evas_Object *toolbar = __createToolbar(getViewNaviframe());
+ elm_object_item_part_content_set(naviItem, "toolbar", toolbar);
+ elm_toolbar_item_append(toolbar, NULL, "IDS_PB_BUTTON_DONE_ABB3", __onToolbarDone, this);
+ }
+
+ __showTitleButton(true);
+
+ enableMoreButton(naviItem, __onSelectMenu, this);
+
+ if(__updateQueue > 0) {
+ WDEBUG("update job remains");
+ __updateQueue = 0;
+ onDbChanged(NULL);
+ }
+ if(__onSearching) {
+ __hideCreateButton();
+ }
+}
+void CtListView::onTabUnselect(Elm_Object_Item *naviItem)
+{
+ WHIT();
+
+ evas_object_smart_callback_del(getNaviframe()->getEvasObj(), "transition,finished", __onNaviTransitionFinishedCb);
+
+ __background = true;
+
+ destroyPopup();
+
+ if(__hasCreateButton) {
+ __hideCreateButton();
+ }
+
+ if (__onShowGroupList == true) {
+ __onShowGroupList = false;
+ __onShowGroupButton = false;
+ if(__launched != 0)
+ elm_object_item_signal_emit(__searchbarItem, "group,button,hide", "");
+
+ __curAppendIndex = 0;
+ __appendGenlistItems(0);
+ }
+ else if (__onShowMemberList == true) {
+ __onShowMemberList = false;
+ __curAppendIndex = 0;
+ __appendGenlistItems(0);
+ }
+ else {
+ __cleanSearchbar();
+ __resetCheckitems();
+ }
+}
+
+bool CtListView::onTabPop()
+{
+ WHIT();
+
+ if (__onShowGroupList == true) {
+ __onShowGroupList = false;
+ __onShowGroupButton = false;
+ if(__launched != 0)
+ elm_object_item_signal_emit(__searchbarItem, "group,button,hide", "");
+
+ __curAppendIndex = 0;
+ __appendGenlistItems(0);
+
+ return false;
+ }
+ else if (__onShowMemberList == true) {
+ __onShowMemberList = false;
+ __curAppendIndex = 0;
+ __appendGenlistItems(0);
+
+ return false;
+ }
+ return true;
+}
+
+void CtListView::onEvent(int eventType)
+{
+ elm_genlist_realized_items_update(__genlist);
+}
+
+void CtListView::__focusInCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+
+ WPRET_M(NULL == data, "data is NULL!");
+
+ CtListView *listView = (CtListView*)data;
+
+ if (listView->__onSearching) {
+ Evas_Object *editfield = elm_object_item_part_content_get(listView->__searchbarItem, "elm.swallow.content");
+ WEditfield *weditfield = (WEditfield *)evas_object_data_get(editfield, "weditfield");
+ if(weditfield) {
+ eext_object_event_callback_del(weditfield->getEntry(), EEXT_CALLBACK_BACK, __onEntryBackButton);
+ eext_object_event_callback_add(weditfield->getEntry(), EEXT_CALLBACK_BACK, __onEntryBackButton, listView);
+ } else {
+ WERROR("weditfield is NULL");
+ }
+ }
+}
+
+void CtListView::onSetAsPageContent(Elm_Object_Item* parentNaviItem)
+{
+ WHIT();
+
+ evas_object_smart_callback_add(getWindow()->getEvasObj(), "focus,in", __focusInCb, this);
+
+ // set virtual keypad
+ Evas_Object *conformant = getWindow()->getConformantEvasObj();
+ evas_object_smart_callback_add(conformant, "virtualkeypad,state,on", __onSipUpCb, this);
+ evas_object_smart_callback_add(conformant, "virtualkeypad,state,off", __onSipDownCb, this);
+
+ __listModel->attachListener(this);
+}
+
+Evas_Object* CtListView::getViewWindow(void)
+{
+ if(getWindow())
+ return getWindow()->getEvasObj();
+ else
+ WASSERT_EX(1, "window null");
+
+ return NULL;
+}
+
+Evas_Object* CtListView::getViewNaviframe(void)
+{
+ return getNaviframe()->getEvasObj();
+}
+
+WNaviframe* CtListView::getWNaviframe(void)
+{
+ return getNaviframe();
+}
+
+void CtListView::__resetCheckitems()
+{
+ WHIT();
+
+ __selectAllState = CHECK_OFF;
+
+ Evas_Object* layout = elm_object_item_part_content_get(__selectAllItem, "elm.icon.2");
+ if(layout) {
+ Evas_Object* check = elm_layout_content_get(layout, "elm.swallow.content");
+ if(check)
+ elm_check_state_set(check, EINA_FALSE);
+ }
+
+ if(__listModel->getPersonListCount(LIST_QUERY_DEFAULT) > 0)
+ __listController->onSelectCheckAll(__selectAllItem, this, __selectAllState);
+}
+
+
+void CtListView::__initialize(void)
+{
+ __baseLayout = NULL;
+ __fastLayout = NULL;
+ __fastScroll = NULL;
+ __genlist = NULL;
+ __selectAllObj = NULL;
+ __compose_btn = NULL;
+ __noContentLayout = NULL;
+
+ __searchbarItem = NULL;
+ __selectAllItem = NULL;
+ __linkSuggestTitleItem = NULL;
+ __favoriteTitleItem = NULL;
+ __mfcTitleItem = NULL;
+ __myProfileItem = NULL;
+
+ __listController = NULL;
+ __listModel = NULL;
+ __listGroupModel = NULL;
+ __viewType = LIST_VIEW_DEFAULT;
+ __ctrlType = LIST_CTRL_DEFAULT;
+
+ __onSearching = false;
+ __onShowGroupButton = false;
+ __onShowGroupList = false;
+ __onShowMemberList = false;
+
+ __sipStatus = false;
+ __launching = false;
+ __genlistScrolling = false;
+ __curAppendIndex = 0;
+ __launched = 0;
+ __loaded = false;
+ __selectedCheckAll = false;
+ __onProgressOperation = false;
+ __onNoContentLayout = false;
+
+ __updateQueue = 0;
+ __fastIndexList = NULL;
+
+ __listItc = NULL;
+ __groupTitleItc = NULL;
+ __myProfileItc = NULL;
+ __selectAllItc = NULL;
+ __searchbarItc = NULL;
+ __favoriteTitleItc = NULL;
+ __mfcTitleItc = NULL;
+ __linkSuggestTitleItc = NULL;
+
+ __hasTitle = false;
+ __hasSearchbar = false;
+ __hasFastscroll = false;
+ __hasToolbar = false;
+ __hasCreateButton = false;
+ __hasSelectAll = false;
+ __hasTotalCount = false;
+ __hasGroupTitle = false;
+ __hasMenu = false;
+ __hasDoneCancel = false;
+ __hasFavGroupTitle = false;
+ __hasMyProfile = false;
+ __enableDone = false;
+ __hasFavoriteList = false;
+ __hasMfcList = false;
+ __hasDefaultList = false;
+ __hasLinkSuggest = false;
+ __hasGroupButton = false;
+
+ __selectAllState = CHECK_OFF;
+ __selectedPersonId = -1;
+ __topItemPersonId = 0;
+ __groupName = NULL;
+
+ __myProfileThread = NULL;
+ __myProfileIdler = NULL;
+ __loadImageTimer = NULL;
+ __searchGetContactThread = NULL;
+
+ __detailDllHandle = NULL;
+ __cmDllHandle = NULL;
+
+ __background = false;
+ __isFirstGroupSync = false;
+ __isFirstGroupMemberSync = false;
+
+ __groupUpdateTimer = 0;
+}
+
+void CtListView::__onToolbarDone(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ //Do more job in view
+ CtListView *listView = (CtListView*)data;
+ listView->__listController->onSelectDone(data, obj,event_info);
+}
+
+void CtListView::__deletePopupDelCb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ //Do more job in view
+ CtListView *listView = (CtListView*)data;
+ listView->__listController->onSelectDone(data, NULL, NULL);
+ evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL, __deletePopupDelCb, listView);
+}
+
+char *CtListView::__getDelPopupText()
+{
+ char buf[CT_TEXT_SHORT_LEN] ={0,};
+ int listCount = 0;
+ int checkedCount = 0;
+ int index = 0;
+
+ if (__onSearching) {
+ listCount = __listModel->getOriginalPersonDataListSize();
+ checkedCount = __listModel->getCheckedDataCount();
+ WDEBUG("listCount = %d, checkedCount = %d",listCount,checkedCount);
+ }
+ else {
+ listCount = __listModel->getPersonListCount(LIST_QUERY_DEFAULT);
+ while( auto personData = __listModel->getAtPersonData(index, LIST_QUERY_DEFAULT) )
+ {
+ if(personData->isChecked())
+ checkedCount++;
+ index++;
+ }
+ }
+
+ if(checkedCount == listCount) {
+ snprintf(buf, sizeof(buf), V_("IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"));
+ return strdup(buf);
+ }
+ else if (checkedCount > 1) {
+ snprintf(buf, sizeof(buf), ctGetContactsString("IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"), checkedCount);
+ return strdup(buf);
+ }
+ else if (checkedCount == 1) {
+ snprintf(buf, sizeof(buf), V_("IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"));
+ return strdup(buf);
+ }
+ return NULL;
+}
+void CtListView::__onNaviTitleDone(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ //Do more job in view
+ CtListView *listView = (CtListView*)data;
+ listView->__listController->onSelectDone(data, obj,event_info);
+}
+
+void CtListView::__onNaviTitleCancel(void *data, Evas_Object *obj, void *event_info)
+{
+
+ WHIT();
+ //Do more job in view
+ CtListView *listView = (CtListView*)data;
+ listView->__listController->onSelectCancel(data, obj,event_info);
+}
+
+void CtListView::__showTitleButton(bool show)
+{
+ WHIT();
+ if(__hasDoneCancel) {
+ if(getNaviframe() == NULL)
+ return;
+
+ WDEBUG("title show %d", show);
+ if(show) {
+ Evas_Object* btn = elm_object_item_part_content_get(getNaviItem(), "title_left_btn");
+ if(btn == NULL) {
+ btn = elm_button_add(getViewNaviframe());
+ elm_object_style_set(btn, "naviframe/title_left");
+ elm_object_text_set(btn, V_("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"));
+ evas_object_smart_callback_add(btn, "clicked",__onNaviTitleCancel, this);
+ elm_object_item_part_content_set(getNaviItem(), "title_left_btn", btn);
+ }
+
+ btn = elm_object_item_part_content_get(getNaviItem(), "title_right_btn");
+ if(btn == NULL) {
+ btn = elm_button_add(getViewNaviframe());
+ elm_object_style_set(btn, "naviframe/title_right");
+ elm_object_text_set(btn, V_("IDS_TPLATFORM_ACBUTTON_DONE_ABB"));
+
+ evas_object_smart_callback_add(btn, "clicked", __onNaviTitleDone, this);
+ elm_object_item_part_content_set(getNaviItem(), "title_right_btn", btn);
+ if (!__enableDone)
+ elm_object_disabled_set(btn, EINA_TRUE);
+ }
+ else {
+ if (!__enableDone)
+ elm_object_disabled_set(btn, EINA_TRUE);
+ else
+ elm_object_disabled_set(btn, EINA_FALSE);
+ }
+ }
+ else {
+ Evas_Object* btn = elm_object_item_part_content_get(getNaviItem(), "title_left_btn");
+ if(btn) {
+ elm_object_item_part_content_unset(getNaviItem(), "title_left_btn");
+ evas_object_del(btn);
+ }
+ btn = elm_object_item_part_content_get(getNaviItem(), "title_right_btn");
+ if(btn) {
+ elm_object_item_part_content_unset(getNaviItem(), "title_right_btn");
+ evas_object_del(btn);
+ }
+ }
+ }
+}
+
+void CtListView::__freeFastIndexData()
+{
+ WENTER();
+ void *data = NULL;
+
+ if(__hasFastscroll == false)
+ return;
+
+ EINA_LIST_FREE(__fastIndexList, data) {
+ CtListFastIndexData *fastIndexdata = (CtListFastIndexData*)data;
+ delete fastIndexdata;
+ }
+}
+
+void CtListView::__appendFastScrollLetter(const std::string &str)
+{
+ WENTER();
+
+ CtListFastIndexData *indexData = new CtListFastIndexData();
+ strncpy(indexData->index, str.c_str(), sizeof(indexData->index));
+ indexData->index[sizeof(indexData->index)/sizeof(indexData->index[0])-1] = '\0';
+ indexData->item = elm_index_item_append(__fastScroll, str.c_str(), NULL, NULL);
+ __fastIndexList = eina_list_append(__fastIndexList, indexData);
+ WLEAVE();
+}
+
+void CtListView::__hideFastScroll(void)
+{
+ WENTER();
+
+ elm_object_signal_emit(__fastLayout, "elm,state,fastscroll,hide", "");
+}
+
+void CtListView::__showFastScroll(void)
+{
+ WENTER();
+
+ if(__listModel->getPersonListCount(LIST_QUERY_DEFAULT) > 0)
+ elm_object_signal_emit(__fastLayout, "elm,state,fastscroll,show", "");
+}
+
+void CtListView::__onChangedSearchEditField(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+
+ CtListView *listView = (CtListView*)data;
+ char* search = NULL;
+
+ search = ctCommonMarkupToUtf8(elm_entry_entry_get(obj));
+ WDEBUG("search %s, old search %s", search, listView->__listModel->getSearchString());
+
+ int groupCount = listView->__listGroupModel->getAvailableGroupCount();
+
+ if (SAFE_STRLEN(search) == 0 && listView->__listModel->getSearchString() == NULL) {
+ if (SAFE_STRLEN(elm_entry_entry_get(obj)) > 0) {
+ listView->__onShowGroupList = false;
+
+ listView->__onShowGroupButton = false;
+ elm_object_item_signal_emit(listView->__searchbarItem, "group,button,hide", "");
+ SAFE_FREE(search);
+ return;
+ }
+ else if (SAFE_STRLEN(elm_entry_entry_get(obj)) == 0){
+ WDEBUG("no data");
+ SAFE_FREE(search);
+ elm_object_part_text_set(obj, "elm.guide", V_("IDS_PB_NPBODY_SEARCH"));
+
+ if (listView->__sipStatus == false || listView->__ctrlType == LIST_CTRL_DELETE_CONTACTS
+ || listView->__ctrlType == LIST_CTRL_SHARE_CONTACTS || listView->__ctrlType == LIST_CTRL_LINK_CONTACT) {
+ return;
+ }
+ else {
+ if (groupCount > 0 && listView->__hasGroupButton == true) {
+ listView->__onShowGroupList = false;
+
+ listView->__onShowGroupButton = true;
+ elm_object_item_signal_emit(listView->__searchbarItem, "group,button,show", "");
+ }
+ }
+ }
+ }
+
+ if(SAFE_STRLEN(search) > 0) {
+ listView->__onSearching = true;
+ listView->__onShowGroupList = false;
+ listView->__onShowGroupButton = false;
+
+ elm_object_item_signal_emit(listView->__searchbarItem, "group,button,hide", "");
+ }
+ else {
+ if (listView->__onSearching == true) {
+ if (groupCount == 0 || listView->__ctrlType == LIST_CTRL_DELETE_CONTACTS
+ || listView->__ctrlType == LIST_CTRL_SHARE_CONTACTS || listView->__ctrlType == LIST_CTRL_LINK_CONTACT) {
+ listView->__onShowGroupButton = false;
+ elm_object_item_signal_emit(listView->__searchbarItem, "group,button,hide", "");
+ }
+ else if (groupCount > 0 && listView->__hasGroupButton == true) {
+ listView->__onShowGroupButton = true;
+ elm_object_item_signal_emit(listView->__searchbarItem, "group,button,show", "");
+ }
+ else {
+ WERROR("getAvailableGroupCount() is failed.");
+ }
+ }
+
+ listView->__onSearching = false;
+ if (listView->__hasCreateButton) {
+ Evas_Object *editfield = elm_object_item_part_content_get(listView->__searchbarItem, "elm.swallow.content");
+ if(!elm_object_focus_get(editfield)) {
+ listView->__showCreateButton();
+ }
+ }
+ elm_object_part_text_set(obj, "elm.guide", V_("IDS_PB_NPBODY_SEARCH"));
+ }
+
+ if (true == listView->__onSearching) {
+ if (listView->__listModel->getSearchString() && (SAFE_STRCMP(search, listView->__listModel->getSearchString()) == 0)) {
+ // if search text is not changed
+ SAFE_FREE(search);
+ return;
+ }
+ }
+ else {
+ if (SAFE_STRLEN(search) == 0 && listView->__listModel->getSearchString() == NULL) {
+ // if search text is not changed
+ SAFE_FREE(search);
+ return;
+ }
+ }
+
+ if (true == listView->__onSearching) {
+ if (NULL == listView->__listModel->getSearchString()) {
+ // if start searching, initial the original checked list at the first time
+ listView->__listModel->initialOriginalCheckedIdList();
+ listView->__listModel->initialOriginalPersonDataListSize();
+ }
+ }
+ else {
+ listView->__listModel->clearOriginalCheckedIdList();
+ listView->__listModel->clearOriginalPersonDataListSize();
+ }
+
+ listView->__listModel->setSearchString(search);
+
+ if(listView->__searchGetContactThread){
+ listView->__searchGetContactThread->destroy();
+ listView->__searchGetContactThread = NULL;
+ listView->__listModel->cancelGetContacts();
+ }
+
+ listView->__searchGetContactThread = new CtThread(__onSearchGetContactsThreadRunCb, listView, __onSearchGetContactsThreadEndCb, listView);
+ listView->__searchGetContactThread->start();
+
+ SAFE_FREE(search);
+}
+
+void CtListView::__onSearchbarActivatedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ elm_object_focus_set(obj, EINA_FALSE);
+}
+
+void CtListView::__fastIndexChanged(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ const Elm_Object_Item *item = (Elm_Object_Item*)event_info;
+ Elm_Object_Item *item2 = (Elm_Object_Item*)elm_object_item_data_get(item);
+
+ elm_index_indicator_disabled_set(obj, EINA_FALSE);
+ elm_genlist_item_show(item2, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+}
+
+void CtListView::__fastIndexSelected(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ Elm_Object_Item *item = (Elm_Object_Item*)event_info;
+ Elm_Object_Item *item2 = (Elm_Object_Item*)elm_object_item_data_get(item);
+
+ elm_genlist_item_show(item2, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ elm_index_item_selected_set(item, EINA_FALSE);
+}
+
+void CtListView::__showGenlist(void)
+{
+ WENTER();
+
+ __setItemClassStyle();
+
+ Evas_Object* oldLayout = elm_object_part_content_get(__baseLayout, "section.content");
+ if(oldLayout){
+ WDEBUG("delete old layout");
+ elm_object_part_content_unset(__baseLayout, "section.content");
+ evas_object_del(oldLayout);
+ }
+
+ //add list base layout
+ __fastLayout = elm_layout_add(__baseLayout);
+ if(__hasCreateButton) {
+ __showCreateButton();
+ }
+ elm_layout_theme_set(__fastLayout, "layout", "application", "fastscroll");
+
+ evas_object_size_hint_weight_set(__fastLayout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_part_content_set(__baseLayout, "section.content", __fastLayout);
+ evas_object_show(__fastLayout);
+
+ //add fastscroll
+ Evas_Object* fastscroll = __createFastscroll(__fastLayout);
+ if(fastscroll)
+ elm_object_part_content_set(__fastLayout, "elm.swallow.fastscroll", fastscroll);
+ else
+ elm_object_signal_emit(__fastLayout, "elm,state,fastscroll,hide", "");
+
+ Evas_Object* box = elm_box_add(__fastLayout);
+ elm_object_part_content_set(__fastLayout, "elm.swallow.content", box);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(box);
+
+ //add genlist
+ __genlist = __createGenlist(box);
+ elm_box_pack_end(box, __genlist);
+
+ __noContentLayout = __setNoContentsLayout(box);
+ elm_box_pack_end(box, __noContentLayout);
+
+ __curAppendIndex = 0;
+ __appendGenlistItems(0);
+
+ WLEAVE();
+
+ return;
+
+}
+
+void CtListView::__onGenlistScrollStartCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtListView *view = (CtListView*)data;
+
+ view->__genlistScrolling = true;
+
+ if(view->__loadImageTimer)
+ ecore_timer_del(view->__loadImageTimer);
+ view->__loadImageTimer = NULL;
+}
+
+void CtListView::__onGenlistScrollStopCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtListView *view = (CtListView*)data;
+
+ view->__genlistScrolling = false;
+
+ if(NULL == view->__genlist)
+ WDEBUG("__genlist is NULL");
+ else
+ WDEBUG("__genlist is NOT NULL");
+
+ if(view->__loadImageTimer)
+ ecore_timer_del(view->__loadImageTimer);
+ view->__loadImageTimer = NULL;
+
+ view->__loadImageTimer = ecore_timer_add(CT_LIST_IMAGE_LOAD_TIMER, __loadImageTimerCb, view);
+}
+
+Eina_Bool CtListView::__loadImageTimerCb(void *user_data)
+{
+ WHIT();
+ CtListView *view = (CtListView*)user_data;
+
+ if(view->__loadImageTimer)
+ ecore_timer_del(view->__loadImageTimer);
+ view->__loadImageTimer = NULL;
+
+ if(view->__genlistScrolling == false) {
+ WDEBUG("load image on scrolling stop");
+ elm_genlist_realized_items_update(view->__genlist);
+ }
+ else {
+ WDEBUG("load image pass on scrolling");
+ }
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void CtListView::__onNaviTransitionFinishedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ CtListView *view = (CtListView*)data;
+
+ Elm_Object_Item *item = elm_naviframe_top_item_get(obj);
+ if(item == view->getNaviItem()) {
+ WDEBUG("emerged");
+ view->__background = false;
+
+ int updatedMFC = 0;
+ CtRegistryMgr::getInstance()->getInt(REGISTRY_KEY_MFC_UPDATED, &updatedMFC);
+
+ elm_genlist_realized_items_update(view->__genlist);
+
+ if(view->__updateQueue > 0 || updatedMFC>0) {
+ WDEBUG("update job remains. updatedMFC %d", updatedMFC);
+ view->__updateQueue = 0;
+ view->onDbChanged(NULL);
+ }
+
+ if (view->__hasCreateButton) {
+ view->__showCreateButton();
+ }
+ }
+ else {
+ WDEBUG("set background");
+ view->__background = true;
+ if(view->__hasCreateButton) {
+ view->__hideCreateButton();
+ }
+ }
+
+ WLEAVE();
+}
+
+void CtListView::__onSearchGetContactsThreadEndCb(void *data)
+{
+ WENTER();
+
+ CtListView* listView = (CtListView*)data;
+ listView->__curAppendIndex = 0;
+ listView->__appendGenlistItems(0);
+
+ WLEAVE();
+}
+
+void CtListView:: __onSearchGetContactsThreadRunCb(void *data)
+{
+ WENTER();
+
+ CtListView *listView = (CtListView*)data;
+ listView->__listModel->getContacts(LIST_QUERY_DEFAULT, GET_AS_SYNC_ASYNC);
+
+ WLEAVE();
+}
+
+void CtListView:: __genlistReoderCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtListView *view = (CtListView*)data;
+ view->__enableDone = true;
+ view->__showTitleButton(true);
+
+ Elm_Object_Item *item = NULL;
+ Elm_Object_Item *previtem = NULL;
+ Elm_Object_Item *nextitem = NULL;
+
+ int personId = 0;
+ int prevPersonId = 0;
+ int nextPersonId = 0;
+
+ CtListView::CtListDataItem* itemData = NULL;
+
+ item = (Elm_Object_Item*) event_info;
+
+ Elm_Genlist_Item_Type itemType = elm_genlist_item_type_get(item);
+ if(itemType == ELM_GENLIST_ITEM_GROUP) {
+ return;
+ }
+
+ itemData = (CtListView::CtListDataItem*)elm_object_item_data_get(item);
+ if(itemData) {
+ personId = itemData->personData->getPersonId();
+ }
+
+ previtem = elm_genlist_item_prev_get(item);
+ if(previtem) {
+ itemType = elm_genlist_item_type_get(previtem);
+ if(itemType != ELM_GENLIST_ITEM_GROUP) {
+ itemData = (CtListView::CtListDataItem*)elm_object_item_data_get(previtem);
+ if(itemData)
+ prevPersonId = itemData->personData->getPersonId();
+ }
+ }
+
+ nextitem = elm_genlist_item_next_get(item);
+ if(nextitem) {
+ itemType = elm_genlist_item_type_get(nextitem);
+ if(itemType != ELM_GENLIST_ITEM_GROUP) {
+ itemData = (CtListView::CtListDataItem*)elm_object_item_data_get(nextitem);
+ if(itemData)
+ nextPersonId = itemData->personData->getPersonId();
+ }
+ }
+
+ CtListFavoriteReorderData reorderData;
+ reorderData.personId = personId;
+ reorderData.prevPersonId = prevPersonId;
+ reorderData.nextPersonId = nextPersonId;
+
+ view->__reorderData.push_back(reorderData);
+
+}
+
+Evas_Object* CtListView::__createGenlist(Evas_Object* parent)
+{
+ WHIT();
+
+ Evas_Object* genlist = elm_genlist_add(parent);
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ //evas_object_smart_callback_add(genlist, "realized", __onGenlistRealizedCb, NULL);
+ //for speed up scrolling list
+ evas_object_smart_callback_add(genlist, "scroll,anim,start", __onGenlistScrollStartCb, this);
+ evas_object_smart_callback_add(genlist, "scroll,anim,stop", __onGenlistScrollStopCb, this);
+
+ evas_object_show(genlist);
+
+ if(__viewType == LIST_VIEW_REORDER){
+ elm_genlist_longpress_timeout_set(genlist, 0.3);
+ //elm_genlist_reorder_mode_set(genlist, EINA_TRUE);
+ evas_object_smart_callback_add(genlist, "moved", __genlistReoderCb, this);
+ }
+
+ return genlist;
+}
+
+Evas_Object* CtListView::__createFastscroll(Evas_Object* parent)
+{
+ WENTER();
+
+ if(__hasFastscroll == false) {
+ return NULL;
+ }
+
+ Evas_Object* fastscroll = elm_index_add(parent);
+ evas_object_smart_callback_add(fastscroll, "changed", __fastIndexChanged, NULL);
+ evas_object_smart_callback_add(fastscroll, "selected", __fastIndexSelected, NULL);
+ evas_object_show(fastscroll);
+ elm_index_autohide_disabled_set(fastscroll, EINA_TRUE);
+ elm_index_item_clear(fastscroll);
+ __appendFastScrollLetter(SYMBOL_MAGNIFIER);
+ if(__favoriteTitleItem) {
+ __appendFastScrollLetter(SYMBOL_STAR);
+ }
+ __fastScroll = fastscroll;
+
+ WLEAVE();
+ return fastscroll;
+}
+
+void CtListView::__hideCreateButton(void)
+{
+ WENTER();
+ if (NULL == __compose_btn) {
+ WDEBUG("__compose_btn is NULL");
+ return;
+ }
+
+ WWindow *window = getWindow();
+ if (!window) {
+ return;
+ }
+
+ elm_object_part_content_unset(window->getBaseLayoutEvasObj(), "elm.swallow.floatingbutton");
+ evas_object_hide(__compose_btn);
+}
+
+void CtListView::__showCreateButton(void)
+{
+ WENTER();
+ WWindow *window = getWindow();
+ if (!window) {
+ return;
+ }
+
+ Evas_Object *parent = window->getBaseLayoutEvasObj();
+ if (NULL == __compose_btn) {
+ __compose_btn = __createFloatBtn(parent);
+ }
+
+ elm_object_part_content_set(parent, "elm.swallow.floatingbutton", __compose_btn);
+}
+
+Evas_Object *CtListView::__createFloatBtn(Evas_Object* parent)
+{
+ WHIT();
+ Evas_Object *floatBtn = eext_floatingbutton_add(parent);
+ Evas_Object *button= elm_button_add(floatBtn);
+ if(button) {
+ elm_object_part_content_set(floatBtn, "button1", button);
+ Evas_Object *image = elm_image_add(button);
+ elm_image_file_set(image, CT_IMG_ICON_LIST_ADD_BUTTON, NULL);
+ elm_object_part_content_set(button, "icon", image);
+ evas_object_smart_callback_add(button, "clicked", __onSelectFloatBtn, this);
+ }
+ return floatBtn;
+}
+
+void CtListView::__onSelectFloatBtn(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ CtListView *listView = (CtListView*)data;
+ listView->__listController->onSelectCreate(data, obj, event_info);
+}
+
+void CtListView::__cleanSearchbar()
+{
+ WHIT();
+ if(__searchbarItem) {
+ //elm_genlist_item_show(__searchbarItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ Evas_Object *editfield = elm_object_item_part_content_get(__searchbarItem, "elm.swallow.content");
+ if(editfield) {
+ if(elm_entry_is_empty(editfield) == EINA_FALSE)
+ elm_entry_entry_set(editfield, "");
+ }
+
+ __showFastScroll();
+ }
+}
+
+Evas_Object* CtListView::__createNoContent(Evas_Object* parent)
+{
+ WHIT();
+
+ Evas_Object* noContent = elm_layout_add(parent);
+ elm_layout_theme_set(noContent, "layout", "nocontents", "default");
+ evas_object_size_hint_weight_set(noContent, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(noContent, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ elm_object_domain_translatable_part_text_set(noContent, "elm.text", PACKAGE, "IDS_PB_NPBODY_NO_CONTACTS");
+ elm_object_domain_translatable_part_text_set(noContent, "elm.help.text", PACKAGE, "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE");
+
+ elm_layout_signal_emit(noContent, "text,disabled", "");
+ elm_layout_signal_emit(noContent, "align.center", "elm");
+ // to work signal directly not on idler
+ edje_object_message_signal_process(elm_layout_edje_get(noContent));
+
+ evas_object_show(noContent);
+
+ __showTitleButton(false);
+
+ return noContent;
+}
+
+Eina_Bool CtListView::__createNocontentsPopupCb(void* data)
+{
+ WHIT();
+ CtListView *listView = (CtListView*)data;
+ listView->__listController->onSelectMenu(listView);
+ listView->__launching = false;
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
+void CtListView::__showNoContent(void)
+{
+ WHIT();
+
+ Evas_Object* oldLayout = elm_object_part_content_get(__baseLayout, "section.content");
+ if(oldLayout){
+ WDEBUG("delete old layout");
+ if(oldLayout == __fastLayout)
+ __fastLayout = NULL;
+ evas_object_del(oldLayout);
+ }
+
+ Evas_Object *noContent = __createNoContent(__baseLayout);
+ elm_object_part_content_set(__baseLayout, "section.content", noContent);
+
+ __updateCheckRelatedInfo();
+
+ return;
+}
+
+void CtListView::__updateCheckRelatedInfo()
+{
+ WHIT();
+
+ if (__viewType == LIST_VIEW_CHECK) {
+ char buf[CT_TEXT_SHORT_LEN] = {0};
+
+ int checkedIdNum = __listModel->getCheckedDataCount();
+ if(__listModel->getLimitCount() == 0)
+ snprintf(buf, sizeof(buf), ctGetContactsString("IDS_PB_HEADER_PD_SELECTED_ABB3"), checkedIdNum);
+ else
+ snprintf(buf, sizeof(buf), "%d/%d", checkedIdNum, __listModel->getLimitCount());
+
+ elm_object_item_part_text_set(getNaviItem(), "elm.text.title", buf);
+ Evas_Object *btn = elm_object_item_part_content_get(getNaviItem(), "title_right_btn");
+ WDEBUG("%i", checkedIdNum);
+ if(btn) {
+ if( checkedIdNum > 0) {
+ elm_object_disabled_set(btn, EINA_FALSE);
+ __enableDone = true;
+ }
+ else {
+ elm_object_disabled_set(btn, EINA_TRUE);
+ __enableDone = false;
+ }
+ }
+
+
+ if (__selectAllItem) {
+ if (__onSearching) {
+ if (__listModel->checkIsSelectAllOnSearching()) {
+ __selectAllState = CHECK_ON;
+ }
+ else {
+ __selectAllState = CHECK_OFF;
+ }
+ }
+ else {
+ int maxCount = __listModel->getPersonListCount(LIST_QUERY_DEFAULT);
+ if (__ctrlType == LIST_CTRL_REMOVE_FAVORITES) {
+ maxCount += __listModel->getPersonListCount(LIST_QUERY_MFC);
+ }
+
+ if (checkedIdNum == maxCount) {
+ __selectAllState = CHECK_ON;
+ }
+ else {
+ __selectAllState = CHECK_OFF;
+ }
+ }
+ elm_genlist_item_fields_update( __selectAllItem, "elm.swallow.end", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ }
+ }
+}
+
+void CtListView::__updateCheckAllRelatedInfo()
+{
+ WHIT();
+
+ if (__viewType == LIST_VIEW_CHECK) {
+ char buf[CT_TEXT_SHORT_LEN] = {0};
+
+ int checkedCount = 0;
+ int limitCount = __listModel->getLimitCount();
+ if(__loaded)
+ checkedCount = __listModel->getCheckedDataCount();
+ else
+ checkedCount = __listModel->getContactsCount(LIST_QUERY_DEFAULT);
+
+ if(!__onSearching && __selectAllState == CHECK_OFF)
+ checkedCount = 0;
+
+ if(limitCount == 0)
+ snprintf(buf, sizeof(buf), ctGetContactsString("IDS_PB_HEADER_PD_SELECTED_ABB3"), checkedCount);
+ else
+ snprintf(buf, sizeof(buf), "%d/%d", checkedCount, limitCount);
+
+ elm_object_item_part_text_set(getNaviItem(), "elm.text.title", buf);
+ Evas_Object *btn = elm_object_item_part_content_get(getNaviItem(), "title_right_btn");
+ if(btn) {
+ if(checkedCount > 0) {
+ elm_object_disabled_set(btn, EINA_FALSE);
+ __enableDone = true;
+ }
+ else {
+ elm_object_disabled_set(btn, EINA_TRUE);
+ __enableDone = false;
+ }
+ }
+ }
+
+}
+
+void CtListView::__onSelectItem(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+
+ CtListView *listView = (CtListView*)data;
+ elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+
+ if (listView->__viewType == LIST_VIEW_REORDER)
+ return;
+
+ Elm_Object_Item *item = (Elm_Object_Item*)event_info;
+ Evas_Object* check = elm_object_item_part_content_get(item,"elm.swallow.end");
+ if (check) {
+ CtListView::CtListDataItem* itemData = (CtListView::CtListDataItem*)elm_object_item_data_get((Elm_Object_Item*)event_info);
+ //Eina_Bool state = elm_check_state_get(check);
+ Eina_Bool state = itemData->personData->isChecked();
+
+ listView->__listController->onSelectItem((Elm_Object_Item*)event_info, listView, (CtCheckState)(!state));
+ listView->__updateCheckRelatedInfo();
+ return;
+ }
+
+ listView->__listController->onSelectItem((Elm_Object_Item*)event_info, listView, CHECK_NONE);
+ listView->__updateCheckRelatedInfo();
+}
+/*
+bool CtListView::__checkMFC(int personId)
+{
+ WHIT();
+ std::shared_ptr<CtListDataPerson> dataPerson;
+ int mfcIndex = 0;
+
+ while(true){
+ if (mfcIndex > 5)
+ break;
+ dataPerson = __listModel->getAtPersonData(mfcIndex, LIST_QUERY_MFC);
+ if(dataPerson == NULL)
+ break;
+ if(dataPerson->getPersonId() == personId)
+ return true;
+
+ mfcIndex++;
+ }
+ return false;
+}
+*/
+void CtListView::__onSelectCheckAll(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+
+ CtListView *listView = (CtListView*)data;
+ Elm_Object_Item *item = (Elm_Object_Item*)event_info;
+
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ listView->__selectedCheckAll = false;
+
+ if(listView->__loaded == false) {
+ WDEBUG("not loaded yet");
+ listView->__selectedCheckAll = true;
+ return;
+ }
+
+ Evas_Object* check = elm_object_item_part_content_get(item, "elm.swallow.end");
+ elm_check_state_set(check, !elm_check_state_get(check));
+
+ listView->__listController->onSelectCheckAll(item, listView, (CtCheckState)elm_check_state_get(check));
+ listView->__updateCheckRelatedInfo();
+}
+
+void CtListView::__onSelectMenu(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+
+ CtListView *listView = (CtListView*)data;
+
+ listView->destroyPopup(); // Due to some race condition sometime listview menu popup and profile/detail view both appears
+
+ if(listView->__listModel->getMadePersonListStatus()) {//display menu options only id data is received from DB
+ listView->__listController->onSelectMenu(listView);
+ }
+}
+
+void CtListView::__onMyProfileSelectCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ CtListView *listView = (CtListView*)data;
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+ bool first = false;
+ int error = preference_get_boolean(CT_KEY_MYPROFILE_CREATE_FIRST, &first);
+ if (error != PREFERENCE_ERROR_NONE)
+ {
+ WDEBUG("preference_get_boolean failed");
+ }
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h myprofileList = NULL;
+ int count = 0;
+
+ err = contacts_db_get_all_records(_contacts_my_profile._uri, 0, 0, &myprofileList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_all_records() Failed(%d)", err);
+
+ if (myprofileList != NULL) {
+ contacts_list_get_count(myprofileList, &count);
+
+ err = contacts_list_destroy(myprofileList, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_count() Failed(%d)", err);
+
+ if (listView->__detailDllHandle == NULL) {
+ listView->__detailDllHandle = ctGetDllHandle("libct-detail.so");
+ }
+ WPRET_M(!listView->__detailDllHandle, "failed to load libct-detail.so");
+
+ if (count > 0 && !first) {
+ typedef WView* (*CreateMyProfileDetailView)();
+ CreateMyProfileDetailView createMyProfileDetailView = (CreateMyProfileDetailView)dlsym(listView->__detailDllHandle, "createMyProfileDetailView");
+ if (createMyProfileDetailView) {
+ WView* myProfileDetailView = createMyProfileDetailView();
+ listView->getWNaviframe()->push(myProfileDetailView, NULL, NULL);
+ }
+ } else {
+ typedef WView* (*CreateMyProfileInputView)(contacts_record_h);
+ CreateMyProfileInputView createMyProfileInputView = (CreateMyProfileInputView)dlsym(listView->__detailDllHandle, "createMyProfileInputView");
+ if (createMyProfileInputView) {
+ WView* myProfileInputView = createMyProfileInputView(NULL);
+ listView->getWNaviframe()->push(myProfileInputView, NULL, NULL);
+ }
+ }
+ }
+}
+
+//should be removed api
+void CtListView::__onClickRemoveBtn(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ //Do more job in view
+// CtListDataItem *item = (CtListDataItem*)data;
+ //item->listView->__listController->clickRemoveBtnOperation(data, obj,event_info);
+}
+
+void CtListView::__onGenlistRealizedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+}
+
+void CtListView::__updatetGenlistItem()
+{
+ WENTER();
+
+}
+
+Eina_Unicode CtListView::__hangulCompatibilityToJamo(Eina_Unicode unicode)
+{
+ int i;
+
+ if(unicode < __hangulCompatibilityChoseong[0] || unicode > __hangulCompatibilityChoseong[13])
+ return unicode;
+
+
+ for(i=0;i<14;i++) {
+ if(unicode == __hangulCompatibilityChoseong[i])
+ return __hangulJamoChoseong[i];
+ }
+
+ return unicode;
+}
+
+
+bool CtListView::__compareCharacter(const char *str1, const char *str2)
+{
+ int tmp_len;
+ Eina_Unicode *unicode;
+ Eina_Unicode uniJamo1;
+ Eina_Unicode *uniJamo2;
+ bool result = false;
+
+ unicode = eina_unicode_utf8_to_unicode(str1, &tmp_len);
+ WPRET_VM(!unicode, false, "eina_unicode_utf8_to_unicode failed for %s", str1);
+
+ uniJamo1 = __hangulCompatibilityToJamo(*unicode);
+ uniJamo2 = eina_unicode_utf8_to_unicode(str2, &tmp_len);
+ if(!uniJamo2) {
+ free(unicode);
+ WERROR("eina_unicode_utf8_to_unicode failed for %s", str2);
+ return false;
+ }
+
+ if(uniJamo1 == *uniJamo2 || eina_unicode_strcmp(uniJamo2, unicode) == 0)
+ result = true;
+
+ free(unicode);
+ free(uniJamo2);
+
+ return result;
+}
+
+void CtListView::__linkItemToIndex(Elm_Object_Item *groupItem)
+{
+ void *data = NULL;
+ bool matched = false;
+ Eina_List *cusor = NULL;
+ int i = 0;
+ int count = 0;
+ int firstSetIndex = -1;
+ WPRET_M(NULL == __fastIndexList, "No fastindex");
+
+ count = eina_list_count(__fastIndexList);
+
+ EINA_LIST_FOREACH(__fastIndexList, cusor, data) {
+ //leave rest index item as on unlinked from match item
+ if (matched == true && i < count)
+ break;
+
+ // skip magnify, star
+ if(i < 1) {
+ i++;
+ continue;
+ }
+
+ CtListFastIndexData *indexData = (CtListFastIndexData*)data;
+
+ if(__compareCharacter(indexData->index, __curGroupIndex.c_str()) == true)
+ matched = true;
+
+ //link group item to vacant index items until find match item
+ Elm_Object_Item *linkedItem = NULL;
+ linkedItem = (Elm_Object_Item*)elm_object_item_data_get(indexData->item);
+ if(linkedItem == NULL) {
+ elm_object_item_data_set(indexData->item, (void*)groupItem);
+ //keep first index set
+ if(firstSetIndex < 0)
+ firstSetIndex = i;
+ }
+ i++;
+ }
+
+ //in case there is unmatch item among the matching letters.
+ if(matched == false) {
+ if(__unmatchedGroupTitleItem == NULL)
+ __unmatchedGroupTitleItem = groupItem;
+
+ //at least '#' need link to first group item what ever
+
+ /* not needed by mgnify, star
+ if(firstSetIndex == 0)
+ firstSetIndex++;
+ */
+ if(firstSetIndex > 0) {
+ Eina_List *cusor2 = NULL;
+ cusor = NULL;
+ cusor = eina_list_nth_list(__fastIndexList, firstSetIndex);
+ EINA_LIST_FOREACH(cusor, cusor2, data) {
+ CtListFastIndexData *indexData = (CtListFastIndexData*)data;
+ elm_object_item_data_set(indexData->item, NULL);
+ }
+ }
+ }
+ else
+ __unmatchedGroupTitleItem = NULL;
+}
+
+void CtListView::__linkItemsManually(Eina_List *indexItem, Elm_Object_Item *genItem)
+{
+ WENTER();
+ if(indexItem && genItem) {
+ void *data = eina_list_data_get(indexItem);
+ elm_object_item_data_set(static_cast<CtListFastIndexData*>(data)->item, (void*)genItem);
+ }
+}
+
+void CtListView::__linkItemToRestIndex()
+{
+ WENTER();
+
+ void *data = NULL;
+ Eina_List *cusor = NULL;
+
+ if(__hasFastscroll == false)
+ return;
+
+ if(__unmatchedGroupTitleItem)
+ __curGroupTitleItem = __unmatchedGroupTitleItem;
+
+ EINA_LIST_FOREACH(__fastIndexList, cusor, data) {
+ CtListFastIndexData *indexData = (CtListFastIndexData*)data;
+ Elm_Object_Item *linkedItem = NULL;
+ linkedItem = (Elm_Object_Item*)elm_object_item_data_get(indexData->item);
+ if(linkedItem == NULL) {
+ elm_object_item_data_set(indexData->item, (void*)__curGroupTitleItem);
+ }
+ }
+
+ __unmatchedGroupTitleItem = NULL;
+
+ int value = 0;
+ if(CtRegistryMgr::getInstance()->getInt(REGISTRY_KEY_FAVORITE_UPDATED, &value) == REGISTRY_SUCCESS) {
+ if(value == 1) {
+ if(__favoriteTitleItem)
+ elm_genlist_item_show(__favoriteTitleItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ else
+ elm_genlist_item_show(__searchbarItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ }
+ }
+ else if(CtRegistryMgr::getInstance()->getInt(REGISTRY_KEY_INSERTED_PERSON_ID, &value) == REGISTRY_SUCCESS) {
+ Elm_Object_Item *curItem = getGenlistItemByPersonId(value);
+ if(curItem)
+ elm_genlist_item_show(curItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ }
+}
+
+Elm_Object_Item* CtListView::getGenlistItemByPersonId(int personId)
+{
+ WDEBUG("personid %d", personId);
+ Elm_Object_Item *curItem = elm_genlist_first_item_get(__genlist);
+ while(curItem) {
+ if(elm_genlist_item_type_get(curItem) == ELM_GENLIST_ITEM_GROUP) {
+ curItem = elm_genlist_item_next_get(curItem);
+ continue;
+ }
+ else if(curItem == __searchbarItem) {
+ curItem = elm_genlist_item_next_get(curItem);
+ continue;
+ }
+ else if(curItem == __selectAllItem) {
+ curItem = elm_genlist_item_next_get(curItem);
+ continue;
+ }
+ else if(curItem == __myProfileItem) {
+ curItem = elm_genlist_item_next_get(curItem);
+ continue;
+ }
+
+ CtListDataItem *dataItem = (CtListDataItem*)elm_object_item_data_get(curItem);
+ if(dataItem) {
+ if (dataItem->personData) {
+ if(dataItem->personData->getPersonId() == personId) {
+ WDEBUG("find personid item");
+ break;
+ }
+ }
+ }
+ curItem = elm_genlist_item_next_get(curItem);
+ }
+
+ WDEBUG("curItem %p", curItem);
+ return curItem;
+}
+
+void CtListView::setOnSingleResult(SingleResultCb handler)
+{
+ __singleResultCb = std::move(handler);
+}
+
+void CtListView::setOnMultiResult(MultiResultCb handler)
+{
+ __multiResultCb = std::move(handler);
+}
+
+void CtListView::sendSingleResult(const char *data, CtListResultType type) const
+{
+ if (__singleResultCb) {
+ __singleResultCb(data, type);
+ }
+}
+
+void CtListView::sendMultiResult(const char *data[], size_t count) const
+{
+ if (__multiResultCb) {
+ __multiResultCb(data, count);
+ }
+}
+
+void CtListView::__initFastscrollData()
+{
+ __curGroupIndex.clear();
+ __unmatchedGroupTitleItem = NULL;
+ __curGroupTitleItem = NULL;
+
+ Eina_List *cursor = NULL;
+ void *data = NULL;
+
+ EINA_LIST_FOREACH(__fastIndexList, cursor, data) {
+ CtListFastIndexData *indexData = (CtListFastIndexData*)data;
+
+ elm_object_item_data_set(indexData->item, NULL);
+ }
+}
+void CtListView::__initListItems(void)
+{
+ WHIT();
+
+ if(__searchbarItem) {
+ Elm_Object_Item *curItem = elm_genlist_item_next_get(__searchbarItem);
+ // if while searching or nocontact clear all
+ if(__onNoContentLayout || elm_genlist_item_type_get(curItem) != ELM_GENLIST_ITEM_GROUP) {
+ while(curItem) {
+ Elm_Object_Item *item2 = elm_genlist_item_next_get(curItem);
+ elm_object_item_del(curItem);
+ curItem = item2;
+ }
+ // init grobal variables
+ __favoriteTitleItem = NULL;
+ __linkSuggestTitleItem = NULL;
+ __mfcTitleItem = NULL;
+ __myProfileItem = NULL;
+ __selectAllItem = NULL;
+
+ __selectAllState = CHECK_OFF;
+ }
+ }
+ else {
+ elm_genlist_clear(__genlist);
+ // init grobal variables
+ __favoriteTitleItem = NULL;
+ __linkSuggestTitleItem = NULL;
+ __mfcTitleItem = NULL;
+ __myProfileItem = NULL;
+ __searchbarItem = NULL;
+ __selectAllItem = NULL;
+
+ __selectAllState = CHECK_OFF;
+ }
+
+ __initFastscrollData();
+
+ __showTitleButton(true);
+}
+
+
+Elm_Object_Item* CtListView::__addSearchbarItem(void)
+{
+ if(__hasSearchbar == true) {
+ if(__searchbarItem == NULL) {
+ WDEBUG("searchbar added");
+ __searchbarItem = elm_genlist_item_prepend(__genlist, __searchbarItc, this, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+
+ if (__searchbarItem) {
+ elm_genlist_item_select_mode_set(__searchbarItem, ELM_OBJECT_SELECT_MODE_NONE);
+
+ CtListFastIndexData *indexData = (CtListFastIndexData*)eina_list_nth(__fastIndexList, 0);
+ if (indexData) {
+ elm_object_item_data_set(indexData->item, (void*)__searchbarItem);
+ }
+ }
+ }
+ else {
+ WDEBUG("searchbar re link to fastscroll");
+ CtListFastIndexData *indexData = (CtListFastIndexData*)eina_list_nth(__fastIndexList, 0);
+ if (indexData) {
+ elm_object_item_data_set(indexData->item, (void*)__searchbarItem);
+ }
+ }
+ }
+
+ return __searchbarItem;
+}
+
+Elm_Object_Item* CtListView::__addSelectAllItem(void)
+{
+ WHIT();
+ if(__hasSelectAll == true) {
+ int listCount = __listModel->getPersonListCount(LIST_QUERY_DEFAULT);
+ // in remove favorites view, it needs to show MFC
+ if (__ctrlType == LIST_CTRL_REMOVE_FAVORITES) {
+ listCount += __listModel->getContactsCount(LIST_QUERY_MFC);
+ }
+ if(__selectAllItem == NULL && listCount > 0) {
+ WDEBUG("selectall added");
+ CtListDataItem *itemData = new CtListDataItem;
+ itemData->personData = NULL;
+ itemData->listView = this;
+ itemData->item = elm_genlist_item_append(__genlist, __selectAllItc, itemData, NULL, ELM_GENLIST_ITEM_NONE, __onSelectCheckAll, this);
+ __selectAllItem = itemData->item;
+ }
+ }
+
+ return __selectAllItem;
+}
+
+int CtListView::__addLinkSuggestList(void)
+{
+ WHIT();
+ int index = 0;
+ if(__hasLinkSuggest){
+ std::shared_ptr<CtListDataPerson> dataPerson;
+ CtListModelLinkSuggest* model = new CtListModelLinkSuggest(__selectedPersonId);
+ if(model->getContactsCount(LIST_QUERY_DEFAULT) > 0) {
+ WDEBUG("list suggest added");
+
+ Elm_Object_Item *curItem = __getStandardItem(LIST_SUB_LINK_SUGGEST);
+
+ if(__linkSuggestTitleItem == NULL)
+ __linkSuggestTitleItem = __addLinkSuggestTitleItem(curItem);
+
+ curItem = elm_genlist_item_next_get(__linkSuggestTitleItem);
+ while(true){
+ dataPerson = model->getAtPersonData(index, LIST_QUERY_DEFAULT);
+ if(dataPerson == NULL)
+ break;
+ CtListDataItem *itemData = new CtListDataItem;
+ itemData->personData = dataPerson;
+ itemData->listView = this;
+ itemData->item = __addLinkSuggestItem(curItem, itemData);
+ index++;
+
+ curItem = elm_genlist_item_next_get(itemData->item);
+ }
+
+ __deleteRestItems(curItem, false);
+ }
+ else {
+ Elm_Object_Item *curItem = elm_genlist_item_next_get(__linkSuggestTitleItem);
+ elm_object_item_del(__linkSuggestTitleItem);
+ __linkSuggestTitleItem = NULL;
+ __deleteRestItems(curItem, false);
+ }
+ delete model;
+ }
+
+ return 0;
+}
+
+Elm_Object_Item* CtListView::__addLinkSuggestItem(Elm_Object_Item *curItem, CtListDataItem* itemData)
+{
+ Elm_Object_Item *item = NULL;
+ if(curItem == NULL) {
+ // insert item
+ item = elm_genlist_item_append(__genlist, __listItc, itemData, NULL, ELM_GENLIST_ITEM_NONE,__onSelectItem, this);
+ }
+ else {
+ if(elm_genlist_item_type_get(curItem) != ELM_GENLIST_ITEM_GROUP) {
+ // update item
+ CtListDataItem *lastData = (CtListDataItem *)elm_object_item_data_get(curItem);
+ if(lastData)
+ delete lastData;
+ elm_object_item_data_set(curItem, itemData);
+ item = curItem;
+ }
+ else {
+ // insert before item
+ item = elm_genlist_item_insert_before(__genlist, __listItc, itemData, NULL, curItem, ELM_GENLIST_ITEM_NONE, __onSelectItem, this);
+ }
+ }
+ return item;
+}
+
+Elm_Object_Item* CtListView::__addMyProfileItem(void)
+{
+ WHIT();
+ if (__hasMyProfile && __onSearching == false) {
+ if(__myProfileItem == NULL) {
+ WDEBUG("my profile added");
+ Elm_Object_Item *item = NULL;
+ item = elm_genlist_item_append(__genlist, __groupTitleItc, SAFE_STRDUP(V_("IDS_PB_HEADER_ME")), NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ __myProfileItem = elm_genlist_item_append(__genlist, __myProfileItc, this, NULL, ELM_GENLIST_ITEM_NONE, __onMyProfileSelectCb, this);
+ }
+ else {
+ WDEBUG("my profile updated");
+ elm_object_item_data_set(__myProfileItem, (void*)this);
+ elm_genlist_item_update(__myProfileItem);
+ }
+ }
+
+ return __myProfileItem;
+}
+
+int CtListView::__addFavoriteList(void)
+{
+ WHIT();
+ int favorIndex = 0;
+ if(__hasFavoriteList && __onSearching == false) {
+ // for get favorite by order
+ if(__listModel->getPersonListCount(LIST_QUERY_FAVORITE) > 0) {
+ WDEBUG("favorite list added");
+ std::shared_ptr<CtListDataPerson> dataPerson;
+ CtListFastIndexData *indexData = (CtListFastIndexData*)eina_list_nth(__fastIndexList, 1);
+
+ Elm_Object_Item *curItem = __getStandardItem(LIST_SUB_FAVORITE);
+
+ if(__favoriteTitleItem == NULL)
+ __favoriteTitleItem = __addFavoriteTitleItem(curItem);
+ if(indexData)
+ elm_object_item_data_set(indexData->item, (void*)__favoriteTitleItem);
+
+ curItem = elm_genlist_item_next_get(__favoriteTitleItem);
+ while(true){
+ dataPerson = __listModel->getAtPersonData(favorIndex, LIST_QUERY_FAVORITE);
+
+ if(dataPerson == NULL)
+ break;
+ CtListDataItem *itemData = new CtListDataItem;
+ itemData->personData = dataPerson;
+ itemData->listView = this;
+ itemData->item = __addFavoriteItem(curItem, itemData);
+ favorIndex++;
+
+ curItem = elm_genlist_item_next_get(itemData->item);
+ }
+
+ __deleteRestItems(curItem, false);
+ }
+ else {
+ Elm_Object_Item *curItem = elm_genlist_item_next_get(__favoriteTitleItem);
+ elm_object_item_del(__favoriteTitleItem);
+ __favoriteTitleItem = NULL;
+ __deleteRestItems(curItem, false);
+
+ // if no favorites, search bar replace
+ CtListFastIndexData *indexData = (CtListFastIndexData*)eina_list_nth(__fastIndexList, 1);
+ if (indexData)
+ elm_object_item_data_set(indexData->item, (void*)__searchbarItem);
+ }
+ }
+
+ return favorIndex;
+}
+
+Elm_Object_Item* CtListView::__addFavoriteItem(Elm_Object_Item *curItem, CtListDataItem* itemData)
+{
+ Elm_Object_Item *item = NULL;
+ if(curItem == NULL) {
+ // append item
+// WDEBUG("append"); // remove cause of too many printing logs
+ item = elm_genlist_item_append(__genlist, __listItc, itemData, NULL, ELM_GENLIST_ITEM_NONE,__onSelectItem, this);
+ }
+ else {
+ if(elm_genlist_item_type_get(curItem) != ELM_GENLIST_ITEM_GROUP) {
+ // update item
+ WDEBUG("update");
+ elm_object_item_data_set(curItem, itemData);
+ item = curItem;
+ }
+ else {
+ // insert before item
+ WDEBUG("insert");
+ item = elm_genlist_item_insert_before(__genlist, __listItc, itemData, NULL, curItem, ELM_GENLIST_ITEM_NONE, __onSelectItem, this);
+ }
+ }
+ return item;
+}
+
+int CtListView::__addMfcList(void)
+{
+ WHIT();
+ int mfcIndex = 0;
+ if(__hasMfcList && __onSearching == false) {
+ if (__listModel->getAtPersonData(0, LIST_QUERY_MFC)) {
+ WDEBUG("mfc list added");
+ std::shared_ptr<CtListDataPerson> dataPerson;
+
+ Elm_Object_Item *curItem = __getStandardItem(LIST_SUB_MFC);
+
+ if(__mfcTitleItem == NULL)
+ __mfcTitleItem = __addMfcTitleItem(curItem);
+
+ curItem = elm_genlist_item_next_get(__mfcTitleItem);
+ while(true){
+ if (mfcIndex > 5)
+ break;
+
+ dataPerson = __listModel->getAtPersonData(mfcIndex, LIST_QUERY_MFC);
+ if(dataPerson == NULL)
+ break;
+ CtListDataItem *itemData = new CtListDataItem;
+ itemData->personData = dataPerson;
+ itemData->listView = this;
+ itemData->item = __addMfcItem(curItem, itemData);
+ mfcIndex++;
+
+ curItem = elm_genlist_item_next_get(itemData->item);
+ }
+
+ __deleteRestItems(curItem, false);
+ }
+ else {
+ Elm_Object_Item *curItem = elm_genlist_item_next_get(__mfcTitleItem);
+ elm_object_item_del(__mfcTitleItem);
+ __mfcTitleItem = NULL;
+ __deleteRestItems(curItem, false);
+ }
+ }
+ return mfcIndex;
+}
+
+Elm_Object_Item* CtListView::__addMfcItem(Elm_Object_Item *curItem, CtListDataItem* itemData)
+{
+ Elm_Object_Item *item = NULL;
+ if(curItem == NULL) {
+ // insert item
+ item = elm_genlist_item_append(__genlist, __listItc, itemData, NULL, ELM_GENLIST_ITEM_NONE,__onSelectItem, this);
+ }
+ else {
+ if(elm_genlist_item_type_get(curItem) != ELM_GENLIST_ITEM_GROUP) {
+ // update item
+ elm_object_item_data_set(curItem, itemData);
+ item = curItem;
+ }
+ else {
+ // insert before item
+ item = elm_genlist_item_insert_before(__genlist, __listItc, itemData, NULL, curItem, ELM_GENLIST_ITEM_NONE, __onSelectItem, this);
+ }
+ }
+ return item;
+}
+
+Elm_Object_Item* CtListView::__addLinkSuggestTitleItem(Elm_Object_Item *curItem)
+{
+ WHIT();
+ Elm_Object_Item *item = NULL;
+
+ if(curItem == NULL) {
+ WDEBUG("favorite group title added");
+ item = elm_genlist_item_append(__genlist, __linkSuggestTitleItc, this, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ }
+ else {
+ if(__favoriteTitleItem == curItem) {
+ WDEBUG("favorite group title exist");
+ item = curItem;
+ }
+ else {
+ WDEBUG("favorite group title insert before");
+ item = elm_genlist_item_insert_before(__genlist, __linkSuggestTitleItc, this, NULL, curItem, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ }
+ }
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ return item;
+}
+
+
+Elm_Object_Item* CtListView::__addFavoriteTitleItem(Elm_Object_Item *curItem)
+{
+ WHIT();
+ Elm_Object_Item *item = NULL;
+
+ if(curItem == NULL) {
+ WDEBUG("favorite group title added");
+ item = elm_genlist_item_append(__genlist, __favoriteTitleItc, this, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ }
+ else {
+ if(__favoriteTitleItem == curItem) {
+ WDEBUG("favorite group title exist");
+ item = curItem;
+ }
+ else {
+ WDEBUG("favorite group title insert before");
+ item = elm_genlist_item_insert_before(__genlist, __favoriteTitleItc, this, NULL, curItem, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ }
+ }
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ return item;
+}
+
+Elm_Object_Item* CtListView::__addMfcTitleItem(Elm_Object_Item *curItem)
+{
+ WHIT();
+ Elm_Object_Item *item = NULL;
+
+ if(curItem == NULL) {
+ WDEBUG("mfc group title added");
+ item = elm_genlist_item_append(__genlist, __mfcTitleItc, this, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ }
+ else {
+ if(__favoriteTitleItem == curItem) {
+ WDEBUG("mfc group title exist");
+ item = curItem;
+ }
+ else {
+ WDEBUG("mfc group title insert before");
+ item = elm_genlist_item_insert_before(__genlist, __mfcTitleItc, this, NULL, curItem, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ }
+ }
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ return item;
+}
+
+int CtListView::__addSearchList(int offset)
+{
+ WENTER();
+ WPRET_VM(__onSearching == false, 0, "no onSearching");
+
+ int index = 0;
+ if (__hasDefaultList == true) {
+ WDEBUG("main list added");
+ std::shared_ptr<CtListDataPerson> dataPerson;
+
+ Elm_Object_Item *curItem = NULL;
+
+ if(__selectAllItem) {
+ WDEBUG("__selectAllItem");
+ curItem = __selectAllItem;
+ curItem = elm_genlist_item_next_get(curItem);
+ }
+ else {
+ WDEBUG("__searchbarItem");
+ curItem = __searchbarItem;
+ curItem = elm_genlist_item_next_get(curItem);
+ }
+
+ //get searchbar item
+ if(offset > 0) {
+ int curIndex = 0;
+ while(1) {
+ curItem = elm_genlist_item_next_get(curItem);
+ curIndex++;
+ if(curIndex == offset)
+ break;
+ }
+ }
+
+ WDEBUG("1 curitem %p, offset %d", curItem, offset);
+
+ while(true){
+ CtListDataItem *itemData = new CtListDataItem;
+ dataPerson = __listModel->getAtPersonData(__curAppendIndex, LIST_QUERY_DEFAULT);
+
+ if(dataPerson == NULL) {
+ delete itemData;
+ break;
+ }
+ itemData->personData = dataPerson;
+ itemData->listView = this;
+ itemData->item = __addDefaultItem(curItem, itemData, false);
+ __curAppendIndex++;
+ index++;
+
+ curItem = elm_genlist_item_next_get(itemData->item);
+ }
+
+ WDEBUG("2 curitem %p, offset %d", curItem, offset);
+
+ if(offset > 0 || __curAppendIndex < 20)
+ __deleteRestItems(curItem, true);
+
+ if(__curAppendIndex == 0) {
+ __showNoContentsLayout();
+ __setNoContentsText(V_("IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"));
+ } else {
+ __hideNoContentsLayout();
+ }
+
+ WLEAVE();
+ return __curAppendIndex;
+ }
+ WLEAVE();
+ return 0;
+}
+
+
+int CtListView::__addDefaultList(int offset)
+{
+ WHIT();
+ if(__onSearching == true) {
+ return __addSearchList(offset);
+ }
+
+ int index = 0;
+ if (__hasDefaultList == true) {
+ WDEBUG("main list added");
+ std::shared_ptr<CtListDataPerson> dataPerson;
+
+ Elm_Object_Item *curItem = __getStandardItem(LIST_SUB_DEFAULT);
+
+ if (__ctrlType == LIST_CTRL_REORDER_FAVORITES && curItem && elm_genlist_item_type_get(curItem) == ELM_GENLIST_ITEM_GROUP)
+ curItem = NULL;
+
+ if(offset > 0)
+ curItem = NULL;
+
+ if(__listModel->getAtPersonData(__curAppendIndex, LIST_QUERY_DEFAULT)) {
+ elm_index_item_clear(__fastScroll);
+ __freeFastIndexData();
+ __fastIndexList = NULL;
+ __appendFastScrollLetter(SYMBOL_MAGNIFIER);
+ if(__favoriteTitleItem) {
+ __appendFastScrollLetter(SYMBOL_STAR);
+ }
+ }
+ __linkItemsManually(eina_list_nth_list(__fastIndexList, 0), __searchbarItem);
+ if(__favoriteTitleItem) {
+ __linkItemsManually(eina_list_nth_list(__fastIndexList, 1), __favoriteTitleItem);
+ }
+
+ while(true){
+ dataPerson = __listModel->getAtPersonData(__curAppendIndex, LIST_QUERY_DEFAULT);
+
+ if(dataPerson == NULL) {
+ break;
+ }
+ CtListDataItem *itemData = new CtListDataItem;
+ itemData->personData = dataPerson;
+ itemData->listView = this;
+ itemData->item = __addDefaultItem(curItem, itemData, true);
+ __curAppendIndex++;
+ index++;
+
+ curItem = elm_genlist_item_next_get(itemData->item);
+ }
+
+ if(index > 0)
+ __deleteRestItems(curItem, true);
+
+ if(__curAppendIndex == 0) {
+ if(__onSearching) {
+ __showNoContentsLayout();
+ __setNoContentsText(V_("IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"));
+ }
+ else {
+ if (__hasDefaultList == true) {
+ if(!__onNoContentLayout) {
+ Elm_Object_Item *curItem = __getStandardItem(LIST_SUB_DEFAULT);
+ while(curItem) {
+ Elm_Object_Item *item = elm_genlist_item_next_get(curItem);
+ elm_object_item_del(curItem);
+ curItem = item;
+ }
+ __showNoContentsLayout();
+ }
+ __setNoContentsText(V_("IDS_PB_NPBODY_NO_CONTACTS"), V_("IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"));
+ }
+ }
+ } else {
+ __hideNoContentsLayout();
+ }
+ return __curAppendIndex;
+ }
+
+ return 0;
+
+}
+
+Elm_Object_Item* CtListView::__addDefaultItem(Elm_Object_Item *curItem, CtListDataItem* itemData, bool needGroupTitle)
+{
+ WENTER();
+ Elm_Object_Item *item = NULL;
+ if(needGroupTitle)
+ item = __appendGroupItem(curItem, itemData);
+
+ if(item)
+ item = elm_genlist_item_next_get(item);
+ else
+ item = curItem;
+
+ if(item == NULL) {
+ // insert item
+ //WDEBUG("append");
+ item = elm_genlist_item_append(__genlist, __listItc, itemData, NULL, ELM_GENLIST_ITEM_NONE,__onSelectItem, this);
+ }
+ else {
+ if(elm_genlist_item_type_get(item) == ELM_GENLIST_ITEM_GROUP) {
+ // insert before item
+ //WDEBUG("insert");
+ Elm_Object_Item *prev_item = elm_genlist_item_prev_get(item);
+ item = elm_genlist_item_insert_after(__genlist, __listItc, itemData, NULL, prev_item, ELM_GENLIST_ITEM_NONE, __onSelectItem, this);
+ }
+ else {
+ // update item
+ //WDEBUG("update");
+ CtListDataItem *lastData = (CtListDataItem *)elm_object_item_data_get(item);
+ if(lastData)
+ delete lastData;
+ elm_object_item_data_set(item, itemData);
+ }
+ }
+
+ if(__topItemPersonId > 0) {
+ int person_id = itemData->personData->getPersonId();
+ if(__topItemPersonId == person_id)
+ elm_genlist_item_show(item, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ }
+
+ WLEAVE();
+ return item;
+}
+
+
+Elm_Object_Item* CtListView::__getStandardItem(CtListSubListType listType)
+{
+ WDEBUG("list type %d", listType);
+ Elm_Object_Item *curItem = NULL;
+ if(listType == LIST_SUB_LINK_SUGGEST) {
+ if(__linkSuggestTitleItem) {
+ WDEBUG("__linkSuggestTitleItem");
+ curItem = __linkSuggestTitleItem;
+ } else if(__selectAllItem) {
+ WDEBUG("__selectAllItem");
+ curItem = elm_genlist_item_next_get(__selectAllItem);
+ } else if(__searchbarItem) {
+ WDEBUG("__searchbarItem");
+ curItem = elm_genlist_item_next_get(__searchbarItem);
+ } else {
+ WDEBUG("firstItem");
+ curItem = elm_genlist_first_item_get(__genlist);
+ }
+ } else if(listType == LIST_SUB_FAVORITE) {
+ if(__favoriteTitleItem) {
+ WDEBUG("__favoriteTitleItem");
+ curItem = __favoriteTitleItem;
+ } else if(__myProfileItem) {
+ WDEBUG("__myProfileItem");
+ curItem = elm_genlist_item_next_get(__myProfileItem);
+ } else if(__linkSuggestTitleItem) {
+ WDEBUG("__linkSuggestTitleItem");
+ curItem = __linkSuggestTitleItem;
+ } else if(__selectAllItem) {
+ WDEBUG("__selectAllItem");
+ curItem = elm_genlist_item_next_get(__selectAllItem);
+ } else if(__searchbarItem) {
+ WDEBUG("__searchbarItem");
+ curItem = elm_genlist_item_next_get(__searchbarItem);
+ } else {
+ WDEBUG("firstItem");
+ curItem = elm_genlist_first_item_get(__genlist);
+ }
+ } else if(listType == LIST_SUB_MFC) {
+ if(__mfcTitleItem) {
+ WDEBUG("__mfcTitleItem");
+ curItem = __mfcTitleItem;
+ } else if(__favoriteTitleItem) {
+ WDEBUG("__favoriteTitleItem");
+ curItem = elm_genlist_item_next_get(__favoriteTitleItem);
+ while(curItem && elm_genlist_item_type_get(curItem) != ELM_GENLIST_ITEM_GROUP) {
+ curItem = elm_genlist_item_next_get(curItem);
+ }
+ } else if(__myProfileItem) {
+ WDEBUG("__myProfileItem");
+ curItem = elm_genlist_item_next_get(__myProfileItem);
+ } else if(__linkSuggestTitleItem) {
+ WDEBUG("__linkSuggestTitleItem");
+ curItem = __linkSuggestTitleItem;
+ } else if(__selectAllItem) {
+ WDEBUG("__selectAllItem");
+ curItem = elm_genlist_item_next_get(__selectAllItem);
+ } else if(__searchbarItem) {
+ WDEBUG("__searchbarItem");
+ curItem = elm_genlist_item_next_get(__searchbarItem);
+ } else {
+ WDEBUG("firstItem");
+ curItem = elm_genlist_first_item_get(__genlist);
+ }
+ } else if(listType == LIST_SUB_DEFAULT) {
+
+ if(__onSearching) {
+ if(__selectAllItem) {
+ WDEBUG("__selectAllItem onSearching");
+ curItem = elm_genlist_item_next_get(__selectAllItem);
+ } else {
+ WDEBUG("__searchbarItem onSearching");
+ curItem = elm_genlist_item_next_get(__searchbarItem);
+ }
+ return curItem;
+ }
+
+ if(__mfcTitleItem) {
+ WDEBUG("__mfcTitleItem");
+ curItem = elm_genlist_item_next_get(__mfcTitleItem);
+ while(curItem && elm_genlist_item_type_get(curItem) != ELM_GENLIST_ITEM_GROUP) {
+ curItem = elm_genlist_item_next_get(curItem);
+ }
+ } else if(__favoriteTitleItem) {
+ WDEBUG("__favoriteTitleItem");
+ curItem = elm_genlist_item_next_get(__favoriteTitleItem);
+ while(curItem && elm_genlist_item_type_get(curItem) != ELM_GENLIST_ITEM_GROUP) {
+ curItem = elm_genlist_item_next_get(curItem);
+ }
+ } else if(__myProfileItem) {
+ WDEBUG("__myProfileItem");
+ curItem = elm_genlist_item_next_get(__myProfileItem);
+ } else if(__linkSuggestTitleItem) {
+ WDEBUG("__linkSuggestTitleItem");
+ curItem = elm_genlist_item_next_get(__linkSuggestTitleItem);
+ while(curItem && elm_genlist_item_type_get(curItem) != ELM_GENLIST_ITEM_GROUP) {
+ curItem = elm_genlist_item_next_get(curItem);
+ }
+ } else if(__selectAllItem) {
+ WDEBUG("__selectAllItem");
+ curItem = elm_genlist_item_next_get(__selectAllItem);
+ } else if(__searchbarItem) {
+ WDEBUG("__searchbarItem");
+ curItem = __searchbarItem;
+ curItem = elm_genlist_item_next_get(curItem);
+ } else {
+ WDEBUG("firstItem");
+ curItem = elm_genlist_first_item_get(__genlist);
+ }
+ }
+
+ return curItem;
+}
+
+void CtListView::__deleteRestItems(Elm_Object_Item *curItem, bool all)
+{
+ WDEBUG("all %d", all);
+ if(curItem) {
+ int index = 0;
+ Elm_Object_Item *item = NULL;
+ while(curItem) {
+ if(all == false) {
+ if(elm_genlist_item_type_get(curItem) == ELM_GENLIST_ITEM_GROUP)
+ break;
+ }
+ item = elm_genlist_item_next_get(curItem);
+ elm_object_item_del(curItem);
+ curItem = item;
+ index++;
+ }
+ WDEBUG("%d items deleted", index);
+ }
+}
+
+
+void CtListView::__appendGenlistItems(int offset)
+{
+ WENTER();
+
+ WDEBUG("offset : %d", offset);
+
+ int mainIndex = 0;
+ int mfcIndex = 0;
+ int favorIndex = 0;
+ std::shared_ptr<CtListDataPerson> dataPerson;
+
+ if(offset == 0) {
+ // initial before add items
+ __initListItems();
+
+ //add searchbar
+ __addSearchbarItem();
+
+ //add select all
+ __addSelectAllItem();
+
+ //add Link Suggest list
+ __addLinkSuggestList();
+
+ //add my profile
+ __addMyProfileItem();
+
+ //add Favorites list
+ favorIndex = __addFavoriteList();
+
+ //add MFC list
+ mfcIndex = __addMfcList();
+
+ //add favorite group title
+ if(__hasFavGroupTitle)
+ __addFavoriteTitleItem(NULL);
+ }
+
+ //add main list
+ mainIndex = __addDefaultList(offset);
+
+ WDEBUG("%d, %d, %d", favorIndex, mfcIndex, mainIndex);
+
+ if (__onSearching == true || __listModel->getPersonListCount(LIST_QUERY_DEFAULT) == 0 || __onShowGroupButton == true)
+ __hideFastScroll();
+ else if(__hasFastscroll)
+ __showFastScroll();
+
+ if(__launched == 1 && __onSearching == false) {
+ elm_genlist_item_update(__searchbarItem);
+ __launched = -1;
+ WDEBUG("launched");
+ }
+
+ WLEAVE();
+}
+
+Elm_Object_Item *CtListView::__appendGroupItem(Elm_Object_Item *curItem, CtListDataItem* itemData)
+{
+ WENTER();
+ if(__onSearching == true)
+ return NULL;
+
+ if(__hasGroupTitle == false)
+ return NULL;
+
+ Elm_Object_Item *item = NULL;
+ std::string curIndex;
+
+ if (NULL == itemData->personData->getDisplayName())
+ curIndex = "#";
+ else{
+ if(itemData->personData->getDisplayIndex())
+ curIndex = itemData->personData->getDisplayIndex();
+ else
+ return NULL;
+ }
+
+ if(__curGroupIndex != curIndex) {
+ if(curItem == NULL) {
+ WDEBUG("append %s", curIndex.c_str());
+ item = elm_genlist_item_append(__genlist, __groupTitleItc, strdup(curIndex.c_str()), NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ }
+ else {
+ if(elm_genlist_item_type_get(curItem) != ELM_GENLIST_ITEM_GROUP) {
+ WDEBUG("insert %s", curIndex.c_str());
+ item = elm_genlist_item_insert_before(__genlist, __groupTitleItc, strdup(curIndex.c_str()), NULL, curItem, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ }
+ else {
+ WDEBUG("update %s", curIndex.c_str());
+ elm_object_item_data_set(curItem, strdup(curIndex.c_str()));
+ item = curItem;
+ }
+ }
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ __appendFastScrollLetter(curIndex);
+
+ __curGroupIndex = curIndex;
+ __curGroupTitleItem = item;
+ //link to index
+ __linkItemToIndex(__curGroupTitleItem);
+ }
+ elm_index_level_go(__fastScroll, 0);
+
+ WLEAVE();
+ return item;
+}
+
+void CtListView::__onEntryFocused(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+
+ CtListView* listView = (CtListView*) data;
+ eext_object_event_callback_add(obj, EEXT_CALLBACK_BACK, listView->__onEntryBackButton, listView);
+
+ if (listView->__hasGroupButton == false) {
+ WDEBUG("the view does not support group button");
+ return;
+ }
+ else if (SAFE_STRLEN(elm_entry_entry_get(obj)) > 0) {
+ WDEBUG("on searching");
+ return;
+ }
+
+ if (listView->__listGroupModel->getAvailableGroupCount() > 0) {
+ WDEBUG("group list is more than 0");
+ elm_object_item_signal_emit(listView->__searchbarItem, "group,button,show", "");
+
+ listView->__hideFastScroll();
+ listView->__onShowGroupButton = true;
+ }
+ if (listView->__hasCreateButton) {
+ listView->__hideCreateButton();
+ }
+}
+
+void CtListView::__onEntryUnfocused(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+
+ CtListView* listView = (CtListView*) data;
+
+ if (listView->__onShowGroupButton == true && listView->__onShowGroupList == false) {
+ listView->__onShowGroupButton = false;
+ elm_object_item_signal_emit(listView->__searchbarItem, "group,button,hide", "");
+ listView->__showFastScroll();
+ }
+ if (listView->__hasCreateButton) {
+ if (elm_entry_is_empty(obj)) {
+ listView->__showCreateButton();
+ }
+ }
+}
+
+void CtListView::__onEntryBackButton(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+
+ CtListView* listView = (CtListView*) data;
+ eext_object_event_callback_del(obj, EEXT_CALLBACK_BACK, __onEntryBackButton);
+ elm_entry_entry_set(obj, NULL);
+ elm_object_focus_set(obj, EINA_FALSE);
+ listView->__showFastScroll();
+}
+
+void CtListView::__onCancelButtonClicked(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+
+ CtListView* listView = (CtListView*) data;
+
+ listView->__onShowMemberList = false;
+
+ listView->__curAppendIndex = 0;
+ listView->__appendGenlistItems(0);
+ // after all item appended, link reset items to fastscroll
+ listView->__linkItemToRestIndex();
+}
+
+void CtListView::__reorderButtonMouseDownCb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+ elm_genlist_reorder_mode_set((Evas_Object *)data, EINA_TRUE);
+}
+
+void CtListView::__reorderButtonMouseUpCb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+ elm_genlist_reorder_mode_set((Evas_Object *)data, EINA_FALSE);
+}
+
+void CtListView::__setReorderItemClassStyle()
+{
+ WPRET_M(__listItc, "already set");
+
+ __listItc = elm_genlist_item_class_new();
+ WPRET_M(!__listItc, "elm_genlist_item_class_new() failed");
+ __listItc->item_style = "type1";
+ __listItc->func.del = [](void *data, Evas_Object *obj)->void
+ {
+ delete static_cast<CtListDataItem*>(data);
+ };
+ __listItc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if(!strcmp(part, "elm.text")) {
+ CtListDataItem* itemData = (CtListDataItem*)data;
+ const char *name = itemData->personData->getDisplayName();
+ if (name)
+ return elm_entry_utf8_to_markup(name);
+ else
+ return SAFE_STRDUP(V_("IDS_LOGS_MBODY_UNKNOWN"));
+
+ }
+ return NULL;
+ };
+ __listItc->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object*
+ {
+ if (0 == strcmp(part, "elm.swallow.icon")) {
+ CtListDataItem* itemData = (CtListDataItem*)data;
+ Evas_Object *icon = createThumbnail(obj, THUMBNAIL_98, itemData->personData->getImagePath(), true);
+ return icon;
+ }
+ else if (0 == strcmp(part, "elm.swallow.end")) {
+ CtListDataItem* itemData = (CtListDataItem*)data;
+ Evas_Object *button = elm_button_add(obj);
+ elm_object_style_set(button, "icon_reorder");
+ evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ evas_object_event_callback_add(button, EVAS_CALLBACK_MOUSE_DOWN, __reorderButtonMouseDownCb, itemData->listView->__genlist);
+ evas_object_event_callback_add(button, EVAS_CALLBACK_MOUSE_UP, __reorderButtonMouseUpCb, itemData->listView->__genlist);
+
+ return button;
+ }
+ else
+ return NULL;
+ };
+
+}
+
+void CtListView::__setCheckItemClassStyle()
+{
+ WPRET_M(__listItc, "already set");
+
+ __listItc = elm_genlist_item_class_new();
+ WPRET_M(!__listItc, "elm_genlist_item_class_new() failed");
+ __listItc->item_style = "type1";
+ __listItc->func.del = [](void *data, Evas_Object *obj)->void
+ {
+ delete static_cast<CtListDataItem*>(data);
+ };
+ __listItc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if(!strcmp(part, "elm.text")) {
+ CtListDataItem* itemData = (CtListDataItem*)data;
+ if (SAFE_STRLEN(itemData->listView->__listModel->getSearchString()) > 0){
+ std::string name = ContactsCommon::getHighlightText(itemData->personData->getDisplayName(), itemData->listView->__listModel->getSearchString());
+ if (!name.empty())
+ return strdup(name.c_str());
+ else
+ return SAFE_STRDUP(V_("IDS_LOGS_MBODY_UNKNOWN"));
+ }
+ else{
+ const char *name = NULL;
+ name = itemData->personData->getDisplayName();
+ if(name)
+ return elm_entry_utf8_to_markup(name);
+ else
+ return SAFE_STRDUP(V_("IDS_LOGS_MBODY_UNKNOWN"));
+ }
+ }
+ return NULL;
+ };
+ __listItc->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object*
+ {
+ if (0 == strcmp(part, "elm.swallow.icon")) {
+ CtListDataItem* itemData = (CtListDataItem*)data;
+ Evas_Object *icon = createThumbnail(obj, THUMBNAIL_98, itemData->personData->getImagePath(), true);
+ return icon;
+ }
+ else if (0 == strcmp(part, "elm.swallow.end")) {
+ CtListDataItem* itemData = (CtListDataItem*)data;
+ Evas_Object *check = elm_check_add(obj);
+ elm_check_state_set(check, itemData->personData->isChecked());
+ evas_object_repeat_events_set(check, EINA_TRUE);
+ evas_object_propagate_events_set(check, EINA_FALSE);
+ evas_object_freeze_events_set (check, EINA_TRUE);
+ return check;
+ }
+ else
+ return NULL;
+ };
+
+}
+
+void CtListView::__setGroupTitleItemClassStyle()
+{
+ WPRET_M(__groupTitleItc, "already set");
+
+ __groupTitleItc = elm_genlist_item_class_new();
+ WPRET_M(!__groupTitleItc, "elm_genlist_item_class_new() failed");
+
+ __groupTitleItc->item_style = "group_index";
+
+ __groupTitleItc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ char *groupIndex = (char*)data;
+ if (0 == strcmp(part, "elm.text") && groupIndex && *groupIndex)
+ return strdup(groupIndex);
+ else
+ return NULL;
+ };
+ __groupTitleItc->func.del = [](void *data, Evas_Object *obj)->void
+ {
+ char *groupIndex = (char*)data;
+ free(groupIndex);
+ };
+ __groupTitleItc->func.content_get = NULL;
+
+}
+
+void CtListView::__setFavoriteTitleItemClassStyle()
+{
+ WPRET_M(__favoriteTitleItc, "already set");
+
+ __favoriteTitleItc = elm_genlist_item_class_new();
+ WPRET_M(!__favoriteTitleItc, "elm_genlist_item_class_new() failed");
+
+ __favoriteTitleItc->item_style = "group_index";
+
+ __favoriteTitleItc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if (0 == strcmp(part, "elm.text"))
+ return strdup(V_("IDS_PB_HEADER_FAVOURITES"));
+ else
+ return NULL;
+ };
+ __favoriteTitleItc->func.del = NULL;
+ __favoriteTitleItc->func.content_get = NULL;
+}
+
+void CtListView::__setMfcTitleItemClassStyle()
+{
+ WPRET_M(__mfcTitleItc, "already set");
+
+ __mfcTitleItc = elm_genlist_item_class_new();
+ WPRET_M(!__mfcTitleItc, "elm_genlist_item_class_new() failed");
+
+ __mfcTitleItc->item_style = "group_index";
+
+ __mfcTitleItc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if (0 == strcmp(part, "elm.text"))
+ return strdup(V_("IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"));
+ else
+ return NULL;
+ };
+ __mfcTitleItc->func.del = NULL;
+ __mfcTitleItc->func.content_get = NULL;
+
+}
+
+void CtListView::__setLinkSuggestTitleItemClassStyle()
+{
+ WPRET_M(__linkSuggestTitleItc, "already set");
+
+ __linkSuggestTitleItc = elm_genlist_item_class_new();
+ WPRET_M(!__linkSuggestTitleItc, "elm_genlist_item_class_new() failed");
+
+ __linkSuggestTitleItc->item_style = "group_index";
+
+ __linkSuggestTitleItc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if (0 == strcmp(part, "elm.text"))
+ return strdup(V_("IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"));
+ else
+ return NULL;
+ };
+ __linkSuggestTitleItc->func.del = NULL;
+ __linkSuggestTitleItc->func.content_get = NULL;
+
+}
+
+void CtListView::__setDefaultItemClassStyle()
+{
+ WENTER();
+ WPRET_M(__listItc, "already set");
+
+ __listItc = elm_genlist_item_class_new();
+ WPRET_M(!__listItc, "elm_genlist_item_class_new() failed");
+ __listItc->item_style = "type1";
+ __listItc->func.del = [](void *data, Evas_Object *obj)->void
+ {
+ delete static_cast<CtListDataItem*>(data);
+ };
+ __listItc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if(!strcmp(part, "elm.text")) {
+ CtListDataItem* itemData = (CtListDataItem*)data;
+ if(SAFE_STRLEN(itemData->listView->__listModel->getSearchString()) > 0){
+ std::string name = ContactsCommon::getHighlightText(itemData->personData->getDisplayName(), itemData->listView->__listModel->getSearchString());
+ if (!name.empty())
+ return strdup(name.c_str());
+ else
+ return SAFE_STRDUP(V_("IDS_LOGS_MBODY_UNKNOWN"));
+ }
+ else{
+ const char *name = NULL;
+ name = itemData->personData->getDisplayName();
+ if(name)
+ return elm_entry_utf8_to_markup(name);
+ else
+ return SAFE_STRDUP(V_("IDS_LOGS_MBODY_UNKNOWN"));
+ }
+ }
+ return NULL;
+ };
+ __listItc->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object*
+ {
+ if (0 == strcmp(part, "elm.swallow.icon")) {
+ CtListDataItem* itemData = (CtListDataItem*)data;
+ Evas_Object *icon = createThumbnail(obj, THUMBNAIL_98, itemData->personData->getImagePath(), true);
+ return icon;
+ }
+ return NULL;
+ };
+
+}
+
+char *CtListView::__getMyProfileNumber() const
+{
+ telephony_handle_list_s list;
+ int err = telephony_init(&list);
+ WPRET_VM(err != TELEPHONY_ERROR_NONE, nullptr, "telephony_init() failed(%d)", err);
+
+ int sim_count = list.count;
+ char *ret = nullptr;
+
+ for (int i=0; i < sim_count; ++i) {
+ char *number = nullptr;
+
+ err = telephony_sim_get_subscriber_number(list.handle[i], &number);
+ if (TELEPHONY_ERROR_NONE == err && number && *number) {
+ ret = number;
+ break;
+ }
+ free(number);
+ }
+
+ err = telephony_deinit(&list);
+ WPWARN(err != TELEPHONY_ERROR_NONE, "telephony_deinit() failed(%d)", err);
+
+ return ret;
+}
+
+void CtListView::__setMyProfileItemClassStyle()
+{
+ WENTER();
+
+ WPRET_M(__myProfileItc, "already set");
+
+ __myProfileItc = elm_genlist_item_class_new();
+ WPRET_M(!__myProfileItc, "elm_genlist_item_class_new() failed");
+ __myProfileItc->item_style = "type1";
+ __myProfileItc->func.del = NULL;
+ __myProfileItc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ CtListView *self = static_cast<CtListView*>(data);
+ WPRET_VM(!self, NULL, "invalid this pointer");
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h myprofileList = NULL;
+ int count = 0;
+ contacts_record_h record = NULL;
+ char* displayName = NULL;
+
+ if(!strcmp(part, "elm.text")) {
+ err = contacts_db_get_all_records(_contacts_my_profile._uri, 0, 0, &myprofileList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_all_records() Failed(%d)", err);
+
+ contacts_list_get_count(myprofileList, &count);
+ if (count > 0) {
+ err = contacts_list_get_current_record_p(myprofileList, &record);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_current_record_p() Failed(%d)", err);
+
+ err = contacts_record_get_str(record, _contacts_my_profile.display_name, &displayName);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
+
+ if (displayName) {
+ ctCommonRemoveNewline(displayName);
+ if (*displayName) {
+ return displayName;
+ }
+
+ free(displayName);
+ }
+ } else {
+ char *number = self->__getMyProfileNumber();
+ if (number && *number) {
+ return number;
+ }
+
+ free(number);
+ }
+
+ err = contacts_list_destroy(myprofileList, true);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)", err);
+
+ return SAFE_STRDUP(V_("IDS_PB_MBODY_SET_MY_PROFILE"));
+ }
+ return NULL;
+ };
+ __myProfileItc->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object*
+ {
+ if (0 == strcmp(part, "elm.swallow.icon")) {
+ char* imagePath = NULL;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h myprofileList = NULL;
+ int count = 0;
+ contacts_record_h record = NULL;
+
+ err = contacts_db_get_all_records(_contacts_my_profile._uri, 0, 0, &myprofileList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_all_records() Failed(%d)", err);
+
+ err = contacts_list_get_count(myprofileList, &count);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_count() Failed(%d)", err);
+ if (count > 0) {
+ err = contacts_list_get_current_record_p(myprofileList, &record);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_list_get_current_record_p() Failed(%d)", err);
+
+ err = contacts_record_get_str_p(record, _contacts_my_profile.image_thumbnail_path, &imagePath);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ }
+
+ Evas_Object *icon = createThumbnail(obj, THUMBNAIL_98, imagePath, true);
+ contacts_list_destroy(myprofileList, true);
+ return icon;
+ }
+ return NULL;
+ };
+}
+
+Evas_Object* CtListView::__setNoContentsLayout(Evas_Object* parent)
+{
+ Evas_Object* nocontents = elm_layout_add(parent);
+ elm_layout_theme_set(nocontents, "layout", "nocontents", "default");
+ return nocontents;
+}
+
+void CtListView::__setNoContentsText(std::string text, std::string helptext)
+{
+ if (!__noContentLayout) {
+ return;
+ }
+ elm_object_part_text_set(__noContentLayout, "elm.text", text.c_str());
+ elm_object_part_text_set(__noContentLayout, "elm.help.text", helptext.c_str());
+ elm_layout_signal_emit(__noContentLayout, "align.center", "elm");
+}
+
+void CtListView::__hideNoContentsLayout()
+{
+ if (!__noContentLayout || !__onNoContentLayout) {
+ return;
+ }
+ __onNoContentLayout = false;
+ evas_object_size_hint_weight_set(__noContentLayout, 0.0, 0.0);
+ evas_object_size_hint_align_set(__noContentLayout, 0.0, 0.0);
+ evas_object_hide(__noContentLayout);
+ evas_object_size_hint_weight_set(__genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(__genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_scroller_content_min_limit(__genlist, EINA_FALSE, EINA_FALSE);
+}
+
+void CtListView::__showNoContentsLayout()
+{
+ if (!__noContentLayout || __onNoContentLayout) {
+ return;
+ }
+ __onNoContentLayout = true;
+ evas_object_size_hint_weight_set(__noContentLayout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(__noContentLayout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(__noContentLayout);
+ elm_scroller_content_min_limit(__genlist, EINA_FALSE, EINA_TRUE);
+ evas_object_size_hint_weight_set(__genlist, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(__genlist, EVAS_HINT_FILL, 0.0);
+}
+
+void CtListView::__setSelectAllItemClassStyle()
+{
+ WHIT();
+ WPRET_M(__selectAllItc, "already set");
+
+ __selectAllItc = elm_genlist_item_class_new();
+ WPRET_M(!__selectAllItc, "elm_genlist_item_class_new() failed");
+ __selectAllItc->item_style = "type1";
+ __selectAllItc->func.del = [](void *data, Evas_Object *obj)->void
+ {
+ delete static_cast<CtListDataItem*>(data);
+ };
+ __selectAllItc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if(!strcmp(part, "elm.text")) {
+ return SAFE_STRDUP(V_("IDS_PB_MBODY_SELECT_ALL"));
+ }
+ return NULL;
+ };
+ __selectAllItc->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object*
+ {
+ if (0 == strcmp(part, "elm.swallow.end")) {
+ CtListDataItem* itemData = (CtListDataItem*)data;
+ Evas_Object *check = elm_check_add(obj);
+ elm_check_state_set(check, (Eina_Bool)itemData->listView->__selectAllState);
+ evas_object_repeat_events_set(check, EINA_TRUE);
+ evas_object_propagate_events_set(check, EINA_FALSE);
+ evas_object_freeze_events_set (check, EINA_TRUE);
+ itemData->listView->__selectAllObj = check;
+
+ return check;
+ }
+ else
+ return NULL;
+ };
+}
+
+void CtListView::__onSipUpCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+
+ CtListView *listView = (CtListView*)data;
+ listView->__sipStatus = true;
+}
+
+void CtListView::__onSipDownCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+
+ CtListView *listView = (CtListView*)data;
+ listView->__sipStatus = false;
+}
+
+void CtListView::__setSearchbarItemClassStyle()
+{
+ WHIT();
+ WPRET_M(__searchbarItc, "already set");
+
+ __searchbarItc = elm_genlist_item_class_new();
+ WPRET_M(!__searchbarItc, "elm_genlist_item_class_new() failed");
+ __searchbarItc->item_style = "full";
+ __searchbarItc->func.del = NULL;
+ __searchbarItc->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object*
+ {
+ if (0 == strcmp(part, "elm.swallow.content")) {
+ CtListView* listView = (CtListView*)data;
+
+ static Elm_Entry_Filter_Limit_Size filter;
+ WEditfield *editfield = new WEditfield();
+ editfield->create(listView->__genlist, NULL);
+
+ Evas_Object *entry = editfield->getEntry();
+
+ elm_object_domain_translatable_part_text_set(entry, "elm.guide", PACKAGE, "IDS_PB_NPBODY_SEARCH");
+
+ const char *search = listView->__listModel->getSearchString();
+ if(search) {
+ elm_entry_entry_set(entry, search);
+ }
+
+ evas_object_smart_callback_add(entry, "changed", listView->__onChangedSearchEditField, listView);
+ evas_object_smart_callback_add(entry, "preedit,changed", listView->__onChangedSearchEditField, listView);
+ evas_object_smart_callback_add(entry, "activated", listView->__onSearchbarActivatedCb, listView);
+ evas_object_smart_callback_add(entry, "focused", listView->__onEntryFocused, listView);
+ evas_object_smart_callback_add(entry, "unfocused", listView->__onEntryUnfocused, listView);
+
+ Evas_Object *clearBtn = editfield->getClearButton();
+ evas_object_smart_callback_add(clearBtn, "clicked", listView->__onChangedSearchEditField, listView);
+
+ elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
+ filter.max_char_count = CT_SEARCHBAR_MAX_CHAR;
+ elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &filter);
+
+ elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
+ elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_NONE);
+ elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH);
+
+ return editfield->getEvasObj();
+ } else {
+ return NULL;
+ }
+ };
+}
+
+void CtListView::__setItemClassStyle()
+{
+ WDEBUG("__viewType %d", __viewType);
+
+ // set searchbar item class
+ __setSearchbarItemClassStyle();
+
+ // set group item class
+ __setGroupTitleItemClassStyle();
+
+ // set favorite title item class
+ __setFavoriteTitleItemClassStyle();
+
+ // set mfc title item class
+ __setMfcTitleItemClassStyle();
+
+ // set my profile item class
+ __setMyProfileItemClassStyle();
+
+ // set item class
+ switch(__viewType){
+ case LIST_VIEW_DEFAULT :
+ __setDefaultItemClassStyle();
+ break;
+ case LIST_VIEW_CHECK :
+ __setSelectAllItemClassStyle();
+ __setCheckItemClassStyle();
+ break;
+ case LIST_VIEW_REORDER :
+ __setReorderItemClassStyle();
+ break;
+ }
+}
+
+void CtListView::__initViewCondition(CtListViewType viewType, CtListCtrlType ctrlType)
+{
+ __hasSearchbar = true;
+ __hasGroupTitle = true;
+ __hasFastscroll = true;
+ __hasDefaultList = true;
+ __hasFavoriteList = true;
+ __hasMfcList = true;
+
+ WDEBUG("viewType %d, ctrlType %d",viewType, ctrlType);
+ char buf[CT_TEXT_SHORT_LEN] = {0,};
+ switch(viewType) {
+ case LIST_VIEW_CHECK:
+ snprintf(buf, sizeof(buf), ctGetContactsString("IDS_PB_HEADER_PD_SELECTED_ABB3"), 0);
+ setTitle(buf);
+ __hasTitle = true;
+ __hasDoneCancel = true;
+ __hasFavoriteList = true;
+ __hasMfcList = true;
+ break;
+ case LIST_VIEW_REORDER:
+ setTitle(V_("IDS_PB_OPT_REORDER"));
+ __hasTitle = true;
+ __hasDoneCancel = true;
+ break;
+ default:
+ __hasCreateButton = true;
+ break;
+ }
+
+ switch(ctrlType) {
+ case LIST_CTRL_DEFAULT:
+ __hasMenu = true;
+ __hasMyProfile = true;
+ __hasGroupButton = true;
+ break;
+ case LIST_CTRL_DELETE_CONTACTS:
+ case LIST_CTRL_SHARE_CONTACTS:
+ __hasToolbar = true;
+ __hasSelectAll = true;
+ __hasFavoriteList = true;
+ __hasMfcList = true;
+ break;
+ case LIST_CTRL_ADD_FAVORITES:
+ __hasSelectAll = true;
+ __hasFavoriteList = false;
+ __hasMfcList = false;
+ break;
+ case LIST_CTRL_REORDER_FAVORITES:
+ __hasSearchbar = false;
+ __hasFastscroll = false;
+ __hasGroupTitle = false;
+ __hasFavGroupTitle = true;
+ __hasFavoriteList = false;
+ __hasMfcList = false;
+ break;
+ case LIST_CTRL_REMOVE_FAVORITES:
+ __hasSearchbar = false;
+ __hasFastscroll = false;
+ __hasGroupTitle = false;
+ __hasSelectAll = true;
+ __hasDefaultList = false;
+ __hasFavoriteList = true;
+ __hasMfcList = true;
+ break;
+ default:
+ break;
+ }
+}
+
+const int CtListView::getListTopItemPersonId()
+{
+ Evas_Coord x, y;
+ Elm_Object_Item *item = NULL;
+ int nthItem = -1;
+ int person_id = -1;
+ if (__fastLayout) {
+ evas_object_geometry_get(__fastLayout, &x, &y, NULL, NULL);
+ WDEBUG("layout_fastscroll x = %d, y = %d", x, y);
+ if (__genlist) {
+ item = elm_genlist_at_xy_item_get(__genlist, x, y+40, NULL);
+ if(item) {
+ while (elm_genlist_item_type_get(item) == ELM_GENLIST_ITEM_GROUP) {
+ item = elm_genlist_item_next_get(item);
+ }
+ if(__searchbarItem == item ||__myProfileItem == item) {
+ WDEBUG("top of list is searchbar or myprofile item");
+ return -1;
+ }
+
+ int countFavorite = __listModel->getContactsCount(LIST_QUERY_FAVORITE);
+ if(countFavorite>0) ++countFavorite;
+ int countMFC = __listModel->getContactsCount(LIST_QUERY_MFC);
+ if(countMFC>0) ++countMFC;
+ nthItem = elm_genlist_item_index_get (item);
+ WDEBUG("nthItem %d", nthItem);
+ if(nthItem <= (1+countFavorite+countMFC) )
+ return -1;
+
+ CtListDataItem *dataItem = (CtListDataItem*)elm_object_item_data_get(item);
+ if(dataItem) {
+ person_id = dataItem->personData->getPersonId();
+ }
+ }
+ }
+ }
+ WDEBUG("person_id %d", person_id);
+
+ return person_id;
+}
+
+void CtListView::setOnProgressOperation(bool onProgress)
+{
+ WDEBUG("onProgress %d", onProgress);
+ __onProgressOperation = onProgress;
+}
+
+bool CtListView::__checkValidSpecialCharForNumber(char character)
+{
+ if(character=='*'
+ ||character=='#'
+ ||character=='+'
+ ||character==';'
+ ||character==','
+ ||character=='-')
+ return true;
+ else
+ return false;
+}
+
+bool CtListView::__checkValidCharForNumber(char character)
+{
+ if(isdigit(character) || __checkValidSpecialCharForNumber(character))
+ return true;
+ else
+ return false;
+}
+
+char* CtListView::__getSearchHighlightNumber(const char *src)
+{
+
+ WPRET_VM(!src, NULL, "src string is null.");
+ if(SAFE_STRLEN(__listModel->getSearchString()) <= 0)
+ return SAFE_STRDUP(src);
+
+
+ int pos1 = -1;
+ int pos2 = -1;
+ int pos = 0;
+ const char *s = src;
+ const char *r = __listModel->getSearchString();
+
+ const char *match = strstr(s, r);
+ if(match) {
+ pos1 = match - s;
+ pos2 = pos1 + strlen(r);
+ }
+ else {
+ for (s=src;'\0' != *s;s++) {
+ if (__checkValidCharForNumber(*s)) {
+ WDEBUG("a %s", s);
+
+ if (*s == *r || __checkValidSpecialCharForNumber(*s)) {
+ if (-1 == pos1) {
+ pos1 = pos;
+ }
+ pos2 = pos+1;
+
+ if(__checkValidSpecialCharForNumber(*s) == false)
+ r++;
+
+ if ('\0' == *r)
+ break;
+ }
+ else {
+ r = __listModel->getSearchString();
+ pos1 = -1;
+ pos2 = -1;
+ WDEBUG("b %s", r);
+ }
+ }
+ pos++;
+ }
+ }
+
+ if (0 <= pos1 && 0 <= pos2)
+ {
+ char display[CT_TEXT_MAX_LEN] = {0};
+ char first[CT_TEXT_MAX_LEN] = {0};
+ char middle[CT_TEXT_MAX_LEN] = {0};
+ char color_set_middle[CT_TEXT_MAX_LEN] = {0};
+ int r = 0, g = 0, b = 0, a = 255;
+
+ snprintf(first, pos1+1, "%s", src);
+ snprintf(middle, (pos2 - pos1)+1, "%s", (char *)((int)src+pos1));
+ sprintf(color_set_middle, "<color=#%02x%02x%02x%02x>%s</color>", r, g, b, a, middle);
+ snprintf(display, sizeof(display), "%s%s%s", first, color_set_middle, (char *)(src+pos2));
+
+ return strdup(display);
+ }
+ return SAFE_STRDUP(src);
+}
diff --git a/lib-contact/ct-list/src/CtNumberPopup.cpp b/lib-contact/ct-list/src/CtNumberPopup.cpp
new file mode 100644
index 0000000..8761115
--- /dev/null
+++ b/lib-contact/ct-list/src/CtNumberPopup.cpp
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "CtNumberPopup.h"
+#include "CtListView.h"
+#include "CtListDataPerson.h"
+#include "ContactsDebug.h"
+
+#include <contacts.h>
+
+CtNumberPopup::CtNumberPopup(CtListDataPerson *personData)
+ : m_PersonData(personData), m_CallItem(nullptr), m_MessageItem(nullptr)
+{
+}
+
+void CtNumberPopup::setOnResult(ResultCb callback)
+{
+ m_OnResult = std::move(callback);
+}
+
+Evas_Object *CtNumberPopup::onCreate(Evas_Object *parent, void *param)
+{
+ setTitle(m_PersonData->getDataString());
+ setContent(std::bind(&CtNumberPopup::createGenlist, this, std::placeholders::_1));
+ return WPopup::onCreate(parent, param);
+}
+
+Evas_Object *CtNumberPopup::createGenlist(Evas_Object *parent)
+{
+ Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
+ WPRET_VM(!itc, NULL, "elm_genlist_item_class_new() failed");
+ itc->func.text_get = CtNumberPopup::onItemTextGet;
+
+ Evas_Object *genlist = elm_genlist_add(parent);
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+ elm_scroller_content_min_limit(genlist, EINA_FALSE, EINA_TRUE);
+
+ m_CallItem = elm_genlist_item_append(genlist, itc, "IDS_PB_OPT_VOICE_CALL", NULL, ELM_GENLIST_ITEM_NONE,
+ &CtNumberPopup::onItemSelect, this);
+ m_MessageItem = elm_genlist_item_append(genlist, itc, "IDS_PB_OPT_MESSAGE", NULL, ELM_GENLIST_ITEM_NONE,
+ &CtNumberPopup::onItemSelect, this);
+
+ elm_genlist_item_class_free(itc);
+
+ return genlist;
+}
+
+char *CtNumberPopup::onItemTextGet(void *data, Evas_Object *obj, const char *part)
+{
+ if (strcmp(part, "elm.text") == 0) {
+ return strdup(dgettext(PACKAGE, (char*) data));
+ }
+
+ return NULL;
+}
+
+void CtNumberPopup::onItemSelect(void *data, Evas_Object *obj, void *event_info)
+{
+ CtNumberPopup *popup = (CtNumberPopup*) data;
+ elm_genlist_item_selected_set((Elm_Object_Item*) event_info, EINA_TRUE);
+
+ if (popup->m_OnResult) {
+ CtListResultType type = (event_info == popup->m_CallItem
+ ? LIST_RESULT_NUMBER_FOR_CALL
+ : LIST_RESULT_NUMBER_FOR_MESSAGE);
+
+ popup->m_PersonData->setDataType(type);
+ popup->m_OnResult(popup->m_PersonData);
+ }
+
+ popup->destroy();
+}
diff --git a/lib-contact/ct-list/src/CtNumberPopup.h b/lib-contact/ct-list/src/CtNumberPopup.h
new file mode 100644
index 0000000..05a9715
--- /dev/null
+++ b/lib-contact/ct-list/src/CtNumberPopup.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_NUMBER_POPUP_H_
+#define _CT_NUMBER_POPUP_H_
+
+#include "WPopup.h"
+
+#include <Elementary.h>
+
+class CtListDataPerson;
+
+class CtNumberPopup : public WPopup
+{
+public:
+ typedef std::function<void(CtListDataPerson*)> ResultCb;
+
+ CtNumberPopup(CtListDataPerson *personData);
+
+ void setOnResult(ResultCb callback);
+
+private:
+ virtual Evas_Object *onCreate(Evas_Object *parent, void *param);
+ Evas_Object *createGenlist(Evas_Object *parent);
+
+ static char *onItemTextGet(void *data, Evas_Object *obj, const char *part);
+ static void onItemSelect(void *data, Evas_Object *obj, void *event_info);
+
+ CtListDataPerson *m_PersonData;
+ ResultCb m_OnResult;
+
+ Elm_Object_Item *m_CallItem;
+ Elm_Object_Item *m_MessageItem;
+};
+
+#endif /* _CT_NUMBER_POPUP_H_ */
diff --git a/lib-contact/ct-setting/.cproject b/lib-contact/ct-setting/.cproject
new file mode 100644
index 0000000..863d194
--- /dev/null
+++ b/lib-contact/ct-setting/.cproject
@@ -0,0 +1,516 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1583549422">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1583549422" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ct-setting" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1583549422" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1583549422." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1814914265" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1939584135" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/ct-setting}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.737992255" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.534831505" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="i386-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1139128904" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.599403704" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.288565171" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.474631780" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1552766224" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1116913056" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1048478329" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.498261022" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/inc"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1732758547" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.714704059" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1169775743" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.775341789"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.683625643" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="i386-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1090942733" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1374140377" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.2111497675" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1036795257" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.2035623177" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1605350523" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1596045558" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1451330003" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.527585363" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.1456121424" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.689395248"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1047407408" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.2086707076" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="i386-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.763774190" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1647863912" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.2096664081" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1360709528" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/Debug"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.1506872605" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="ct-common"/>
+ <listOptionValue builtIn="false" value="common"/>
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="app-assist-efl"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.584114942" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1734736725" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1895818063" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.739112606" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1268227980" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.640573579" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.571122874" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1123734156" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1196360898" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.560919114">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.560919114" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ct-setting" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.560919114" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.560919114." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.1293436351" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1967541752" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/ct-setting}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1081567233" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.64492552" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1462103696" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1687883989" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.876428297" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.259128710" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.51568983" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1459697128" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1147885256" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.2098780947" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1728404030" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.1839649671"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1723267715" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1894468425" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.952167404" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1622361503" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1648482383" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.270845060" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.446336947" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1898775202" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.731244772" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1100295567" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1409174559"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1615494092" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1202400768" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.2053832665" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.624040053" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.407154105" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.302230002" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1904375475" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.2085383635" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.512673981" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1475490325" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.685168164" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.225303984" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.8703981" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1265279676" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.2058661368" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="ct-setting.org.tizen.nativecore.target.sbi.gcc45.so.402681284" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.560919114">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.1583549422">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/ct-setting"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/ct-setting"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/lib-contact/ct-setting/.project b/lib-contact/ct-setting/.project
new file mode 100644
index 0000000..1a2dce5
--- /dev/null
+++ b/lib-contact/ct-setting/.project
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ct-setting</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1413282553158</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/lib-contact/ct-setting/.tproject b/lib-contact/ct-setting/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/lib-contact/ct-setting/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/lib-contact/ct-setting/CMakeLists.txt b/lib-contact/ct-setting/CMakeLists.txt
new file mode 100755
index 0000000..09e84e1
--- /dev/null
+++ b/lib-contact/ct-setting/CMakeLists.txt
@@ -0,0 +1,24 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ct-setting CXX)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-importer/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-vcard/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "contacts-common"
+ "ct-common"
+ "ct-importer"
+ "ct-vcard"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_LIB_DIR})
diff --git a/lib-contact/ct-setting/inc/CtSettingDataListener.h b/lib-contact/ct-setting/inc/CtSettingDataListener.h
new file mode 100644
index 0000000..a5e447e
--- /dev/null
+++ b/lib-contact/ct-setting/inc/CtSettingDataListener.h
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_SETTING_DATA_LISTENER_H_
+#define _CT_SETTING_DATA_LISTENER_H_
+
+class CtSettingDataListener
+{
+public:
+ virtual ~CtSettingDataListener(){WHIT();};
+
+ // this will be called only when send mode chaned..
+ virtual void onChanged() = 0;
+};
+
+#endif //_CT_SETTING_DATA_LISTENER_H_
+
diff --git a/lib-contact/ct-setting/inc/CtSettingView.h b/lib-contact/ct-setting/inc/CtSettingView.h
new file mode 100644
index 0000000..1999d71
--- /dev/null
+++ b/lib-contact/ct-setting/inc/CtSettingView.h
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_SETTING_VIEW_H_
+#define _CT_SETTING_VIEW_H_
+
+#include <thread>
+#include <string>
+#include <vector>
+#include <memory>
+#include "WView.h"
+#include "CtSettingDataListener.h"
+#include "CtProgressBarPopup.h"
+
+class CtSettingData;
+
+class WAPP_ASSIST_EXPORT CtSettingView : public WView, public CtSettingDataListener
+{
+public:
+ CtSettingView();
+ virtual const char* getClassName();
+
+private:
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+ virtual void onPushed(Elm_Object_Item* naviItem);
+ virtual void onEvent(int eventType);
+
+ virtual void onChanged();
+
+ CtSettingData* __getSettingData();
+
+ static void __onDisplayNameByItemSelectedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onImportItemSelectedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onExportItemSelectedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __onSortByItemSelectedCb(void *data, Evas_Object *obj, void *event_info);
+
+ void __importFromStorage(bool phone, int abId);
+
+ void __exportContactsTo(TargetStorage saveTo);
+ void __excuteContactExporter(TargetStorage saveTo, app_control_h request, app_control_h reply, app_control_result_e result, void *data);
+ void __createExportResultPopup(CtProgressController &controller);
+ void __excuteContactImporter(std::vector<std::string> vcards);
+
+ static void __importFromStrorageReplyCb(app_control_h request, app_control_h reply, app_control_result_e result, void *data);
+
+
+private:
+ WDECLARE_PRIVATE_IMPL(CtSettingView);
+ WDISABLE_COPY_AND_ASSIGN(CtSettingView);
+
+ virtual ~CtSettingView();
+
+private:
+ Evas_Object* __genlist;
+ CtSettingData* __settingData;
+ int __importAbId;
+ Ecore_Idler *__popupIdler;
+ Elm_Object_Item* __ctToDispItem;
+};
+
+#endif //_CT_SETTING_VIEW_H_
diff --git a/lib-contact/ct-setting/src/CtSettingData.cpp b/lib-contact/ct-setting/src/CtSettingData.cpp
new file mode 100644
index 0000000..bcfae4f
--- /dev/null
+++ b/lib-contact/ct-setting/src/CtSettingData.cpp
@@ -0,0 +1,412 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <algorithm>
+#include <contacts.h>
+#include <account.h>
+#include <app_preference.h>
+#include "ContactsDebug.h"
+#include "CtSettingData.h"
+#include "CtSettingDataListener.h"
+#include "CtType.h"
+#include "CtString.h"
+
+CtSettingData::AbInfo::AbInfo()
+: abId(0)
+, accountId(0)
+, display(false)
+{
+
+}
+
+CtSettingData::SdnInfo::SdnInfo()
+: simNum(0)
+{
+
+}
+
+CtSettingData::CtSettingData()
+: __sortMode(SORT_MODE_FIRST_NAME)
+, __nameOrder(NAME_ORDER_LAST_NAME_FIRST)
+, __showMode(SHOW_MODE_ALL_CONTACTS)
+, __sendMode(SEND_MODE_TOGETHER)
+, __displayAll(false)
+{
+ WHIT();
+}
+
+CtSettingData::~CtSettingData()
+{
+ WHIT();
+}
+
+void CtSettingData::init()
+{
+ // Load data from preference
+
+ int showMode = 0;
+ preference_get_int(CT_KEY_DISPLAY_WITH_NUMBER, &showMode);
+ if (showMode == 0)
+ __showMode = SHOW_MODE_ALL_CONTACTS;
+ else
+ __showMode = SHOW_MODE_CONTACTS_WITH_PHONES;
+
+ contacts_name_sorting_order_e sortOrder = CONTACTS_NAME_SORTING_ORDER_FIRSTLAST;
+ contacts_setting_get_name_sorting_order(&sortOrder);
+ if (sortOrder == CONTACTS_NAME_SORTING_ORDER_FIRSTLAST)
+ __sortMode = SORT_MODE_FIRST_NAME;
+ else
+ __sortMode = SORT_MODE_LAST_NAME;
+
+ contacts_name_display_order_e displayOrder = CONTACTS_NAME_DISPLAY_ORDER_FIRSTLAST;
+ contacts_setting_get_name_display_order(&displayOrder);
+ if (displayOrder == CONTACTS_NAME_DISPLAY_ORDER_FIRSTLAST)
+ __nameOrder = NAME_ORDER_FIRST_NAME_FIRST;
+ else
+ __nameOrder = NAME_ORDER_LAST_NAME_FIRST;
+
+ int sendMode = 0;
+ preference_get_int(CT_KEY_SETTING_CONTACT_SHARING_SETTINGS, &sendMode);
+ if (sendMode == 0)
+ __sendMode = SEND_MODE_TOGETHER;
+ else
+ __sendMode = SEND_MODE_INDIVIDUALLY;
+
+ __initAddressbookInfo();
+}
+
+void CtSettingData::addListener(CtSettingDataListener* listener)
+{
+ __listeners.push_back(listener);
+}
+
+void CtSettingData::__notify()
+{
+ for (auto iter = __listeners.begin(); iter != __listeners.end(); iter++)
+ {
+ if(*iter) {
+ (*iter)->onChanged();
+ }
+ }
+}
+void CtSettingData::__initAddressbookInfo()
+{
+ contacts_list_h abList = NULL;
+ contacts_record_h addressbook = NULL;
+ char* abName = NULL;
+ int abId = 0;
+ int accountId = 0;
+ std::vector<int> displayAbId;
+ bool displayAll = false;
+ int mode = 0;
+ char *str = NULL;
+
+ preference_get_string(CT_KEY_LIST_DISPLAY_ADDRESSBOOK, &str);
+
+ WDEBUG("display addressbook %s", str);
+
+ if (SAFE_STRLEN(str) == 0)
+ {
+ __displayAll = true;
+ displayAll = true;
+ }
+ else
+ {
+ WDEBUG("ab: %s", str);
+ char* ptr = NULL;
+ char* token = strtok_r(str, ";", &ptr);
+ while (token)
+ {
+ displayAbId.push_back(atoi(token));
+
+ token = strtok_r(NULL, ";", &ptr);
+ }
+
+
+ }
+ free(str);
+ str = NULL;
+
+ int ret = contacts_db_get_all_records(_contacts_address_book._uri, 0, 0, &abList);
+ if(ret != CONTACTS_ERROR_NONE)
+ {
+ WWARNING("contacts_db_get_all_records failed");
+ if(abList)
+ contacts_list_destroy(abList, true);
+ return;
+ }
+ int count = 0;
+ contacts_list_get_count(abList, &count);
+ if (count <= 0){
+ if(abList)
+ contacts_list_destroy(abList, true);
+ return;
+ }
+ for (int i = 0; i < count; i++)
+ {
+ ret = contacts_list_get_current_record_p(abList, &addressbook);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_list_get_current_record_p() Failed(%d)", ret);
+
+ ret = contacts_record_get_int(addressbook, _contacts_address_book.id, &abId);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ ret = contacts_record_get_int(addressbook, _contacts_address_book.account_id, &accountId);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ ret = contacts_record_get_int(addressbook, _contacts_address_book.mode, &mode);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
+ ret = contacts_record_get_str_p(addressbook, _contacts_address_book.name, &abName);
+ WPWARN(CONTACTS_ERROR_NONE != ret, "contacts_record_get_str_p() Failed(%d)", ret);
+
+ WDEBUG("adId %d, name %s", abId, abName);
+
+ AbInfo info;
+ info.abId = abId;
+ info.accountId = accountId;
+ info.mode = mode;
+ if (abName)
+ info.abName = abName;
+
+ if (displayAll)
+ info.display = true;
+ else if (std::find(displayAbId.begin(), displayAbId.end(), info.abId) != displayAbId.end())
+ {
+ info.display = true;
+ }
+ else
+ {
+ info.display = false;
+ }
+
+ if (accountId > 0)
+ {
+ account_h account = NULL;
+ account_create(&account);
+ char* str = NULL;
+
+ account_query_account_by_account_id(accountId, &account);
+ if (account)
+ {
+ char* appId = NULL;
+ account_get_user_name(account, &str);
+ if (str)
+ {
+ info.user = str;
+ free(str);
+ str = NULL;
+ }
+
+ account_get_package_name(account, &appId);
+ account_type_query_label_by_app_id([](char* app_id, char* label, char* locale, void* user_data)->bool{
+ AbInfo* pInfo = static_cast<AbInfo*>(user_data);
+ if(strcmp(locale,"default") == 0){
+ pInfo->name = label;
+ return false;
+ }
+
+ return true;
+ }, appId, &info);
+
+ if (info.name.empty())
+ {
+ account_get_domain_name(account, &str);
+ if (str)
+ {
+ info.name = str;
+ free(str);
+ }
+ }
+
+ account_destroy(account);
+ }
+
+ if(!strcmp(info.name.c_str(), CT_EAS_ADDRESSBOOK_NAME)) {
+ info.name.clear();
+ info.name = CT_EAS_ADDRESSBOOK_DISPLAY_NAME;
+ info.user.clear();
+ info.user = abName;
+ }
+
+ __abInfo.push_back(info);
+ }
+
+ contacts_list_next(abList);
+
+ WDEBUG("name:%s, user:%s", info.name.c_str(), info.user.c_str());
+ }
+
+ contacts_list_destroy(abList, true);
+}
+
+CtSettingData::SortMode CtSettingData::getSortMode() const
+{
+ return __sortMode;
+}
+
+void CtSettingData::setSortMode(SortMode sortMode)
+{
+ if (sortMode == SORT_MODE_FIRST_NAME)
+ contacts_setting_set_name_sorting_order(CONTACTS_NAME_SORTING_ORDER_FIRSTLAST);
+ else
+ contacts_setting_set_name_sorting_order(CONTACTS_NAME_SORTING_ORDER_LASTFIRST);
+
+ __sortMode = sortMode;
+}
+
+CtSettingData::NameOrder CtSettingData::getNameOrder() const
+{
+ return __nameOrder;
+}
+
+void CtSettingData::setNameOrder(NameOrder nameOrder)
+{
+ if (nameOrder == NAME_ORDER_FIRST_NAME_FIRST)
+ contacts_setting_set_name_display_order(CONTACTS_NAME_DISPLAY_ORDER_FIRSTLAST);
+ else
+ contacts_setting_set_name_display_order(CONTACTS_NAME_DISPLAY_ORDER_LASTFIRST);
+
+ __nameOrder = nameOrder;
+}
+
+CtSettingData::ShowMode CtSettingData::getShowMode() const
+{
+ return __showMode;
+}
+
+void CtSettingData::setShowMode(ShowMode showMode)
+{
+ if (showMode == SHOW_MODE_CONTACTS_WITH_PHONES)
+ preference_set_int(CT_KEY_DISPLAY_WITH_NUMBER, 1);
+ else
+ preference_set_int(CT_KEY_DISPLAY_WITH_NUMBER, 0);
+
+ __showMode = showMode;
+}
+
+CtSettingData::SendMode CtSettingData::getSendMode() const
+{
+ return __sendMode;
+}
+
+void CtSettingData::setSendMode(SendMode mode)
+{
+ __sendMode = mode;
+
+ if (__sendMode == SEND_MODE_TOGETHER) {
+ preference_set_int(CT_KEY_SETTING_CONTACT_SHARING_SETTINGS, 0);
+ } else {
+ preference_set_int(CT_KEY_SETTING_CONTACT_SHARING_SETTINGS, 1);
+ }
+
+ __notify();
+}
+
+const std::list<CtSettingData::AbInfo>& CtSettingData::getAbInfo() const
+{
+ return __abInfo;
+}
+
+void CtSettingData::setAbInfo(const std::list<CtSettingData::AbInfo>& abInfo)
+{
+ WHIT();
+ __abInfo = abInfo;
+
+ char buf[256]={0,};
+ int len = 0;
+ bool displayAll = true;
+
+ for (auto iter = __abInfo.begin(); iter != __abInfo.end(); ++iter)
+ {
+ if (iter->display)
+ {
+ if (len > 0)
+ len += snprintf(buf + len, sizeof(buf) - len, ";%d", iter->abId);
+ else
+ len += snprintf(buf + len, sizeof(buf) - len, "%d", iter->abId);
+ }
+ else
+ {
+ displayAll = false;
+ }
+ }
+
+ WDEBUG("abInfo %s", buf);
+
+ if (displayAll)
+ {
+ __displayAll = true;
+ preference_set_string(CT_KEY_LIST_DISPLAY_ADDRESSBOOK, "");
+ }
+ else
+ {
+ __displayAll = false;
+ preference_set_string(CT_KEY_LIST_DISPLAY_ADDRESSBOOK, buf);
+ }
+}
+
+int CtSettingData::getAbCount() const
+{
+ return __abInfo.size();
+}
+
+bool CtSettingData::isDisplayAll() const
+{
+ return __displayAll;
+}
+
+const std::list<CtSettingData::SdnInfo>& CtSettingData::getSdnInfoList()
+{
+ WHIT();
+ if (__sdnInfo.size() == 0)
+ {
+ contacts_list_h sdnList = NULL;
+ contacts_record_h sdnRecord = NULL;
+ char* strValue = NULL;
+ int intValue = 0;
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_db_get_all_records(_contacts_sdn._uri, 0, 0, &sdnList);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_get_all_records() Failed(%d)", err);
+
+ while (CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(sdnList, &sdnRecord))
+ {
+ SdnInfo sdnInfo;
+
+ err = contacts_record_get_str_p(sdnRecord, _contacts_sdn.name, &strValue);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ if (strValue)
+ sdnInfo.name = strValue;
+
+ err = contacts_record_get_str_p(sdnRecord, _contacts_sdn.number, &strValue);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
+ if (strValue)
+ sdnInfo.number = strValue;
+
+ err = contacts_record_get_int(sdnRecord, _contacts_sdn.sim_slot_no, &intValue);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ sdnInfo.simNum = intValue;
+
+ __sdnInfo.push_back(sdnInfo);
+
+ contacts_list_next(sdnList);
+ }
+
+ contacts_list_destroy(sdnList, true);
+ }
+
+ WDEBUG("count:%d", __sdnInfo.size());
+
+ return __sdnInfo;
+}
diff --git a/lib-contact/ct-setting/src/CtSettingData.h b/lib-contact/ct-setting/src/CtSettingData.h
new file mode 100644
index 0000000..5e1a4a5
--- /dev/null
+++ b/lib-contact/ct-setting/src/CtSettingData.h
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_SETTING_DATA_H_
+#define _CT_SETTING_DATA_H_
+#include <string>
+#include <vector>
+#include <list>
+
+class CtSettingDataListener;
+
+class CtSettingData
+{
+public:
+ CtSettingData();
+ ~CtSettingData();
+ void init();
+
+ void addListener(CtSettingDataListener* listener);
+
+ enum SortMode
+ {
+ SORT_MODE_FIRST_NAME,
+ SORT_MODE_LAST_NAME,
+ };
+
+ enum NameOrder
+ {
+ NAME_ORDER_FIRST_NAME_FIRST,
+ NAME_ORDER_LAST_NAME_FIRST,
+ };
+
+ enum ShowMode
+ {
+ SHOW_MODE_CONTACTS_WITH_PHONES,
+ SHOW_MODE_ALL_CONTACTS,
+ };
+
+ enum SendMode
+ {
+ SEND_MODE_TOGETHER,
+ SEND_MODE_INDIVIDUALLY,
+ };
+
+ struct AbInfo
+ {
+ AbInfo();
+ int abId;
+ int accountId;
+ bool display;
+ int mode;
+ std::string abName;
+ std::string name;
+ std::string user;
+ };
+
+ struct SdnInfo
+ {
+ SdnInfo();
+ int simNum;
+ std::string name;
+ std::string number;
+ };
+
+ SortMode getSortMode() const;
+ void setSortMode(SortMode sortMode);
+
+ NameOrder getNameOrder() const;
+ void setNameOrder(NameOrder order);
+
+ ShowMode getShowMode() const;
+ void setShowMode(ShowMode mode);
+
+ SendMode getSendMode() const;
+ void setSendMode(SendMode mode);
+
+ const std::list<AbInfo>& getAbInfo() const;
+ void setAbInfo(const std::list<AbInfo>& abInfo);
+
+ int getAbCount() const;
+
+ bool isDisplayAll() const;
+
+ const std::list<SdnInfo>& getSdnInfoList();
+
+private:
+ void __initAddressbookInfo();
+ void __notify();
+
+private:
+ SortMode __sortMode;
+ NameOrder __nameOrder;
+ ShowMode __showMode;
+ SendMode __sendMode;
+ std::list<AbInfo> __abInfo;
+ std::list<SdnInfo> __sdnInfo;
+ std::list<CtSettingDataListener*> __listeners;
+ bool __displayAll;
+};
+
+#endif //_CT_SETTING_DATA_H_
diff --git a/lib-contact/ct-setting/src/CtSettingPopup.cpp b/lib-contact/ct-setting/src/CtSettingPopup.cpp
new file mode 100644
index 0000000..a1dca2a
--- /dev/null
+++ b/lib-contact/ct-setting/src/CtSettingPopup.cpp
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "CtString.h"
+#include "ContactsDebug.h"
+#include "CtSettingPopup.h"
+
+
+CtSettingPopup::__ItemData::__ItemData() :
+ target(TargetStorage::DEVICE),
+ iconType(0)
+{
+
+}
+
+CtSettingPopup::CtSettingPopup(CtSettingData* settingData, const char* popupTitle) :
+ __settingData(settingData),
+ __popupTitle(popupTitle),
+ __resultCb(NULL),
+ __genlist(NULL),
+ __externalStorageId(0)
+{
+}
+
+bool CtSettingPopup::getSupportedStoragesCallback(int storageId, storage_type_e type, storage_state_e state, const char *path, void *userData)
+{
+ WENTER();
+ WPRET_VM(userData == NULL, false, "User data == NULL");
+
+ if (type == STORAGE_TYPE_EXTERNAL)
+ {
+ CtSettingPopup* settigPopup = static_cast<CtSettingPopup*>(userData);
+ settigPopup->__externalStorageId = storageId;
+ return false;
+ }
+
+ return true;
+}
+
+Evas_Object* CtSettingPopup::__createContent(Evas_Object *parent)
+{
+ // genlist class
+ Elm_Genlist_Item_Class* itc = elm_genlist_item_class_new();
+ WPRET_VM(!itc, NULL, "elm_genlist_item_class_new() failed");
+ itc->item_style = "type1";
+ itc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ __ItemData* itemData = static_cast<__ItemData*>(data);
+ if(!strcmp(part, "elm.text")) {
+ return strdup(itemData->label.c_str());
+ }
+
+ return NULL;
+ };
+
+ itc->func.del = [](void* data, Evas_Object* obj)
+ {
+ __ItemData* itemData = static_cast<__ItemData*>(data);
+ delete itemData;
+ };
+
+ __genlist = elm_genlist_add(parent);
+ elm_object_style_set( __genlist, "popup" );
+ elm_genlist_homogeneous_set(__genlist, EINA_TRUE);
+ elm_genlist_mode_set( __genlist, ELM_LIST_COMPRESS );
+ elm_scroller_content_min_limit( __genlist, EINA_FALSE, EINA_TRUE ); // Automatically pop-up height is calculated
+
+ elm_object_content_set(parent, __genlist);
+
+ int itemCount = 0;
+ __ItemData* itemData = NULL;
+
+ int error = storage_foreach_device_supported(getSupportedStoragesCallback, this);
+
+ if (error == STORAGE_ERROR_NONE)
+ {
+ storage_state_e state;
+ storage_get_state(__externalStorageId, &state);
+
+ if (state == STORAGE_STATE_MOUNTED)
+ {
+ itemData = new __ItemData();
+ itemData->label = V_("IDS_PB_OPT_SD_CARD");
+ itemData->target = TargetStorage::SD_CARD;
+ elm_genlist_item_append(__genlist, itc, itemData, NULL, ELM_GENLIST_ITEM_NONE, __onItemSelected, this);
+ itemCount++;
+ }
+ }
+
+ itemData = new __ItemData();
+ itemData->label = V_("IDS_PB_OPT_DEVICE");
+ itemData->target = TargetStorage::DEVICE;
+ elm_genlist_item_append(__genlist, itc, itemData, NULL, ELM_GENLIST_ITEM_NONE, __onItemSelected, this);
+ itemCount++;
+
+ elm_genlist_item_class_free(itc);
+
+ evas_object_show(__genlist);
+
+ return __genlist;
+
+}
+
+void CtSettingPopup::setOnResultCb(std::function<void (TargetStorage)> resultCb)
+{
+ __resultCb = resultCb;
+}
+
+Evas_Object* CtSettingPopup::onCreate( Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+
+ setTitle(__popupTitle.c_str());
+
+ setContent([this](Evas_Object* parent)->Evas_Object* {
+ return __createContent(parent);
+ });
+
+ return WPopup::onCreate(parent, viewParam);
+}
+
+void CtSettingPopup::__onItemSelected(void* data, Evas_Object* obj, void* event_info)
+{
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ __ItemData* itemData = (__ItemData*)elm_object_item_data_get(item);
+
+ CtSettingPopup* popup = static_cast<CtSettingPopup*>(data);
+ if( popup->__resultCb) {
+ popup->__resultCb(itemData->target);
+ }
+}
diff --git a/lib-contact/ct-setting/src/CtSettingPopup.h b/lib-contact/ct-setting/src/CtSettingPopup.h
new file mode 100644
index 0000000..ed0b583
--- /dev/null
+++ b/lib-contact/ct-setting/src/CtSettingPopup.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_SETTING_POPUP_H_
+#define _CT_SETTING_POPUP_H_
+
+#include <string>
+#include <storage.h>
+#include <functional>
+
+#include "CtSettingData.h"
+#include "CtVcardCommon.h"
+#include "WPopup.h"
+
+class CtSettingPopup : public WPopup
+{
+public:
+
+ CtSettingPopup(CtSettingData* settingData, const char* popupTitle);
+
+private:
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam);
+
+ Evas_Object* __createContent(Evas_Object *parent);
+
+ static void __onItemSelected(void* data, Evas_Object* obj, void* event_info);
+
+public:
+ void setOnResultCb(std::function<void (TargetStorage)> resultCb);
+
+private:
+ struct __ItemData
+ {
+ __ItemData();
+ TargetStorage target;
+ std::string label;
+ std::string subLabel;
+ int iconType;
+ };
+
+ static bool getSupportedStoragesCallback(int storageId, storage_type_e type, storage_state_e state, const char *path, void *userData);
+
+ CtSettingData* __settingData;
+ std::string __popupTitle;
+ std::function<void (TargetStorage)> __resultCb;
+ Evas_Object* __genlist;
+ int __externalStorageId;
+};
+
+#endif //_CT_SETTING_POPUP_H_
diff --git a/lib-contact/ct-setting/src/CtSettingRadioPopup.cpp b/lib-contact/ct-setting/src/CtSettingRadioPopup.cpp
new file mode 100644
index 0000000..2b6ede6
--- /dev/null
+++ b/lib-contact/ct-setting/src/CtSettingRadioPopup.cpp
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+//#include <efl_assist.h>
+
+#include "ContactsCommon.h"
+#include "ContactsDebug.h"
+#include "CtSettingRadioPopup.h"
+#include "CtString.h"
+
+
+CtSettingRadioPopup::__ItemData::__ItemData()
+: index(0)
+{
+
+}
+
+CtSettingRadioPopup::CtSettingRadioPopup(const std::vector<std::string>& label, int selectedIndex)
+: __label(label)
+, __selectedIndex(selectedIndex)
+, __resultCb(NULL)
+{
+
+}
+CtSettingRadioPopup::~CtSettingRadioPopup()
+{
+
+}
+
+Evas_Object* CtSettingRadioPopup::onCreate( Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+
+ setContent([this](Evas_Object* parent)->Evas_Object* {
+ return __createContent(parent);
+ });
+
+ return WPopup::onCreate(parent, viewParam);
+}
+
+void CtSettingRadioPopup::onDestroy()
+{
+
+}
+
+
+void CtSettingRadioPopup::setOnResultCb( std::function<void (int)> resultCb )
+{
+ __resultCb = resultCb;
+}
+
+void CtSettingRadioPopup::__itemSelectedCb(void* data, Evas_Object* obj, void* event_info)
+{
+ CtSettingRadioPopup* popup = static_cast<CtSettingRadioPopup*>(data);
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+ int index = elm_genlist_item_index_get( item ) - 1; // genlist item index is starting from 1!
+ popup->__selectedIndex = index;
+ if( popup->__resultCb)
+ popup->__resultCb(index);
+}
+
+
+Evas_Object* CtSettingRadioPopup::__createContent(Evas_Object *parent)
+{
+ // genlist class
+ Elm_Genlist_Item_Class* itc = elm_genlist_item_class_new();
+ WPRET_VM(!itc, NULL, "elm_genlist_item_class_new() failed");
+ itc->item_style = "type1";
+ itc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ __ItemData* itemData = static_cast<__ItemData*>(data);
+ if(!strcmp(part, "elm.text")) {
+ return strdup(itemData->label.c_str());
+ }
+
+ return NULL;
+ };
+
+ itc->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object*
+ {
+ if(!strcmp(part, "elm.swallow.end")) {
+ __ItemData* itemData = static_cast<__ItemData*>(data);
+ Evas_Object* radio = elm_radio_add(obj);
+ Evas_Object *radioGroup = (Evas_Object*)evas_object_data_get(obj, "radioGroup");
+
+ elm_object_style_set(radio, "list");
+ elm_radio_state_value_set(radio, itemData->index);
+ elm_radio_group_add(radio, radioGroup);
+
+ evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_propagate_events_set(radio, EINA_TRUE);
+
+ if (itemData->popup->__selectedIndex == itemData->index) {
+ elm_radio_value_set(radio, itemData->index);
+ }
+ return radio;
+ }
+
+ return NULL;
+ };
+ itc->func.del = [](void* data, Evas_Object* obj)
+ {
+ __ItemData* itemData = static_cast<__ItemData*>(data);
+ delete itemData;
+ };
+
+ Evas_Object* genlist = elm_genlist_add(parent);
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_genlist_mode_set( genlist, ELM_LIST_COMPRESS );
+ elm_scroller_content_min_limit( genlist, EINA_FALSE, EINA_TRUE ); // Automatically pop-up height is calculated
+
+ Evas_Object* radioGroup = elm_radio_add(genlist);
+ elm_object_style_set(radioGroup, "list");
+ elm_radio_state_value_set(radioGroup, -1);
+ evas_object_data_set(genlist, "radioGroup", radioGroup);
+
+ elm_object_content_set(parent, genlist);
+
+ int index = 0;
+ for (auto iter = __label.begin(); iter != __label.end(); ++iter)
+ {
+ __ItemData* itemData = new __ItemData();
+ itemData->label = *iter;
+ itemData->popup = this;
+ itemData->index = index++;
+ elm_genlist_item_append(genlist, itc, itemData, NULL, ELM_GENLIST_ITEM_NONE, __itemSelectedCb, this);
+ }
+
+ elm_genlist_item_class_free(itc);
+
+ evas_object_show(genlist);
+
+ return genlist;
+}
+
+
diff --git a/lib-contact/ct-setting/src/CtSettingRadioPopup.h b/lib-contact/ct-setting/src/CtSettingRadioPopup.h
new file mode 100644
index 0000000..0d00d4c
--- /dev/null
+++ b/lib-contact/ct-setting/src/CtSettingRadioPopup.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_SETTING_RADIO_POPUP_H_
+#define _CT_SETTING_RADIO_POPUP_H_
+
+#include "WPopup.h"
+#include <string>
+#include <vector>
+#include <functional>
+
+class CtSettingRadioPopup : public WPopup
+{
+public:
+ CtSettingRadioPopup(const std::vector<std::string>& label, int selectedIndex);
+ void setOnResultCb(std::function<void (int)> resultCb);
+
+private:
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+ Evas_Object* __createContent(Evas_Object *parent);
+ static void __itemSelectedCb(void* data, Evas_Object* obj, void* event_info);
+
+private:
+ virtual ~CtSettingRadioPopup();
+
+private:
+ struct __ItemData
+ {
+ __ItemData();
+ CtSettingRadioPopup* popup;
+ std::string label;
+ int index;
+ };
+
+private:
+ std::vector<std::string> __label;
+ int __selectedIndex;
+ std::function<void (int)> __resultCb;
+};
+
+
+#endif //_CT_SETTING_RADIO_POPUP_H_
diff --git a/lib-contact/ct-setting/src/CtSettingView.cpp b/lib-contact/ct-setting/src/CtSettingView.cpp
new file mode 100644
index 0000000..bc846cb
--- /dev/null
+++ b/lib-contact/ct-setting/src/CtSettingView.cpp
@@ -0,0 +1,503 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <map>
+#include <string>
+#include <vector>
+
+#include <app.h>
+#include <contacts.h>
+#include <notification.h>
+
+#include "WNaviframe.h"
+#include "WWindow.h"
+#include "WPopup.h"
+#include "WToastPopup.h"
+#include "WGenlistItem.h"
+#include "ContactsDebug.h"
+#include "CtType.h"
+#include "ContactsAppControlLauncher.h"
+#include "ContactsAppControl.h"
+
+#include "CtContactsToVcard.h"
+#include "CtString.h"
+#include "CtSettingData.h"
+#include "CtSettingView.h"
+#include "CtSettingRadioPopup.h"
+#include "CtSettingPopup.h"
+#include "CtImporter.h"
+
+#define MYFILE_UG "ug-myfile-efl"
+
+class __SortByItem: public WGenlistItem
+{
+public:
+ __SortByItem( CtSettingData* data ) { __data = data; }
+ virtual ~__SortByItem(){}
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassNew() {
+ Elm_Genlist_Item_Class* itc = elm_genlist_item_class_new();
+ WPRET_VM(!itc, NULL, "elm_genlist_item_class_new() failed");
+ itc->item_style = "type1";
+ itc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ __SortByItem* p = static_cast<__SortByItem*>(data);
+
+ if(!strcmp(part, "elm.text")) {
+ return strdup(V_("IDS_PB_MBODY_SORT_BY"));
+ }
+ else if(!strcmp(part, "elm.text.sub")){
+ if ( p->__data->getSortMode() == CtSettingData::SORT_MODE_FIRST_NAME)
+ return strdup(V_("IDS_PB_OPT_FIRST_NAME"));
+ else
+ return strdup(V_("IDS_PB_BODY_LAST_NAME_ABB"));
+ }
+ return NULL;
+ };
+ itc->func.del = WGENLIST_ITEM_DEL();
+ return itc;
+ }
+private:
+ __SortByItem();
+ CtSettingData* __data;
+};
+
+class __DisplayNameByItem: public WGenlistItem
+{
+public:
+ __DisplayNameByItem( CtSettingData* data ) { __data = data; }
+ virtual ~__DisplayNameByItem(){}
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassNew() {
+ Elm_Genlist_Item_Class* itc = elm_genlist_item_class_new();
+ WPRET_VM(!itc, NULL, "elm_genlist_item_class_new() failed");
+ itc->item_style = "type1";
+ itc->func.text_get = __getText;
+ itc->func.del = WGENLIST_ITEM_DEL();
+ return itc;
+ }
+private:
+ static char* __getText(void* data, Evas_Object* obj, const char* part ) {
+ __DisplayNameByItem* p = static_cast<__DisplayNameByItem*>(data);
+ if(!strcmp(part, "elm.text")) {
+ return strdup(V_("IDS_PB_TMBODY_NAME_FORMAT"));
+ }
+ else if(!strcmp(part, "elm.text.sub")) {
+ if ( p->__data->getNameOrder() == CtSettingData::NAME_ORDER_FIRST_NAME_FIRST)
+ return strdup(V_("IDS_PB_OPT_FIRST_NAME_FIRST_ABB"));
+ else
+ return strdup(V_("IDS_PB_OPT_LAST_NAME_FIRST_ABB"));
+ }
+ return NULL;
+ }
+private:
+ __DisplayNameByItem();
+ CtSettingData* __data;
+};
+
+class __ImportItem : public WGenlistItem
+{
+public:
+ __ImportItem(){}
+ virtual ~__ImportItem(){}
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassNew() {
+ Elm_Genlist_Item_Class* itc = elm_genlist_item_class_new();
+ WPRET_VM(!itc, NULL, "elm_genlist_item_class_new() failed");
+ itc->item_style = "type1";
+ itc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char* {
+ if(!strcmp(part, "elm.text")) {
+ return strdup(V_("IDS_PB_MBODY_IMPORT"));
+ }
+ return NULL;
+ };
+ itc->func.del = WGENLIST_ITEM_DEL();
+ return itc;
+ }
+};
+
+class __ExportItem : public WGenlistItem
+{
+public:
+ __ExportItem() {}
+ virtual ~__ExportItem(){}
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassNew() {
+ Elm_Genlist_Item_Class* itc = elm_genlist_item_class_new();
+ WPRET_VM(!itc, NULL, "elm_genlist_item_class_new() failed");
+ itc->item_style = "type1";
+ itc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char* {
+ if(!strcmp(part, "elm.text")) {
+ return strdup(V_("IDS_PB_MBODY_EXPORT"));
+ }
+ return NULL;
+ };
+ itc->func.del = WGENLIST_ITEM_DEL();
+ return itc;
+ }
+};
+
+class __SendContactInformationItem: public WGenlistItem
+{
+public:
+ __SendContactInformationItem( CtSettingData* data ) { __data = data; }
+ virtual ~__SendContactInformationItem(){}
+public:
+ virtual Elm_Genlist_Item_Class* getItemClassNew() {
+ Elm_Genlist_Item_Class* itc = elm_genlist_item_class_new();
+ WPRET_VM(!itc, NULL, "elm_genlist_item_class_new() failed");
+ itc->item_style = "type1";
+ itc->func.text_get = __getText;
+ itc->func.del = WGENLIST_ITEM_DEL();
+ return itc;
+ }
+private:
+ static char* __getText( void* data, Evas_Object* obj, const char* part ) {
+ __SendContactInformationItem* p = static_cast<__SendContactInformationItem*>(data);
+ if(!strcmp(part, "elm.text")) {
+ return strdup(V_("IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"));
+ }
+ else if(!strcmp(part, "elm.text.sub")) {
+ if ( p->__data->getSendMode() == CtSettingData::SEND_MODE_TOGETHER)
+ return strdup(V_("IDS_PB_MBODY_SEND_TOGETHER_ABB"));
+ else
+ return strdup(V_("IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"));
+ }
+
+ return NULL;
+ }
+private:
+ __SendContactInformationItem();
+ CtSettingData* __data;
+};
+
+CtSettingView::CtSettingView()
+: __genlist(NULL)
+, __settingData(NULL)
+, __importAbId(0)
+, __popupIdler(NULL)
+, __ctToDispItem(NULL)
+{
+ WHIT();
+}
+
+CtSettingView::~CtSettingView()
+{
+ WHIT();
+
+ ContactsAppControlLauncher::getInstance().terminate();
+ if(__popupIdler)
+ ecore_idler_del(__popupIdler);
+
+ delete __settingData;
+}
+
+const char* CtSettingView::getClassName()
+{
+ return "CtSettingView";
+
+
+}
+
+Evas_Object* CtSettingView::onCreate( Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+
+ setTitle(V_("IDS_PB_HEADER_SETTINGS"));
+
+ __settingData = new CtSettingData();
+ __settingData->init();
+ __settingData->addListener(this);
+
+ Evas_Object* layout = elm_layout_add(parent);
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_layout_theme_set(layout, "layout", "application", "default");
+
+ __genlist = elm_genlist_add(parent);
+ if (__genlist == NULL) {
+ WERROR("elm_genlist_add failed");
+ return NULL;
+ }
+
+ elm_genlist_mode_set(__genlist, ELM_LIST_COMPRESS);
+ elm_genlist_homogeneous_set(__genlist, EINA_TRUE);
+ elm_object_part_content_set(layout, "elm.swallow.content", __genlist);
+ evas_object_show(layout);
+
+ Elm_Genlist_Item_Class* itc = NULL;
+ WGenlistItem* item = NULL;
+
+ item = new __SortByItem(__getSettingData() );
+ item->setElmObjectItem( elm_genlist_item_append(__genlist, itc = item->getItemClassNew(), item, NULL, ELM_GENLIST_ITEM_NONE, __onSortByItemSelectedCb, this) );
+ elm_genlist_item_class_free(itc);
+
+ item = new __DisplayNameByItem(__getSettingData() );
+ item->setElmObjectItem( elm_genlist_item_append(__genlist, itc = item->getItemClassNew(), item, NULL, ELM_GENLIST_ITEM_NONE, __onDisplayNameByItemSelectedCb, this));
+ elm_genlist_item_class_free(itc);
+
+ item = new __ImportItem();
+ item->setElmObjectItem( elm_genlist_item_append(__genlist, itc = item->getItemClassNew(), item, NULL, ELM_GENLIST_ITEM_NONE, __onImportItemSelectedCb, this));
+ elm_genlist_item_class_free(itc);
+
+ item = new __ExportItem();
+ item->setElmObjectItem( elm_genlist_item_append(__genlist, itc = item->getItemClassNew(), item, NULL, ELM_GENLIST_ITEM_NONE, __onExportItemSelectedCb, this));
+ elm_genlist_item_class_free(itc);
+
+ return layout;
+}
+
+void CtSettingView::onDestroy()
+{
+ WHIT();
+ destroyPopup();
+ ContactsAppControlLauncher::getInstance().terminate();
+}
+
+CtSettingData* CtSettingView::__getSettingData()
+{
+ return __settingData;
+}
+
+void CtSettingView::onPushed(Elm_Object_Item* naviItem)
+{
+ WHIT();
+
+ elm_naviframe_item_title_enabled_set(naviItem, EINA_TRUE, EINA_TRUE);
+}
+
+void CtSettingView::onEvent(int eventType)
+{
+ elm_genlist_realized_items_update(__genlist);
+}
+
+void CtSettingView::__onSortByItemSelectedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+ CtSettingView* p = static_cast<CtSettingView*>(data);
+ CtSettingData::SortMode sortMode = p->__getSettingData()->getSortMode();
+
+ std::vector<std::string> label = {V_("IDS_PB_OPT_FIRST_NAME"), V_("IDS_PB_BODY_LAST_NAME_ABB")};
+
+ Elm_Object_Item* objItem = (Elm_Object_Item *)event_info;
+ CtSettingData* settingData = p->__getSettingData();
+
+ CtSettingRadioPopup* popup = new CtSettingRadioPopup(label, sortMode == CtSettingData::SORT_MODE_FIRST_NAME ? 0 : 1);
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle( "IDS_PB_MBODY_SORT_BY");
+ popup->setOnResultCb([popup,objItem, settingData](int index){
+ WDEBUG("item %d selected", index);
+ if (index == 0)
+ settingData->setSortMode(CtSettingData::SORT_MODE_FIRST_NAME);
+ else
+ settingData->setSortMode(CtSettingData::SORT_MODE_LAST_NAME);
+
+ elm_genlist_item_fields_update( objItem, "elm.text.sub", ELM_GENLIST_ITEM_FIELD_TEXT);
+ popup->destroy();
+ });
+ p->attachPopup( popup );
+}
+
+void CtSettingView::__onDisplayNameByItemSelectedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+ CtSettingView* p = static_cast<CtSettingView*>(data);
+ CtSettingData::NameOrder nameOrder = p->__getSettingData()->getNameOrder();
+
+ std::vector<std::string> label = {V_("IDS_PB_OPT_FIRST_NAME_FIRST_ABB"), V_("IDS_PB_OPT_LAST_NAME_FIRST_ABB")};
+ Elm_Object_Item* objItem = (Elm_Object_Item *)event_info;
+ CtSettingData* settingData = p->__getSettingData();
+
+ CtSettingRadioPopup* popup = new CtSettingRadioPopup(label, nameOrder == CtSettingData::NAME_ORDER_FIRST_NAME_FIRST ? 0 : 1);
+ popup->setTextTranslatable(PACKAGE);
+ popup->setTitle( "IDS_PB_TMBODY_NAME_FORMAT");
+ popup->setOnResultCb([popup,objItem, settingData](int index){
+ WDEBUG("item %d selected", index);
+ if (index == 0)
+ settingData->setNameOrder(CtSettingData::NAME_ORDER_FIRST_NAME_FIRST);
+ else
+ settingData->setNameOrder(CtSettingData::NAME_ORDER_LAST_NAME_FIRST);
+
+ elm_genlist_item_fields_update(objItem, "elm.text.sub", ELM_GENLIST_ITEM_FIELD_TEXT);
+ popup->destroy();
+ });
+ p->attachPopup( popup );
+}
+
+void CtSettingView::__onImportItemSelectedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ const int deviceAbId = 0;
+ elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+ CtSettingView* view = static_cast<CtSettingView*>(data);
+
+ view->__importFromStorage(true, deviceAbId);
+}
+
+void CtSettingView::__onExportItemSelectedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+ CtSettingView* p = static_cast<CtSettingView*>(data);
+
+ p->__exportContactsTo(TargetStorage::DEVICE);
+}
+
+void CtSettingView::__importFromStorage(bool phone, int abId)
+{
+ WHIT();
+ __importAbId = abId;
+
+ app_control_h service;
+
+ app_control_create(&service);
+ if (phone)
+ app_control_add_extra_data(service, "path", "/opt/usr/media");
+ else
+ app_control_add_extra_data(service, "path", "/opt/storage/sdcard");
+
+ app_control_add_extra_data(service, "select_type", "IMPORT_PATH_SELECT");
+ app_control_add_extra_data(service, "file_type", "vcf");
+
+ app_control_set_app_id(service, MYFILE_UG);
+ app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+
+ ContactsAppControlLauncher::getInstance().sendLaunchRequest(service, __importFromStrorageReplyCb, this, getNaviframe()->getEvasObj());
+}
+
+void CtSettingView::__importFromStrorageReplyCb(app_control_h request, app_control_h reply, app_control_result_e result, void *data)
+{
+ WPRET_M(NULL == data, "data is NULL");
+ CtSettingView* view = static_cast<CtSettingView*>(data);
+
+ std::vector<std::string> vcards;
+ char* val = NULL;
+ char* last = NULL;
+ app_control_get_extra_data(reply, "result", &val);
+
+ if (val == NULL)
+ return;
+
+ char* path = strtok_r(val, "?", &last);
+ while (path) {
+ vcards.push_back(path);
+ WHIT();
+ path = strtok_r(NULL, "?", &last);
+ }
+
+ free(val);
+
+ WHIT();
+ view->__excuteContactImporter(std::move(vcards));
+
+ return;
+}
+
+std::vector<int> __getPersonIdListFromReply(app_control_h reply)
+{
+ WHIT();
+ int length = 0;
+ char **resultArray = NULL;
+ std::vector<int> idList;
+
+ app_control_get_extra_data_array(reply, APP_CONTROL_DATA_SELECTED, &resultArray, &length);
+ idList.reserve(length);
+ for (int i = 0; i < length; ++i) {
+ int personId = atoi(resultArray[i]);
+ idList.push_back(personId);
+ free(resultArray[i]);
+ }
+ free(resultArray);
+ return idList;
+}
+
+void CtSettingView::__exportContactsTo(TargetStorage exportTo)
+{
+ WHIT();
+ if (exportTo == TargetStorage::DEVICE)
+ {
+ launchContactPick(APP_CONTROL_DATA_SELECTION_MODE_MULTIPLE,
+ APP_CONTROL_DATA_TYPE_ID, [](app_control_h request, app_control_h reply, app_control_result_e result, void *data){
+ CtSettingView *view = static_cast<CtSettingView*>(data);
+ view->__excuteContactExporter(TargetStorage::DEVICE, request, reply, result, data);
+ }, this);
+ }
+ else if (exportTo == TargetStorage::SD_CARD) {
+ launchContactPick(APP_CONTROL_DATA_SELECTION_MODE_MULTIPLE,
+ APP_CONTROL_DATA_TYPE_ID, [](app_control_h request, app_control_h reply, app_control_result_e result, void *data){
+ CtSettingView *view = static_cast<CtSettingView*>(data);
+ view->__excuteContactExporter(TargetStorage::SD_CARD, request, reply, result, data);
+ }, this);
+ }
+}
+
+void CtSettingView::__excuteContactExporter(TargetStorage saveTo, app_control_h request, app_control_h reply, app_control_result_e result, void *data)
+{
+ WHIT();
+ CtContactsToVcard *vcard = new CtContactsToVcard(V_("IDS_PB_HEADER_EXPORT_CONTACTS_ABB"), saveTo, __getPersonIdListFromReply(reply));
+ vcard->setOnFinish(std::bind(&CtSettingView::__createExportResultPopup, this, std::placeholders::_1));
+
+ attachPopup(vcard->getProgressPopup());
+ vcard->run();
+}
+
+void CtSettingView::__createExportResultPopup(CtProgressController &controller)
+{
+ WHIT();
+ CtContactsToVcard &vcard = static_cast<CtContactsToVcard&>(controller);
+
+ const char *deviceDirName = "Device";
+ const char *devicePosition = strstr(vcard.getVcardPath().c_str(), deviceDirName);
+ char content[CT_TEXT_SHORT_LEN] = { 0, };
+ snprintf(content, sizeof(content), ctGetContactsString("IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"), vcard.getTotalCount(), devicePosition);
+
+ WPopup *finishPopup = new WPopup();
+ finishPopup->setTextTranslatable(PACKAGE);
+ finishPopup->setTitle("IDS_PB_HEADER_CONTACTS_EXPORTED_ABB");
+ finishPopup->setContent(content);
+ finishPopup->addButton("IDS_PB_BUTTON_OK_ABB2", NULL);
+ attachPopup(finishPopup);
+}
+
+void CtSettingView::__excuteContactImporter(std::vector<std::string> vcards)
+{
+ WHIT();
+ int totalCount = 0;
+ for (auto &&vcard : vcards) {
+ int count = 0;
+ int err = contacts_vcard_get_entity_count(vcard.c_str(), &count);
+ if (err != CONTACTS_ERROR_NONE) {
+ WERROR("contacts_vcard_get_entity_count failed, vcard = %s", vcard.c_str());
+ }
+ totalCount += count;
+ }
+
+ CtImporter *contactImporter = new CtImporter(__importAbId, std::move(vcards), totalCount);
+ attachPopup(contactImporter->getProgressPopup());
+ attachHiddenPopup(contactImporter->getCancelPopup());
+ contactImporter->run();
+}
+
+void CtSettingView::onChanged()
+{
+ elm_genlist_realized_items_update(__genlist);
+}
+
+extern "C" {
+ WAPP_ASSIST_EXPORT WView* createSettingView() {
+ CtSettingView* view = new CtSettingView;
+ return view;
+ }
+}
+
diff --git a/lib-contact/ct-tab/.cproject b/lib-contact/ct-tab/.cproject
new file mode 100644
index 0000000..23f9bca
--- /dev/null
+++ b/lib-contact/ct-tab/.cproject
@@ -0,0 +1,516 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1768984527">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1768984527" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ct-tab" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1768984527" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.1768984527." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1636878340" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.867591784" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/ct-tab}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.545131114" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1615061201" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.15567238" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.163803350" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.348859818" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.223178402" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.2040257295" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.478916585" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath"/>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1361404487" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1936165721" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-dialer/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-loglist/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-list/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/inc"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1519853536" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1668079434" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1909499339" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.700678928"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1575540006" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1214911705" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.247745276" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1657026015" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.630491897" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.1891578363" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.358236841" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2078881787" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1793668828" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1588224494" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.1841844058" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.81152802"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.704074063" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.7742672" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.500371967" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.927204397" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.512895110" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.600166275" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-list/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-dialer/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-loglist/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/Debug"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.280837396" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="ph-loglist"/>
+ <listOptionValue builtIn="false" value="ct-common"/>
+ <listOptionValue builtIn="false" value="ct-list"/>
+ <listOptionValue builtIn="false" value="ph-dialer"/>
+ <listOptionValue builtIn="false" value="common"/>
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="app-assist-efl"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.440567299" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1182891806" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1819789021" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1077793556" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.985383878" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1941803177" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.605587329" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1844584808" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.348880620" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
+ <externalSettings containerId="ph-dialer;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="ph-loglist;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ </storageModule>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.1030804953">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1030804953" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ct-tab" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1030804953" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.1030804953." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.1408975965" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1700314959" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/ct-tab}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1741349122" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.64450456" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1005340919" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1701136262" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.125740905" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.586059472" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1500443273" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.10877151" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1195707919" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1075687404" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.399982049" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.1575664265"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.827018146" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1348349604" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1548925133" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1520215684" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1376508474" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.1562541360" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1973359790" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.174759871" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.641497877" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.909552811" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.dialect.std.1990764188" name="Language standard" superClass="gnu.c.compiler.option.dialect.std" value="gnu.c.compiler.dialect.default" valueType="enumerated"/>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.110668904"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1315992130" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1020317658" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.916994458" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.309841099" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.148981646" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1504937088" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-dialer/Release}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-loglist/Release}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/Release}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.681770918" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.2129852866" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1876839419" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1596431276" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1647200653" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.861523146" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.985584469" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1959501868" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1534401119" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="ct-tab.org.tizen.nativecore.target.sbi.gcc45.so.394110347" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.1030804953">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.1768984527">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/ct-tab"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/ct-tab"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/lib-contact/ct-tab/.project b/lib-contact/ct-tab/.project
new file mode 100644
index 0000000..bbab8e8
--- /dev/null
+++ b/lib-contact/ct-tab/.project
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ct-tab</name>
+ <comment></comment>
+ <projects>
+ <project>ph-dialer</project>
+ <project>ph-loglist</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1413282572898</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/lib-contact/ct-tab/.tproject b/lib-contact/ct-tab/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/lib-contact/ct-tab/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/lib-contact/ct-tab/CMakeLists.txt b/lib-contact/ct-tab/CMakeLists.txt
new file mode 100755
index 0000000..9cce588
--- /dev/null
+++ b/lib-contact/ct-tab/CMakeLists.txt
@@ -0,0 +1,27 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ct-tab CXX)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-list/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-phone/ph-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-phone/ph-dialer/inc
+ ${CMAKE_SOURCE_DIR}/lib-phone/ph-loglist/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "contacts-common"
+ "ct-common"
+ "ct-list"
+ "ph-loglist"
+ "ph-dialer"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_LIB_DIR})
diff --git a/lib-contact/ct-tab/inc/CtTabView.h b/lib-contact/ct-tab/inc/CtTabView.h
new file mode 100755
index 0000000..274f654
--- /dev/null
+++ b/lib-contact/ct-tab/inc/CtTabView.h
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_TAB_VIEW_H_
+#define _CT_TAB_VIEW_H_
+
+#include <vector>
+#include <app.h>
+#include <string>
+#include <memory>
+#include <Ecore.h>
+
+#include "WPageSlideView.h"
+
+#include "IContactsTabPageView.h"
+
+typedef enum {
+ TAB_VIEW_NONE = -1,
+ TAB_VIEW_DIALER,
+ TAB_VIEW_LOGS,
+ TAB_VIEW_LOGS_CHECK,
+ TAB_VIEW_CONTACTS,
+ TAB_VIEW_MAX,
+} CtTabSubView;
+
+class WAPP_ASSIST_EXPORT CtTabView: public WPageSlideView
+{
+public:
+ CtTabView(CtTabSubView selectedView, bool title, ContactsData *contactsData);
+
+
+public:
+ void reset(CtTabSubView selectedView);
+ void insert(CtTabSubView selectedView, IContactsTabPageView* subView);
+
+
+private:
+ virtual Evas_Object* onCreate(Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+ virtual Elm_Object_Item* onPushToNaviframe( Evas_Object* naviFrame);
+ virtual void onPushed(Elm_Object_Item* naviItem);
+ virtual bool onPop();
+
+private:
+ bool __checkViewExist(Elm_Object_Item *tabItem);
+ int __getPageIndexByViewType(int viewType);
+ int __getViewTypeByPageIndex(int pageIndex);
+
+ static void __onTabChangedCb(void* data, Evas_Object* obj, void* event_info);
+ static void __pageScrollStopCb(void* data, Evas_Object* obj, void* event_info);
+ static void __pageScrollStartCb(void* data, Evas_Object* obj, void* event_info);
+
+ void __tabChanged(Elm_Object_Item *selectedItem);
+ void __deleteChildView();
+
+ static Eina_Bool __createRestViewTimerCb(void* data);
+
+private:
+ CtTabView();
+ ~CtTabView();
+
+private:
+ ContactsData *__contactsData;
+
+ Evas_Object* __tabbar;
+ Elm_Object_Item* __tabItem[TAB_VIEW_MAX];
+
+ int __selectedView;
+ int __lastSelectedView;
+ bool __subViewLoaded[TAB_VIEW_MAX];
+ IContactsTabPageView* __subView[TAB_VIEW_MAX];
+ bool __hasTitle;
+ std::vector<CtTabSubView> __tabSubView;
+ Ecore_Timer *__timer;
+ Ecore_Idler *__idler;
+
+};
+
+
+
+#endif // _PHCT_TAB_PAGE_VIEW_H_
diff --git a/lib-contact/ct-tab/src/CtTabView.cpp b/lib-contact/ct-tab/src/CtTabView.cpp
new file mode 100755
index 0000000..33b21ee
--- /dev/null
+++ b/lib-contact/ct-tab/src/CtTabView.cpp
@@ -0,0 +1,445 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <app_preference.h>
+
+#include "WPageSlideView.h"
+
+#include "ContactsCommon.h"
+#include "ContactsDebug.h"
+#include "ContactsAppControlLauncher.h"
+
+#include "CtThemeMgr.h"
+#include "CtRegistryMgr.h"
+#include "CtString.h"
+#include "CtTabView.h"
+#include "CtListView.h"
+#include "PhDialerView.h"
+#include "PhLogMainListView.h"
+#include "PhLogMainListCheckView.h"
+//#include <ui_extension.h>
+
+#define CT_TAB_CREATE_SUB_VIEW_TIMER 4.0
+#define CT_TAB_CREATE_SUB_VIEW_MORE_TIMER 1.0
+
+CtTabView::CtTabView(CtTabSubView selectedView, bool title, ContactsData *contactsData)
+{
+ WENTER();
+ __idler = NULL;
+ __timer = NULL;
+ __tabbar = NULL;
+ __contactsData = contactsData;
+
+ for( int i=0; i<TAB_VIEW_MAX; i++) {
+ __tabItem[i] = NULL;
+ __subViewLoaded[i] = false;
+ __subView[i] = NULL;
+ }
+
+ __hasTitle = title;
+ __selectedView = selectedView;
+ __lastSelectedView = selectedView;
+
+ WLEAVE();
+}
+
+CtTabView::~CtTabView()
+{
+ WHIT();
+
+ CtThemeMgr::getInstance()->destroy();
+ CtRegistryMgr::getInstance()->destroy();
+}
+
+void CtTabView::insert(CtTabSubView viewType, IContactsTabPageView *subView)
+{
+ __subView[viewType] = subView;
+ __tabSubView.push_back(viewType);
+}
+
+Evas_Object* CtTabView::onCreate(Evas_Object* parent, void* viewParam)
+{
+ WENTER();
+
+ Evas_Object* layout = elm_layout_add(parent);
+ elm_layout_theme_set(layout, "layout", "application", "default");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ setOnInitScroller( [this](Evas_Object* scroller)
+ {
+ elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ //uxt_scroller_set_auto_scroll_enabled(scroller, EINA_FALSE);
+ });
+
+ Evas_Object* slideViewObj = WPageSlideView::onCreate(layout, NULL);
+
+ elm_object_part_content_set(layout, "elm.swallow.content", slideViewObj);
+ evas_object_smart_callback_add(getScroller(), "scroll,anim,stop", __pageScrollStopCb, this );
+ evas_object_smart_callback_add(getScroller(), "scroll,drag,start", __pageScrollStartCb, this );
+
+ evas_object_show(layout);
+ WDEBUG("layout %p", layout);
+
+ return layout;
+
+}
+
+void CtTabView::onDestroy()
+{
+ if(__idler)
+ ecore_idler_del(__idler);
+ __idler = NULL;
+
+ if(__timer)
+ ecore_timer_del(__timer);
+ __timer = NULL;
+}
+
+Elm_Object_Item* CtTabView::onPushToNaviframe(Evas_Object* naviFrame)
+{
+ WENTER();
+
+ //create tabbar
+ Evas_Object* tabbar = elm_toolbar_add(naviFrame);
+ elm_toolbar_shrink_mode_set(tabbar, ELM_TOOLBAR_SHRINK_EXPAND);
+ elm_toolbar_transverse_expanded_set(tabbar, EINA_TRUE);
+ WDEBUG("elm_toolbar_add");
+
+ Elm_Object_Item* naviItem = NULL;
+ if(__hasTitle) {
+ elm_object_style_set(tabbar, "tabbar/tabbar_with_title");
+ naviItem = elm_naviframe_item_push(naviFrame, NULL, NULL, NULL, getEvasObj(), "tabbar");
+ }
+ else {
+ elm_object_style_set(tabbar, "tabbar");
+ naviItem = elm_naviframe_item_push(naviFrame, NULL, NULL, NULL, getEvasObj(), "tabbar/notitle");
+ }
+ WDEBUG("elm_naviframe_item_push");
+
+ elm_object_item_part_content_set(naviItem, "tabbar", tabbar);
+ elm_toolbar_select_mode_set(tabbar, ELM_OBJECT_SELECT_MODE_ALWAYS);
+
+ __tabbar = tabbar;
+ for(auto iter = __tabSubView.begin();iter != __tabSubView.end();++iter) {
+ const char *tabName = NULL;
+ if(*iter == TAB_VIEW_DIALER)
+ tabName = "IDS_KPD_ITAB3_KEYPAD";
+ if(*iter == TAB_VIEW_LOGS || *iter == TAB_VIEW_LOGS_CHECK)
+ tabName = "IDS_LOGS_ITAB3_LOGS";
+ if(*iter == TAB_VIEW_CONTACTS)
+ tabName = "IDS_PB_ITAB3_CONTACTS";
+
+ WDEBUG("tabName %s %d", tabName, *iter);
+ __tabItem[*iter] = elm_toolbar_item_append(tabbar, NULL, tabName, __onTabChangedCb, this);
+ elm_object_item_domain_text_translatable_set(__tabItem[*iter], PACKAGE, EINA_TRUE);
+ }
+ WDEBUG("elm_toolbar_item_append");
+
+ WLEAVE();
+
+ return naviItem;
+
+}
+
+void CtTabView::onPushed(Elm_Object_Item* naviItem)
+{
+ WENTER();
+
+ for(auto iter = __tabSubView.begin();iter != __tabSubView.end();iter++) {
+ if(__subView[*iter])
+ appendPage();
+ }
+
+ //set first show page
+ if(__subView[__selectedView]) {
+ setPageContent(__getPageIndexByViewType(__selectedView), __subView[__selectedView]);
+ __subViewLoaded[__selectedView] = true;
+
+ //__timer = ecore_timer_add(CT_TAB_CREATE_SUB_VIEW_TIMER, __createRestViewTimerCb, this);
+ }
+
+ elm_toolbar_item_selected_set(__tabItem[__selectedView], EINA_TRUE);
+
+ WLEAVE();
+}
+
+bool CtTabView::onPop( )
+{
+ WHIT();
+
+ bool isTabPop = false;
+ for(int i = TAB_VIEW_DIALER; i < TAB_VIEW_MAX; i++)
+ {
+ if (__subView[i])
+ isTabPop = __subView[i]->onTabPop();
+ if (isTabPop == false)
+ return false;
+ }
+ return true;
+}
+
+void CtTabView::__onTabChangedCb(void* data, Evas_Object* obj, void* event_info)
+{
+ WENTER();
+ ContactsAppControlLauncher::getInstance().terminate();
+ CtTabView* view = (CtTabView*)data;
+ Elm_Object_Item *selectedItem = elm_toolbar_selected_item_get(obj);
+
+ view->__tabChanged(selectedItem);
+
+ WLEAVE();
+
+}
+
+void CtTabView::__tabChanged(Elm_Object_Item *selectedItem)
+{
+ WHIT();
+
+ if(getPageCount() == 0) {
+ WERROR("page item not added");
+ return;
+ }
+
+ if(selectedItem != __tabItem[__selectedView]) {
+ int i = 0;
+ WDEBUG("%d", __selectedView);
+
+ if(selectedItem) {
+ __deleteChildView();
+
+ if(__subView[__selectedView] && __subViewLoaded[__selectedView])
+ __subView[__selectedView]->onTabUnselect(getNaviItem());
+
+ for (i=TAB_VIEW_DIALER;i<TAB_VIEW_MAX;i++) {
+ if (__tabItem[i]) {
+ if (selectedItem == __tabItem[i]) {
+ if(__subView[i])
+ {
+ setPageContent(__getPageIndexByViewType(i), __subView[i]);
+ __subViewLoaded[i] = true;
+ __subView[i]->onTabSelect(getNaviItem());
+ }
+
+ if (!__contactsData->appControl && (i == TAB_VIEW_DIALER || i == TAB_VIEW_LOGS))
+ {
+ preference_set_int(CT_KEY_LAST_SELECTED_TAB_INDEX_FOR_PHONE, i);
+ WDEBUG("last selectedView saved as %d", i);
+ }
+ break;
+ }
+ }
+ }
+
+ __selectedView = i;
+ }
+ else {//first selected(launched)
+ WDEBUG("first launched");
+ if(__subView[__selectedView] && __subViewLoaded[__selectedView])
+ __subView[__selectedView]->onTabSelect(getNaviItem());
+ }
+ }
+
+ int pageIndex = __getPageIndexByViewType(__selectedView);
+
+ WDEBUG("tabselect %d, pageIndex %d", __selectedView, pageIndex);
+
+ showPage(pageIndex, false);
+
+}
+
+void CtTabView::__pageScrollStopCb(void* data, Evas_Object* obj, void* event_info)
+{
+ CtTabView* view = (CtTabView*)data;
+ for(int i = TAB_VIEW_DIALER; i < TAB_VIEW_MAX; i++) {
+ if(view->__subView[i] && view->__subViewLoaded[i])
+ view->__subView[i]->onTabScrollStop();
+ }
+
+ int hpage = 0;
+ elm_scroller_current_page_get(obj, &hpage, NULL);
+ WDEBUG("pagen %d", hpage);
+
+ int viewType = view->__getViewTypeByPageIndex(hpage);
+
+ elm_toolbar_item_selected_set(view->__tabItem[viewType], EINA_TRUE);
+ return;
+}
+
+void CtTabView::__pageScrollStartCb(void* data, Evas_Object* obj, void* event_info)
+{
+ WHIT();
+ CtTabView* view = (CtTabView*)data;
+ for (auto iter = view->__tabSubView.begin(); iter != view->__tabSubView.end(); iter++)
+ {
+ WDEBUG("subView %d", *iter);
+ if(view->__subView[*iter] && view->__subViewLoaded[*iter] == false) {
+ view->setPageContent(view->__getPageIndexByViewType(*iter), view->__subView[*iter]);
+ view->__subViewLoaded[*iter] = true;
+ }
+ view->__subView[*iter]->onTabScrollStart();
+ }
+
+ return;
+}
+
+bool CtTabView::__checkViewExist(Elm_Object_Item *tabItem)
+{
+ bool result = false;
+ int i = TAB_VIEW_DIALER;
+ for(i=TAB_VIEW_DIALER;i<TAB_VIEW_MAX;i++) {
+ if(__tabItem[i] == tabItem) {
+ if(__subView[i]) {
+ result = true;
+ break;
+ }
+ }
+ }
+
+ return result;
+}
+
+int CtTabView::__getPageIndexByViewType(int viewType)
+{
+ if(viewType >= TAB_VIEW_MAX || __subView[viewType] == NULL) {
+ WERROR("no sub view");
+ return 0;
+ }
+
+ int i = 0;
+
+ Elm_Object_Item *item = elm_toolbar_first_item_get(__tabbar);
+
+ while(item) {
+ if(__tabItem[viewType] == item && __subView[viewType])
+ break;
+
+ if(__checkViewExist(item) == true)
+ i++;
+ item = elm_toolbar_item_next_get(item);
+ }
+
+ return i;
+}
+
+int CtTabView::__getViewTypeByPageIndex(int pageIndex)
+{
+ int i = 0;
+
+ Elm_Object_Item *item = elm_toolbar_first_item_get(__tabbar);
+
+ for(i=0;i<pageIndex;i++) {
+ item = elm_toolbar_item_next_get(item);
+ }
+
+ for(i=0;i<TAB_VIEW_MAX;i++) {
+ if(__tabItem[i] == item)
+ break;
+ }
+
+ return i;
+}
+
+void CtTabView::reset(CtTabSubView selectedView)
+{
+ WENTER();
+
+ if(TAB_VIEW_LOGS == selectedView) {
+ if(__subView[TAB_VIEW_LOGS_CHECK])
+ selectedView = TAB_VIEW_LOGS_CHECK;
+ }
+
+ if(__selectedView != selectedView || TAB_VIEW_CONTACTS != selectedView)
+ {
+ WDEBUG("selectedView was %d and new %d", __selectedView, selectedView);
+ ContactsAppControlLauncher::getInstance().terminate();
+ __deleteChildView();
+ //__selectedView = selectedView;
+ }
+
+ int i = 0;
+ for(i=TAB_VIEW_DIALER;i<TAB_VIEW_MAX;i++) {
+ if(__subView[i] && __subViewLoaded[i] && (selectedView != i)) {
+ __subView[i]->onTabUnselect(getNaviItem());
+ }
+ }
+ if(__subView[selectedView] && __subViewLoaded[selectedView]) {
+ __subView[selectedView]->onTabSelect(getNaviItem());
+ }
+
+ int pageIndex = __getPageIndexByViewType(selectedView);
+
+ WDEBUG("tabselect %d, pageIndex %d", selectedView, pageIndex);
+
+ showPage(pageIndex, false);
+
+ WDEBUG("toolbar set %d", selectedView);
+ elm_toolbar_item_selected_set(__tabItem[selectedView], EINA_TRUE);
+
+ WLEAVE();
+}
+
+void CtTabView::__deleteChildView()
+{
+ WHIT();
+
+ Eina_List *itemList = elm_naviframe_items_get(getNaviframe()->getEvasObj());
+ int count = eina_list_count(itemList);
+ Eina_List *cursor = NULL;
+ void *data = NULL;
+ if(count > 1) {
+ EINA_LIST_REVERSE_FOREACH(itemList, cursor, data) {
+ Elm_Object_Item *item = (Elm_Object_Item*)data;
+ elm_object_item_del(item);
+ count--;
+ if(count == 1)
+ break;
+ }
+ }
+ eina_list_free(itemList);
+
+ if(__subView[__selectedView]) {
+ Evas_Object* btn = elm_object_item_part_content_unset(getNaviItem(), "toolbar_more_btn");
+ if (btn)
+ evas_object_del(btn);
+ }
+}
+
+Eina_Bool CtTabView::__createRestViewTimerCb(void* data)
+{
+ WHIT();
+ CtTabView* view = (CtTabView*)data;
+ view->__timer = NULL;
+ static auto iter = view->__tabSubView.begin();
+
+ if(view->__selectedView == TAB_VIEW_CONTACTS)
+ //CONTACTS_LOGGING_LOG(LOGGING_LOG_CONTACT_APP); //DO NOT REMOVE!!!
+
+ for (; iter != view->__tabSubView.end(); iter++)
+ {
+ if(view->__subView[*iter] && view->__subViewLoaded[*iter] == false) {
+ WDEBUG("subView %d]%s setPageContent", *iter, view->__subView[*iter]->getName());
+ view->setPageContent(view->__getPageIndexByViewType(*iter), view->__subView[*iter]);
+ view->__subViewLoaded[*iter] = true;
+ }
+ else
+ continue;
+
+ view->__timer = ecore_timer_add(CT_TAB_CREATE_SUB_VIEW_MORE_TIMER, view->__createRestViewTimerCb, data);
+ return ECORE_CALLBACK_CANCEL;
+ }
+ return ECORE_CALLBACK_CANCEL;
+}
diff --git a/lib-contact/ct-vcard/CMakeLists.txt b/lib-contact/ct-vcard/CMakeLists.txt
new file mode 100644
index 0000000..73bb37d
--- /dev/null
+++ b/lib-contact/ct-vcard/CMakeLists.txt
@@ -0,0 +1,20 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ct-vcard CXX)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-common/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "contacts-common"
+ "ct-common"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_LIB_DIR}) \ No newline at end of file
diff --git a/lib-contact/ct-vcard/inc/CtContactsToVcard.h b/lib-contact/ct-vcard/inc/CtContactsToVcard.h
new file mode 100644
index 0000000..36df407
--- /dev/null
+++ b/lib-contact/ct-vcard/inc/CtContactsToVcard.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_CONTACTS_TO_VCARD_H_
+#define _CT_CONTACTS_TO_VCARD_H_
+
+#include <string>
+#include <vector>
+
+#include "CtVcardCommon.h"
+#include "CtProgressController.h"
+
+class CtContactsToVcard : public CtProgressController
+{
+public:
+
+ /**
+ * @brief Constructor.
+ * @param[in] title Progress popup title.
+ * @param[in] vcardStorage Type of storage where vcard will be created.
+ * @param[in] personIdList Person id list.
+ */
+ CtContactsToVcard(const char *title, TargetStorage vcardStorage, std::vector<int> personIdList);
+
+ /**
+ * @brief Get vcard path.
+ * @return Vcard path.
+ */
+ std::string getVcardPath();
+
+ /**
+ * @brief Get total count.
+ * @return Total count.
+ */
+ int getTotalCount();
+
+private:
+ void createDirectory();
+ void vcardFilePathGet();
+
+ void onStart(Ecore_Thread *thread);
+ void onCanceled();
+
+private:
+ std::vector<int> m_PersonIdList;
+ std::string m_VcardPath;
+ TargetStorage m_VcardStorage;
+};
+
+#endif /* _CT_CONTACTS_TO_VCARD_H_ */
diff --git a/lib-contact/ct-vcard/inc/CtVcardCommon.h b/lib-contact/ct-vcard/inc/CtVcardCommon.h
new file mode 100644
index 0000000..49bee87
--- /dev/null
+++ b/lib-contact/ct-vcard/inc/CtVcardCommon.h
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CT_VCARD_COMMON_H_
+#define _CT_VCARD_COMMON_H_
+
+/**
+ * @brief Type of storage where vcard will be created.
+ */
+enum class TargetStorage
+{
+ DEVICE,
+ SD_CARD,
+ INTERNAL_OTHER
+};
+
+#endif //_CT_VCARD_COMMON_H_
diff --git a/lib-contact/ct-vcard/src/CtContactsToVcard.cpp b/lib-contact/ct-vcard/src/CtContactsToVcard.cpp
new file mode 100644
index 0000000..c1b39b1
--- /dev/null
+++ b/lib-contact/ct-vcard/src/CtContactsToVcard.cpp
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <fstream>
+#include <notification.h>
+
+#include "ContactsDebug.h"
+#include "CtCommon.h"
+#include "CtContactsToVcard.h"
+#include "CtString.h"
+#include "CtType.h"
+
+#define CT_SETTING_DEVICE_EXPORT_PATH "/opt/usr/media/Device/Contacts/Exported"
+#define CT_SETTING_SDCARD_EXPORT_PATH "/opt/storage/sdcard/Device/Contacts/Exported"
+
+CtContactsToVcard::CtContactsToVcard(const char *title, TargetStorage vcardStorage, std::vector<int> personIdList)
+: CtProgressController(title, personIdList.size())
+, m_PersonIdList (std::move(personIdList))
+, m_VcardStorage(vcardStorage)
+{
+ WHIT();
+ createDirectory();
+
+ vcardFilePathGet();
+ if (m_VcardPath.empty()) {
+ WWARNING("vcard path is NULL");
+ return;
+ }
+}
+
+std::string CtContactsToVcard::getVcardPath()
+{
+ return m_VcardPath;
+}
+
+int CtContactsToVcard::getTotalCount()
+{
+ return m_PersonIdList.size();
+}
+
+void CtContactsToVcard::createDirectory()
+{
+ if (m_VcardStorage == TargetStorage::DEVICE || m_VcardStorage == TargetStorage::SD_CARD) {
+ int ret = 0;
+ if (m_VcardStorage == TargetStorage::DEVICE) {
+ ret = system("mkdir -p " CT_SETTING_DEVICE_EXPORT_PATH);
+ } else {
+ ret = system("mkdir -p " CT_SETTING_SDCARD_EXPORT_PATH);
+ }
+ WPRET_M(ret == -1, "failed to create folder");
+ }
+}
+
+void CtContactsToVcard::vcardFilePathGet()
+{
+ const int vcardMaxNumber = 999;
+ char path[CT_TEXT_MAX_LEN] = {0, };
+ int fileNumber = 1;
+ char *directoryPath = NULL;
+
+ if (m_VcardStorage == TargetStorage::DEVICE) {
+ directoryPath = strdup(CT_SETTING_DEVICE_EXPORT_PATH);
+
+ } else if (m_VcardStorage == TargetStorage::SD_CARD) {
+ directoryPath = strdup(CT_SETTING_SDCARD_EXPORT_PATH);
+
+ } else if (m_VcardStorage == TargetStorage::INTERNAL_OTHER){
+ directoryPath = getOtherDirectoryPath();
+ WPRET_M(!directoryPath, "getOtherDirectoryPath failed");
+ }
+
+ while (fileNumber <= vcardMaxNumber) {
+ struct stat buf;
+ if (fileNumber == 1) {
+ snprintf(path, sizeof(path), "%s/Contacts.vcf", directoryPath);
+ } else {
+ snprintf(path, sizeof(path), "%s/Contacts_%03d.vcf", directoryPath, fileNumber);
+ }
+
+ if (stat(path, &buf) == 0) {
+ ++fileNumber;
+ } else {
+ free(directoryPath);
+
+ m_VcardPath = path;
+ WDEBUG("path = %s", path);
+ return;
+ }
+ }
+
+ if (fileNumber > vcardMaxNumber) {
+ WERROR("Too many vcards. Delete some before creating new.");
+ notification_status_message_post(V_("IDS_PB_POP_FAILED"));
+ }
+ free(directoryPath);
+ m_VcardPath.clear();
+}
+
+void CtContactsToVcard::onStart(Ecore_Thread *thread)
+{
+ WHIT();
+ FILE *file = fopen(m_VcardPath.c_str(), "a");
+ WPRET_M(!file, "fopen failed: %s", strerror(errno));
+ int currentCount = 0;
+
+ for (auto &&personId : m_PersonIdList) {
+
+ contacts_record_h personRecord = NULL;
+ int err = contacts_db_get_record(_contacts_person._uri, personId, &personRecord);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_db_get_record failed: %d", err);
+ continue;
+ }
+
+ if (personRecord) {
+ char *vcardStream = NULL;
+
+ err = contacts_vcard_make_from_person(personRecord, &vcardStream);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_vcard_make_from_person failed: %d", err);
+ contacts_record_destroy(personRecord, true);
+ continue;
+ }
+
+ if (vcardStream) {
+ fputs(vcardStream, file);
+ free(vcardStream);
+
+ ++currentCount;
+ if (!onProgress(currentCount)) {
+ WDEBUG("Creating vcard canceled");
+ ecore_thread_cancel(thread);
+ contacts_record_destroy(personRecord, true);
+ fclose(file);
+ return;
+ }
+ }
+ contacts_record_destroy(personRecord, true);
+ }
+ }
+ fclose(file);
+}
+
+void CtContactsToVcard::onCanceled()
+{
+ WHIT();
+ if (!m_VcardPath.empty()) {
+ remove(m_VcardPath.c_str());
+ }
+
+ notification_status_message_post(V_("IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"));
+}
diff --git a/lib-phone/CMakeLists.txt b/lib-phone/CMakeLists.txt
new file mode 100755
index 0000000..d33384f
--- /dev/null
+++ b/lib-phone/CMakeLists.txt
@@ -0,0 +1,6 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+ADD_SUBDIRECTORY(ph-common)
+ADD_SUBDIRECTORY(ph-dialer)
+ADD_SUBDIRECTORY(ph-loglist)
+ADD_SUBDIRECTORY(ph-speeddial)
diff --git a/lib-phone/ph-common/.cproject b/lib-phone/ph-common/.cproject
new file mode 100644
index 0000000..15a551c
--- /dev/null
+++ b/lib-phone/ph-common/.cproject
@@ -0,0 +1,519 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.110410643">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.110410643" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ph-common" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.110410643" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.110410643." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1871207700" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1523697046" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/ph-common}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.319291132" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.242438497" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.588133801" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.355409593" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.545752178" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1555916959" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.446128825" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.60667326" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.372393810" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1362030673" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/inc"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1334627285" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1729376624" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1157581696" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.166734976"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1209813936" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.333419547" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1390462842" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1961349290" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1142121979" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.1172464776" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.518631842" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2073375329" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.75876670" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1230132729" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.1405813005" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.714569740"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1680583043" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.161583984" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.150861271" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1936471852" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1961074596" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1839067735" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/Debug"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.130262527" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="app-assist-efl"/>
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="common"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.346061771" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1414608648" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1651997926" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.945112215" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.550161325" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.156796759" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1947663034" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1769918872" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.732507952" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.485995869">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.485995869" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ph-common" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.485995869" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.485995869." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.16959222" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.179360142" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/ph-common}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1651135625" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1264660674" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.320037124" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.165082582" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.813575973" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.642426593" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.137753700" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.375243157" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.160267345" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1453121176" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1937508833" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.921623300"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.521869643" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1360440380" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.2047451182" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.685415700" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.2075053766" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.1061023312" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1504250693" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1015521082" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1904082481" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1579962873" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1921191624"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1712790233" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1186164243" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.626301945" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1845140570" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.462295479" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1461135042" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/Release}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/Release}&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.2081253130" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="app-assist-efl"/>
+ <listOptionValue builtIn="false" value="common"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.504505289" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.490685510" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1833131107" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.41136201" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1544846794" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1327329465" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1587469156" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.685668383" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1369876982" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="ph-common.org.tizen.nativecore.target.sbi.gcc45.so.945715298" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.485995869">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.110410643">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/ph-common"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/ph-common"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/lib-phone/ph-common/.project b/lib-phone/ph-common/.project
new file mode 100644
index 0000000..2bb9311
--- /dev/null
+++ b/lib-phone/ph-common/.project
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ph-common</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1413282642078</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/lib-phone/ph-common/.tproject b/lib-phone/ph-common/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/lib-phone/ph-common/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/lib-phone/ph-common/CMakeLists.txt b/lib-phone/ph-common/CMakeLists.txt
new file mode 100755
index 0000000..bda54e2
--- /dev/null
+++ b/lib-phone/ph-common/CMakeLists.txt
@@ -0,0 +1,18 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ph-common CXX)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "contacts-common"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_LIB_DIR})
diff --git a/lib-phone/ph-common/inc/PhCommon.h b/lib-phone/ph-common/inc/PhCommon.h
new file mode 100755
index 0000000..dc27072
--- /dev/null
+++ b/lib-phone/ph-common/inc/PhCommon.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_COMMON_H_
+#define _PH_COMMON_H_
+
+#include "WDefine.h"
+#include <Elementary.h>
+#include <string>
+#include <app.h>
+
+#define STD_LIST_FREE(target) \
+ if(target)\
+ {\
+ for (auto iter = target->begin(); iter != target->end(); ++iter)\
+ {\
+ delete *iter;\
+ }\
+ delete target;\
+ target = NULL; \
+ }
+
+class WAPP_ASSIST_EXPORT PhCommon
+{
+public:
+ PhCommon();
+ virtual ~PhCommon();
+
+public:
+ static Evas_Object* createImage(Evas_Object* parent, const char* edj, const char* imagePath, const char* colorCode);
+ static Evas_Object* createLayout(Evas_Object* parent, const char* edj, const char* layoutName);
+ static Evas_Object* createButton(Evas_Object* parent, const char* buttonStyle, const char* buttonText, Evas_Smart_Cb clickedCb, void* userData );
+
+ typedef enum{
+ NORMAL_CALL = 0,
+ EMERGENCY_NUMBER,
+ EMERGENCY_CONTACTS,
+ }emergencyType;
+
+ static void launchCallSetting(Evas_Object *win, Evas_Object *nf);
+
+ /**
+ * @brief Add speed dial number
+ * @param[in] speedNumber Number on the dialer
+ * @param[in] numberId ID of number to assign to @a speedNumber
+ * @return true on success, false if number with this @a numberId already exists.
+ */
+ static bool addSpeedDialNumber(int speedNumber, int numberId);
+
+ static void terminateChildAppControl(void);
+
+ static void adjustMatchedLenForName(const char* displayName, const char* keyword, int* index, int* len);
+ static int getSavedNumberStartIndex(const char* source, const char* keyword);
+ static void adjustMatchedLenForNum(const char* number, const char* keyword, int* index, int* len);
+ static std::string convert2MarkupString(const char* source);
+
+private:
+ static int __checkUtf8(char c);
+ static bool __isDash(char ch);
+ static void image_mask_delete_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+};
+
+#endif /* _PH_COMMON_H_ */
+
diff --git a/lib-phone/ph-common/inc/PhDbListener.h b/lib-phone/ph-common/inc/PhDbListener.h
new file mode 100644
index 0000000..96595ae
--- /dev/null
+++ b/lib-phone/ph-common/inc/PhDbListener.h
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DB_LISTENER_H_
+#define _PH_DB_LISTENER_H_
+
+class PhDbListener
+{
+public:
+ virtual ~PhDbListener(){};
+ virtual void onDbChanged() = 0;
+};
+
+#endif //_PH_DB_LISTENER_H_
diff --git a/lib-phone/ph-common/inc/PhPath.h b/lib-phone/ph-common/inc/PhPath.h
new file mode 100755
index 0000000..d5e772b
--- /dev/null
+++ b/lib-phone/ph-common/inc/PhPath.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __PH_PATH_H_
+#define __PH_PATH_H_
+
+#define LOG_LIST_EDJ "phone/ph-loglist.edj"
+#define SPEED_DIAL_EDJ "phone/ph-speeddial.edj"
+#define DIALER_EDJ "phone/ph-dialer.edj"
+
+#if !defined(PHIMGDIR)
+# define PHIMGDIR "/usr/ug/res/images/ug-phone/contacts/"
+#endif
+
+//default Thumbnail
+#define PH_LOG_ICON_DETAIL_THUMBNAIL_MASKING_IMAGE "logs_default_masking_134.png"
+#define PH_LOG_ICON_DETAIL_THUMBNAIL_MASKING PHIMGDIR"" PH_LOG_ICON_DETAIL_THUMBNAIL_MASKING_IMAGE
+#define PH_LOG_ICON_DETAIL_THUMBNAIL "contacts_default_134.png"
+
+#define PH_LOG_ICON_LIST_THUMBNAIL_MASKING_IMAGE "logs_id_default_bg_74.png"
+#define PH_LOG_ICON_LIST_THUMBNAIL_MASKING PHIMGDIR"" PH_LOG_ICON_LIST_THUMBNAIL_MASKING_IMAGE
+#define PH_LOG_ICON_LIST_THUMBNAIL "contacts_default_74.png"
+
+// Log info icon
+#define PH_LOG_ICON_INFO_CONTAINER "logs_icon_info_bg.png"
+#define PH_LOG_ICON_INFO "logs_icon_info.png"
+
+// call state icon
+#define PH_LOG_ICON_CONTAINER "logs_icon_badge_container_02.png"
+#define PH_LOG_ICON_INCOMING "logs_icon_in.png"
+#define PH_LOG_ICON_OUTGOING "logs_icon_out.png"
+#define PH_LOG_ICON_MISSED "logs_icon_missed.png"
+#define PH_LOG_ICON_REJECTED "logs_icon_reject.png"
+#define PH_LOG_ICON_AUTO_REJECTED "logs_icon_reject_auto.png"
+
+//log detail button image
+#define PH_LOG_ICON_DETAIL_MESSAGE "logs_icon_call_message.PNG"
+#define PH_LOG_ICON_DETAIL_VOICE_CALL "logs_icon_call.PNG"
+#define PH_LOG_ICON_DETAIL_VIDEO_CALL "logs_icon_call_02.png"
+
+#define PH_LOG_ICON_DETAIL_BACK_ICON "logs_details_back_ic.png"
+
+#endif
diff --git a/lib-phone/ph-common/inc/PhStrings.h b/lib-phone/ph-common/inc/PhStrings.h
new file mode 100644
index 0000000..a3038b6
--- /dev/null
+++ b/lib-phone/ph-common/inc/PhStrings.h
@@ -0,0 +1,432 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __PH_STRINGS_H_ //auto-generated on 2014. 12. 05. (금) 17:45:57 KST
+#define __PH_STRINGS_H_
+
+
+#define STRING_PACKAGE "contacts"
+#define PST_(did) dgettext("sys_string", did)
+#define PAT_(did) dgettext(STRING_PACKAGE, did)
+#define PXT_(did) did
+
+
+#define PH_PB_SK_CREATE_ABB "IDS_PB_SK_CREATE_ABB"
+#define PH_MF_POP_INPUT_TEXT "IDS_MF_POP_INPUT_TEXT"
+#define PH_PB_BODY_PHOTO "IDS_PB_BODY_PHOTO"
+#define PH_PB_TAB_CONTACTS "IDS_PB_TAB_CONTACTS"
+#define PH_PB_BODY_ADD_ACCOUNT "IDS_PB_BODY_ADD_ACCOUNT"
+#define PH_PB_BODY_OTHER_EMAILS "IDS_PB_BODY_OTHER_EMAILS"
+#define PH_PB_MBODY_SCANNING_DEVICES_ING "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+#define PH_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+#define PH_PB_BODY_AB_M_BLOOD "IDS_PB_BODY_AB_M_BLOOD"
+#define PH_PB_BODY_IMAGE "IDS_PB_BODY_IMAGE"
+#define PH_PB_POP_ADDING_ING "IDS_PB_POP_ADDING_ING"
+#define PH_PB_POP_REMOVING "IDS_PB_POP_REMOVING"
+#define PH_PB_BODY_NO_GROUPS "IDS_PB_BODY_NO_GROUPS"
+#define PH_PB_HEADER_PHONE_M_CALL "IDS_PB_HEADER_PHONE_M_CALL"
+#define PH_COM_BODY_PRIVATE_NUMBER "IDS_COM_BODY_PRIVATE_NUMBER"
+#define PH_CALL_BODY_PAYPHONE "IDS_CALL_BODY_PAYPHONE"
+#define PH_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+#define PH_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+#define PH_PB_BUTTON_TRY_AGAIN "IDS_PB_BUTTON_TRY_AGAIN"
+#define PH_PB_HEADER_SELECT_SIM_CARD_TO_CALL "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+#define PH_PB_BODY_GALLERY "IDS_PB_BODY_GALLERY"
+#define PH_PB_HEADER_CONTACTS_M_APPLICATION "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+#define PH_PB_OPT_ACCOUNT "IDS_PB_OPT_ACCOUNT"
+#define PH_PB_HEADER_DELETE_ITEM "IDS_PB_HEADER_DELETE_ITEM"
+#define PH_PB_POP_MOVE_COMPLETED "IDS_PB_POP_MOVE_COMPLETED"
+#define PH_PB_BODY_MOVING_ING "IDS_PB_BODY_MOVING_ING"
+#define PH_ST_POP_PUK2_VERIFIED "IDS_ST_POP_PUK2_VERIFIED"
+#define PH_ST_POP_PUK1_VERIFIED "IDS_ST_POP_PUK1_VERIFIED"
+#define PH_ST_POP_PIN_UNBLOCKED "IDS_ST_POP_PIN_UNBLOCKED"
+#define PH_ST_POP_PIN_CHANGED "IDS_ST_POP_PIN_CHANGED"
+#define PH_ST_POP_PIN2_UNBLOCKED "IDS_ST_POP_PIN2_UNBLOCKED"
+#define PH_ST_POP_PIN2_CHANGED "IDS_ST_POP_PIN2_CHANGED"
+#define PH_ST_POP_PIN2_BLOCKED "IDS_ST_POP_PIN2_BLOCKED"
+#define PH_ST_POP_PIN1_CHANGED "IDS_ST_POP_PIN1_CHANGED"
+#define PH_ST_POP_PIN1_BLOCKED "IDS_ST_POP_PIN1_BLOCKED"
+#define PH_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+#define PH_ST_POP_INCORRECT_PUK2_CODE "IDS_ST_POP_INCORRECT_PUK2_CODE"
+#define PH_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+#define PH_ST_POP_INCORRECT_PUK1_CODE "IDS_ST_POP_INCORRECT_PUK1_CODE"
+#define PH_ST_POP_INCORRECT_PIN2 "IDS_ST_POP_INCORRECT_PIN2"
+#define PH_ST_POP_INCORRECT_PIN1 "IDS_ST_POP_INCORRECT_PIN1"
+#define PH_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+#define PH_LCKSCN_HEADER_INCORRECT_PIN_ABB "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+#define PH_PB_HEADER_UNABLE_TO_ADD "IDS_PB_HEADER_UNABLE_TO_ADD"
+#define PH_PB_HEADER_UNABLE_TO_ADD_ABB "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+#define PH_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+#define PH_IDLE_BODY_SIM_BLOCKED "IDS_IDLE_BODY_SIM_BLOCKED"
+#define PH_ST_POP_PIN_BLOCKED "IDS_ST_POP_PIN_BLOCKED"
+#define PH_KPD_ITAB3_KEYPAD "IDS_KPD_ITAB3_KEYPAD"
+#define PH_KPD_OPT_ADD_2_SECOND_PAUSE_ABB "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+#define PH_KPD_OPT_ADD_WAIT_ABB "IDS_KPD_OPT_ADD_WAIT_ABB"
+#define PH_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2 "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+#define PH_KPD_OPT_CALL_SETTINGS_ABB "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+#define PH_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+#define PH_KPD_BUTTON_CANCEL_ABB "IDS_KPD_BUTTON_CANCEL_ABB"
+#define PH_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+#define PH_KPD_BUTTON_ADD_TO_CONTACTS_ABB2 "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+#define PH_KPD_OPT_CREATE_CONTACT_ABB2 "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+#define PH_KPD_OPT_VOICEMAIL_ABB "IDS_KPD_OPT_VOICEMAIL_ABB"
+#define PH_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+#define PH_KPD_HEADER_EMERGENCY_CALL_ABB2 "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+#define PH_KPD_OPT_REMOVE "IDS_KPD_OPT_REMOVE"
+#define PH_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+#define PH_PB_BODY_UPDATING_CONTACT_LIST_ING "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+#define PH_PB_HEADER_MAINLIST "IDS_PB_HEADER_MAINLIST"
+#define PH_MUSIC_POP_INVALID_CHARACTER "IDS_MUSIC_POP_INVALID_CHARACTER"
+#define PH_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+#define PH_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+#define PH_PB_HEADER_SERVICE_PROVIDER "IDS_PB_HEADER_SERVICE_PROVIDER"
+#define PH_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+#define PH_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+#define PH_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+#define PH_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+#define PH_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+#define PH_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+#define PH_PB_BODY_DISCARD_CHANGES "IDS_PB_BODY_DISCARD_CHANGES"
+#define PH_PB_POP_ALREADY_EXISTS_LC "IDS_PB_POP_ALREADY_EXISTS_LC"
+#define PH_PB_BODY_SELECTED_MADJ "IDS_PB_BODY_SELECTED_MADJ"
+#define PH_PB_HEADER_SELECT "IDS_PB_HEADER_SELECT"
+#define PH_ST_BODY_SET_DATE "IDS_ST_BODY_SET_DATE"
+#define PH_PB_NPBODY_SEARCH "IDS_PB_NPBODY_SEARCH"
+#define PH_PB_HEADER_FAVOURITES "IDS_PB_HEADER_FAVOURITES"
+#define PH_PB_HEADER_ME "IDS_PB_HEADER_ME"
+#define PH_PB_OPT_CREATE "IDS_PB_OPT_CREATE"
+#define PH_PB_OPT_SHARE "IDS_PB_OPT_SHARE"
+#define PH_PB_OPT_MANAGE_FAVOURITES_ABB "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+#define PH_PB_OPT_SETTINGS "IDS_PB_OPT_SETTINGS"
+#define PH_LOGS_SBODY_UNSAVED_M_STATUS "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+#define PH_LOGS_SBODY_SAVED_M_STATUS "IDS_LOGS_SBODY_SAVED_M_STATUS"
+#define PH_LOGS_MBODY_UNKNOWN "IDS_LOGS_MBODY_UNKNOWN"
+#define PH_LOGS_MBODY_UNKNOWN_NUMBER_ABB "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+#define PH_LOGS_NPBODY_MISSED_CALLS_ABB "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+#define PH_LOGS_BODY_VOICE_CALLS_ABB "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+#define PH_LOGS_BODY_VIDEO_CALLS_ABB "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+#define PH_LOGS_HEADER_DELETE "IDS_LOGS_HEADER_DELETE"
+#define PH_CLOG_OPT_VIEW_BY "IDS_CLOG_OPT_VIEW_BY"
+#define PH_LOGS_HEADER_DELETE_LOG_ABB "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+#define PH_LOGS_HEADER_DELETE_LOG_ITEMS_ABB "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+#define PH_LOGS_HEADER_DELETE_PD_LOGS_ABB "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+#define PH_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+#define PH_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+#define PH_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+#define PH_LOGS_BUTTON_CANCEL_ABB3 "IDS_LOGS_BUTTON_CANCEL_ABB3"
+#define PH_LOGS_BUTTON_DELETE_ABB4 "IDS_LOGS_BUTTON_DELETE_ABB4"
+#define PH_LOGS_HEADER_PD_SELECTED_ABB3 "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+#define PH_LOGS_MBODY_SELECT_ALL "IDS_LOGS_MBODY_SELECT_ALL"
+#define PH_LOGS_OPT_SEND_NUMBER "IDS_LOGS_OPT_SEND_NUMBER"
+#define PH_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+#define PH_LOGS_BODY_SIM_CARD "IDS_LOGS_BODY_SIM_CARD"
+#define PH_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+#define PH_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+#define PH_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+#define PH_PB_ITAB3_CONTACTS "IDS_PB_ITAB3_CONTACTS"
+#define PH_LOGS_ITAB3_LOGS "IDS_LOGS_ITAB3_LOGS"
+#define PH_PB_NPBODY_NO_CONTACTS "IDS_PB_NPBODY_NO_CONTACTS"
+#define PH_PB_MBODY_SET_PROFILE "IDS_PB_MBODY_SET_PROFILE"
+#define PH_PB_HEADER_MANAGE_FAVOURITES_ABB "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+#define PH_PB_OPT_REORDER "IDS_PB_OPT_REORDER"
+#define PH_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+#define PH_PB_BUTTON_OK_ABB2 "IDS_PB_BUTTON_OK_ABB2"
+#define PH_PB_POP_1_CONTACT_WILL_BE_DELETED "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+#define PH_PB_POP_PD_CONTACTS_WILL_BE_DELETED "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+#define PH_PB_POP_ALL_CONTACTS_WILL_BE_DELETED "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+#define PH_PB_BUTTON_CANCEL "IDS_PB_BUTTON_CANCEL"
+#define PH_PB_BUTTON_DELETE_ABB4 "IDS_PB_BUTTON_DELETE_ABB4"
+#define PH_PB_HEADER_REORDER "IDS_PB_HEADER_REORDER"
+#define PH_PB_HEADER_MERGE_CONTACTS_ABB "IDS_PB_HEADER_MERGE_CONTACTS_ABB"
+#define PH_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+#define PH_PB_TPOP_CONTACTS_LINKED "IDS_PB_TPOP_CONTACTS_LINKED"
+#define PH_PB_HEADER_CREATE "IDS_PB_HEADER_CREATE"
+#define PH_PB_BODY_NAME "IDS_PB_BODY_NAME"
+#define PH_PB_BODY_TITLE_M_NAMEPREFIX "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+#define PH_PB_BODY_FIRST_NAME_ABB "IDS_PB_BODY_FIRST_NAME_ABB"
+#define PH_PB_BODY_MIDDLE_NAME_ABB "IDS_PB_BODY_MIDDLE_NAME_ABB"
+#define PH_PB_BODY_LAST_NAME_ABB "IDS_PB_BODY_LAST_NAME_ABB"
+#define PH_PB_BODY_NAME_SUFFIX_ABB "IDS_PB_BODY_NAME_SUFFIX_ABB"
+#define PH_PB_BODY_PHONETIC_NAME_ABB "IDS_PB_BODY_PHONETIC_NAME_ABB"
+#define PH_PB_BODY_NICKNAME_ABB "IDS_PB_BODY_NICKNAME_ABB"
+#define PH_PB_OPT_ORGANISATION_ABB "IDS_PB_OPT_ORGANISATION_ABB"
+#define PH_PB_BODY_COMPANY_ABB "IDS_PB_BODY_COMPANY_ABB"
+#define PH_PB_BODY_JOB_TITLE_ABB "IDS_PB_BODY_JOB_TITLE_ABB"
+#define PH_PB_BUTTON_PHONE "IDS_PB_BUTTON_PHONE"
+#define PH_PB_BODY_PHONE_NUMBER_ABB "IDS_PB_BODY_PHONE_NUMBER_ABB"
+#define PH_PB_OPT_MOBILE "IDS_PB_OPT_MOBILE"
+#define PH_PB_OPT_WORK "IDS_PB_OPT_WORK"
+#define PH_PB_OPT_HOME "IDS_PB_OPT_HOME"
+#define PH_PB_OPT_MAIN "IDS_PB_OPT_MAIN"
+#define PH_PB_OPT_FAX_HWORK_ABB "IDS_PB_OPT_FAX_HWORK_ABB"
+#define PH_PB_OPT_FAX_HHOME_ABB "IDS_PB_OPT_FAX_HHOME_ABB"
+#define PH_PB_OPT_PAGER "IDS_PB_OPT_PAGER"
+#define PH_PB_OPT_OTHER "IDS_PB_OPT_OTHER"
+#define PH_PB_OPT_CUSTOM "IDS_PB_OPT_CUSTOM"
+#define PH_PB_BUTTON_EMAIL_ABB3 "IDS_PB_BUTTON_EMAIL_ABB3"
+#define PH_PB_BODY_EMAIL "IDS_PB_BODY_EMAIL"
+#define PH_PB_BUTTON_NOTES "IDS_PB_BUTTON_NOTES"
+#define PH_PB_BODY_NOTES "IDS_PB_BODY_NOTES"
+#define PH_PB_BUTTON_MORE "IDS_PB_BUTTON_MORE"
+#define PH_PB_OPT_SAVE_CONTACT_TO "IDS_PB_OPT_SAVE_CONTACT_TO"
+#define PH_PB_BODY_ADDRESS_ABB2 "IDS_PB_BODY_ADDRESS_ABB2"
+#define PH_PB_BODY_DATE "IDS_PB_BODY_DATE"
+#define PH_PB_OPT_BIRTHDAY "IDS_PB_OPT_BIRTHDAY"
+#define PH_PB_OPT_ANNIVERSARY_ABB "IDS_PB_OPT_ANNIVERSARY_ABB"
+#define PH_PB_OPT_RELATIONSHIP_ABB2 "IDS_PB_OPT_RELATIONSHIP_ABB2"
+#define PH_PB_OPT_ASSISTANT_M_CONTACTS "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+#define PH_PB_OPT_BROTHER "IDS_PB_OPT_BROTHER"
+#define PH_PB_OPT_CHILD "IDS_PB_OPT_CHILD"
+#define PH_PB_OPT_DOMESTIC_PARTNER_ABB2 "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+#define PH_PB_OPT_FATHER "IDS_PB_OPT_FATHER"
+#define PH_PB_OPT_FRIEND "IDS_PB_OPT_FRIEND"
+#define PH_PB_OPT_MANAGER "IDS_PB_OPT_MANAGER"
+#define PH_PB_OPT_MOTHER "IDS_PB_OPT_MOTHER"
+#define PH_PB_OPT_PARENT "IDS_PB_OPT_PARENT"
+#define PH_PB_OPT_PARTNER "IDS_PB_OPT_PARTNER"
+#define PH_PB_OPT_REFERRED_BY_ABB "IDS_PB_OPT_REFERRED_BY_ABB"
+#define PH_PB_OPT_RELATIVE "IDS_PB_OPT_RELATIVE"
+#define PH_PB_OPT_SISTER "IDS_PB_OPT_SISTER"
+#define PH_PB_OPT_SPOUSE "IDS_PB_OPT_SPOUSE"
+#define PH_PB_BODY_WEBSITE_ABB "IDS_PB_BODY_WEBSITE_ABB"
+#define PH_PB_BODY_IM "IDS_PB_BODY_IM"
+#define PH_PB_OPT_AIM "IDS_PB_OPT_AIM"
+#define PH_PB_OPT_YAHOO_E "IDS_PB_OPT_YAHOO_E"
+#define PH_PB_OPT_SKYPE "IDS_PB_OPT_SKYPE"
+#define PH_PB_OPT_QQ "IDS_PB_OPT_QQ"
+#define PH_PB_OPT_HANGOUTS "IDS_PB_OPT_HANGOUTS"
+#define PH_PB_OPT_ICQ "IDS_PB_OPT_ICQ"
+#define PH_PB_OPT_JABBER "IDS_PB_OPT_JABBER"
+#define PH_PB_HEADER_SAVE_CONTACTS_TO_ABB "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+#define PH_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+#define PH_PB_BUTTON_ADD_ACCOUNT_ABB2 "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+#define PH_PB_BUTTON_SAVE "IDS_PB_BUTTON_SAVE"
+#define PH_PB_OPT_DEVICE "IDS_PB_OPT_DEVICE"
+#define PH_PB_OPT_SIM_CARD "IDS_PB_OPT_SIM_CARD"
+#define PH_PB_HEADER_SET_CONTACT_PICTURE_ABB "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+#define PH_PB_OPT_FROM_GALLERY_ABB2 "IDS_PB_OPT_FROM_GALLERY_ABB2"
+#define PH_PB_OPT_TAKE_PICTURE_ABB "IDS_PB_OPT_TAKE_PICTURE_ABB"
+#define PH_PB_HEADER_CHANGE_SAVE_LOCATION_ABB "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+#define PH_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+#define PH_PB_BUTTON_CHANGE_ABB "IDS_PB_BUTTON_CHANGE_ABB"
+#define PH_PB_HEADER_LINKED_CONTACTS_ABB "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+#define PH_PB_HEADER_ENTER_CUSTOM_LABEL_ABB "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+#define PH_PB_BUTTON_CREATE_ABB2 "IDS_PB_BUTTON_CREATE_ABB2"
+#define PH_PB_HEADER_SUGGESTED_CONTACTS_ABB "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+#define PH_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2 "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+#define PH_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+#define PH_PB_HEADER_EMERGENCY_SERVICES_ABB "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+#define PH_PB_HEADER_PERSONAL_CONTACTS_ABB "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+#define PH_PB_HEADER_REMOVE "IDS_PB_HEADER_REMOVE"
+#define PH_PB_OPT_ADD "IDS_PB_OPT_ADD"
+#define PH_PB_OPT_REMOVE "IDS_PB_OPT_REMOVE"
+#define PH_PB_NPBODY_NO_RESULTS_FOUND_ABB "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+#define PH_PB_HEADER_SETTINGS "IDS_PB_HEADER_SETTINGS"
+#define PH_PB_HEADER_CONTACTS_TO_DISPLAY_ABB "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+#define PH_PB_TMBODY_CONTACTS_TO_DISPLAY "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+#define PH_PB_SBODY_ALL_CONTACTS "IDS_PB_SBODY_ALL_CONTACTS"
+#define PH_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+#define PH_PB_MBODY_SORT_BY "IDS_PB_MBODY_SORT_BY"
+#define PH_PB_OPT_FIRST_NAME "IDS_PB_OPT_FIRST_NAME"
+#define PH_PB_OPT_LAST_NAME "IDS_PB_OPT_LAST_NAME"
+#define PH_PB_OPT_FIRST_NAME_FIRST_ABB "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+#define PH_PB_OPT_LAST_NAME_FIRST_ABB "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+#define PH_PB_TMBODY_LINK_CONTACTS "IDS_PB_TMBODY_LINK_CONTACTS"
+#define PH_PB_TMBODY_MERGE_CONTACTS "IDS_PB_TMBODY_MERGE_CONTACTS"
+#define PH_PB_MBODY_IMPORT "IDS_PB_MBODY_IMPORT"
+#define PH_PB_MBODY_EXPORT "IDS_PB_MBODY_EXPORT"
+#define PH_PB_BODY_ACCOUNTS "IDS_PB_BODY_ACCOUNTS"
+#define PH_PB_TMBODY_SERVICE_NUMBERS "IDS_PB_TMBODY_SERVICE_NUMBERS"
+#define PH_PB_MBODY_SEND_CONTACT_INFORMATION_ABB "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+#define PH_PB_OPT_SD_CARD "IDS_PB_OPT_SD_CARD"
+#define PH_PB_HEADER_IMPORT "IDS_PB_HEADER_IMPORT"
+#define PH_PB_SBODY_IMPORTING_CONTACTS_ING_ABB "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+#define PH_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+#define PH_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+#define PH_PB_MBODY_1_CONTACT_ABB "IDS_PB_MBODY_1_CONTACT_ABB"
+#define PH_PB_MBODY_PD_CONTACTS_ABB "IDS_PB_MBODY_PD_CONTACTS_ABB"
+#define PH_PB_HEADER_CANCEL_IMPORTING_ABB "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+#define PH_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+#define PH_PB_HEADER_EXPORT "IDS_PB_HEADER_EXPORT"
+#define PH_PB_SBODY_EXPORTING_CONTACTS_ING_ABB "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+#define PH_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+#define PH_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+#define PH_PB_HEADER_CANCEL_EXPORTING_ABB "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+#define PH_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+#define PH_PB_HEADER_SEND_CONTACT_INFORMATION_ABB "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+#define PH_PB_MBODY_SEND_TOGETHER_ABB "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+#define PH_PB_MBODY_SEND_INDIVIDUALLY_ABB "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+#define PH_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+#define PH_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+#define PH_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+#define PH_PB_HEADER_PD_SELECTED_ABB3 "IDS_PB_HEADER_PD_SELECTED_ABB3"
+#define PH_PB_MBODY_SELECT_ALL "IDS_PB_MBODY_SELECT_ALL"
+#define PH_PB_BODY_CONTACTS "IDS_PB_BODY_CONTACTS"
+#define PH_PB_NPBODY_TAP_TO_ADD_SHORTCUT "IDS_PB_NPBODY_TAP_TO_ADD_SHORTCUT"
+#define PH_PB_OPT_VOICE_CALL "IDS_PB_OPT_VOICE_CALL"
+#define PH_PB_OPT_MESSAGE "IDS_PB_OPT_MESSAGE"
+#define PH_PB_OPT_VIDEO_CALL "IDS_PB_OPT_VIDEO_CALL"
+#define PH_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+#define PH_LOGS_BODY_ALL_CALLS "IDS_LOGS_BODY_ALL_CALLS"
+#define PH_LOGS_HEADER_TODAY "IDS_LOGS_HEADER_TODAY"
+#define PH_LOGS_HEADER_YESTERDAY "IDS_LOGS_HEADER_YESTERDAY"
+#define PH_LOGS_OPT_DELETE "IDS_LOGS_OPT_DELETE"
+#define PH_LOGS_OPT_CALL_DURATIONS_ABB "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+#define PH_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+#define PH_PB_HEADER_USB_STORAGE_NOT_AVAILABLE "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+#define PH_PB_BODY_EXPORT_TO_SIM2_CARD "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+#define PH_PB_BODY_EXPORT_TO_SIM_CARD "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+#define PH_PB_BODY_IMPORT_FROM_SIM2_CARD "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+#define PH_PB_BODY_IMPORT_FROM_SIM_CARD "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+#define PH_PB_NPBODY_NO_SERVICE_NUMBERS "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+#define PH_CHATON_ACBUTTON_EDIT_ABB "MIDS_CHATON_ACBUTTON_EDIT_ABB"
+#define PH_PB_BODY_FAX "IDS_PB_BODY_FAX"
+#define PH_PB_OPT_HOME_ABB "IDS_PB_OPT_HOME_ABB"
+#define PH_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+#define PH_ST_HEADER_PRIMARY_CONTACTS_ABB "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+#define PH_ST_NPBODY_NO_PRIMARY_CONTACTS "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+#define PH_ST_OPT_ADD_EXISTING_CONTACT_ABB "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+#define PH_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2 "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+#define PH_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+#define PH_CST_POP_PASSWORDS_DO_NOT_MATCH "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+#define PH_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+#define PH_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+#define PH_COM_BODY_NETWORK_OR_SIM_CARD_ERROR "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+#define PH_COM_BODY_SIM_RUIM_CARD_LOCKED "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+#define PH_PB_BODY_SIM_CARD_INITIALISING_ING "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+#define PH_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+#define PH_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+#define PH_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+#define PH_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+#define PH_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+#define PH_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+#define PH_HS_BUTTON_PHONE_M_CALL "IDS_HS_BUTTON_PHONE_M_CALL"
+#define PH_KPD_TPOP_ENTER_NUMBER "IDS_KPD_TPOP_ENTER_NUMBER"
+#define PH_KPD_BUTTON_SET_NUMBER_ABB "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+#define PH_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+#define PH_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+#define PH_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+#define PH_KPD_HEADER_SEARCH_RESULTS_HPD_ABB "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+#define PH_KPD_OPT_UPDATE_CONTACT_ABB "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+#define PH_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+#define PH_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+#define PH_CALL_TPOP_INSERT_SIM_CARD "IDS_CALL_TPOP_INSERT_SIM_CARD"
+#define PH_CALL_HEADER_USE_PS_SIM_CARD_ABB "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+#define PH_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+#define PH_CALL_BUTTON_CURRENT_SIM_ABB "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+#define PH_LOGS_OPT_MISSED_CALLS "IDS_LOGS_OPT_MISSED_CALLS"
+#define PH_LOGS_BUTTON_CREATE_CONTACT_ABB "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+#define PH_LOGS_BUTTON_UPDATE_CONTACT_ABB2 "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+#define PH_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+#define PH_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2 "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+#define PH_PB_MBODY_EVENT "IDS_PB_MBODY_EVENT"
+#define PH_PB_HEADER_EDIT "IDS_PB_HEADER_EDIT"
+#define PH_PB_OPT_EDIT "IDS_PB_OPT_EDIT"
+#define PH_PB_POP_THIS_CONTACT_WILL_BE_DELETED "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+#define PH_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+#define PH_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+#define PH_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+#define PH_PB_HEADER_EMERGENCY_CONTACTS_ABB2 "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+#define PH_PB_BUTTON_DONE_ABB3 "IDS_PB_BUTTON_DONE_ABB3"
+#define PH_PB_MBODY_ONLY_CONTACTS_WITH_PHONES "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+#define PH_PB_TMBODY_NAME_FORMAT "IDS_PB_TMBODY_NAME_FORMAT"
+#define PH_PB_HEADER_NAME_FORMAT_ABB "IDS_PB_HEADER_NAME_FORMAT_ABB"
+#define PH_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+#define PH_PB_HEADER_EXPORT_CONTACTS_ABB "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+#define PH_PB_HEADER_CONTACTS_EXPORTED_ABB "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+#define PH_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+#define PH_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+#define PH_PB_BUTTON_EXPORT "IDS_PB_BUTTON_EXPORT"
+#define PH_PB_HEADER_SELECT_CONTACT_ABB2 "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+#define PH_PB_HEADER_IMPORT_CONTACTS_ABB2 "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+#define PH_PB_HEADER_DISCARD_CHANGES_ABB "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+#define PH_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+#define PH_PB_BUTTON_DISCARD_ABB "IDS_PB_BUTTON_DISCARD_ABB"
+#define PH_PB_OPT_UNLINK_CONTACTS "IDS_PB_OPT_UNLINK_CONTACTS"
+#define PH_PB_OPT_UNLINK_CONTACT_ABB "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+#define PH_PB_BODY_SERVICE_NUMBER "IDS_PB_BODY_SERVICE_NUMBER"
+#define PH_PB_POP_DISCARD_CHANGES_Q "IDS_PB_POP_DISCARD_CHANGES_Q"
+#define PH_PB_BODY_WINDOWS_LIVE_UC "IDS_PB_BODY_WINDOWS_LIVE_UC"
+#define PH_PB_BODY_SKYPE "IDS_PB_BODY_SKYPE"
+#define PH_PB_HEADER_DISPLAY_NAMES_BY "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+#define PH_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+#define PH_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+#define PH_PB_SK_SET "IDS_PB_SK_SET"
+#define PH_PB_HEADER_DISPLAY "IDS_PB_HEADER_DISPLAY"
+#define PH_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+#define PH_PB_MBODY_SET_MY_PROFILE "IDS_PB_MBODY_SET_MY_PROFILE"
+#define PH_PB_BODY_EXPORT_TO_SD_CARD "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+#define PH_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+#define PH_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+#define PH_PB_OPT_SELECT_FROM_CONTACTS_ABB "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+#define PH_CLOG_BODY_NO_LOGS "IDS_CLOG_BODY_NO_LOGS"
+#define PH_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+#define PH_PB_BODY_NAME_PREFIX "IDS_PB_BODY_NAME_PREFIX"
+#define PH_PB_OPT_TAKE_A_PHOTO "IDS_PB_OPT_TAKE_A_PHOTO"
+#define PH_PB_SK_ADD_FIELDS "IDS_PB_SK_ADD_FIELDS"
+#define PH_PB_HEADER_CONTACT_IMAGE "IDS_PB_HEADER_CONTACT_IMAGE"
+#define PH_PB_HEADER_SELECT_SIM_FOR_CALL "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+#define PH_PB_BODY_ADD_TO_FAVOURITES "IDS_PB_BODY_ADD_TO_FAVOURITES"
+#define PH_PB_BODY_REMOVE_FROM_FAVOURITES "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+#define PH_LOGS_SBODY_MISSEDM_CALL_STATUS "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+#define PH_LOGS_SBODY_CANCELLED_M_STATUS "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+#define PH_LOGS_SBODY_FAILED_M_STATUS "IDS_LOGS_SBODY_FAILED_M_STATUS"
+#define PH_CALL_BODY_INCOMING_CALL "IDS_CALL_BODY_INCOMING_CALL"
+#define PH_ST_BODY_OUTGOING_CALL "IDS_ST_BODY_OUTGOING_CALL"
+#define PH_PB_NPBODY_NO_EMERGENCY_CONTACTS "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+#define PH_PB_OPT_FDN_CONTACT "IDS_PB_OPT_FDN_CONTACT"
+#define PH_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+#define PH_PB_HEADER_SHARE_VIA "IDS_PB_HEADER_SHARE_VIA"
+#define PH_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+#define PH_PB_BODY_NO_SEARCH_RESULT "IDS_PB_BODY_NO_SEARCH_RESULT"
+#define PH_PB_POP_1_CONTACT_REMOVED "IDS_PB_POP_1_CONTACT_REMOVED"
+#define PH_PB_HEADER_PD_SELECTED_ABB "IDS_PB_HEADER_PD_SELECTED_ABB"
+#define PH_PB_POP_FAILED "IDS_PB_POP_FAILED"
+#define PH_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+#define PH_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+#define PH_PB_POP_FDN_MODE_ACTIVATED "IDS_PB_POP_FDN_MODE_ACTIVATED"
+#define PH_TPLATFORM_ACBUTTON_SEND_ABB "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+#define PH_TPLATFORM_ACBUTTON_DONE_ABB "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+#define PH_TPLATFORM_ACBUTTON_CANCEL_ABB "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+#define PH_TPLATFORM_ACBUTTON_DELETE_ABB "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+#define PH_PB_BODY_IMPORTING_ING "IDS_PB_BODY_IMPORTING_ING"
+#define PH_PB_TPOP_PD_CONTACTS_IMPORTED "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+#define PH_PB_OPT_ADD_FIELD "IDS_PB_OPT_ADD_FIELD"
+#define PH_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+#define PH_PB_BODY_THIS_CONTACT_WILL_BE_DELETED "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+#define PH_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+#define PH_PB_POP_DELETING_CONTACTS_ING "IDS_PB_POP_DELETING_CONTACTS_ING"
+#define PH_PB_TPOP_1_CONTACT_IMPORTED "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+#define PH_PB_OPT_SHARE_VIA "IDS_PB_OPT_SHARE_VIA"
+#define PH_PB_BODY_PHONETIC_FIRST_NAME_ABB "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+#define PH_PB_BODY_PHONETIC_MIDDLE_NAME_ABB "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+#define PH_PB_BODY_PHONETIC_LAST_NAME_ABB "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+#define PH_PB_BODY_DEFAULT_GROUP_FAMILY "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+#define PH_PB_BODY_CO_WORKERS "IDS_PB_BODY_CO_WORKERS"
+#define PH_PB_BODY_DEFAULT_GROUP_FRIENDS "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+#define PH_PB_BODY_MY_CONTACTS "IDS_PB_BODY_MY_CONTACTS"
+#define PH_PB_POP_SIM_MEMROY_FULL "IDS_PB_POP_SIM_MEMROY_FULL"
+#define PH_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+#define PH_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+#define PH_PB_BODY_TELEPHONE "IDS_PB_BODY_TELEPHONE"
+#define PH_PB_POP_NOT_ENOUGH_MEMORY "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+#define PH_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+#define PH_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+#define PH_KPD_BUTTON_SEND_MESSAGE "IDS_KPD_BUTTON_SEND_MESSAGE"
+
+
+#endif// __PH_STRINGS_H_
diff --git a/lib-phone/ph-common/src/PhCommon.cpp b/lib-phone/ph-common/src/PhCommon.cpp
new file mode 100755
index 0000000..795f583
--- /dev/null
+++ b/lib-phone/ph-common/src/PhCommon.cpp
@@ -0,0 +1,273 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <dlfcn.h>
+#include <app.h>
+#include <contacts.h>
+
+#include "ContactsDebug.h"
+#include "ContactsAppControlLauncher.h"
+
+#include "PhPath.h"
+#include "PhCommon.h"
+#include "ContactsCommon.h"
+
+#define UG_CALL_SETTING "setting-call-efl"
+
+#define PH_TEXT_MAX_LEN (1024)
+
+PhCommon::PhCommon()
+{
+}
+
+PhCommon::~PhCommon()
+{
+}
+
+Evas_Object* PhCommon::createImage(Evas_Object* parent, const char* edj, const char* imagePath, const char* colorCode)
+{
+ Evas_Object *icon = elm_image_add(parent);
+ WPRET_VM( NULL == icon, NULL, "elm_image_add() is failed");
+
+ if(edj && *edj)
+ elm_image_file_set(icon, ContactsCommon::getAppEdjePath(edj).c_str(), imagePath);
+ else
+ elm_image_file_set(icon, imagePath, NULL);
+
+ evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ return icon;
+}
+
+Evas_Object* PhCommon::createLayout(Evas_Object* parent, const char* edj, const char* layoutName)
+{
+ Evas_Object *layout = elm_layout_add(parent);
+ WPRET_VM(NULL == layout, NULL, "elm_layout_add() return NULL");
+
+ if(edj && *edj)
+ elm_layout_file_set(layout, ContactsCommon::getAppEdjePath(edj).c_str(), layoutName);
+ else
+ {
+ if(layoutName && *layoutName)
+ elm_layout_theme_set(layout, "layout", layoutName, "default");
+ else
+ elm_layout_theme_set( layout, "layout", "application", "default");
+ }
+
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(layout);
+
+ return layout;
+}
+
+void PhCommon::image_mask_delete_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ WPRET_M(!obj, "obj is NULL");
+ void *mask = evas_object_image_data_get(obj, EINA_TRUE);
+ if(mask) {
+ free(mask);
+ mask = NULL;
+ }
+}
+
+
+Evas_Object* PhCommon::createButton(Evas_Object* parent, const char* buttonStyle, const char* buttonText, Evas_Smart_Cb clickedCb, void* userData )
+{
+ Evas_Object *button = elm_button_add(parent);
+ WPRET_VM( NULL == button, NULL, "elm_button_add() is failed");
+ if(buttonStyle)
+ elm_object_style_set(button, buttonStyle);
+ if(buttonText)
+ elm_object_text_set(button, buttonText);
+
+ evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_smart_callback_add(button, "clicked", clickedCb, userData);
+ evas_object_show(button);
+
+ return button;
+}
+
+void PhCommon::launchCallSetting(Evas_Object *win, Evas_Object *nf)
+{
+ WHIT();
+ app_control_h service;
+ app_control_create(&service);
+ app_control_set_app_id(service, UG_CALL_SETTING);
+ app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_GROUP);
+ ContactsAppControlLauncher::getInstance().sendLaunchRequest(service, NULL, NULL, nf);
+}
+
+bool PhCommon::addSpeedDialNumber(int speedNumber, int numberId)
+{
+ contacts_filter_h filter = nullptr;
+ contacts_filter_create(_contacts_speeddial._uri, &filter);
+ contacts_filter_add_int(filter, _contacts_speeddial.number_id, CONTACTS_MATCH_EQUAL, numberId);
+
+ contacts_query_h query = nullptr;
+ contacts_query_create(_contacts_speeddial._uri, &query);
+ contacts_query_set_filter(query, filter);
+
+ contacts_list_h list = nullptr;
+ int err = contacts_db_get_records_with_query(query, 0, 1, &list);
+ contacts_query_destroy(query);
+ contacts_filter_destroy(filter);
+ WPRET_VM(err != CONTACTS_ERROR_NONE, false, "contacts_db_get_records_with_query() failed(%d)", err);
+
+ int count = 0;
+ contacts_list_get_count(list, &count);
+ contacts_list_destroy(list, true);
+ if (count > 0) {
+ return false;
+ }
+
+ contacts_record_h record = nullptr;
+ contacts_record_create(_contacts_speeddial._uri, &record);
+ contacts_record_set_int(record, _contacts_speeddial.speeddial_number, speedNumber);
+ contacts_record_set_int(record, _contacts_speeddial.number_id, numberId);
+ err = contacts_db_insert_record(record, nullptr);
+ contacts_record_destroy(record, true);
+ WPRET_VM(err != CONTACTS_ERROR_NONE, false, "contacts_db_insert_record() failed(%d)", err);
+
+ return true;
+}
+
+void PhCommon::terminateChildAppControl(void)
+{
+ ContactsAppControlLauncher::getInstance().terminate();
+}
+
+void PhCommon::adjustMatchedLenForName(const char* displayName, const char* keyword, int* index, int* len)
+{
+ WPRET_M(displayName == NULL, "displayName is NULL");
+ WPRET_M(keyword == NULL, "keyword is NULL");
+ int i = 0;
+ int strLen = strlen(keyword);
+ int charBytes = 0;;
+
+ while(i < (int)strlen(displayName) && *index > i)
+ {
+ charBytes = __checkUtf8(displayName[i]);
+ *index += (charBytes-1);
+ i += charBytes;
+ }
+
+ i = *index;
+ while(i < (int)strlen(displayName) && strLen > 0)
+ {
+ charBytes = __checkUtf8(displayName[i]);
+ *len += (charBytes-1);
+ i += charBytes;
+ strLen--;
+ }
+}
+
+int PhCommon::__checkUtf8(char c)
+{
+ if (c < 128)
+ return 1;
+ else if ((c & (char)0xe0) == (char)0xc0)
+ return 2;
+ else if ((c & (char)0xf0) == (char)0xe0)
+ return 3;
+ else if ((c & (char)0xf8) == (char)0xf0)
+ return 4;
+ else if ((c & (char)0xfc) == (char)0xf8)
+ return 5;
+ else if ((c & (char)0xfe) == (char)0xfc)
+ return 6;
+ else
+ return -1;
+}
+
+int PhCommon::getSavedNumberStartIndex(const char* source, const char* keyword)
+{
+ int pos = -1;
+ std::string tmp = ContactsCommon::removeNumberDashes(source);
+ if (tmp.c_str()) {
+ if(strstr(tmp.c_str(), keyword)) {
+ pos = (strstr(tmp.c_str(), keyword) - tmp.c_str());
+ }
+ }
+ return pos;
+}
+
+void PhCommon::adjustMatchedLenForNum(const char* number, const char* keyword, int* index, int* len)
+{
+ WPRET_M(number == NULL, "number is NULL");
+ WPRET_M(keyword == NULL, "keyword is NULL");
+ int i = 0;
+ int strLen = strlen(keyword);
+ int charBytes = 0;;
+
+ while (i < (int)strlen(number) && *index > i)
+ {
+ charBytes = __checkUtf8(number[i]);
+
+ if(__isDash(number[i])) {
+ *index += charBytes;
+ i++;
+ }
+ else {
+ *index += (charBytes-1);
+ i += charBytes;
+ }
+ }
+
+ while (__isDash(number[*index])) {
+ *index += 1;
+ }
+
+ i = *index;
+ while (i < (int)strlen(number) && strLen > 0)
+ {
+ charBytes = __checkUtf8(number[i]);
+
+ if(__isDash(number[i])) {
+ *len += charBytes;
+ i++;
+ }
+ else {
+ *len += (charBytes-1);
+ i += charBytes;
+ strLen--;
+ }
+ }
+}
+
+bool PhCommon::__isDash(char ch)
+{
+ if (ch == '-' || ch == '(' || ch == ')' || ch == ' ') {
+ return true;
+ }
+ return false;
+}
+
+std::string PhCommon::convert2MarkupString(const char* source)
+{
+ WPRET_VM(source == NULL, "", "source is NULL");
+ std::string markupStr;
+ char *temp = elm_entry_utf8_to_markup(source);
+
+ if(temp)
+ {
+ markupStr = temp;
+ free(temp);
+ return markupStr;
+ }
+ else
+ return "";
+}
diff --git a/lib-phone/ph-dialer/.cproject b/lib-phone/ph-dialer/.cproject
new file mode 100644
index 0000000..4fd20e9
--- /dev/null
+++ b/lib-phone/ph-dialer/.cproject
@@ -0,0 +1,594 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ph-dialer" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1901856276" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.109029664" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/ph-dialer}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.33649487" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1405004172" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1950179025" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.315623720" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1861914823" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1074302357" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1760981851" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1951899281" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1138204775" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1198911347" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/carriermatch/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/dbus}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/inc"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1703854218" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1422240551" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1518675757" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.2136307221"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.560868363" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1466654101" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1448906718" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.790106586" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.2088959274" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.305788398" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1437660569" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1449885404" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1143175968" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.556123847" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1271839318"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.187306255" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1746596689" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1561214539" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1602429789" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.487061050" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1725268383" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/carriermatch/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/Debug"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.1672653320" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="common"/>
+ <listOptionValue builtIn="false" value="ph-common"/>
+ <listOptionValue builtIn="false" value="carriermatch"/>
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="app-assist-efl"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2001966770" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1663226854" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1653697587" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.854294349" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.914715388" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.730258204" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1802661538" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.2114540036" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.945547352" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067.1970268669" name="/" resourcePath="dbus">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1698842383" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug" unusedChildren="">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1862062100" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.1405004172"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1950179025">
+ <option id="gnu.cpp.compiler.option.include.paths.1862024141" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/carriermatch/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/dbus}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.801747878" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.2055251519"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.1212492831"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.1127111318"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.536892725"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.983250407"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.328190824"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.677325310"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.864011291"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.700307932"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288">
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1235218917" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.1563160697"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.1071647721"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.769788277"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.1030493901"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.1783671564"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.997359349"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.705477442"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.65243218"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.1155268849"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.578327765" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1746596689"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1274254929" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1561214539"/>
+ <tool id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1226503116" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1663226854">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1421785689" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1714536879" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.730258204"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.226210515" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp.1802661538"/>
+ <tool id="org.tizen.nativecore.tool.ast.1435515500" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast.2114540036"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.981231587" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp.945547352"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1245617004" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler.854294349"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.668555117" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler.914715388"/>
+ </toolChain>
+ </folderInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067.1505275290" name="dbus_async_base.c" rcbsApplicability="disable" resourcePath="dbus/dbus_async_base.c" toolsToInvoke="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227">
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288">
+ <option id="gnu.c.compiler.option.include.paths.699057084" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.726109033" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.261590111"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1451193473"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1132199515"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1591402278"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.62950640"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1833409931"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.2031417097"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.2039087771"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1097643191"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.569597624"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1348198631"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1341746581"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.317438633"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.377523416"/>
+ </tool>
+ </fileInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="dbus"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.1383355163">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1383355163" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ph-dialer" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1383355163" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.1383355163." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.2103970634" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.482636569" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/ph-dialer}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1168087568" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.582015912" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.2112780933" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1070303096" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1116646323" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.983700984" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.583665033" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1528573108" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.527401068" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1695246603" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.269168654" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.387448962"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1176017145" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.631239000" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1093071292" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.577917793" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1659273903" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.1632820987" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1999072555" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1884899962" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1481984696" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.947209727" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.443814160"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1326071906" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1440071815" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.759705633" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.419497209" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1194318619" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1675585394" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1090659610" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1451815898" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.967540411" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.555891162" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1519348535" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.881350209" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1758335872" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.139286310" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.295723611" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="ph-dialer.org.tizen.nativecore.target.sbi.gcc45.so.738986982" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.1383355163">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/ph-dialer"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/ph-dialer"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/lib-phone/ph-dialer/.project b/lib-phone/ph-dialer/.project
new file mode 100644
index 0000000..5cc7b71
--- /dev/null
+++ b/lib-phone/ph-dialer/.project
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ph-dialer</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1413282659403</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/lib-phone/ph-dialer/.tproject b/lib-phone/ph-dialer/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/lib-phone/ph-dialer/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/lib-phone/ph-dialer/CMakeLists.txt b/lib-phone/ph-dialer/CMakeLists.txt
new file mode 100755
index 0000000..4ed5da4
--- /dev/null
+++ b/lib-phone/ph-dialer/CMakeLists.txt
@@ -0,0 +1,26 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ph-dialer CXX)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-phone/ph-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-phone/ph-speeddial/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc/predictive-number
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/edje
+)
+
+FILE(GLOB_RECURSE SRCS "src/*.cpp")
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "contacts-common"
+ "ph-common"
+ "ph-speeddial"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_LIB_DIR})
+
+ADD_SUBDIRECTORY(res/edje)
diff --git a/lib-phone/ph-dialer/inc/PhDialerAddToContactsPopup.h b/lib-phone/ph-dialer/inc/PhDialerAddToContactsPopup.h
new file mode 100644
index 0000000..aff43d0
--- /dev/null
+++ b/lib-phone/ph-dialer/inc/PhDialerAddToContactsPopup.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef __PH_DIALER_ADD_TO_CONTACTS_POPUP_H__
+#define __PH_DIALER_ADD_TO_CONTACTS_POPUP_H__
+
+#include "WPopup.h"
+#include <Elementary.h>
+
+class PhDialerAddToContactsPopup : public WPopup
+{
+public:
+ PhDialerAddToContactsPopup(std::string number);
+
+private:
+ virtual Evas_Object *onCreate(Evas_Object *parent, void *param);
+
+ Evas_Object *createGenlist(Evas_Object *parent);
+ Elm_Genlist_Item_Class *createItemClass();
+ static char *getItemText(void *data, Evas_Object *obj, const char *part);
+
+ static void launchContactCreate(void *data, Evas_Object *obj, void *event_info);
+ static void launchContactUpdate(void *data, Evas_Object *obj, void *event_info);
+
+ std::string m_Number;
+};
+
+#endif /* __PH_DIALER_ADD_TO_CONTACTS_POPUP_H__ */
diff --git a/lib-phone/ph-dialer/inc/PhDialerEntry.h b/lib-phone/ph-dialer/inc/PhDialerEntry.h
new file mode 100644
index 0000000..ed4b6dd
--- /dev/null
+++ b/lib-phone/ph-dialer/inc/PhDialerEntry.h
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DIALER_ENTRY_H_
+#define _PH_DIALER_ENTRY_H_
+
+#include "WControl.h"
+#include <string>
+#include <functional>
+
+class PhDialerEntry : public WControl
+{
+public:
+ /**
+ * @return Entered number
+ */
+ std::string getNumber();
+
+ /**
+ * @brief Set number
+ */
+ void setNumber(const std::string &number);
+
+ /**
+ * @brief Insert character at the cursor position.
+ * @param c Character to insert
+ */
+ void insert(char c);
+
+ /**
+ * @brief Remove last character from the current entry.
+ */
+ void popBack();
+
+ /**
+ * @brief Erase current entry.
+ */
+ void clear();
+
+ /**
+ * @brief Set changed event callback.
+ */
+ void setOnChanged(std::function<void(PhDialerEntry&)> callback);
+
+private:
+ virtual Evas_Object *onCreate(Evas_Object *parent, void *param);
+
+ static void onChanged(void *data, Evas_Object *obj, void *event_info);
+
+ std::function<void(PhDialerEntry&)> m_Changed;
+};
+
+#endif /* _PH_DIALER_ENTRY_H_ */
diff --git a/lib-phone/ph-dialer/inc/PhDialerKey.h b/lib-phone/ph-dialer/inc/PhDialerKey.h
new file mode 100644
index 0000000..b085ffb
--- /dev/null
+++ b/lib-phone/ph-dialer/inc/PhDialerKey.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DIALER_KEY_H_
+#define _PH_DIALER_KEY_H_
+
+#include "WButton.h"
+
+class PhDialerKey : public WButton
+{
+public:
+ enum Id
+ {
+ ID_1,
+ ID_2,
+ ID_3,
+ ID_4,
+ ID_5,
+ ID_6,
+ ID_7,
+ ID_8,
+ ID_9,
+ ID_STAR,
+ ID_0,
+ ID_SHARP,
+ };
+
+ /**
+ * @brief Create dialer key.
+ * @param id Key ID
+ */
+ PhDialerKey(Id id);
+
+ /**
+ * @return Key character value.
+ */
+ char getValue() const;
+
+ /**
+ * @return Key ID.
+ */
+ Id getId() const;
+
+private:
+ virtual Evas_Object *onCreate(Evas_Object *parent, void *param);
+ static void onMouseDown(void *data, Evas *e, Evas_Object *obj, void *event_info);
+ static void onMouseUp(void *data, Evas *e, Evas_Object *obj, void *event_info);
+
+ Id m_Id;
+ char m_Value;
+ int m_Tone;
+};
+
+#endif /* _PH_DIALER_KEY_H_ */
diff --git a/lib-phone/ph-dialer/inc/PhDialerResultListPopup.h b/lib-phone/ph-dialer/inc/PhDialerResultListPopup.h
new file mode 100644
index 0000000..a6e90f9
--- /dev/null
+++ b/lib-phone/ph-dialer/inc/PhDialerResultListPopup.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DIALER_RESULT_LIST_POPUP_H_
+#define _PH_DIALER_RESULT_LIST_POPUP_H_
+
+#include "PhDialerPredictiveNumberTypes.h"
+#include "WPopup.h"
+#include <Elementary.h>
+
+class PhDialerEntry;
+
+class PhDialerResultListPopup : public WPopup
+{
+public:
+ /**
+ * @brief Constructor
+ * @param[in] result Search data
+ * @param[in] entry Dialer entry
+ */
+ PhDialerResultListPopup(const Ph::Dialer::SearchList &result, PhDialerEntry &entry);
+
+private:
+ virtual Evas_Object *onCreate(Evas_Object *parent, void *param);
+ Evas_Object *createContactList(Evas_Object *parent);
+ Elm_Genlist_Item_Class *createItemClass();
+ static char *getItemText(void *data, Evas_Object *obj, const char *part);
+
+ static void onItemClicked(void *data, Evas_Object *obj, void *event_info);
+
+ const Ph::Dialer::SearchList &m_Result;
+ PhDialerEntry &m_Entry;
+};
+
+#endif //_PH_DIALER_RESULT_LIST_POPUP_H_
diff --git a/lib-phone/ph-dialer/inc/PhDialerSearchController.h b/lib-phone/ph-dialer/inc/PhDialerSearchController.h
new file mode 100644
index 0000000..ed761c9
--- /dev/null
+++ b/lib-phone/ph-dialer/inc/PhDialerSearchController.h
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DIALER_SEARCH_CONTROLLER_H_
+#define _PH_DIALER_SEARCH_CONTROLLER_H_
+
+#include <memory>
+#include <Evas.h>
+
+class PhDialerEntry;
+class PhDialerView;
+
+namespace Ph
+{
+ namespace Dialer
+ {
+ class PredictiveNumber;
+ class SearchInfo;
+ }
+}
+
+class PhDialerSearchController
+{
+public:
+ PhDialerSearchController();
+ ~PhDialerSearchController();
+
+ /**
+ * @brief Creates predictive layout
+ * @param[in] view Parent view
+ */
+ void create(PhDialerView &view);
+
+private:
+ enum class LayoutType
+ {
+ NONE,
+ NO_CONTACTS,
+ ONE_CONTACT,
+ FEW_CONTACTS
+ };
+
+private:
+ void onEntryChanged(PhDialerEntry &entry);
+
+ void setLayout(const std::string &number);
+ void setNoContactsLayout();
+ void setLayoutWithContacts(const Ph::Dialer::SearchInfo &info);
+ void setResultLayout(Evas_Object *parent, size_t count);
+
+ void createSpeeddialLayout(Evas_Object *parent, const Ph::Dialer::SearchInfo &info);
+
+ static void fillPredictiveLayout(Evas_Object *layout, const Ph::Dialer::SearchInfo &info);
+
+ static void showResulListPopup(void *data, Evas *e, Evas_Object *obj, void *event_info);
+
+ static void createAddToContactsPopup(void* data, Evas* e, Evas_Object* obj, void* event_info);
+
+ static void onDbChanged(const char *view_uri, void *data);
+
+ PhDialerView *m_View;
+
+ std::unique_ptr<Ph::Dialer::PredictiveNumber> m_PredictiveNumber;
+
+ LayoutType m_CurrentLayoutType;
+ Evas_Object *m_Layout;
+ Evas_Object *m_ResultLayout;
+};
+
+#endif //_PH_DIALER_SEARCH_CONTROLLER_H_
diff --git a/lib-phone/ph-dialer/inc/PhDialerSpeeddialPopup.h b/lib-phone/ph-dialer/inc/PhDialerSpeeddialPopup.h
new file mode 100644
index 0000000..25b2eaa
--- /dev/null
+++ b/lib-phone/ph-dialer/inc/PhDialerSpeeddialPopup.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DIALER_SPEEDDIAL_POPUP_H_
+#define _PH_DIALER_SPEEDDIAL_POPUP_H_
+
+#include "WPopup.h"
+#include <app_control.h>
+
+class PhDialerSpeeddialPopup : public WPopup
+{
+public:
+ PhDialerSpeeddialPopup(int speedNumber);
+
+private:
+ virtual Evas_Object *onCreate(Evas_Object* parent, void* param);
+ void onOkPressed(bool *destroyPopup);
+
+ static void onPickResult(app_control_h request, app_control_h reply,
+ app_control_result_e result, void *data);
+
+ int m_SpeedNumber;
+};
+
+#endif /* _PH_DIALER_SPEEDDIAL_POPUP_H_ */
diff --git a/lib-phone/ph-dialer/inc/PhDialerView.h b/lib-phone/ph-dialer/inc/PhDialerView.h
new file mode 100644
index 0000000..a8675c0
--- /dev/null
+++ b/lib-phone/ph-dialer/inc/PhDialerView.h
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DIALER_VIEW_H_
+#define _PH_DIALER_VIEW_H_
+
+#include "IContactsTabPageView.h"
+#include <string>
+
+class WButton;
+class PhDialerEntry;
+class PhDialerSearchController;
+
+class WAPP_ASSIST_EXPORT PhDialerView : public IContactsTabPageView
+{
+public:
+ PhDialerView();
+ ~PhDialerView();
+
+ /**
+ * @brief Sets predictive layout
+ * @param[in] layout Layout with predictive search results
+ */
+ void setPredictiveLayout(Evas_Object *layout);
+
+ /**
+ * @return dialer entry
+ */
+ PhDialerEntry *getEntry() const;
+
+ /**
+ * @brief set number
+ * @param[in] number Number
+ */
+ void setNumber(std::string& number);
+
+private:
+ virtual Evas_Object *onCreate(Evas_Object *parent, void *viewParam);
+ virtual void onPush(Elm_Object_Item *naviItem);
+ virtual void onTabSelect(Elm_Object_Item *naviItem);
+ virtual void onTabUnselect(Elm_Object_Item *naviItem);
+ virtual bool onTabPop();
+ virtual void onTabScrollStart();
+ virtual void onTabScrollStop();
+
+ Evas_Object *createKeypad(Evas_Object *parent);
+ Evas_Object *createCallButton(Evas_Object *parent);
+ Evas_Object *createBackspaceButton(Evas_Object *parent);
+
+ void onKeyPressed(WButton &button);
+ bool onKeyLongpressed(WButton &button);
+
+ void onBackspacePressed(WButton &button);
+ bool onBackspaceLongpressed(WButton &button);
+
+ static void onCallPressed(void *data, Evas_Object *obj, void *event_info);
+ static void onMenuPressed(void *data, Evas_Object *obj, void *event_info);
+
+ void onSendMessage();
+ void onAddWait();
+ void onAddPause();
+ void onSpeeddialSettings();
+ void onCallSettings();
+
+ static void launchCall(const std::string &number);
+ void launchSpeeddial(int digit);
+ static std::string getSpeeddialNumber(int digit);
+ static std::string getLastNumber();
+
+ PhDialerEntry *m_Entry;
+ PhDialerSearchController *m_Controller;
+ std::string m_InitialNumber;
+};
+
+#endif /* _PH_DIALER_VIEW_H_ */
diff --git a/lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumber.h b/lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumber.h
new file mode 100644
index 0000000..0d5c0d5
--- /dev/null
+++ b/lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumber.h
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DIALER_PREDICTIVE_NUMBER_
+#define _PH_DIALER_PREDICTIVE_NUMBER_
+
+#include <string>
+
+#include "PhDialerSearchInfo.h"
+#include "PhDialerPredictiveNumberTypes.h"
+
+namespace Ph {
+
+ namespace Dialer {
+
+ /**
+ * @brief This class provides incremental search logic for predictive number functionality
+ */
+ class PredictiveNumber
+ {
+ public:
+ PredictiveNumber();
+
+ /**
+ * @brief Perform incremental search
+ * @param[in] number Value to find
+ */
+ void search(const std::string &number);
+
+ /**
+ * @brief Retrieves result list
+ * @return Result list or nullptr on empty list
+ */
+ const SearchList *getSearchResult() const;
+
+ /**
+ * @return true if there is no results, otherwise false
+ */
+ bool empty() const;
+
+ /**
+ * @brief make search like a first time
+ * @param[in] number value to find
+ */
+ void searchFromScratch(const std::string &number);
+
+ private:
+ void distinctLogs(SearchList &searchList);
+ void firstSearch(const std::string &number);
+ SearchList searchInDB(const std::string &number);
+ void chooseSearch(const std::string &number);
+
+ bool searchInCache(Cache::iterator from, const std::string &number);
+ Cache::reverse_iterator firstMismatch(const std::string &number);
+ Cache::reverse_iterator skipEmptyResults(size_t offset);
+
+ void clear();
+
+ bool needSearch(const std::string &number);
+
+ std::string m_Number;
+ Cache m_PredictiveNumberCache;
+ int m_LastFoundIndex;
+ };
+ }
+}
+
+#endif //_PH_DIALER_PREDICTIVE_NUMBER_
diff --git a/lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumberTypes.h b/lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumberTypes.h
new file mode 100644
index 0000000..988f63d
--- /dev/null
+++ b/lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumberTypes.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DIALER_PREDICTIVE_NUMBER_TYPES_H_
+#define _PH_DIALER_PREDICTIVE_NUMBER_TYPES_H_
+
+#include "PhDialerSearchInfo.h"
+#include <memory>
+#include <vector>
+
+namespace Ph {
+
+ namespace Dialer {
+ //Smart pointer on SearchInfo
+ typedef std::shared_ptr<SearchInfo> PSearchInfo;
+
+ //List of searchable results
+ typedef std::vector<PSearchInfo> SearchList;
+
+ //History of results
+ typedef std::vector<SearchList> Cache;
+ }
+}
+
+#endif //_PH_DIALER_PREDICTIVE_NUMBER_TYPES_H_
diff --git a/lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumberUtils.h b/lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumberUtils.h
new file mode 100644
index 0000000..0bfc676
--- /dev/null
+++ b/lib-phone/ph-dialer/inc/predictive-number/PhDialerPredictiveNumberUtils.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DIALER_PREDICTIVE_NUMBER_UTILS_H_
+#define _PH_DIALER_PREDICTIVE_NUMBER_UTILS_H_
+
+#include <string>
+#include <contacts.h>
+#include <Evas.h>
+
+namespace Ph {
+
+ namespace Dialer {
+
+ namespace Utils {
+
+ /**
+ * @param[in] number Speed dial number
+ * @return contact with speed dial matched @a number
+ */
+ contacts_list_h getSpeedDial(char number);
+
+ /**
+ * @param[in] digit Digit in log number
+ * @return log list with numbers contains @a digit
+ */
+ contacts_list_h getLogList(char digit);
+
+ /**
+ * @param[in] digit Digit on keypad
+ * @return contacts list with names contains @a digit on phone keypad
+ */
+ contacts_list_h getContactListByName(char digit);
+
+ /**
+ * @param[in] digit Digit in contact's number
+ * @return contacts list with numbers contains @a digit
+ */
+ contacts_list_h getContactListByNumber(char digit);
+
+ /**
+ * @param[in] name Contact name
+ * @return converted contact name to letter mask
+ */
+ std::string contactNameToMask(const std::string &name);
+
+ /**
+ * param[in] parent Parent layout
+ * param[in] contactId Contact ID
+ */
+ Evas_Object *createThumbnail(Evas_Object *parent, int contactId);
+ }
+ }
+}
+
+#endif //_PH_DIALER_PREDICTIVE_NUMBER_UTILS_H_
diff --git a/lib-phone/ph-dialer/inc/predictive-number/PhDialerSearchInfo.h b/lib-phone/ph-dialer/inc/predictive-number/PhDialerSearchInfo.h
new file mode 100644
index 0000000..e978b02
--- /dev/null
+++ b/lib-phone/ph-dialer/inc/predictive-number/PhDialerSearchInfo.h
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DIALER_SEARCH_INFO_H_
+#define _PH_DIALER_SEARCH_INFO_H_
+
+#include <string>
+#include <contacts.h>
+
+/**
+ * @brief This class provides contact info for predictive number functionality
+ */
+namespace Ph {
+ namespace Dialer {
+
+ enum InfoType {
+ IT_NONE = -1,
+ IT_SPEED_DIAL,
+ IT_LOG,
+ IT_NAME,
+ IT_NUMBER,
+ IT_MAX
+ };
+
+ class SearchInfo
+ {
+ public:
+ SearchInfo(InfoType type, const contacts_record_h record = NULL);
+
+ /**
+ * @brief Gets searchable string, according to info type
+ * @return Returns searchable string
+ */
+ std::string getSearchString() const;
+
+ /**
+ * @return info type value on successfully constructed object, otherwise IT_NONE value
+ */
+ InfoType getType() const;
+
+ /**
+ * @return contact ID on success or 0 if object constructed with errors
+ */
+ int getId() const;
+
+ /**
+ * @return speeddial ID on success or 0 if object constructed with errors
+ */
+ int getSpeedDialId() const;
+
+ /**
+ * @brief Gets normal or highlighted name
+ * @param[in] isHighlighted Should highlighted name be returned
+ * @return name of contact
+ *
+ * @remark This function returns reference to string,
+ * it should be used before object destruction
+ */
+ const std::string &getName(bool isHighlighted) const;
+
+ /**
+ * @brief Gets normal or highlighted number
+ * @param[in] isHighlighted Should highlighted number be returned
+ * @return number of contact
+ *
+ * @remark This function returns reference to string,
+ * it should be used before object destruction
+ */
+ const std::string &getNumber(bool isHighlighted) const;
+
+ /**
+ * @return highlighted text
+ *
+ * @remark This function returns reference to string,
+ * it should be used before object destruction
+ */
+ const std::string &getHighlightedText() const;
+
+ /**
+ * @brief Highlights match text
+ * @param[in] searchStr Search string
+ * @return true if text was highlighted
+ */
+ bool updateHighlightText(const std::string searchStr, size_t position);
+
+ private:
+ bool fillWithRecord(InfoType type, const contacts_record_h record);
+ void fillSpeedDial(const contacts_record_h record);
+ void fillLog(const contacts_record_h record);
+ void fillContact(InfoType type, const contacts_record_h record);
+
+ InfoType m_Type;
+ int m_Id;
+ int m_SpeedDialId;
+ std::string m_MaskedName;
+ std::string m_Name;
+ std::string m_Number;
+ std::string m_HighlightedText;
+ };
+ }
+}
+
+#endif //_PH_DIALER_SEARCH_INFO_H_
diff --git a/lib-phone/ph-dialer/res/edje/CMakeLists.txt b/lib-phone/ph-dialer/res/edje/CMakeLists.txt
new file mode 100644
index 0000000..aebb2a6
--- /dev/null
+++ b/lib-phone/ph-dialer/res/edje/CMakeLists.txt
@@ -0,0 +1,30 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+SET(PH_EDJ_PATH "${CMAKE_APP_RES_DIR}/edje/phone")
+
+ADD_CUSTOM_TARGET(ph-dialer-layout.edj
+ COMMAND edje_cc ${EDJE_CFLAGS}
+ -id ${CMAKE_CURRENT_SOURCE_DIR}/../images
+ ${CMAKE_CURRENT_SOURCE_DIR}/ph-dialer-layout.edc ph-dialer-layout.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ph-dialer-layout.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} ph-dialer-layout.edj)
+INSTALL(FILES ph-dialer-layout.edj DESTINATION ${PH_EDJ_PATH})
+
+ADD_CUSTOM_TARGET(ph-dialer-keypad.edj
+ COMMAND edje_cc ${EDJE_CFLAGS}
+ -id ${CMAKE_CURRENT_SOURCE_DIR}/../images
+ ${CMAKE_CURRENT_SOURCE_DIR}/ph-dialer-keypad.edc ph-dialer-keypad.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ph-dialer-keypad.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} ph-dialer-keypad.edj)
+INSTALL(FILES ph-dialer-keypad.edj DESTINATION ${PH_EDJ_PATH})
+
+ADD_CUSTOM_TARGET(ph-dialer-predictive.edj
+ COMMAND edje_cc ${EDJE_CFLAGS}
+ -id ${CMAKE_CURRENT_SOURCE_DIR}/../images
+ ${CMAKE_CURRENT_SOURCE_DIR}/ph-dialer-predictive.edc ph-dialer-predictive.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ph-dialer-predictive.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} ph-dialer-predictive.edj)
+INSTALL(FILES ph-dialer-predictive.edj DESTINATION ${PH_EDJ_PATH})
diff --git a/lib-phone/ph-dialer/res/edje/PhDialerLayout.h b/lib-phone/ph-dialer/res/edje/PhDialerLayout.h
new file mode 100644
index 0000000..de831f8
--- /dev/null
+++ b/lib-phone/ph-dialer/res/edje/PhDialerLayout.h
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DIALER_LAYOUT_H_
+#define _PH_DIALER_LAYOUT_H_
+
+#define GROUP_DIALER "dialer"
+#define PART_SWALLOW_ENTRY "swallow.entry"
+#define PART_SWALLOW_PREDICTIVE "swallow.predictive"
+#define PART_SWALLOW_KEYPAD "swallow.keypad"
+#define PART_SWALLOW_CALL "swallow.call"
+#define PART_SWALLOW_BACKSPACE "swallow.backspace"
+
+#define GROUP_PREDICTIVE_NO_RESULTS "predictive_noresults"
+#define PART_TEXT_ADD "text.add"
+
+#define GROUP_PREDICTIVE "predictive"
+#define PART_SWALLOW_THUMBNAIL "swallow.thumbnail"
+#define PART_SWALLOW_SPEEDDIAL "swallow.speeddial"
+#define PART_TEXT_NAME "text.name"
+#define PART_TEXT_NUMBER "text.number"
+#define PART_TEXT_1_LINE "text.1line"
+#define PART_SWALLOW_RESULTS "swallow.results"
+
+#define GROUP_SPEEDDIAL_NUMBER "speeddial_number"
+
+#define GROUP_PREDICTIVE_RES_COUNT "predictive_res_count"
+#define PART_TEXT_COUNT "text.count"
+#define PART_SWALLOW_ARROW "swallow.arrow"
+
+#define KEYPAD_NUMBER_1 "keypad_number_01"
+#define KEYPAD_NUMBER_2 "keypad_number_02"
+#define KEYPAD_NUMBER_3 "keypad_number_03"
+#define KEYPAD_NUMBER_4 "keypad_number_04"
+#define KEYPAD_NUMBER_5 "keypad_number_05"
+#define KEYPAD_NUMBER_6 "keypad_number_06"
+#define KEYPAD_NUMBER_7 "keypad_number_07"
+#define KEYPAD_NUMBER_8 "keypad_number_08"
+#define KEYPAD_NUMBER_9 "keypad_number_09"
+#define KEYPAD_NUMBER_ASTERISK "keypad_number_asterisk"
+#define KEYPAD_NUMBER_0 "keypad_number_00"
+#define KEYPAD_NUMBER_SHARP "keypad_number_sharp"
+
+#define KEYPAD_LETTERS_2 "keypad_english_01"
+#define KEYPAD_LETTERS_3 "keypad_english_02"
+#define KEYPAD_LETTERS_4 "keypad_english_03"
+#define KEYPAD_LETTERS_5 "keypad_english_04"
+#define KEYPAD_LETTERS_6 "keypad_english_05"
+#define KEYPAD_LETTERS_7 "keypad_english_06"
+#define KEYPAD_LETTERS_8 "keypad_english_07"
+#define KEYPAD_LETTERS_9 "keypad_english_08"
+#define KEYPAD_LETTERS_0 "keypad_english_10"
+
+#define BUTTON_CALL "keypad_ic_call"
+#define BUTTON_BACKSPACE "keypad_ic_back"
+
+#define PREDICTIVE_ADD "keypad_speed_dial_add"
+
+#define PREDICTIVE_RESULTS_MASK "predictive_results_mask"
+#define PREDICTIVE_ARROW "keypad_predictive_arrow"
+
+#define SPEEDDIAL_IC_BG "keypad_speed_dial_ic_bg.#"
+#define SPEEDDIAL_IC "keypad_speed_dial_ic"
+#define PART_TEXT_NUMBER "text.number"
+
+#define BUTTON_CALL_NORMAL 89, 176, 58, 255
+#define BUTTON_CALL_PRESSED 127, 184, 106, 255
+
+#endif /* _PH_DIALER_LAYOUT_H_ */
diff --git a/lib-phone/ph-dialer/res/edje/PhDialerLayoutColors.h b/lib-phone/ph-dialer/res/edje/PhDialerLayoutColors.h
new file mode 100644
index 0000000..161ba41
--- /dev/null
+++ b/lib-phone/ph-dialer/res/edje/PhDialerLayoutColors.h
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DIALER_LAYOUT_COLORS_H_
+#define _PH_DIALER_LAYOUT_COLORS_H_
+
+color_classes {
+ color_class {//AO005
+ name: "keypad_bg_normal";
+ color: 255 255 255 255;
+ }
+ color_class {//AO005P
+ name: "keypad_bg_pressed";
+ color: 61 185 204 77;
+ }
+ color_class {//AO003
+ name: "button_number";
+ color: 0 0 0 217;
+ }
+ color_class {//AO003D
+ name: "button_number_pressed";
+ color: 0 0 0 77;
+ }
+ color_class {//AO004
+ name: "button_letter";
+ color: 51 51 51 205;
+ }
+ color_class {//AO004D
+ name: "button_letter_pressed";
+ color: 51 51 51 64;
+ }
+ color_class {//AO002
+ name: "action_button_normal";
+ color: 90 176 58 255;
+ }
+ color_class {//AO002D
+ name: "action_button_pressed";
+ color: 120 84 97 255;
+ }
+ color_class {//AO008
+ name: "divider_bg";
+ color: 217 217 217 255;
+ }
+ color_class {//AO006
+ name: "predictive_bg";
+ color: 255 255 255 26;
+ }
+ color_class {
+ name: "predictive_bg_pressed";
+ color: 0 0 0 26;
+ }
+ color_class {//A03O003L1
+ name: "predictive_icon";
+ color: 61 185 204 128;
+ }
+ color_class {//A03O003
+ name: "predictive_icon_bg";
+ color: 255 255 255 255;
+ }
+ color_class {//AO001
+ name: "action_panel_bg";
+ color: 255 255 255 255;
+ }
+ color_class {//AO014
+ name: "action_button_icon_normal";
+ color: 255 255 255 255;
+ }
+ color_class {
+ name: "back_button_icon_normal";
+ color: 180 180 180 255;
+ }
+ color_class {//AO014D
+ name: "action_button_icon_pressed";
+ color: 255 255 255 128;
+ }
+ color_class {
+ name: "transparent_bg";
+ color: 0 0 0 0;
+ }
+ color_class {//AO027
+ name: "speeddial_ic_bg";
+ color: 250 250 250 102;
+ }
+}
+
+#endif /* _PH_DIALER_LAYOUT_COLORS_H_ */
diff --git a/lib-phone/ph-dialer/res/edje/PhDialerLayoutMetrics.h b/lib-phone/ph-dialer/res/edje/PhDialerLayoutMetrics.h
new file mode 100644
index 0000000..b3e9988
--- /dev/null
+++ b/lib-phone/ph-dialer/res/edje/PhDialerLayoutMetrics.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_DIALER_LAYOUT_METRICS_H_
+#define _PH_DIALER_LAYOUT_METRICS_H_
+
+#define TOTAL_W 720
+#define TOTAL_H 1120
+
+#define ENTRY_H 296
+#define PREDICTIVE_H 144
+#define KEYPAD_H 528
+#define ACTION_PANEL_H 152
+
+#define BUTTON_NUMBER_W 238
+#define BUTTON_NUMBER_H 130
+#define DIVIDER_SIZE 2
+
+#define BUTTON_PART_W 108
+#define BUTTON_PART_NUMBER_H 71
+#define BUTTON_PART_LETTERS_H 36
+
+#define OFFSET_BUTTON_PART_X 65
+#define OFFSET_BUTTON_PART_Y 12
+
+#define ACTION_BUTTONS_H 152
+
+#define BUTTON_CALL_SIZE 104
+#define BUTTON_CALL_X ((TOTAL_W - BUTTON_CALL_SIZE) / 2)
+#define BUTTON_CALL_Y ((ACTION_BUTTONS_H - BUTTON_CALL_SIZE) / 2)
+
+#define BUTTON_BACKSPACE_SIZE 90
+#define BUTTON_BACKSPACE_X 82
+#define BUTTON_BACKSPACE_Y ((ACTION_BUTTONS_H - BUTTON_BACKSPACE_SIZE) / 2)
+
+#define PREDICTIVE_PICTURE_BG_W 162
+#define PREDICTIVE_PICTURE_SIZE 98
+#define PREDICTIVE_MAIN_TEXT_H 57
+#define PREDICTIVE_SUB_TEXT_H 45
+#define PREDICTIVE_TEXT_W 446
+#define PREDICTIVE_PARTS_H 48
+#define PREDICTIVE_PARTS_W 48
+#define PREDICTIVE_RESULTS_BG_W 112
+#define PREDICTIVE_ADD_SIZE 80
+
+#define OFFSET_PREDICTIVE_Y 24
+#define OFFSET_PREDICTIVE_TEXT_Y ((PREDICTIVE_H - PREDICTIVE_MAIN_TEXT_H - PREDICTIVE_SUB_TEXT_H) / 2)
+#define OFFSET_PREDICTIVE_1_LINE_TEXT_Y ((PREDICTIVE_H - PREDICTIVE_MAIN_TEXT_H) / 2)
+#define SPACER_PREDICTIVE_Y 1
+#define SPACER_PREDICTIVE_X 32
+#define OFFSET_PREDICTIVE_ADD 32
+
+#define SPEEDDIAL_AREA_W 76
+#define SPEEDDIAL_AREA_H 45
+#define SPEEDDIAL_IC_SIZE 28
+#define SPEEDIAL_TEXT_W 18
+
+#define SPEEDDIAL_SPACER 12
+#define OFFSET_INNER_SPEEDDIAL_AREA_H ((SPEEDDIAL_AREA_W - SPEEDDIAL_IC_SIZE - SPEEDIAL_TEXT_W) / 2)
+#define OFFSET_T_SPEEDDIAL_IC 9
+#define OFFSET_B_SPEEDDIAL_IC 8
+
+
+#endif /* _PH_DIALER_LAYOUT_METRICS_H_ */
diff --git a/lib-phone/ph-dialer/res/edje/ph-dialer-keypad.edc b/lib-phone/ph-dialer/res/edje/ph-dialer-keypad.edc
new file mode 100644
index 0000000..0882b6a
--- /dev/null
+++ b/lib-phone/ph-dialer/res/edje/ph-dialer-keypad.edc
@@ -0,0 +1,153 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhDialerLayout.h"
+#include "PhDialerLayoutMetrics.h"
+#include "PhDialerLayoutColors.h"
+
+#define PART_BG \
+ part { \
+ name: "bg"; \
+ type: RECT; \
+ description { \
+ state: "default" 0.0; \
+ color_class: "keypad_bg_normal"; \
+ } \
+ description { \
+ state: "pressed" 0.0; \
+ color_class: "keypad_bg_pressed"; \
+ } \
+ }
+
+#define PART_NUMBER(number_name) \
+ part { \
+ name: "image.number"; \
+ type: IMAGE; \
+ description { \
+ state: "default" 0.0; \
+ aspect: 0.0 1.0; \
+ aspect_preference: SOURCE; \
+ color_class: "button_number"; \
+ rel1 { relative: (OFFSET_BUTTON_PART_X / BUTTON_NUMBER_W) (OFFSET_BUTTON_PART_Y / BUTTON_NUMBER_H); } \
+ rel2 { relative: ((OFFSET_BUTTON_PART_X + BUTTON_PART_W) / BUTTON_NUMBER_W) ((OFFSET_BUTTON_PART_Y + BUTTON_PART_NUMBER_H) / BUTTON_NUMBER_H); } \
+ image.normal: number_name".png"; \
+ } \
+ description { \
+ inherit: "default" 0.0; \
+ state: "pressed" 0.0; \
+ color_class: "button_number_pressed"; \
+ } \
+ }
+
+#define PART_LETTERS(letter_name) \
+ part { \
+ name: "image.letters"; \
+ type: IMAGE; \
+ description { \
+ state: "default" 0.0; \
+ aspect: 1.0 1.0; \
+ aspect_preference: SOURCE; \
+ color_class: "button_letter"; \
+ rel1 { relative: (OFFSET_BUTTON_PART_X / BUTTON_NUMBER_W) ((OFFSET_BUTTON_PART_Y + BUTTON_PART_NUMBER_H) / BUTTON_NUMBER_H); } \
+ rel2 { relative: ((OFFSET_BUTTON_PART_X + BUTTON_PART_W) / BUTTON_NUMBER_W) ((OFFSET_BUTTON_PART_Y + BUTTON_PART_NUMBER_H + BUTTON_PART_LETTERS_H) / BUTTON_NUMBER_H); } \
+ image.normal: letter_name".png"; \
+ } \
+ description { \
+ inherit: "default" 0.0; \
+ state: "pressed" 0.0; \
+ color_class: "button_letter_pressed"; \
+ } \
+ }
+
+#define PROGRAMS \
+ programs { \
+ program { \
+ name: "pressed"; \
+ signal: "mouse,down,*"; \
+ source: "*"; \
+ action: STATE_SET "pressed" 0.0; \
+ target: "bg"; \
+ } \
+ program { \
+ name: "unpressed"; \
+ signal: "mouse,up,*"; \
+ source: "*"; \
+ action: STATE_SET "default" 0.0; \
+ target: "bg"; \
+ } \
+ }
+
+#define KEYPAD_BUTTON_WITH_LETTERS(number_name, letter_name) \
+ group { \
+ name: number_name; \
+ parts { \
+ PART_BG \
+ PART_NUMBER(number_name) \
+ PART_LETTERS(letter_name) \
+ } \
+ PROGRAMS \
+ }
+
+#define KEYPAD_BUTTON_WITHOUT_LETTERS(number_name) \
+ group { \
+ name: number_name; \
+ parts { \
+ PART_BG \
+ PART_NUMBER(number_name) \
+ } \
+ PROGRAMS \
+ }
+
+images {
+ image: KEYPAD_NUMBER_1".png" COMP;
+ image: KEYPAD_NUMBER_2".png" COMP;
+ image: KEYPAD_NUMBER_3".png" COMP;
+ image: KEYPAD_NUMBER_4".png" COMP;
+ image: KEYPAD_NUMBER_5".png" COMP;
+ image: KEYPAD_NUMBER_6".png" COMP;
+ image: KEYPAD_NUMBER_7".png" COMP;
+ image: KEYPAD_NUMBER_8".png" COMP;
+ image: KEYPAD_NUMBER_9".png" COMP;
+ image: KEYPAD_NUMBER_ASTERISK".png" COMP;
+ image: KEYPAD_NUMBER_0".png" COMP;
+ image: KEYPAD_NUMBER_SHARP".png" COMP;
+
+ image: KEYPAD_LETTERS_2".png" COMP;
+ image: KEYPAD_LETTERS_3".png" COMP;
+ image: KEYPAD_LETTERS_4".png" COMP;
+ image: KEYPAD_LETTERS_5".png" COMP;
+ image: KEYPAD_LETTERS_6".png" COMP;
+ image: KEYPAD_LETTERS_7".png" COMP;
+ image: KEYPAD_LETTERS_8".png" COMP;
+ image: KEYPAD_LETTERS_9".png" COMP;
+ image: KEYPAD_LETTERS_0".png" COMP;
+}
+
+collections {
+ KEYPAD_BUTTON_WITHOUT_LETTERS(KEYPAD_NUMBER_1);
+ KEYPAD_BUTTON_WITH_LETTERS(KEYPAD_NUMBER_2, KEYPAD_LETTERS_2);
+ KEYPAD_BUTTON_WITH_LETTERS(KEYPAD_NUMBER_3, KEYPAD_LETTERS_3);
+ KEYPAD_BUTTON_WITH_LETTERS(KEYPAD_NUMBER_4, KEYPAD_LETTERS_4);
+ KEYPAD_BUTTON_WITH_LETTERS(KEYPAD_NUMBER_5, KEYPAD_LETTERS_5);
+ KEYPAD_BUTTON_WITH_LETTERS(KEYPAD_NUMBER_6, KEYPAD_LETTERS_6);
+ KEYPAD_BUTTON_WITH_LETTERS(KEYPAD_NUMBER_7, KEYPAD_LETTERS_7);
+ KEYPAD_BUTTON_WITH_LETTERS(KEYPAD_NUMBER_8, KEYPAD_LETTERS_8);
+ KEYPAD_BUTTON_WITH_LETTERS(KEYPAD_NUMBER_9, KEYPAD_LETTERS_9);
+ KEYPAD_BUTTON_WITHOUT_LETTERS(KEYPAD_NUMBER_ASTERISK);
+ KEYPAD_BUTTON_WITH_LETTERS(KEYPAD_NUMBER_0, KEYPAD_LETTERS_0);
+ KEYPAD_BUTTON_WITHOUT_LETTERS(KEYPAD_NUMBER_SHARP);
+} \ No newline at end of file
diff --git a/lib-phone/ph-dialer/res/edje/ph-dialer-layout.edc b/lib-phone/ph-dialer/res/edje/ph-dialer-layout.edc
new file mode 100644
index 0000000..b9f381b
--- /dev/null
+++ b/lib-phone/ph-dialer/res/edje/ph-dialer-layout.edc
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhDialerLayout.h"
+#include "PhDialerLayoutMetrics.h"
+#include "../../../../lib-common/res/edje/Utils.h"
+#include "PhDialerLayoutColors.h"
+
+
+collections {
+ base_scale: 2.6;
+
+ group {
+ name: GROUP_DIALER;
+
+ parts {
+ part {
+ name: PART_SWALLOW_ENTRY;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 (ENTRY_H / TOTAL_H); }
+ }
+ }
+ part {
+ name: PART_SWALLOW_PREDICTIVE;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: 0.0 ((ENTRY_H + 1) / TOTAL_H); }
+ rel2 { relative: 1.0 ((ENTRY_H + PREDICTIVE_H) / TOTAL_H); }
+ }
+ }
+ part {
+ name: "keypad_bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color_class: "divider_bg";
+ rel1 { relative: 0.0 ((ENTRY_H + PREDICTIVE_H + 1) / TOTAL_H); }
+ rel2 { relative: 1.0 ((ENTRY_H + PREDICTIVE_H + KEYPAD_H - DIVIDER_SIZE) / TOTAL_H); }
+ }
+ }
+ part {
+ name: PART_SWALLOW_KEYPAD;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "keypad_bg"; }
+ rel2 { relative: 1.0 1.0; to: "keypad_bg"; }
+ }
+ }
+ part {
+ name: "divider";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color_class: "divider_bg";
+ rel1 { relative: 0.0 1.0; to: "keypad_bg"; }
+ rel2 { relative: 1.0 ((ENTRY_H + PREDICTIVE_H + KEYPAD_H) / TOTAL_H); }
+ }
+ }
+ part {
+ name: "action_panel_bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color_class: "action_panel_bg";
+ rel1 { relative: 0.0 1.0; to: "divider"; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ part {
+ name: PART_SWALLOW_CALL;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: SOURCE;
+ fixed: 1 1;
+ rel1 { relative: (BUTTON_CALL_X / TOTAL_W) (BUTTON_CALL_Y / ACTION_PANEL_H); to: "action_panel_bg"; }
+ rel2 { relative: (1.0 - (BUTTON_CALL_X / TOTAL_W)) (1.0 - (BUTTON_CALL_Y / ACTION_PANEL_H)); to: "action_panel_bg"; }
+ }
+ }
+ part {
+ name: PART_SWALLOW_BACKSPACE;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: SOURCE;
+ fixed: 1 1;
+ rel1 { relative: (1.0 - ((BUTTON_BACKSPACE_X + BUTTON_BACKSPACE_SIZE) / TOTAL_W)) (BUTTON_BACKSPACE_Y / ACTION_PANEL_H); to: "action_panel_bg"; }
+ rel2 { relative: (1.0 - (BUTTON_BACKSPACE_X / TOTAL_W)) (1.0 - (BUTTON_BACKSPACE_Y / ACTION_PANEL_H)); to: "action_panel_bg"; }
+ }
+ }
+ }
+ }
+
+ RESOURCE_IMAGE_WITH_COLOR_CODE(BUTTON_CALL, "action_button_icon_normal");
+ RESOURCE_IMAGE_WITH_COLOR_CODE(BUTTON_BACKSPACE, "back_button_icon_normal");
+}
diff --git a/lib-phone/ph-dialer/res/edje/ph-dialer-predictive.edc b/lib-phone/ph-dialer/res/edje/ph-dialer-predictive.edc
new file mode 100644
index 0000000..7ff0bb9
--- /dev/null
+++ b/lib-phone/ph-dialer/res/edje/ph-dialer-predictive.edc
@@ -0,0 +1,388 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhDialerLayout.h"
+#include "PhDialerLayoutMetrics.h"
+#include "PhDialerLayoutColors.h"
+
+images {
+ image: PREDICTIVE_ADD".png" COMP;
+ image: PREDICTIVE_ARROW".png" COMP;
+ image: SPEEDDIAL_IC_BG".png" COMP;
+ image: SPEEDDIAL_IC".png" COMP;
+}
+
+styles {
+ style {
+ name: "add_to_contacts_style";
+ base: "font=Tizen:style=Light font_size=46 color=#FAFAFA ellipsis=1.0";
+ }
+ style {
+ name: "highlight_style";
+ base: "font=Tizen:style=Light font_size=40 color=#FAFAFA ellipsis=1.0";
+ tag: "match" "+color=#86EDFC";
+ }
+ style {
+ name: "small_highlight_style";
+ base: "font=Tizen:style=Light font_size=32 color=#FAFAFA ellipsis=1.0";
+ tag: "match" "+color=#86EDFC";
+ }
+ style {
+ name: "count_style";
+ base: "font=Tizen:style=Regular font_size=36 align=center color=#FAFAFA ellipsis=1.0";
+ }
+ style {
+ name: "predictive_speeddial_style";
+ base: "font=Tizen:style=Regular font_size=32 color=#FFFAFA";
+ }
+
+}
+
+collections {
+ base_scale: 2.6;
+ group {
+ name: GROUP_PREDICTIVE_NO_RESULTS;
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color_class: "predictive_bg";
+ }
+ }
+ part {
+ name: PART_TEXT_ADD;
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ text {
+ align: 0.1 0.5;
+ style: "add_to_contacts_style";
+ }
+ rel1 { relative: ((OFFSET_PREDICTIVE_ADD + 1) / TOTAL_W) ((OFFSET_PREDICTIVE_ADD + 1) / PREDICTIVE_H); }
+ rel2 { relative: ((TOTAL_W - PREDICTIVE_H) / TOTAL_W) ((OFFSET_PREDICTIVE_ADD + PREDICTIVE_ADD_SIZE) / PREDICTIVE_H); to_x: "add_bg"; }
+ }
+ }
+ part {
+ name: "add_bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color_class: "transparent_bg";
+ rel1 { relative: ((TOTAL_W - PREDICTIVE_H + 1) / TOTAL_W) 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ part {
+ name: "image.add";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: SOURCE;
+ image.normal: PREDICTIVE_ADD".png";
+ rel1 { relative: ((OFFSET_PREDICTIVE_ADD + 1) / PREDICTIVE_H) ((OFFSET_PREDICTIVE_ADD + 1) / PREDICTIVE_H); to:"add_bg"; }
+ rel2 { relative: ((OFFSET_PREDICTIVE_ADD + PREDICTIVE_ADD_SIZE) / PREDICTIVE_H) ((OFFSET_PREDICTIVE_ADD + PREDICTIVE_ADD_SIZE) / PREDICTIVE_H); to:"add_bg"; }
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color_class: "predictive_icon";
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "pressed";
+ signal: "mouse,down,*";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: "image.add";
+ }
+ program {
+ name: "unpressed";
+ signal: "mouse,up,*";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "image.add";
+ }
+ }
+ }
+
+ group {
+ name: GROUP_PREDICTIVE;
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color_class: "predictive_bg";
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color_class: "predictive_bg_pressed";
+ }
+ }
+ part {
+ name: "thumbnail_bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color_class: "transparent_bg";
+ rel2 { relative: (PREDICTIVE_PICTURE_BG_W / TOTAL_W) 1.0; }
+ }
+ }
+ part {
+ name: PART_SWALLOW_THUMBNAIL;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: ((SPACER_PREDICTIVE_X + 1) / PREDICTIVE_PICTURE_BG_W) ((OFFSET_PREDICTIVE_Y + 1) / PREDICTIVE_H); to: "thumbnail_bg"; }
+ rel2 { relative: ((SPACER_PREDICTIVE_X + PREDICTIVE_PICTURE_SIZE) / PREDICTIVE_PICTURE_BG_W) ((OFFSET_PREDICTIVE_Y + PREDICTIVE_PICTURE_SIZE) / PREDICTIVE_H); to: "thumbnail_bg"; }
+ }
+ }
+ part {
+ name: PART_SWALLOW_SPEEDDIAL;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: 1.0 ((OFFSET_PREDICTIVE_TEXT_Y + 1) / PREDICTIVE_H); to_x: "thumbnail_bg"; }
+ rel2 { relative: ((PREDICTIVE_PICTURE_BG_W + SPEEDDIAL_AREA_W) / TOTAL_W) ((OFFSET_PREDICTIVE_TEXT_Y + PREDICTIVE_MAIN_TEXT_H) / PREDICTIVE_H); }
+ }
+ description {
+ state: "speeddial" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: PART_TEXT_NAME;
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ text {
+ align: 0.0 0.5;
+ style: "highlight_style";
+ }
+ rel1 { relative: 1.0 ((OFFSET_PREDICTIVE_TEXT_Y + 1) / PREDICTIVE_H); to_x: "thumbnail_bg"; }
+ rel2 { relative: 0.0 ((OFFSET_PREDICTIVE_TEXT_Y + PREDICTIVE_MAIN_TEXT_H) / PREDICTIVE_H); to_x: "result_bg"; }
+ }
+ description {
+ state: "speeddial" 0.0;
+ inherit: "default" 0.0;
+ rel1 {
+ relative: ((PREDICTIVE_PICTURE_BG_W + SPEEDDIAL_AREA_W + SPEEDDIAL_SPACER) / TOTAL_W) ((OFFSET_PREDICTIVE_TEXT_Y + 1) / PREDICTIVE_H);
+ to_x: "";
+ }
+ rel2 {
+ relative: 0.0 ((OFFSET_PREDICTIVE_TEXT_Y + PREDICTIVE_MAIN_TEXT_H) / PREDICTIVE_H);
+ to_x: "result_bg";
+ }
+ }
+ }
+ part {
+ name: PART_TEXT_NUMBER;
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ text {
+ align: 0.0 0.5;
+ style: "small_highlight_style";
+ }
+ rel1 { relative: 1.0 ((OFFSET_PREDICTIVE_TEXT_Y + PREDICTIVE_MAIN_TEXT_H + 1) / PREDICTIVE_H); to_x: "thumbnail_bg"; }
+ rel2 { relative: 0.0 ((OFFSET_PREDICTIVE_TEXT_Y + PREDICTIVE_MAIN_TEXT_H + PREDICTIVE_SUB_TEXT_H) / PREDICTIVE_H); to_x: "result_bg"; }
+ }
+ }
+ part {
+ name: PART_TEXT_1_LINE;
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ text {
+ align: 0.0 0.5;
+ style: "highlight_style";
+ }
+ rel1 { relative: 1.0 ((OFFSET_PREDICTIVE_1_LINE_TEXT_Y + 1) / PREDICTIVE_H); to_x: "thumbnail_bg"; }
+ rel2 { relative: 0.0 ((OFFSET_PREDICTIVE_1_LINE_TEXT_Y + PREDICTIVE_MAIN_TEXT_H) / PREDICTIVE_H); to_x: "result_bg"; }
+ }
+ }
+ part {
+ name: "result_bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color_class: "transparent_bg";
+ rel1 { relative: ((PREDICTIVE_PICTURE_BG_W + PREDICTIVE_TEXT_W + 1) / TOTAL_W) 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ part {
+ name: PART_SWALLOW_RESULTS;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1.to: "result_bg";
+ rel2.to: "result_bg";
+ }
+ }
+ }
+ programs {
+ program {
+ name: "pressed";
+ signal: "mouse,down,*";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: "bg";
+ }
+ program {
+ name: "unpressed";
+ signal: "mouse,up,*";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ }
+ program {
+ name: "show_speeddial_icon";
+ signal: "show,speeddial,icon";
+ action: STATE_SET "speeddial" 0.0;
+ target: PART_SWALLOW_SPEEDDIAL;
+ target: PART_TEXT_NAME;
+ }
+ program {
+ name: "hide_speeddial_icon";
+ signal: "hide,speeddial,icon";
+ action: STATE_SET "default" 0.0;
+ target: PART_SWALLOW_SPEEDDIAL;
+ target: PART_TEXT_NAME;
+ }
+ }
+ }
+
+ group {
+ name: GROUP_SPEEDDIAL_NUMBER;
+ parts {
+ part {
+ name: "bg";
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ image.normal: SPEEDDIAL_IC_BG".png";
+ color_class: "speeddial_ic_bg";
+ }
+ }
+ part {
+ name: "swallow.icon";
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1.relative: (OFFSET_INNER_SPEEDDIAL_AREA_H / SPEEDDIAL_AREA_W) (OFFSET_T_SPEEDDIAL_IC / SPEEDDIAL_AREA_H);
+ rel2.relative: ((OFFSET_INNER_SPEEDDIAL_AREA_H + SPEEDDIAL_IC_SIZE) / SPEEDDIAL_AREA_W) ((OFFSET_T_SPEEDDIAL_IC + SPEEDDIAL_IC_SIZE) / SPEEDDIAL_AREA_H);
+ image.normal: SPEEDDIAL_IC".png";
+ }
+ }
+ part {
+ name: PART_TEXT_NUMBER;
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ to_x: "swallow.icon";
+ }
+ rel2.relative: 1.0 1.0;
+ text {
+ align: 0.0 0.5;
+ style: "predictive_speeddial_style";
+ }
+ }
+ }
+ }
+ }
+
+ group {
+ name: GROUP_PREDICTIVE_RES_COUNT;
+ parts {
+ part {
+ name: "bg";
+ type: "RECT";
+ description {
+ state: "default" 0.0;
+ color_class: "transparent_bg";
+ }
+ }
+ part {
+ name: PART_TEXT_COUNT;
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ text {
+ align: 0.5 0.0;
+ style: "count_style";
+ }
+ rel1 { relative: 0.0 ((OFFSET_PREDICTIVE_Y + 1) / PREDICTIVE_H); }
+ rel2 { relative: 1.0 ((OFFSET_PREDICTIVE_Y + PREDICTIVE_PARTS_H) / PREDICTIVE_H); }
+ }
+ }
+ part {
+ name: PART_SWALLOW_ARROW;
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: SOURCE;
+ rel1 { relative: ((SPACER_PREDICTIVE_X + 1) / PREDICTIVE_RESULTS_BG_W) ((OFFSET_PREDICTIVE_Y + PREDICTIVE_PARTS_H + SPACER_PREDICTIVE_Y + 1) / PREDICTIVE_H); }
+ rel2 { relative: ((SPACER_PREDICTIVE_X + PREDICTIVE_PARTS_W) / PREDICTIVE_RESULTS_BG_W) ((OFFSET_PREDICTIVE_Y + 2 * PREDICTIVE_PARTS_H + SPACER_PREDICTIVE_Y) / PREDICTIVE_H); }
+ image.normal: PREDICTIVE_ARROW".png";
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color_class: "predictive_icon";
+ }
+ }
+ }
+ programs {
+ program {
+ name: "pressed";
+ signal: "mouse,down,*";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: PART_SWALLOW_ARROW;
+ }
+ program {
+ name: "unpressed";
+ signal: "mouse,up,*";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: PART_SWALLOW_ARROW;
+ }
+ }
+ }
+}
diff --git a/lib-phone/ph-dialer/res/images/contacts_caller_id_default_02.png b/lib-phone/ph-dialer/res/images/contacts_caller_id_default_02.png
new file mode 100644
index 0000000..9715b8b
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/contacts_caller_id_default_02.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/contacts_caller_id_default_bg_02.png b/lib-phone/ph-dialer/res/images/contacts_caller_id_default_bg_02.png
new file mode 100644
index 0000000..6c51cac
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/contacts_caller_id_default_bg_02.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/contacts_caller_id_default_masking_02.png b/lib-phone/ph-dialer/res/images/contacts_caller_id_default_masking_02.png
new file mode 100644
index 0000000..37787dd
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/contacts_caller_id_default_masking_02.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/default_contact.png b/lib-phone/ph-dialer/res/images/default_contact.png
new file mode 100755
index 0000000..c63d7f0
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/default_contact.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_english_01.png b/lib-phone/ph-dialer/res/images/keypad_english_01.png
new file mode 100644
index 0000000..309dd86
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_english_01.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_english_02.png b/lib-phone/ph-dialer/res/images/keypad_english_02.png
new file mode 100644
index 0000000..2fa7a0b
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_english_02.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_english_03.png b/lib-phone/ph-dialer/res/images/keypad_english_03.png
new file mode 100644
index 0000000..98f7ad1
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_english_03.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_english_04.png b/lib-phone/ph-dialer/res/images/keypad_english_04.png
new file mode 100644
index 0000000..6b6a172
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_english_04.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_english_05.png b/lib-phone/ph-dialer/res/images/keypad_english_05.png
new file mode 100644
index 0000000..288854f
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_english_05.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_english_06.png b/lib-phone/ph-dialer/res/images/keypad_english_06.png
new file mode 100644
index 0000000..f346c46
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_english_06.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_english_07.png b/lib-phone/ph-dialer/res/images/keypad_english_07.png
new file mode 100644
index 0000000..e70e9a8
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_english_07.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_english_08.png b/lib-phone/ph-dialer/res/images/keypad_english_08.png
new file mode 100644
index 0000000..f4de8af
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_english_08.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_english_10.png b/lib-phone/ph-dialer/res/images/keypad_english_10.png
new file mode 100644
index 0000000..2072f56
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_english_10.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_ic_back.png b/lib-phone/ph-dialer/res/images/keypad_ic_back.png
new file mode 100644
index 0000000..2f08d97
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_ic_back.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_ic_call.png b/lib-phone/ph-dialer/res/images/keypad_ic_call.png
new file mode 100644
index 0000000..526483c
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_ic_call.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_number_00.png b/lib-phone/ph-dialer/res/images/keypad_number_00.png
new file mode 100644
index 0000000..255c897
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_number_00.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_number_01.png b/lib-phone/ph-dialer/res/images/keypad_number_01.png
new file mode 100644
index 0000000..409bfb8
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_number_01.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_number_02.png b/lib-phone/ph-dialer/res/images/keypad_number_02.png
new file mode 100644
index 0000000..b12b92f
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_number_02.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_number_03.png b/lib-phone/ph-dialer/res/images/keypad_number_03.png
new file mode 100644
index 0000000..058876c
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_number_03.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_number_04.png b/lib-phone/ph-dialer/res/images/keypad_number_04.png
new file mode 100644
index 0000000..3906f18
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_number_04.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_number_05.png b/lib-phone/ph-dialer/res/images/keypad_number_05.png
new file mode 100644
index 0000000..a104591
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_number_05.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_number_06.png b/lib-phone/ph-dialer/res/images/keypad_number_06.png
new file mode 100644
index 0000000..4c0893b
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_number_06.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_number_07.png b/lib-phone/ph-dialer/res/images/keypad_number_07.png
new file mode 100644
index 0000000..e9eb6a0
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_number_07.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_number_08.png b/lib-phone/ph-dialer/res/images/keypad_number_08.png
new file mode 100644
index 0000000..f6bd01b
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_number_08.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_number_09.png b/lib-phone/ph-dialer/res/images/keypad_number_09.png
new file mode 100644
index 0000000..ede6db2
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_number_09.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_number_asterisk.png b/lib-phone/ph-dialer/res/images/keypad_number_asterisk.png
new file mode 100644
index 0000000..923ea88
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_number_asterisk.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_number_sharp.png b/lib-phone/ph-dialer/res/images/keypad_number_sharp.png
new file mode 100644
index 0000000..e0118d4
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_number_sharp.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_predictive_arrow.png b/lib-phone/ph-dialer/res/images/keypad_predictive_arrow.png
new file mode 100644
index 0000000..7617f4e
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_predictive_arrow.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_speed_dial_add.png b/lib-phone/ph-dialer/res/images/keypad_speed_dial_add.png
new file mode 100644
index 0000000..39c6a86
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_speed_dial_add.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_speed_dial_ic.png b/lib-phone/ph-dialer/res/images/keypad_speed_dial_ic.png
new file mode 100644
index 0000000..7297b95
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_speed_dial_ic.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/keypad_speed_dial_ic_bg.#.png b/lib-phone/ph-dialer/res/images/keypad_speed_dial_ic_bg.#.png
new file mode 100644
index 0000000..584f366
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/keypad_speed_dial_ic_bg.#.png
Binary files differ
diff --git a/lib-phone/ph-dialer/res/images/predictive_results_mask.png b/lib-phone/ph-dialer/res/images/predictive_results_mask.png
new file mode 100644
index 0000000..b247e5d
--- /dev/null
+++ b/lib-phone/ph-dialer/res/images/predictive_results_mask.png
Binary files differ
diff --git a/lib-phone/ph-dialer/src/PhDialerAddToContactsPopup.cpp b/lib-phone/ph-dialer/src/PhDialerAddToContactsPopup.cpp
new file mode 100644
index 0000000..4ed3e85
--- /dev/null
+++ b/lib-phone/ph-dialer/src/PhDialerAddToContactsPopup.cpp
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ContactsAppControl.h"
+#include "PhDialerAddToContactsPopup.h"
+#include "PhStrings.h"
+#include "WDebugBase.h"
+
+#define STYLE_ITEM "type1"
+#define PART_MAIN_TEXT "elm.text"
+
+PhDialerAddToContactsPopup::PhDialerAddToContactsPopup(std::string number)
+ : m_Number(std::move(number))
+{}
+
+Evas_Object* PhDialerAddToContactsPopup::onCreate(Evas_Object *parent, void *param)
+{
+ setTitle(PAT_(PH_KPD_BUTTON_ADD_TO_CONTACTS_ABB2));
+ setContent(std::bind(&PhDialerAddToContactsPopup::createGenlist, this, std::placeholders::_1));
+
+ Evas_Object *popup = WPopup::onCreate(parent, param);
+ elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
+
+ return popup;
+}
+
+Evas_Object *PhDialerAddToContactsPopup::createGenlist(Evas_Object *parent)
+{
+ Evas_Object *genlist = elm_genlist_add(parent);
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_genlist_mode_set( genlist, ELM_LIST_COMPRESS );
+ elm_scroller_content_min_limit( genlist, EINA_FALSE, EINA_TRUE );
+
+ Elm_Genlist_Item_Class *itc = createItemClass();
+
+ elm_genlist_item_append(genlist, itc, PAT_(PH_LOGS_BUTTON_CREATE_CONTACT_ABB),
+ NULL, ELM_GENLIST_ITEM_NONE, launchContactCreate, this);
+ elm_genlist_item_append(genlist, itc, PAT_(PH_LOGS_BUTTON_UPDATE_CONTACT_ABB2),
+ NULL, ELM_GENLIST_ITEM_NONE, launchContactUpdate, this);
+
+ elm_genlist_item_class_free(itc);
+ return genlist;
+}
+
+Elm_Genlist_Item_Class *PhDialerAddToContactsPopup::createItemClass()
+{
+ Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
+ WPRET_VM(!itc, NULL, "elm_genlist_item_class_new() failed");
+ itc->item_style = STYLE_ITEM;
+ itc->func.text_get = getItemText;
+ return itc;
+}
+
+char *PhDialerAddToContactsPopup::getItemText(void *data, Evas_Object *obj, const char *part)
+{
+ WPRET_VM(!data, NULL, "data = NULL");
+ const char *text = (const char *)data;
+
+ if(!strcmp(part, PART_MAIN_TEXT)) {
+ return strdup(text);
+ }
+
+ return NULL;
+}
+
+void PhDialerAddToContactsPopup::launchContactCreate(void *data,
+ Evas_Object *obj, void *event_info)
+{
+ WPRET_M(!data, "data = NULL");
+ PhDialerAddToContactsPopup *popup = (PhDialerAddToContactsPopup*)data;
+
+ ::launchContactCreate(popup->m_Number.c_str());
+ popup->destroy();
+}
+
+void PhDialerAddToContactsPopup::launchContactUpdate(void *data,
+ Evas_Object *obj, void *event_info)
+{
+ WPRET_M(!data, "data = NULL");
+ PhDialerAddToContactsPopup *popup = (PhDialerAddToContactsPopup*)data;
+
+ ::launchContactEdit(0, popup->m_Number.c_str());
+ popup->destroy();
+}
diff --git a/lib-phone/ph-dialer/src/PhDialerEntry.cpp b/lib-phone/ph-dialer/src/PhDialerEntry.cpp
new file mode 100644
index 0000000..960bb27
--- /dev/null
+++ b/lib-phone/ph-dialer/src/PhDialerEntry.cpp
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhDialerEntry.h"
+#include <Elementary.h>
+#include <efl_extension.h>
+
+std::string PhDialerEntry::getNumber()
+{
+ std::string number;
+
+ char *str = elm_entry_markup_to_utf8(elm_entry_entry_get(getEvasObj()));
+ if (str) {
+ number = str;
+ free(str);
+ }
+
+ return number;
+}
+
+void PhDialerEntry::setNumber(const std::string &number)
+{
+ elm_entry_entry_set(getEvasObj(), number.c_str());
+ elm_entry_cursor_line_end_set(getEvasObj());
+}
+
+void PhDialerEntry::insert(char c)
+{
+ char str[] = { c, '\0' };
+ elm_entry_entry_insert(getEvasObj(), str);
+}
+
+void PhDialerEntry::popBack()
+{
+ int pos = elm_entry_cursor_pos_get(getEvasObj());
+ if (pos > 0) {
+ elm_entry_select_region_set(getEvasObj(), pos - 1, pos);
+ elm_entry_entry_insert(getEvasObj(), "");
+ }
+}
+
+void PhDialerEntry::clear()
+{
+ elm_entry_entry_set(getEvasObj(), "");
+}
+
+void PhDialerEntry::setOnChanged(std::function<void(PhDialerEntry&)> callback)
+{
+ m_Changed = std::move(callback);
+}
+
+Evas_Object *PhDialerEntry::onCreate(Evas_Object *parent, void *param)
+{
+ Evas_Object *entry = elm_entry_add(parent);
+ elm_entry_single_line_set(entry, EINA_TRUE);
+ elm_entry_scrollable_set(entry, EINA_TRUE);
+ elm_entry_input_panel_enabled_set(entry, EINA_FALSE);
+
+ static Elm_Entry_Filter_Accept_Set filter = { "+*#;,1234567890", NULL };
+ elm_entry_markup_filter_append(entry, elm_entry_filter_accept_set, &filter);
+ elm_entry_text_style_user_push(entry, "DEFAULT='font=Tizen:style=Light font_size=60 color=#fff align=center'");
+
+ eext_entry_selection_back_event_allow_set(entry, EINA_TRUE);
+ evas_object_smart_callback_add(entry, "changed",
+ &PhDialerEntry::onChanged, this);
+ return entry;
+}
+
+void PhDialerEntry::onChanged(void *data, Evas_Object *obj, void *event_info)
+{
+ PhDialerEntry *entry = (PhDialerEntry*) data;
+ if (entry->m_Changed) {
+ entry->m_Changed(*entry);
+ }
+}
diff --git a/lib-phone/ph-dialer/src/PhDialerKey.cpp b/lib-phone/ph-dialer/src/PhDialerKey.cpp
new file mode 100644
index 0000000..bf42fb9
--- /dev/null
+++ b/lib-phone/ph-dialer/src/PhDialerKey.cpp
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhDialerKey.h"
+#include "ContactsCommon.h"
+#include "ContactsDebug.h"
+#include "PhDialerLayout.h"
+
+#include <Elementary.h>
+#include <feedback.h>
+
+#define DIALER_LAYOUT_EDJ "phone/ph-dialer-keypad.edj"
+
+namespace
+{
+ char values[] = {
+ '1',
+ '2',
+ '3',
+ '4',
+ '5',
+ '6',
+ '7',
+ '8',
+ '9',
+ '*',
+ '0',
+ '#',
+ };
+
+ const char *groups[] = {
+ KEYPAD_NUMBER_1,
+ KEYPAD_NUMBER_2,
+ KEYPAD_NUMBER_3,
+ KEYPAD_NUMBER_4,
+ KEYPAD_NUMBER_5,
+ KEYPAD_NUMBER_6,
+ KEYPAD_NUMBER_7,
+ KEYPAD_NUMBER_8,
+ KEYPAD_NUMBER_9,
+ KEYPAD_NUMBER_ASTERISK,
+ KEYPAD_NUMBER_0,
+ KEYPAD_NUMBER_SHARP
+ };
+
+ const feedback_pattern_e patterns[] = {
+ FEEDBACK_PATTERN_KEY1,
+ FEEDBACK_PATTERN_KEY2,
+ FEEDBACK_PATTERN_KEY3,
+ FEEDBACK_PATTERN_KEY4,
+ FEEDBACK_PATTERN_KEY5,
+ FEEDBACK_PATTERN_KEY6,
+ FEEDBACK_PATTERN_KEY7,
+ FEEDBACK_PATTERN_KEY8,
+ FEEDBACK_PATTERN_KEY9,
+ FEEDBACK_PATTERN_KEY_STAR,
+ FEEDBACK_PATTERN_KEY0,
+ FEEDBACK_PATTERN_KEY_SHARP
+ };
+}
+
+PhDialerKey::PhDialerKey(Id id)
+ : m_Id(id), m_Value(values[id]), m_Tone(0)
+{
+}
+
+Evas_Object *PhDialerKey::onCreate(Evas_Object *parent, void *param)
+{
+ static const std::string path = ContactsCommon::getAppEdjePath(DIALER_LAYOUT_EDJ);
+ Evas_Object *layout = elm_layout_add(parent);
+ Eina_Bool res = elm_layout_file_set(layout, path.c_str(), groups[m_Id]);
+ WPWARN(res != EINA_TRUE, "elm_layout_file_set() failed");
+
+ evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_DOWN,
+ &PhDialerKey::onMouseDown, this);
+
+ return layout;
+}
+
+char PhDialerKey::getValue() const
+{
+ return m_Value;
+}
+
+PhDialerKey::Id PhDialerKey::getId() const
+{
+ return m_Id;
+}
+
+void PhDialerKey::onMouseDown(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ PhDialerKey *key = (PhDialerKey*) data;
+ feedback_play(patterns[key->m_Id]);
+}
diff --git a/lib-phone/ph-dialer/src/PhDialerResultListPopup.cpp b/lib-phone/ph-dialer/src/PhDialerResultListPopup.cpp
new file mode 100644
index 0000000..f923c18
--- /dev/null
+++ b/lib-phone/ph-dialer/src/PhDialerResultListPopup.cpp
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhDialerResultListPopup.h"
+#include "PhDialerLayout.h"
+#include "PhDialerPredictiveNumberUtils.h"
+#include "PhStrings.h"
+#include "PhDialerEntry.h"
+#include "ContactsCommon.h"
+#include "ContactsDebug.h"
+
+#include <Elementary.h>
+
+#define PREDICTIVE_LAYOUT_EDJ "phone/ph-dialer-predictive.edj"
+
+#define STYLE_ITEM "type1"
+#define PART_MAIN_TEXT "elm.text"
+#define PART_SUB_TEXT "elm.text.sub"
+#define PART_CONTENT "elm.swallow.icon"
+
+using namespace Ph::Dialer;
+
+namespace
+{
+ const std::string layoutFilePath = ContactsCommon::getAppEdjePath(PREDICTIVE_LAYOUT_EDJ);
+}
+
+PhDialerResultListPopup::PhDialerResultListPopup(const Ph::Dialer::SearchList &result, PhDialerEntry &entry)
+ : m_Result(result), m_Entry(entry)
+{}
+
+Evas_Object* PhDialerResultListPopup::onCreate(Evas_Object *parent, void *param)
+{
+ const size_t bufferSize = 32;
+ char buffer[bufferSize];
+ snprintf(buffer, bufferSize, PAT_(PH_KPD_HEADER_SEARCH_RESULTS_HPD_ABB), m_Result.size());
+
+ setTitle(buffer);
+ setContent(std::bind(&PhDialerResultListPopup::createContactList, this, std::placeholders::_1));
+
+ Evas_Object *popup = WPopup::onCreate(parent, param);
+ elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
+ elm_object_style_set(popup, "theme_bg");
+ elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
+
+ return popup;
+}
+
+Evas_Object* PhDialerResultListPopup::createContactList(Evas_Object *parent)
+{
+ Evas_Object *genlist = elm_genlist_add(parent);
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_genlist_mode_set( genlist, ELM_LIST_COMPRESS );
+
+ Elm_Genlist_Item_Class *itc = createItemClass();
+
+ for(auto &info : m_Result) {
+ elm_genlist_item_append(genlist, itc, info.get(), nullptr,
+ ELM_GENLIST_ITEM_NONE, onItemClicked, this);
+ }
+
+ elm_genlist_item_class_free(itc);
+ return genlist;
+}
+
+Elm_Genlist_Item_Class* PhDialerResultListPopup::createItemClass()
+{
+ Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
+ WPRET_VM(!itc, NULL, "elm_genlist_item_class_new() failed");
+ itc->item_style = STYLE_ITEM;
+ itc->func.text_get = getItemText;
+ itc->func.content_get = [](void *data, Evas_Object *obj, const char *part) -> Evas_Object* {
+ const SearchInfo &info = *(SearchInfo*)data;
+
+ if(!strcmp(part, PART_CONTENT)) {
+ return Utils::createThumbnail(obj, info.getId());
+ }
+
+ return nullptr;
+ };
+
+ return itc;
+}
+
+char *PhDialerResultListPopup::getItemText(void *data, Evas_Object *obj, const char *part)
+{
+ const SearchInfo &info = *(SearchInfo*)data;
+ const std::string &name = info.getName(true);
+ const std::string &number = info.getNumber(true);
+
+ if(!strcmp(part, PART_MAIN_TEXT)) {
+ return strdup(name.empty() ? number.c_str() : name.c_str());
+ } else if(!strcmp(part, PART_SUB_TEXT)) {
+ if (!name.empty()) {
+ return strdup(number.c_str());
+ }
+ }
+
+ return nullptr;
+}
+
+void PhDialerResultListPopup::onItemClicked(void* data, Evas_Object* obj, void* event_info)
+{
+ elm_genlist_item_selected_set((Elm_Object_Item*)event_info, false);
+
+ const SearchInfo *info = (SearchInfo*)elm_object_item_data_get((Elm_Object_Item*)event_info);
+
+ PhDialerResultListPopup *self = (PhDialerResultListPopup*)data;
+ self->m_Entry.setNumber(info->getNumber(false));
+
+ self->destroy();
+}
diff --git a/lib-phone/ph-dialer/src/PhDialerSearchController.cpp b/lib-phone/ph-dialer/src/PhDialerSearchController.cpp
new file mode 100644
index 0000000..6ae90fd
--- /dev/null
+++ b/lib-phone/ph-dialer/src/PhDialerSearchController.cpp
@@ -0,0 +1,210 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhDialerSearchController.h"
+#include "PhDialerAddToContactsPopup.h"
+#include "PhDialerResultListPopup.h"
+#include "PhDialerView.h"
+#include "PhDialerPredictiveNumber.h"
+#include "PhDialerPredictiveNumberUtils.h"
+#include "PhDialerLayout.h"
+#include "PhDialerEntry.h"
+#include "PhPath.h"
+#include "PhStrings.h"
+#include "ContactsDebug.h"
+
+#define PREDICTIVE_LAYOUT_EDJ "phone/ph-dialer-predictive.edj"
+
+using namespace Ph::Dialer;
+
+namespace
+{
+ const std::string layoutFilePath = ContactsCommon::getAppEdjePath(PREDICTIVE_LAYOUT_EDJ);
+}
+
+PhDialerSearchController::PhDialerSearchController()
+ : m_View(nullptr),
+ m_PredictiveNumber(new PredictiveNumber()),
+ m_CurrentLayoutType(LayoutType::NONE),
+ m_Layout(nullptr),
+ m_ResultLayout(nullptr)
+{
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_db_add_changed_cb(_contacts_contact._uri, &PhDialerSearchController::onDbChanged, this);
+ WPWARN(CONTACTS_ERROR_NONE != err,"contacts_db_add_changed_cb() Failed(%d)", err);
+}
+
+PhDialerSearchController::~PhDialerSearchController()
+{
+ int err = CONTACTS_ERROR_NONE;
+ err = contacts_db_remove_changed_cb(_contacts_contact._uri, &PhDialerSearchController::onDbChanged, this);
+ WPWARN(CONTACTS_ERROR_NONE != err,"contacts_db_add_changed_cb() Failed(%d)", err);
+}
+
+void PhDialerSearchController::create(PhDialerView &view)
+{
+ m_View = &view;
+ PhDialerEntry *entry = m_View->getEntry();
+
+ entry->setOnChanged(std::bind(&PhDialerSearchController::onEntryChanged, this, std::placeholders::_1));
+}
+
+void PhDialerSearchController::setLayout(const std::string &number)
+{
+ if(number.empty()) {
+ m_Layout = nullptr;
+ m_CurrentLayoutType = LayoutType::NONE;
+ m_View->setPredictiveLayout(nullptr);
+ } else {
+ if(m_PredictiveNumber->empty()) {
+ setNoContactsLayout();
+ } else {
+ const SearchList &result = *m_PredictiveNumber->getSearchResult();
+ setLayoutWithContacts(*result.front());
+ setResultLayout(m_Layout, result.size());
+ }
+ }
+}
+
+void PhDialerSearchController::onEntryChanged(PhDialerEntry &entry)
+{
+ std::string number(entry.getNumber());
+ m_PredictiveNumber->search(number);
+
+ setLayout(number);
+}
+
+void PhDialerSearchController::setNoContactsLayout()
+{
+ if(m_CurrentLayoutType == LayoutType::NO_CONTACTS) {
+ return;
+ }
+ m_CurrentLayoutType = LayoutType::NO_CONTACTS;
+
+ m_Layout = elm_layout_add(m_View->getEvasObj());
+ elm_layout_file_set(m_Layout, layoutFilePath.c_str(), GROUP_PREDICTIVE_NO_RESULTS);
+ elm_object_part_text_set(m_Layout, PART_TEXT_ADD, PH_KPD_BUTTON_ADD_TO_CONTACTS_ABB2);
+ elm_object_domain_part_text_translatable_set(m_Layout, PART_TEXT_ADD, STRING_PACKAGE, true);
+
+ evas_object_event_callback_add(m_Layout, EVAS_CALLBACK_MOUSE_UP, &createAddToContactsPopup, this);
+
+ m_View->setPredictiveLayout(m_Layout);
+}
+
+void PhDialerSearchController::setLayoutWithContacts(const Ph::Dialer::SearchInfo &info)
+{
+ if(m_CurrentLayoutType != LayoutType::ONE_CONTACT
+ && m_CurrentLayoutType != LayoutType::FEW_CONTACTS) {
+
+ m_CurrentLayoutType = LayoutType::ONE_CONTACT;
+
+ m_Layout = elm_layout_add(m_View->getEvasObj());
+ elm_layout_file_set(m_Layout, layoutFilePath.c_str(), GROUP_PREDICTIVE);
+
+ evas_object_event_callback_add(m_Layout, EVAS_CALLBACK_MOUSE_UP,
+ [](void *data, Evas *e, Evas_Object *obj, void *event_info) {
+ PhDialerSearchController *self = (PhDialerSearchController*)data;
+ const SearchList *result = self->m_PredictiveNumber->getSearchResult();
+ if (result) {
+ SearchInfo &info = *result->front();
+ self->m_View->getEntry()->setNumber(info.getNumber(false));
+ }
+ },
+ this);
+
+ m_View->setPredictiveLayout(m_Layout);
+ }
+
+ if(info.getType() == IT_SPEED_DIAL) {
+ createSpeeddialLayout(m_Layout, info);
+ elm_object_signal_emit(m_Layout, "show,speeddial,icon", "");
+ } else {
+ elm_object_signal_emit(m_Layout, "hide,speeddial,icon", "");
+ }
+
+ fillPredictiveLayout(m_Layout, info);
+}
+
+void PhDialerSearchController::setResultLayout(Evas_Object *parent, size_t count)
+{
+ if(count > 1) {
+ if(m_CurrentLayoutType != LayoutType::FEW_CONTACTS) {
+ m_CurrentLayoutType = LayoutType::FEW_CONTACTS;
+
+ m_ResultLayout = elm_layout_add(parent);
+ elm_layout_file_set(m_ResultLayout, layoutFilePath.c_str(), GROUP_PREDICTIVE_RES_COUNT);
+
+ evas_object_event_callback_add(m_ResultLayout, EVAS_CALLBACK_MOUSE_UP, &showResulListPopup, this);
+ evas_object_propagate_events_set(m_ResultLayout, EINA_FALSE);
+ }
+
+ elm_object_part_text_set(m_ResultLayout, PART_TEXT_COUNT, std::to_string(count).c_str());
+ } else {
+ m_ResultLayout = nullptr;
+ m_CurrentLayoutType = LayoutType::ONE_CONTACT;
+ }
+ elm_object_part_content_set(parent, PART_SWALLOW_RESULTS, m_ResultLayout);
+}
+
+void PhDialerSearchController::createSpeeddialLayout(Evas_Object *parent, const Ph::Dialer::SearchInfo &info)
+{
+ Evas_Object *speeddialLayout = elm_layout_add(parent);
+ elm_layout_file_set(speeddialLayout, layoutFilePath.c_str(), GROUP_SPEEDDIAL_NUMBER);
+ elm_object_part_text_set(speeddialLayout, PART_TEXT_NUMBER, info.getSearchString().c_str());
+
+ elm_object_part_content_set(parent, PART_SWALLOW_SPEEDDIAL, speeddialLayout);
+}
+
+void PhDialerSearchController::fillPredictiveLayout(Evas_Object *layout, const Ph::Dialer::SearchInfo &info)
+{
+ elm_object_part_content_set(layout, PART_SWALLOW_THUMBNAIL,
+ Utils::createThumbnail(layout, info.getId()));
+
+ if(info.getName(false).empty()) {
+ elm_object_part_text_set(layout, PART_TEXT_1_LINE, info.getNumber(true).c_str());
+ elm_object_part_text_set(layout, PART_TEXT_NAME, "");
+ elm_object_part_text_set(layout, PART_TEXT_NUMBER, "");
+ } else {
+ elm_object_part_text_set(layout, PART_TEXT_1_LINE, "");
+ elm_object_part_text_set(layout, PART_TEXT_NAME, info.getName(true).c_str());
+ elm_object_part_text_set(layout, PART_TEXT_NUMBER, info.getNumber(true).c_str());
+ }
+}
+
+void PhDialerSearchController::showResulListPopup(void* data, Evas* e,
+ Evas_Object* obj, void* event_info)
+{
+ PhDialerSearchController *searchController = (PhDialerSearchController*)data;
+ searchController->m_View->attachPopup(
+ new PhDialerResultListPopup(*searchController->m_PredictiveNumber->getSearchResult(), *searchController->m_View->getEntry()));
+}
+
+void PhDialerSearchController::createAddToContactsPopup(void* data, Evas* e,
+ Evas_Object* obj, void* event_info)
+{
+ WPRET_M(!data, "data = NULL");
+ PhDialerSearchController *searchController = (PhDialerSearchController*)data;
+ searchController->m_View->attachPopup(new PhDialerAddToContactsPopup(searchController->m_View->getEntry()->getNumber()));
+}
+
+void PhDialerSearchController::onDbChanged(const char *view_uri, void *data)
+{
+ PhDialerSearchController* controller = (PhDialerSearchController*) data;
+ std::string number(controller->m_View->getEntry()->getNumber());
+ controller->m_PredictiveNumber->searchFromScratch(number);
+ controller->setLayout(number);
+}
diff --git a/lib-phone/ph-dialer/src/PhDialerSpeeddialPopup.cpp b/lib-phone/ph-dialer/src/PhDialerSpeeddialPopup.cpp
new file mode 100644
index 0000000..83fbd52
--- /dev/null
+++ b/lib-phone/ph-dialer/src/PhDialerSpeeddialPopup.cpp
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhDialerSpeeddialPopup.h"
+#include "PhCommon.h"
+
+#include "ContactsDebug.h"
+#include "ContactsAppControl.h"
+#include "ContactsLocalization.h"
+
+#include <contacts.h>
+#include <Elementary.h>
+#include <notification.h>
+
+PhDialerSpeeddialPopup::PhDialerSpeeddialPopup(int speedNumber)
+ : m_SpeedNumber(speedNumber)
+{
+}
+
+Evas_Object *PhDialerSpeeddialPopup::onCreate(Evas_Object* parent, void* param)
+{
+ setTextTranslatable(TEXT_DOMAIN);
+ setTitle("IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB");
+ setContent("IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW");
+
+ using namespace std::placeholders;
+ addButton("IDS_LOGS_BUTTON_CANCEL_ABB3", nullptr);
+ addButton("IDS_PB_BUTTON_OK_ABB2", std::bind(&PhDialerSpeeddialPopup::onOkPressed, this, _1));
+ return WPopup::onCreate(parent, param);
+}
+
+void PhDialerSpeeddialPopup::onOkPressed(bool *destroyPopup)
+{
+ int err = launchContactPick(APP_CONTROL_DATA_SELECTION_MODE_SINGLE,
+ APP_CONTROL_DATA_TYPE_PHONE,
+ &PhDialerSpeeddialPopup::onPickResult, this);
+ WPRET_M(err != APP_CONTROL_ERROR_NONE, "launchContactPick() failed(0x%x)", err);
+ *destroyPopup = false;
+}
+
+void PhDialerSpeeddialPopup::onPickResult(app_control_h request, app_control_h reply,
+ app_control_result_e result, void *data)
+{
+ PhDialerSpeeddialPopup *popup = (PhDialerSpeeddialPopup*) data;
+
+ char **numberIds = 0;
+ int count = 0;
+ int err = app_control_get_extra_data_array(reply, APP_CONTROL_DATA_SELECTED, &numberIds, &count);
+ WPWARN(err != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data() failed(0x%x)", err);
+ if (numberIds && numberIds[0]) {
+ int numberId = atoi(numberIds[0]);
+ if (numberId > 0) {
+ if (PhCommon::addSpeedDialNumber(popup->m_SpeedNumber, numberId)) {
+ notification_status_message_post(T_("IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"));
+ } else {
+ notification_status_message_post(T_("IDS_PB_POP_ALREADY_EXISTS_LC"));
+ }
+ }
+ }
+
+ for (int i = 0; i < count; ++i) {
+ free(numberIds[i]);
+ }
+ free(numberIds);
+
+ popup->destroy();
+}
diff --git a/lib-phone/ph-dialer/src/PhDialerView.cpp b/lib-phone/ph-dialer/src/PhDialerView.cpp
new file mode 100644
index 0000000..1a2df0f
--- /dev/null
+++ b/lib-phone/ph-dialer/src/PhDialerView.cpp
@@ -0,0 +1,392 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhDialerView.h"
+#include "PhDialerEntry.h"
+#include "PhDialerKey.h"
+#include "PhDialerLayout.h"
+#include "PhDialerSpeeddialPopup.h"
+#include "PhSpeedDialView.h"
+#include "PhDialerSearchController.h"
+
+#include "ContactsAppControl.h"
+#include "ContactsDebug.h"
+#include "PhStrings.h"
+#include "WMenuPopup.h"
+
+#include <app_control.h>
+#include <contacts.h>
+#include <feedback.h>
+
+#define KEYPAD_ROWS 4
+#define KEYPAD_COLS 3
+
+#define UG_CALL_SETTING "setting-call-efl"
+#define DIALER_LAYOUT_EDJ "phone/ph-dialer-layout.edj"
+
+namespace
+{
+ const std::string layoutFilePath = ContactsCommon::getAppEdjePath(DIALER_LAYOUT_EDJ);
+}
+
+PhDialerView::PhDialerView()
+ : m_Entry(nullptr), m_Controller(nullptr)
+{
+ feedback_initialize();
+}
+
+PhDialerView::~PhDialerView()
+{
+ feedback_deinitialize();
+}
+
+void PhDialerView::setPredictiveLayout(Evas_Object *layout)
+{
+ elm_object_part_content_set(getEvasObj(), PART_SWALLOW_PREDICTIVE, layout);
+}
+
+PhDialerEntry* PhDialerView::getEntry() const
+{
+ return m_Entry;
+}
+
+Evas_Object *PhDialerView::onCreate(Evas_Object *parent, void *viewParam)
+{
+ elm_theme_extension_add(nullptr, ContactsCommon::getAppEdjePath("common/custom_button_styles.edj").c_str());
+
+ Evas_Object *layout = elm_layout_add(parent);
+ Eina_Bool res = elm_layout_file_set(layout, layoutFilePath.c_str(), GROUP_DIALER);
+ WPWARN(res != EINA_TRUE, "elm_layout_file_set() failed");
+
+ m_Entry = new PhDialerEntry();
+ m_Entry->create(layout, nullptr);
+ elm_object_part_content_set(layout, PART_SWALLOW_ENTRY, m_Entry->getEvasObj());
+ elm_object_part_content_set(layout, PART_SWALLOW_KEYPAD, createKeypad(layout));
+ elm_object_part_content_set(layout, PART_SWALLOW_CALL, createCallButton(layout));
+ elm_object_part_content_set(layout, PART_SWALLOW_BACKSPACE, createBackspaceButton(layout));
+
+ m_Controller = new PhDialerSearchController();
+ m_Controller->create(*this);
+
+ m_Entry->setNumber(m_InitialNumber);
+
+ return layout;
+}
+
+void PhDialerView::setNumber(std::string &number)
+{
+ m_InitialNumber = number;
+ if(m_Entry) {
+ m_Entry->setNumber(number);
+ }
+}
+
+void PhDialerView::onPush(Elm_Object_Item *naviItem)
+{
+ enableMoreButton(naviItem, &PhDialerView::onMenuPressed, this);
+}
+
+void PhDialerView::onTabSelect(Elm_Object_Item *naviItem)
+{
+ Evas_Object *conf = getWindow()->getConformantEvasObj();
+ elm_object_signal_emit(conf, "elm,state,virtualkeypad,disable", "");
+ elm_object_signal_emit(conf, "elm,state,clipboard,disable", "");
+
+ enableMoreButton(naviItem, &PhDialerView::onMenuPressed, this);
+}
+
+void PhDialerView::onTabUnselect(Elm_Object_Item *naviItem)
+{
+ Evas_Object *conf = getWindow()->getConformantEvasObj();
+ elm_object_signal_emit(conf, "elm,state,virtualkeypad,enable", "");
+ elm_object_signal_emit(conf, "elm,state,clipboard,enable", "");
+}
+
+bool PhDialerView::onTabPop()
+{
+ return true;
+}
+
+void PhDialerView::onTabScrollStart()
+{
+}
+
+void PhDialerView::onTabScrollStop()
+{
+}
+
+Evas_Object *PhDialerView::createKeypad(Evas_Object *parent)
+{
+ Evas_Object *table = elm_table_add(parent);
+ elm_table_padding_set(table, 2, 2);
+
+ int id = 0;
+ for(int i = 0; i < KEYPAD_ROWS; ++i) {
+ for(int j = 0; j < KEYPAD_COLS; ++j, ++id) {
+ using namespace std::placeholders;
+
+ PhDialerKey *key = new PhDialerKey((PhDialerKey::Id) id);
+ key->create(table, nullptr);
+ key->setOnPressed(std::bind(&PhDialerView::onKeyPressed, this, _1));
+ key->setOnLongpressed(std::bind(&PhDialerView::onKeyLongpressed, this, _1));
+
+ Evas_Object *button = key->getEvasObj();
+ evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(button, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_table_pack(table, button, j, i, 1, 1);
+ evas_object_show(button);
+ }
+ }
+
+ return table;
+}
+
+Evas_Object *PhDialerView::createCallButton(Evas_Object *parent)
+{
+ Evas_Object *button = elm_button_add(parent);
+ elm_object_style_set(button, "custom_circle");
+ evas_object_smart_callback_add(button, "clicked",
+ &PhDialerView::onCallPressed, this);
+
+ Evas_Object *edje = elm_layout_edje_get(button);
+ edje_object_color_class_set(edje, "button_normal", BUTTON_CALL_NORMAL, 0, 0, 0, 0, 0, 0, 0, 0);
+ edje_object_color_class_set(edje, "button_pressed", BUTTON_CALL_PRESSED, 0, 0, 0, 0, 0, 0, 0, 0);
+
+ Evas_Object *image = elm_image_add(button);
+ Eina_Bool res = elm_image_file_set(image, layoutFilePath.c_str(), BUTTON_CALL);
+ WPWARN(res != EINA_TRUE, "elm_layout_file_set() failed");
+ elm_object_part_content_set(button, "elm.swallow.content", image);
+
+ return button;
+}
+
+Evas_Object *PhDialerView::createBackspaceButton(Evas_Object *parent)
+{
+ using namespace std::placeholders;
+ WButton *key = new WButton();
+ key->create(parent, nullptr);
+ key->setOnPressed(std::bind(&PhDialerView::onBackspacePressed, this, _1));
+ key->setOnLongpressed(std::bind(&PhDialerView::onBackspaceLongpressed, this, _1));
+
+ Evas_Object *button = key->getEvasObj();
+ elm_object_style_set(button, "transparent");
+ Evas_Object *image = elm_image_add(button);
+ Eina_Bool res = elm_image_file_set(image, layoutFilePath.c_str(), BUTTON_BACKSPACE);
+ WPWARN(res != EINA_TRUE, "elm_layout_file_set() failed");
+ elm_object_part_content_set(button, "elm.swallow.content", image);
+
+ return button;
+}
+
+void PhDialerView::onKeyPressed(WButton &button)
+{
+ PhDialerKey &key = static_cast<PhDialerKey&>(button);
+ m_Entry->insert(key.getValue());
+}
+
+bool PhDialerView::onKeyLongpressed(WButton &button)
+{
+ PhDialerKey &key = static_cast<PhDialerKey&>(button);
+ int id = key.getId();
+
+ if (m_Entry->getNumber().empty()) {
+ if (id >= PhDialerKey::ID_1 && id <= PhDialerKey::ID_9) {
+ launchSpeeddial(key.getValue() - '0');
+ return true;
+ }
+ }
+
+ if (id == PhDialerKey::ID_0) {
+ m_Entry->insert('+');
+ return true;
+ }
+
+ return false;
+}
+
+void PhDialerView::onBackspacePressed(WButton &button)
+{
+ feedback_play(FEEDBACK_PATTERN_KEY_BACK);
+ m_Entry->popBack();
+}
+
+bool PhDialerView::onBackspaceLongpressed(WButton &button)
+{
+ m_Entry->clear();
+ return true;
+}
+
+void PhDialerView::onCallPressed(void *data, Evas_Object *obj, void *event_info)
+{
+ PhDialerView *view = (PhDialerView*) data;
+
+ std::string number = view->m_Entry->getNumber();
+ if (!number.empty()) {
+ launchCall(number);
+ view->m_Entry->clear();
+ } else {
+ view->m_Entry->setNumber(getLastNumber());
+ }
+}
+
+void PhDialerView::onMenuPressed(void *data, Evas_Object *obj, void *event_info)
+{
+ PhDialerView *view = (PhDialerView*) data;
+
+ WMenuPopup *popup = new WMenuPopup();
+ popup->prepare(view->getWindow()->getEvasObj(),
+ view->getNaviframe()->getEvasObj());
+
+ if (!view->m_Entry->getNumber().empty()) {
+ popup->appendItem(PAT_(PH_KPD_BUTTON_SEND_MESSAGE),
+ std::bind(&PhDialerView::onSendMessage, view));
+ popup->appendItem(PAT_(PH_KPD_OPT_ADD_2_SECOND_PAUSE_ABB),
+ std::bind(&PhDialerView::onAddPause, view));
+ popup->appendItem(PAT_(PH_KPD_OPT_ADD_WAIT_ABB),
+ std::bind(&PhDialerView::onAddWait, view));
+ }
+
+ popup->appendItem(PAT_(PH_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2),
+ std::bind(&PhDialerView::onSpeeddialSettings, view));
+ popup->appendItem(PAT_(PH_KPD_OPT_CALL_SETTINGS_ABB),
+ std::bind(&PhDialerView::onCallSettings, view));
+
+ view->attachPopup(popup);
+}
+
+void PhDialerView::onSendMessage()
+{
+ int err = launchMessageComposer("sms:", m_Entry->getNumber().c_str());
+ WPWARN(err != APP_CONTROL_ERROR_NONE, "launchMessageComposer() failed(0x%x)", err);
+}
+
+void PhDialerView::onAddWait()
+{
+ m_Entry->insert(';');
+}
+
+void PhDialerView::onAddPause()
+{
+ m_Entry->insert(',');
+}
+
+void PhDialerView::onSpeeddialSettings()
+{
+ getNaviframe()->push(new PhSpeedDialView(), NULL, NULL);
+}
+
+void PhDialerView::onCallSettings()
+{
+ app_control_h request;
+ app_control_create(&request);
+ app_control_set_app_id(request, UG_CALL_SETTING);
+ app_control_set_launch_mode(request, APP_CONTROL_LAUNCH_MODE_GROUP);
+ int err = app_control_send_launch_request(request, NULL, NULL);
+ WPWARN(err != APP_CONTROL_ERROR_NONE, "app_control_send_launch_request() failed(0x%x)", err);
+ app_control_destroy(request);
+}
+
+void PhDialerView::launchCall(const std::string &number)
+{
+ int err = ::launchCall(number.c_str());
+ WPWARN(err != APP_CONTROL_ERROR_NONE, "launchCall() failed(0x%x)", err);
+}
+
+void PhDialerView::launchSpeeddial(int digit)
+{
+ std::string number = getSpeeddialNumber(digit);
+ if (!number.empty()) {
+ launchCall(number);
+ } else {
+ attachPopup(new PhDialerSpeeddialPopup(digit));
+ }
+}
+
+std::string PhDialerView::getSpeeddialNumber(int digit)
+{
+ std::string number;
+ contacts_filter_h filter = NULL;
+ contacts_query_h query = NULL;
+ contacts_list_h list = NULL;
+
+ contacts_filter_create(_contacts_speeddial._uri, &filter);
+ contacts_filter_add_int(filter, _contacts_speeddial.speeddial_number, CONTACTS_MATCH_EQUAL, digit);
+
+ contacts_query_create(_contacts_speeddial._uri, &query);
+ contacts_query_set_filter(query, filter);
+
+ int err = contacts_db_get_records_with_query(query, 0, 1, &list);
+ WPWARN(err != CONTACTS_ERROR_NONE, "contacts_db_get_records_with_query() failed(0x%x)", err);
+ if (list) {
+ contacts_record_h record = NULL;
+ contacts_list_get_current_record_p(list, &record);
+ if (record) {
+ char *str = NULL;
+ contacts_record_get_str_p(record, _contacts_speeddial.number, &str);
+ if (str) {
+ number = str;
+ }
+ }
+
+ contacts_list_destroy(list, true);
+ }
+
+ contacts_query_destroy(query);
+ contacts_filter_destroy(filter);
+
+ return number;
+}
+
+std::string PhDialerView::getLastNumber()
+{
+ std::string number;
+ contacts_list_h list = NULL;
+ contacts_query_h query = NULL;
+ contacts_filter_h filter = NULL;
+
+ contacts_filter_create(_contacts_person_phone_log._uri, &filter);
+ contacts_filter_add_int(filter, _contacts_person_phone_log.log_type,
+ CONTACTS_MATCH_GREATER_THAN_OR_EQUAL, CONTACTS_PLOG_TYPE_VOICE_INCOMMING);
+ contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ contacts_filter_add_int(filter, _contacts_person_phone_log.log_type,
+ CONTACTS_MATCH_LESS_THAN_OR_EQUAL, CONTACTS_PLOG_TYPE_VIDEO_BLOCKED);
+
+ contacts_query_create(_contacts_person_phone_log._uri, &query);
+ contacts_query_set_filter(query, filter);
+ contacts_query_set_sort(query, _contacts_person_phone_log.log_time, false);
+
+ int err = contacts_db_get_records_with_query(query, 0, 1, &list);
+ WPWARN(err != CONTACTS_ERROR_NONE, "contacts_db_get_records_with_query() failed(0x%x)", err);
+ if (list) {
+ contacts_record_h record = NULL;
+ contacts_list_get_current_record_p(list, &record);
+ if (record) {
+ char *str = NULL;
+ contacts_record_get_str_p(record, _contacts_person_phone_log.address, &str);
+ if (str) {
+ number = str;
+ }
+ }
+
+ contacts_list_destroy(list, true);
+ }
+
+ contacts_query_destroy(query);
+ contacts_filter_destroy(filter);
+
+ return number;
+}
diff --git a/lib-phone/ph-dialer/src/predictive-number/PhDialerPredictiveNumber.cpp b/lib-phone/ph-dialer/src/predictive-number/PhDialerPredictiveNumber.cpp
new file mode 100644
index 0000000..8158e22
--- /dev/null
+++ b/lib-phone/ph-dialer/src/predictive-number/PhDialerPredictiveNumber.cpp
@@ -0,0 +1,223 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhDialerPredictiveNumber.h"
+#include "PhDialerPredictiveNumberUtils.h"
+#include "PhDialerSearchInfo.h"
+#include "PhDialerPredictiveNumberTypes.h"
+#include "ContactsUtils.h"
+#include <utility>
+#include <algorithm>
+
+using namespace Ph::Dialer;
+
+namespace
+{
+ typedef contacts_list_h (*ContactListGetter)(char digit);
+
+ ContactListGetter contactListGetters[] = {
+ Utils::getSpeedDial,
+ Utils::getLogList,
+ Utils::getContactListByName,
+ Utils::getContactListByNumber
+ };
+}
+
+PredictiveNumber::PredictiveNumber()
+ :m_LastFoundIndex(-1)
+{}
+
+void PredictiveNumber::search(const std::string &number)
+{
+ if(number.empty()) {
+ clear();
+ } else {
+ chooseSearch(number);
+ }
+
+ m_Number = number;
+}
+
+const SearchList * PredictiveNumber::getSearchResult() const
+{
+ if(!m_PredictiveNumberCache.empty()) {
+ return &m_PredictiveNumberCache.back();
+ }
+
+ return nullptr;
+}
+
+bool Ph::Dialer::PredictiveNumber::empty() const
+{
+ return m_PredictiveNumberCache.empty() || m_PredictiveNumberCache.back().empty();
+}
+
+void PredictiveNumber::distinctLogs(SearchList &searchList)
+{
+ auto logPred = [](PSearchInfo pSearchInfo) -> bool {
+ return pSearchInfo->getType() == IT_LOG;
+ };
+
+ auto logComp = [](PSearchInfo lhs, PSearchInfo rhs) -> bool {
+ return lhs->getSearchString() < rhs->getSearchString();
+ };
+
+ auto eqPred = [](PSearchInfo lhs, PSearchInfo rhs) -> bool {
+ return lhs->getSearchString() == rhs->getSearchString();
+ };
+
+ SearchList::iterator beg = std::find_if(searchList.begin(), searchList.end(), logPred);
+ SearchList::iterator end = std::find_if_not(beg, searchList.end(), logPred);
+
+ if(beg != end) {
+ std::sort(beg, end, logComp);
+ SearchList::iterator itForErase = std::unique(beg, end, eqPred);
+
+ searchList.erase(itForErase, end);
+ }
+}
+
+void PredictiveNumber::firstSearch(const std::string &number)
+{
+ clear();
+
+ SearchList searchList = searchInDB(number);
+
+ if(!searchList.empty()) {
+ distinctLogs(searchList);
+
+ m_PredictiveNumberCache.resize(number.size());
+ m_PredictiveNumberCache.front() = std::move(searchList);
+ m_LastFoundIndex = 0;
+
+ if(number.size() > 1) {
+ if(!searchInCache(m_PredictiveNumberCache.begin(), number)) {
+ clear();
+ }
+ }
+ }
+}
+
+SearchList Ph::Dialer::PredictiveNumber::searchInDB(const std::string &number)
+{
+ SearchList searchList;
+ contacts_record_h record = NULL;
+
+ for(int i = IT_SPEED_DIAL; i < IT_MAX; ++i) {
+ contacts_list_h list = contactListGetters[i](number.front());
+ CONTACTS_LIST_FOREACH(list, record) {
+ SearchInfo searchInfo((InfoType)i, record);
+ if(searchInfo.getType() != IT_NONE) {
+ size_t position = searchInfo.getSearchString().find(number);
+ if (position != std::string::npos) {
+ searchInfo.updateHighlightText(number, position);
+ }
+ searchList.push_back(std::make_shared<SearchInfo>(std::move(searchInfo)));
+ }
+ }
+ contacts_list_destroy(list, true);
+ }
+
+ return searchList;
+}
+
+void PredictiveNumber::chooseSearch(const std::string &number)
+{
+ if(m_Number.empty()) {
+ firstSearch(number);
+ }
+
+ if(!needSearch(number)) {
+ return;
+ }
+
+ m_PredictiveNumberCache.resize(number.size());
+ auto rIt = firstMismatch(number);
+ if(rIt == m_PredictiveNumberCache.rend()) {//Perform initial search
+ firstSearch(number);
+ } else {
+ searchInCache(rIt.base() - 1, number);
+ }
+}
+
+bool PredictiveNumber::searchInCache(Cache::iterator from, const std::string &number)
+{
+ SearchList searchRes;
+ for(PSearchInfo &sInfo : *from) {
+ if(sInfo) {
+ size_t position = sInfo->getSearchString().find(number);
+ if (position != std::string::npos) {
+ sInfo->updateHighlightText(number, position);
+ searchRes.push_back(sInfo);
+ }
+ }
+ }
+
+ if(!searchRes.empty()) {
+ m_LastFoundIndex = m_PredictiveNumberCache.size() - 1;
+ m_PredictiveNumberCache.back() = std::move(searchRes);
+ return true;
+ } else {
+ return false;
+ }
+}
+
+Cache::reverse_iterator PredictiveNumber::firstMismatch(const std::string &number)
+{
+ size_t minSize = std::min(m_Number.size(), number.size());
+ auto itPair = std::mismatch(m_Number.begin(), m_Number.begin() + minSize, number.begin());
+
+ auto rIt = skipEmptyResults(itPair.first - m_Number.begin());
+ return rIt;
+}
+
+Cache::reverse_iterator PredictiveNumber::skipEmptyResults(size_t offset)
+{
+ auto rIt = std::reverse_iterator<Cache::iterator>(m_PredictiveNumberCache.begin() + offset);
+
+ while(rIt != m_PredictiveNumberCache.rend() && rIt->empty()) {
+ ++rIt;
+ }
+
+ return rIt;
+}
+
+void PredictiveNumber::clear()
+{
+ m_PredictiveNumberCache.clear();
+ m_LastFoundIndex = -1;
+}
+
+bool PredictiveNumber::needSearch(const std::string &number)
+{
+ if( number.size() >= m_Number.size()
+ &&(int)(m_PredictiveNumberCache.size() - 1) > m_LastFoundIndex) {
+ return false;
+ }
+ return true;
+}
+
+void PredictiveNumber::searchFromScratch(const std::string& number)
+{
+ if(number.empty()) {
+ clear();
+ } else {
+ firstSearch(number);
+ }
+
+ m_Number = number;
+}
diff --git a/lib-phone/ph-dialer/src/predictive-number/PhDialerPredictiveNumberUtils.cpp b/lib-phone/ph-dialer/src/predictive-number/PhDialerPredictiveNumberUtils.cpp
new file mode 100644
index 0000000..699b87d
--- /dev/null
+++ b/lib-phone/ph-dialer/src/predictive-number/PhDialerPredictiveNumberUtils.cpp
@@ -0,0 +1,219 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ContactsThumbnail.h"
+#include "ContactsUtils.h"
+#include "PhDialerPredictiveNumberUtils.h"
+#include "PhDialerLayout.h"
+#include "ContactsDebug.h"
+
+#include <Elementary.h>
+
+using namespace Ph::Dialer;
+using namespace Ph::Dialer::Utils;
+
+namespace
+{
+ const char *mask[] = {
+ "+",
+ "",
+ "abc",
+ "def",
+ "ghi",
+ "jkl",
+ "mno",
+ "pqrs",
+ "tuv",
+ "wxyz"
+ };
+
+ char getDigit(char c)
+ {
+ static const char hash[] = "22233344455566677778889999";
+
+ if(c == '+') {
+ return '0';
+ }
+
+ size_t index = tolower(c) - 'a';
+
+ if(index >= sizeof(hash) - 1) {
+ return '\0';
+ }
+
+ return hash[index];
+ }
+
+ std::string getDigitMask(char digit)
+ {
+ if(digit > '9' || digit < '0') {
+ WERROR("getDigitMask expected digit(0-9) argument, but %c is provided", digit);
+ return "";
+ }
+
+ int index = digit - '0';
+ return mask[index];
+ }
+
+ contacts_filter_h createContactNameFilters(char digit)
+ {
+ std::string mask = getDigitMask(digit);
+ if (mask.empty()) {
+ return NULL;
+ }
+
+ contacts_filter_h filter = NULL;
+ contacts_filter_create(_contacts_contact_number._uri, &filter);
+ bool isFirst = true;
+ for(auto &x : mask) {
+ if(!isFirst) {
+ contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR);
+ }
+
+ char str[] = { x, '\0' };
+ contacts_filter_add_str(filter, _contacts_contact_number.display_name, CONTACTS_MATCH_CONTAINS, str);
+ isFirst = false;
+ }
+ return filter;
+ }
+
+ contacts_list_h runQuery(const char *tableUri, contacts_filter_h filter)
+ {
+ contacts_list_h list = NULL;
+ contacts_query_h query = NULL;
+
+ contacts_query_create(tableUri, &query);
+ contacts_query_set_filter(query, filter);
+
+ contacts_db_get_records_with_query(query, 0, 0, &list);
+
+ contacts_query_destroy(query);
+ contacts_filter_destroy(filter);
+
+ return list;
+ }
+
+ std::string getThumbnail(int id)
+ {
+ std::string path;
+ contacts_record_h record = NULL;
+ if(contacts_db_get_record(_contacts_contact._uri, id, &record) == CONTACTS_ERROR_NONE) {
+ char *imgPath = NULL;
+ contacts_record_get_str_p(record, _contacts_contact.image_thumbnail_path, &imgPath);
+ if(imgPath) {
+ path = imgPath;
+ }
+ contacts_record_destroy(record, true);
+ }
+ return path;
+ }
+}
+
+contacts_list_h Ph::Dialer::Utils::getSpeedDial(char number)
+{
+ contacts_filter_h filter = NULL;
+ contacts_filter_create(_contacts_speeddial._uri, &filter);
+ contacts_filter_add_int(filter, _contacts_speeddial.speeddial_number, CONTACTS_MATCH_EQUAL, number - '0');
+
+ contacts_list_h list = runQuery(_contacts_speeddial._uri, filter);
+
+ return list;
+}
+
+contacts_list_h Ph::Dialer::Utils::getLogList(char digit)
+{
+ char number [] = { digit, '\0' };
+ contacts_filter_h filter = NULL;
+ contacts_filter_create(_contacts_phone_log._uri, &filter);
+
+ contacts_filter_add_str(filter, _contacts_phone_log.address, CONTACTS_MATCH_CONTAINS, number);
+ contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ contacts_filter_add_int(filter, _contacts_phone_log.log_type,
+ CONTACTS_MATCH_GREATER_THAN_OR_EQUAL, CONTACTS_PLOG_TYPE_VOICE_INCOMMING);
+ contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND);
+ contacts_filter_add_int(filter, _contacts_phone_log.log_type,
+ CONTACTS_MATCH_LESS_THAN_OR_EQUAL, CONTACTS_PLOG_TYPE_VIDEO_BLOCKED);
+
+ contacts_list_h list = runQuery(_contacts_phone_log._uri, filter);
+
+ contacts_list_h retList = NULL;
+ contacts_list_create(&retList);
+ contacts_record_h record = NULL;
+ CONTACTS_LIST_FOREACH(list, record) {
+ int personId = 0;
+ contacts_record_get_int(record, _contacts_phone_log.person_id, &personId);
+ if(personId == 0) {
+ contacts_list_add(retList, record);
+ } else {
+ contacts_record_destroy(record, true);
+ }
+ }
+ contacts_list_destroy(list, false);
+
+ return retList;
+}
+
+contacts_list_h Ph::Dialer::Utils::getContactListByName(char digit)
+{
+ contacts_query_h query = NULL;
+ contacts_list_h list = NULL;
+ contacts_query_create(_contacts_contact_number._uri, &query);
+ contacts_filter_h filter = createContactNameFilters(digit);
+ if(filter) {
+ contacts_query_set_filter(query, filter);
+ contacts_db_get_records_with_query(query, 0, 0, &list);
+ }
+
+ contacts_filter_destroy(filter);
+ contacts_query_destroy(query);
+ return list;
+}
+
+contacts_list_h Ph::Dialer::Utils::getContactListByNumber(char digit)
+{
+ char number [] = { digit, '\0' };
+ contacts_filter_h filter = NULL;
+ contacts_filter_create(_contacts_contact_number._uri, &filter);
+ contacts_filter_add_str(filter, _contacts_contact_number.number, CONTACTS_MATCH_CONTAINS, number);
+
+ contacts_list_h list = runQuery(_contacts_contact_number._uri, filter);
+
+ return list;
+}
+
+std::string Ph::Dialer::Utils::contactNameToMask(const std::string &name)
+{
+ std::string number;
+ number.reserve(name.size());
+
+ for(auto &x : name) {
+ char digit = getDigit(x);
+ if(digit == '\0') {
+ break;
+ }
+ number.push_back(digit);
+ }
+ return number;
+}
+
+Evas_Object *Ph::Dialer::Utils::createThumbnail(Evas_Object *parent, int contactId)
+{
+ std::string thumbnailPath = getThumbnail(contactId);
+ Evas_Object *thumbnailImage = createThumbnail(parent, THUMBNAIL_98, thumbnailPath.c_str(), true);
+
+ return thumbnailImage;
+}
diff --git a/lib-phone/ph-dialer/src/predictive-number/PhDialerSearchInfo.cpp b/lib-phone/ph-dialer/src/predictive-number/PhDialerSearchInfo.cpp
new file mode 100644
index 0000000..f048090
--- /dev/null
+++ b/lib-phone/ph-dialer/src/predictive-number/PhDialerSearchInfo.cpp
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhDialerSearchInfo.h"
+#include "PhDialerPredictiveNumberUtils.h"
+#include "ContactsCommon.h"
+
+using namespace Ph::Dialer;
+using namespace Ph::Dialer::Utils;
+
+SearchInfo::SearchInfo(InfoType type, const contacts_record_h record)
+ : m_Type(type), m_Id(0), m_SpeedDialId(0)
+{
+ if(record) {
+ if(!fillWithRecord(type, record)) {
+ m_Type = IT_NONE;
+ }
+ }
+}
+
+std::string SearchInfo::getSearchString() const
+{
+ switch(m_Type) {
+ case IT_SPEED_DIAL:
+ return std::string(1, (m_SpeedDialId + '0'));
+ case IT_LOG:
+ case IT_NUMBER:
+ return m_Number;
+ case IT_NAME:
+ return m_MaskedName;
+ case IT_NONE:
+ case IT_MAX:
+ default:
+ return "";
+ }
+}
+
+InfoType SearchInfo::getType() const
+{
+ return m_Type;
+}
+
+int SearchInfo::getId() const
+{
+ return m_Id;
+}
+
+int Ph::Dialer::SearchInfo::getSpeedDialId() const
+{
+ return m_SpeedDialId;
+}
+
+const std::string &Ph::Dialer::SearchInfo::getName(bool isHighlighted) const
+{
+ bool returnHighlight = isHighlighted && (m_Type == IT_NAME) && !m_HighlightedText.empty();
+ return returnHighlight ? m_HighlightedText : m_Name;
+}
+
+const std::string &Ph::Dialer::SearchInfo::getNumber(bool isHighlighted) const
+{
+ bool returnHighlight = isHighlighted && ((m_Type == IT_LOG) || (m_Type == IT_NUMBER)) && !m_HighlightedText.empty();
+ return returnHighlight ? m_HighlightedText : m_Number;
+}
+
+const std::string &Ph::Dialer::SearchInfo::getHighlightedText() const
+{
+ return m_HighlightedText;
+}
+
+bool SearchInfo::updateHighlightText(const std::string searchStr, size_t position)
+{
+ switch(m_Type)
+ {
+ case IT_LOG:
+ case IT_NUMBER:
+ m_HighlightedText = ContactsCommon::highlightTextByPos(m_Number, position, searchStr.size());
+ return true;
+ case IT_NAME:
+ m_HighlightedText = ContactsCommon::highlightTextByPos(m_Name, position, searchStr.size());
+ return true;
+ case IT_NONE:
+ case IT_SPEED_DIAL:
+ case IT_MAX:
+ default:
+ return false;
+ }
+}
+
+bool Ph::Dialer::SearchInfo::fillWithRecord(InfoType type, const contacts_record_h record)
+{
+ switch(type)
+ {
+ case IT_SPEED_DIAL:
+ fillSpeedDial(record);
+ return true;
+ case IT_LOG:
+ fillLog(record);
+ return true;
+ case IT_NAME:
+ case IT_NUMBER:
+ fillContact(type, record);
+ return true;
+ case IT_NONE:
+ case IT_MAX:
+ default:
+ return false;
+ }
+}
+
+void SearchInfo::fillSpeedDial(const contacts_record_h record)
+{
+ char *tempStr = NULL;
+
+ contacts_record_get_int(record, _contacts_speeddial.person_id, &m_Id);
+ contacts_record_get_int(record, _contacts_speeddial.speeddial_number, &m_SpeedDialId);
+ contacts_record_get_str_p(record, _contacts_speeddial.number, &tempStr);
+ m_Number = tempStr;
+ contacts_record_get_str_p(record, _contacts_speeddial.display_name, &tempStr);
+ m_Name = tempStr;
+}
+
+void SearchInfo::fillLog(const contacts_record_h record)
+{
+ char *tempStr = NULL;
+
+ contacts_record_get_int(record, _contacts_phone_log.person_id, &m_Id);
+ contacts_record_get_str_p(record, _contacts_phone_log.address, &tempStr);
+ m_Number = tempStr;
+}
+
+void SearchInfo::fillContact(InfoType type, const contacts_record_h record)
+{
+ char *tempStr = NULL;
+
+ contacts_record_get_int(record, _contacts_contact_number.contact_id, &m_Id);
+ contacts_record_get_str_p(record, _contacts_contact_number.display_name, &tempStr);
+ m_Name = tempStr;
+ contacts_record_get_str_p(record, _contacts_contact_number.number, &tempStr);
+ m_Number = tempStr;
+ if(type == IT_NAME) {
+ m_MaskedName = Utils::contactNameToMask(m_Name);
+ }
+}
diff --git a/lib-phone/ph-loglist/.cproject b/lib-phone/ph-loglist/.cproject
new file mode 100644
index 0000000..8f8d239
--- /dev/null
+++ b/lib-phone/ph-loglist/.cproject
@@ -0,0 +1,569 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.2086950417">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.2086950417" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ph-loglist" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.2086950417" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.2086950417." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1268564374" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.357656315" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/ph-loglist}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.374765326" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.210949800" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.415199366" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.526577659" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1852203539" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1537092892" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.780850730" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1392951409" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1486723187" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.691335267" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/dbus}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/icu}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/carriermatch/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.571115734" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1425542116" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1087282265" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.1058541102"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1568618654" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1571538028" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1351273991" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1032488492" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.15180974" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1750798455" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2049631956" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1869181376" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.2012388161" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.2004094523" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1775860804"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1595990485" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.859964084" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1066378633" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.230901020" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1057067056" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.910559997" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/Debug}&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.1246540549" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="app-assist-efl"/>
+ <listOptionValue builtIn="false" value="common"/>
+ <listOptionValue builtIn="false" value="ph-common"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1999672878" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.52283727" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.133753733" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.2034841340" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.64064899" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1449153983" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.840760033" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1112553035" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1256022557" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.2086950417.2091195160" name="PhLogDbus.c" rcbsApplicability="disable" resourcePath="dbus/PhLogDbus.c" toolsToInvoke="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661">
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244">
+ <option id="gnu.c.compiler.option.include.paths.781192619" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1537400239" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.1683811059"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.1933179288"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.1625711111"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.268811411"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.2099423160"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.1154310846"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.1750264319"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.776728515"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.878672231"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.2145790635"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.1245035685"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.1630547299"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.2109885153"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1862095244.1918651661.2128240331"/>
+ </tool>
+ <tool customBuildStep="true" id="org.eclipse.cdt.managedbuilder.ui.rcbs.2131434453" name="Resource Custom Build Step">
+ <inputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.inputtype.2066301971" name="Resource Custom Build Step Input Type">
+ <additionalInput kind="additionalinputdependency" paths=""/>
+ </inputType>
+ <outputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.outputtype.1861482786" name="Resource Custom Build Step Output Type"/>
+ </tool>
+ </fileInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.2086950417.1406579334" name="PhLogMainListView.cpp" rcbsApplicability="disable" resourcePath="src/PhLogMainListView.cpp" toolsToInvoke="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.415199366.1189446109">
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.415199366.1189446109" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.415199366">
+ <option id="gnu.cpp.compiler.option.preprocessor.def.2021569939" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1981265741" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.415199366.1189446109.1876033264"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.415199366.1189446109.753535715"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.415199366.1189446109.1880266644"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.415199366.1189446109.1302435615"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.415199366.1189446109.1942195483"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.415199366.1189446109.1206305339"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.415199366.1189446109.338825111"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.415199366.1189446109.2007274907"/>
+ </tool>
+ </fileInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="dbus"/>
+ <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="icu"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.1907562476">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1907562476" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ph-loglist" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1907562476" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.1907562476." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.1479264651" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1072303678" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/ph-loglist}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1199889709" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1845460411" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.128717458" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1003461665" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.844519924" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.114265932" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1503875434" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.2094071815" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1089338488" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.2070783741" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1567105913" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.431474728"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.621750961" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.64352589" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1466556173" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.2017322390" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1800024028" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.2106195166" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.2022723296" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1857647731" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1129221857" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1725210508" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1270711219"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.652487094" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.240750179" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1941015730" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1222299802" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.471048839" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.438916348" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1458984705" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.199837942" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.645048697" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1182209747" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.971618823" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1812689761" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.818440247" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.402643839" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.20766984" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="ph-loglist.org.tizen.nativecore.target.sbi.gcc45.so.247786340" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.2086950417">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.1907562476">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/ph-loglist"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/ph-loglist"/>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
+</cproject>
diff --git a/lib-phone/ph-loglist/.project b/lib-phone/ph-loglist/.project
new file mode 100644
index 0000000..497753e
--- /dev/null
+++ b/lib-phone/ph-loglist/.project
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ph-loglist</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1413871690242</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/lib-phone/ph-loglist/.tproject b/lib-phone/ph-loglist/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/lib-phone/ph-loglist/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/lib-phone/ph-loglist/CMakeLists.txt b/lib-phone/ph-loglist/CMakeLists.txt
new file mode 100755
index 0000000..5ce0881
--- /dev/null
+++ b/lib-phone/ph-loglist/CMakeLists.txt
@@ -0,0 +1,26 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ph-loglist CXX)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-phone/ph-common/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/src
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/icu
+)
+
+FILE(GLOB SRCS
+ "src/*.cpp"
+ "icu/*.cpp"
+)
+
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "contacts-common"
+ "ph-common"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_LIB_DIR})
+
diff --git a/lib-phone/ph-loglist/icu/PhLogIcu.cpp b/lib-phone/ph-loglist/icu/PhLogIcu.cpp
new file mode 100755
index 0000000..3e6b7a2
--- /dev/null
+++ b/lib-phone/ph-loglist/icu/PhLogIcu.cpp
@@ -0,0 +1,319 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <utils_i18n.h>
+#include <system_settings.h>
+
+#include "ContactsDebug.h"
+#include "PhLogIcu.h"
+#include <string>
+
+#define LOGS_COMMON_MAX_UCHAR_PATTERN_LEN 64
+#define LOGS_COMMON_MAX_CHAR_PATTERN_LEN 128
+#define PH_TEXT_SHORT_LEN 256
+
+//// for ICU ///
+static char *systemLocale = NULL;
+static char *systemTimezone = NULL;
+static std::string groupFormatType("dd/MM/y");
+static PhLogIcu::PhTimeFormat timeFormatType = PhLogIcu::PH_TIME_FORMAT_12H;
+
+PhLogIcu::PhLogIcu()
+{
+ // TODO Auto-generated constructor stub
+
+}
+
+PhLogIcu::~PhLogIcu()
+{
+ // TODO Auto-generated destructor stub
+}
+
+char *PhLogIcu::__getString(const char *pattern, time_t timeData)
+{
+ WENTER();
+
+ i18n_udate_format_h formatter = NULL;
+ i18n_uchar formatted[LOGS_COMMON_MAX_UCHAR_PATTERN_LEN] = {0,};
+ char result[LOGS_COMMON_MAX_UCHAR_PATTERN_LEN] = {0,};
+ int formattedLength;
+ i18n_udate date;
+
+ i18n_uchar bestPattern[LOGS_COMMON_MAX_UCHAR_PATTERN_LEN] = {0,};
+ i18n_ustring_copy_ua_n(bestPattern, pattern, LOGS_COMMON_MAX_UCHAR_PATTERN_LEN);
+
+ i18n_uchar utf16_timezone[LOGS_COMMON_MAX_UCHAR_PATTERN_LEN] = {0,};
+
+ if(NULL == systemTimezone)
+ {
+ WWARNING("systemTimezone = NULL");
+ }
+ i18n_ustring_copy_ua_n(utf16_timezone, systemTimezone, SAFE_STRLEN(systemTimezone));
+ i18n_udate_create(I18N_UDATE_PATTERN , I18N_UDATE_PATTERN , systemLocale, utf16_timezone, -1, bestPattern, -1, &formatter);
+ date = (i18n_udate)timeData * 1000;
+
+ i18n_udate_format_date(formatter, date, formatted, LOGS_COMMON_MAX_UCHAR_PATTERN_LEN, NULL, &formattedLength);
+ i18n_ustring_copy_au_n(result, formatted, LOGS_COMMON_MAX_UCHAR_PATTERN_LEN);
+
+ i18n_udate_destroy(formatter);
+
+ return strdup(result);
+
+}
+
+char *PhLogIcu::__getDateByBestPattern(const char* skeleton)
+{
+ WPRET_VM(systemLocale == NULL, NULL, "systemLocale is NULL");
+ WPRET_VM(skeleton == NULL, NULL, "skeleton is NULL");
+
+ static char lastTimezoneId[PH_TEXT_SHORT_LEN+1] = {0};
+ static char lastLocale[LOGS_COMMON_MAX_UCHAR_PATTERN_LEN] = {0};
+ static char lastSkeleton[LOGS_COMMON_MAX_UCHAR_PATTERN_LEN] = {0};
+ static char lastBestPatternString[LOGS_COMMON_MAX_CHAR_PATTERN_LEN + 1] = {0};
+
+ // Use previous cache (for performance)
+ if(strcmp(systemLocale, lastLocale) == 0 && strcmp(skeleton, lastSkeleton) == 0 && (strlen(lastBestPatternString) > 0)
+ && (systemTimezone && strncmp(systemTimezone, lastTimezoneId, PH_TEXT_SHORT_LEN-1) == 0))
+ {
+ return strdup(lastBestPatternString);
+ }
+
+ WWARNING("ICU cache updated!");
+ if(systemTimezone)
+ {
+ strncpy(lastTimezoneId, systemTimezone, PH_TEXT_SHORT_LEN-1);
+ }
+
+ i18n_udatepg_h pattern_generator = NULL;
+
+ if(!pattern_generator) {
+ i18n_udatepg_create(systemLocale, &pattern_generator);
+ }
+ if(!pattern_generator) {
+ WDEBUG("udatpg_open fail");
+ return NULL;
+ }
+
+ i18n_uchar bestPattern[LOGS_COMMON_MAX_UCHAR_PATTERN_LEN] = {0,};
+ char bestPatternString[LOGS_COMMON_MAX_UCHAR_PATTERN_LEN] = {0,};
+ int bestPatternLength, len;
+ i18n_uchar uch_custom_format[LOGS_COMMON_MAX_UCHAR_PATTERN_LEN] = {0};
+
+ int skeletonLength = strlen(skeleton);
+
+ if (skeletonLength <= LOGS_COMMON_MAX_UCHAR_PATTERN_LEN)
+ i18n_ustring_copy_ua_n(uch_custom_format, skeleton, skeletonLength);
+
+ else
+ i18n_ustring_copy_ua_n(uch_custom_format, skeleton, LOGS_COMMON_MAX_UCHAR_PATTERN_LEN);
+
+ len = i18n_ustring_get_length(uch_custom_format);
+
+ i18n_udatepg_get_best_pattern(pattern_generator, uch_custom_format, len, bestPattern, LOGS_COMMON_MAX_UCHAR_PATTERN_LEN, &bestPatternLength);
+ i18n_ustring_copy_au_n(bestPatternString, bestPattern, LOGS_COMMON_MAX_UCHAR_PATTERN_LEN);
+ i18n_udatepg_destroy(pattern_generator);
+
+ strncpy(lastLocale, systemLocale, LOGS_COMMON_MAX_UCHAR_PATTERN_LEN-1);
+ strncpy(lastSkeleton, skeleton, LOGS_COMMON_MAX_UCHAR_PATTERN_LEN-1);
+ strncpy(lastBestPatternString, bestPatternString, LOGS_COMMON_MAX_CHAR_PATTERN_LEN);
+
+ return strdup(bestPatternString);
+}
+
+void PhLogIcu::setTimeFormat()
+{
+ bool timeformat = false;
+
+ system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, &timeformat);
+
+ if (timeformat == true)
+ timeFormatType = PH_TIME_FORMAT_24H;
+ else
+ timeFormatType = PH_TIME_FORMAT_12H;
+}
+
+int PhLogIcu::generatePatternForLocal(const char *locale, const char *patternFormat, char *genPattern, int genPatternSize)
+{
+ WENTER();
+ int status = 0;
+ i18n_udatepg_h udatepg = NULL;
+ i18n_uchar format[LOGS_COMMON_MAX_UCHAR_PATTERN_LEN] = {'\0'};
+ i18n_uchar bestPattern[LOGS_COMMON_MAX_UCHAR_PATTERN_LEN] = {'\0'};
+ int patternLen = 0;
+
+ status = i18n_udatepg_create(locale, &udatepg);
+ if (!udatepg || status != 0) {
+ WDEBUG("i18n_udatepg_create() failed: %d", status);
+ return -1;
+ }
+
+ i18n_ustring_copy_ua_n(format, patternFormat, LOGS_COMMON_MAX_UCHAR_PATTERN_LEN);
+
+ status = i18n_udatepg_get_best_pattern(udatepg, format, LOGS_COMMON_MAX_UCHAR_PATTERN_LEN,
+ bestPattern, LOGS_COMMON_MAX_UCHAR_PATTERN_LEN, &patternLen);
+ if (status != I18N_ERROR_NONE) {
+ WDEBUG("i18n_udatepg_get_best_pattern() failed: %d", status);
+ i18n_udatepg_destroy(udatepg);
+ return -1;
+ }
+
+ i18n_ustring_copy_au_n(genPattern, bestPattern, genPatternSize);
+ i18n_udatepg_destroy(udatepg);
+
+ return 0;
+}
+
+void PhLogIcu::setDateFormat()
+{
+ WENTER();
+ char *country = NULL;
+ char result[LOGS_COMMON_MAX_CHAR_PATTERN_LEN] = { '\0' };
+ int res = 0;
+
+ res = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &country);
+ if (res != SYSTEM_SETTINGS_ERROR_NONE )
+ {
+ return;
+ }
+
+ res = generatePatternForLocal(country, "yy-MM-dd", result, LOGS_COMMON_MAX_CHAR_PATTERN_LEN);
+ free(country);
+ if (res != 0)
+ {
+ WDEBUG("failed to generate pattern for local");
+ return ;
+ }
+ groupFormatType = result;
+}
+
+void PhLogIcu::setLocale()
+{
+ WENTER();
+ int status = I18N_ERROR_NONE ;
+
+ status = i18n_ulocale_set_default(getenv("LC_TIME"));
+ WDEBUG("status : [%d]", status);
+ if (systemLocale)
+ {
+ free(systemLocale);
+ systemLocale = NULL;
+ }
+ const char* locale;
+ i18n_ulocale_get_default(&locale);
+ systemLocale = SAFE_STRDUP(locale);
+ WDEBUG("%s",systemLocale);
+ strtok((char *)systemLocale, ".UTF8");
+}
+
+char *PhLogIcu::getTimeString(int time)
+{
+ time_t timeData = time;
+ char *timeFormat = NULL;
+ char *resultString = NULL;
+
+ if (timeFormatType == PH_TIME_FORMAT_12H)
+ timeFormat = __getDateByBestPattern("hma");
+ else
+ timeFormat = __getDateByBestPattern("Hm");
+
+ resultString = __getString(timeFormat, timeData);
+
+ if (timeFormat) free(timeFormat);
+
+ return resultString;
+}
+
+char *PhLogIcu::getGroupIndexDateString(int time)
+{
+ time_t timeData = time;
+ return __getString(groupFormatType.c_str(), timeData);
+}
+
+char *PhLogIcu::getCallDurationString(int time)
+{
+ int sec, min, hour, day;
+ struct tm tmp={0};
+ char buf_t[1024]={0};
+
+ sec = time;
+ day = sec/(60*60*24);
+ sec %= (60*60*24);
+ hour = sec/(60*60);
+ sec %= (60*60);
+ min = sec/(60);
+ sec %= (60);
+ tmp.tm_mday = day;
+ tmp.tm_hour = hour;
+ tmp.tm_min = min;
+ tmp.tm_sec = sec;
+ strftime(buf_t, sizeof(buf_t), "%H:%M:%S", &tmp);
+
+ return strdup(buf_t);
+}
+
+void PhLogIcu::setDefaultTimezoneId()
+{
+ WENTER();
+ int error = I18N_ERROR_NONE;
+ i18n_uchar utimezone_id[PH_TEXT_SHORT_LEN] = {0};
+ char timezone_buffer[PH_TEXT_SHORT_LEN] = {0};
+ char timezone_id[PH_TEXT_SHORT_LEN] = {0};
+ char* buffer;
+ int res = 0;
+ int timezone_str_size;
+
+ res = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_TIMEZONE, &buffer);
+ WPRET_M(SYSTEM_SETTINGS_ERROR_NONE != res, "SYSTEM_SETTINGS_KEY_LOCALE_TIMEZONE is NULL");
+ strncpy(timezone_id, buffer, sizeof(timezone_id)-1);
+ timezone_str_size = readlink("/opt/etc/localtime", timezone_buffer, sizeof(timezone_buffer)-1);
+ free(buffer);
+
+ if (timezone_str_size > 0) {
+ char *ptr, *sp, *zone = NULL, *city = NULL;
+ ptr = strtok_r(timezone_buffer, "/", &sp);
+
+ while((ptr = strtok_r(NULL, "/", &sp))) {
+ zone = city;
+ city = ptr;
+ }
+
+ if(zone != NULL && city != NULL) {
+ if(strcmp("zoneinfo", zone) == 0) {
+ snprintf(timezone_id, sizeof(timezone_id), "%s", city);
+ }
+ else {
+ snprintf(timezone_id, sizeof(timezone_id), "%s/%s", zone, city);
+ }
+ }
+ WDEBUG("timezone_id:%s", timezone_id);
+ if (systemTimezone)
+ free(systemTimezone);
+ systemTimezone = strdup(timezone_id);
+ }
+ else {
+ WDEBUG("%s", "readlink fail");
+ }
+
+ if (*timezone_id) {
+ i18n_ustring_copy_ua_n(utimezone_id, timezone_id, PH_TEXT_SHORT_LEN);
+ error = i18n_ucalendar_set_default_timezone(utimezone_id);
+ WDEBUG("error:%d, utimezone_id:%s, timezone_id:%s", error, utimezone_id, timezone_id);
+ }
+ else {
+ WPRET_M(NULL == timezone_id, "get timezone_id is failed(%d)", error);
+ }
+}
diff --git a/lib-phone/ph-loglist/icu/PhLogIcu.h b/lib-phone/ph-loglist/icu/PhLogIcu.h
new file mode 100755
index 0000000..9f9e947
--- /dev/null
+++ b/lib-phone/ph-loglist/icu/PhLogIcu.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_LOG_ICU_H_
+#define _PH_LOG_ICU_H_
+
+class PhLogIcu
+{
+public:
+ PhLogIcu();
+ virtual ~PhLogIcu();
+
+public:
+ typedef enum {
+ PH_TIME_FORMAT_12H = 0,
+ PH_TIME_FORMAT_24H,
+ PH_TIME_FORMAT_UNKNOWN
+ } PhTimeFormat;
+
+ typedef enum {
+ PH_DATE_FORMAT_DD_MM_YYYY = 0,
+ PH_DATE_FORMAT_MM_DD_YYYY,
+ PH_DATE_FORMAT_YYYY_DD_MM,
+ PH_DATE_FORMAT_YYYY_MM_DD,
+ PH_DATE_FORMAT_UNKNOWN
+ } PhGroupIndexDateFormat;
+
+ static void setTimeFormat();
+ static int generatePatternForLocal(const char *locale, const char *patternFormat, char *genPattern, int genPatternSize);
+ static void setDateFormat();
+ static void setLocale();
+ static void setDefaultTimezoneId();
+
+ static char *getTimeString(int time);
+ static char *getGroupIndexDateString(int time);
+ static char *getCallDurationString(int time);
+
+private:
+ static char *__getString(const char *pattern, time_t timeData);
+ static char *__getDateByBestPattern(const char* skeleton);
+};
+
+#endif /* _PH_LOG_ICU_H_ */
+
diff --git a/lib-phone/ph-loglist/inc/PhLogDbMgr.h b/lib-phone/ph-loglist/inc/PhLogDbMgr.h
new file mode 100755
index 0000000..02ae6af
--- /dev/null
+++ b/lib-phone/ph-loglist/inc/PhLogDbMgr.h
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_LOG_DB_MGR_H_
+#define _PH_LOG_DB_MGR_H_
+
+#include <list>
+#include <string>
+
+#include <contacts.h>
+////#include <contacts_product.h>
+
+#include "PhDbListener.h"
+
+class PhLogDbMgr
+{
+public:
+ static PhLogDbMgr* getInstance();
+
+public:
+ typedef enum {
+ LIST_TYPE_ALL_CALL_MESSAGE,
+ LIST_TYPE_MISSED_CALL,
+ LIST_TYPE_EMAIL,
+ LIST_TYPE_ALL_CALL,//more_popup
+ LIST_TYPE_DIALED_CALL,
+ LIST_TYPE_RECEIVED_CALL,
+ LIST_TYPE_REJECTED_CALL,
+ LIST_TYPE_ALL_MESSAGE,
+ LIST_TYPE_ALL_CALL_MESSAGE_EMAIL,
+ LIST_TYPE_SENT_MESSAGE,
+ LIST_TYPE_RECEIVED_MESSAGE,
+ LIST_TYPE_DETAIL_VIEW,
+ LIST_TYPE_VOICE_CALLS,
+ LIST_TYPE_VIDEO_CALLS,
+ LIST_TYPE_ALL_CALL_SIM_INDEX_1,
+ LIST_TYPE_ALL_CALL_SIM_INDEX_2
+ }ListType; //log type
+
+ typedef struct RecordInfo
+ {
+ RecordInfo();
+ ~RecordInfo();
+
+ char *displayName;
+ char *imgPath;
+ char *number;
+ char *callDesc;
+ char *displayLogTime;
+
+ int logId;
+ int personId;
+ int numberType;
+ int logTime;
+ int logType;
+ int callDuration;
+
+ std::list<PhLogDbMgr::RecordInfo*> *groupedList;
+ }RecordInfo;
+
+ std::list<PhLogDbMgr::RecordInfo*>* loadLogList(ListType listType, bool isUnknownIncluded, int limit = 0);
+ std::list<PhLogDbMgr::RecordInfo*>* loadDetailList(const char* searchNumber, const char* searchDesc);
+
+ bool deleteLogList(std::list<RecordInfo*> *logList, int totalCount);
+ void dumpLogList(const std::list<RecordInfo*>* list);
+ void updateMissedLogDbAsSeen(int index, int type);
+
+ void attach(PhDbListener* listener);
+ void detach(PhDbListener* listener);
+ static void onNotify(const char* view_uri, void* data);
+
+private:
+ PhLogDbMgr(const char* name);
+ virtual ~PhLogDbMgr();
+
+ unsigned int __getLogListDataFromDb(contacts_list_h* ctsList, ListType type, int limit);
+ unsigned int __getDetailListDataFromDb(contacts_list_h* ctsList, const char* number);
+
+ ListType __requestedListType;
+ bool __requestedIsUnknownIncluded;
+ std::list<PhDbListener*> __listenerList;
+};
+
+#endif //_PH_LOG_DB_MGR_H_
+
diff --git a/lib-phone/ph-loglist/inc/PhLogGenlistHelper.h b/lib-phone/ph-loglist/inc/PhLogGenlistHelper.h
new file mode 100755
index 0000000..6f97eb1
--- /dev/null
+++ b/lib-phone/ph-loglist/inc/PhLogGenlistHelper.h
@@ -0,0 +1,109 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_LOG_GENLIST_HELPER_H_
+#define _PH_LOG_GENLIST_HELPER_H_
+
+#include "Elementary.h"
+#include "WControl.h"
+#include <functional>
+#include <vector>
+
+class PhLogGenlistHelper : public WControl
+{
+public:
+ PhLogGenlistHelper(Evas_Object* parent);
+
+public:
+ typedef struct {
+ Elm_Object_Item* it;
+ const void* data;
+ const void* p;
+ void* contents;
+ Ecore_Timer *thumbnailUpdateTimer;
+ } ItemData;
+
+ typedef struct {
+ Elm_Object_Item* it;
+ const void* data;
+ const void* p;
+ Eina_Bool isChecked;
+ Evas_Object *checkButton;
+ } CheckedItemData;
+
+ typedef enum{
+ SWIPE_TO_RIGHT,
+ SWIPE_TO_LEFT
+ }SwipeDirection;
+public:
+ Evas_Object* getEvasObj(){return __genlist;}
+ Elm_Object_Item* appendItem(
+ const Elm_Genlist_Item_Class *itc,
+ const void *data,
+ Elm_Object_Item *parent,
+ Elm_Genlist_Item_Type type,
+ Evas_Smart_Cb func,
+ const void *func_data);
+
+
+ Elm_Object_Item* appendCheckItem(
+ const Elm_Genlist_Item_Class *itc,
+ const void *data,
+ Elm_Object_Item *parent,
+ Elm_Genlist_Item_Type type,
+ Evas_Smart_Cb func,
+ const void *func_data,
+ Eina_Bool isChecked = EINA_FALSE);
+
+ void appendFinish();
+
+ void updateItems(void);
+
+ void setSwipeHandler(const std::function<void(SwipeDirection, void*)>& func) {__swipeHandler = func;}
+
+private:
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* param );
+ virtual void onDestroy();
+
+ static void __swipeStartCb(void *data, Elm_Object_Item *it, const char *em, const char *src);
+ static void __swipeInvokeCb(void *data, Elm_Object_Item *it, const char *em, const char *src);
+ static void __swipeCancleCb(void *data, Elm_Object_Item *it, const char *em, const char *src);
+ static void __genlistRealizedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __genlistUnrealizedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __languageChangedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __longPressedCb(void *data, Evas_Object *obj, void *event_info);
+ static Eina_Bool __scrollTimerCb(void *data);
+ static void __scrollCb(void *data, Evas_Object *obj, void *event_info);
+ static void __mouseUpCb(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+
+ Evas_Object* __createGenlist(void);
+private:
+ PhLogGenlistHelper();
+ virtual ~PhLogGenlistHelper();
+
+private:
+ Evas_Object* __genlist;
+ Evas_Object* __parent;
+ std::function<void(SwipeDirection, void*)> __swipeHandler;
+ Ecore_Timer* __scrollTimer;
+ bool __isClearRequested;
+
+ int __smartAppendIndex;
+};
+
+#endif //_PH_LOG_GENLIST_HELPER_H_
+
diff --git a/lib-phone/ph-loglist/inc/PhLogListView.h b/lib-phone/ph-loglist/inc/PhLogListView.h
new file mode 100755
index 0000000..b6f5565
--- /dev/null
+++ b/lib-phone/ph-loglist/inc/PhLogListView.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_LOG_LIST_VIEW_H_
+#define _PH_LOG_LIST_VIEW_H_
+#include <system_settings.h>
+
+#include "WView.h"
+
+#include "IContactsTabPageView.h"
+
+#include "PhDbListener.h"
+
+#include "PhLogGenlistHelper.h"
+
+#define LOGLIST_SUB_TEXT_SIZE 22
+
+
+class PhLogListView : public PhDbListener, public IContactsTabPageView
+{
+public:
+ PhLogListView();
+
+public:
+ PhLogGenlistHelper* getGlHelper(void);
+ virtual void updateList(void) {};
+
+protected:
+ virtual void setGenlistLayout();
+ virtual void setNoContentLayout(void);
+
+ virtual void onTabSelect(Elm_Object_Item *naviItem);
+ virtual void onTabUnselect(Elm_Object_Item *naviItem);
+ virtual bool onTabPop(){return true;}
+ virtual void onTabScrollStart() {return;}
+ virtual void onTabScrollStop() {return;}
+ static void formatTimeDateChangedCb(system_settings_key_e key, void *data);
+ virtual void onCreated(void);
+ virtual void onDestroy(void);
+
+protected:
+ virtual ~PhLogListView();
+
+private:
+ PhLogGenlistHelper* __glHelper;
+};
+
+#endif //_PH_LOG_LIST_VIEW_H_
+
+
diff --git a/lib-phone/ph-loglist/inc/PhLogMainListCheckView.h b/lib-phone/ph-loglist/inc/PhLogMainListCheckView.h
new file mode 100755
index 0000000..fbe59bc
--- /dev/null
+++ b/lib-phone/ph-loglist/inc/PhLogMainListCheckView.h
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef PHLOGMAINLISTCHECKVIEW_H_
+#define PHLOGMAINLISTCHECKVIEW_H_
+
+#include "PhLogDbMgr.h"
+#include "PhLogListView.h"
+#include "ContactsCommon.h"
+
+class WAPP_ASSIST_EXPORT PhLogMainListCheckView : public PhLogListView
+{
+public:
+ PhLogMainListCheckView(ContactsData *contactsData);
+ PhLogMainListCheckView(PhLogDbMgr::ListType currentListType, int listPosition);
+
+protected:
+ virtual void onPushed(Elm_Object_Item* naviItem);
+ virtual void onSetAsPageContent(Elm_Object_Item* parentNaviItem);
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam);
+ virtual void onCreated();
+
+private:
+ typedef enum{
+ LAUNCH_MODE_NORMAL = 0,
+ LAUNCH_MODE_MESSAGE_COMPOSER,
+ LAUNCH_MODE_EMAIL_COMPOSER
+ }__LaunchMode;
+
+ virtual void onDbChanged();
+
+ virtual void updateList(void);
+
+ void __enableTitleBtn();
+
+ void __setGenlistItcs();
+
+ void __setList(void);
+
+ void __initializeTitleInfo();
+ void __updateTitleInfo();
+
+ static void __checkAllItems(PhLogGenlistHelper* glHelper);
+ static void __uncheckAllItems(PhLogGenlistHelper* glHelper);
+ static void __checkItem(PhLogGenlistHelper::CheckedItemData * itemData);
+ static void __uncheckItem(PhLogGenlistHelper::CheckedItemData * itemData);
+ static void __checkAllClickedCb(void *data, Evas_Object *obj, void *event_info);
+
+ static void __selectItemCb(void *data, Evas_Object *obj, void *event_info);
+
+ PhLogMainListCheckView::__LaunchMode __decideLaunchMode(ContactsData* contactsData);
+ void __replyToUgRequest();
+
+ //from IContactsTabPageView
+ virtual void onTabSelect(Elm_Object_Item *naviItem);
+ virtual void onTabUnselect(Elm_Object_Item *naviItem);
+ virtual bool onTabPop();
+
+private:
+ PhLogMainListCheckView();
+ virtual ~PhLogMainListCheckView();
+
+private:
+ Elm_Genlist_Item_Class *__itcGroupIndex;
+ Elm_Genlist_Item_Class *__itcDeleteList;
+ Elm_Genlist_Item_Class *__itcSelectAll;
+ std::list<PhLogDbMgr::RecordInfo*>* __logList;
+ Evas_Object *__checkAllButton;
+ Evas_Object *__deleteButton;
+ std::list<PhLogDbMgr::RecordInfo*> *__checkedList;
+ ContactsData* __contactsData;
+ __LaunchMode __launchMode;
+ PhLogDbMgr::ListType __currentListType;
+ PhLogDbMgr::RecordInfo* __newRecord;
+ bool __enableTitleButton;
+ bool __enableCheckAllButton;
+ int __checkedCount;
+ int __totalCount;
+ int __listInitialPosition;
+};
+
+#endif /* PHLOGMAINLISTCHECKVIEW_H_ */
diff --git a/lib-phone/ph-loglist/inc/PhLogMainListView.h b/lib-phone/ph-loglist/inc/PhLogMainListView.h
new file mode 100755
index 0000000..1cd9955
--- /dev/null
+++ b/lib-phone/ph-loglist/inc/PhLogMainListView.h
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_LOG_MAIN_LIST_VIEW_H_
+#define _PH_LOG_MAIN_LIST_VIEW_H_
+
+#include <map>
+#include <system_settings.h>
+
+#include "ContactsCommon.h"
+
+#include "PhLogListView.h"
+#include "PhLogDbMgr.h"
+#include "WUiTimer.h"
+
+class WAPP_ASSIST_EXPORT PhLogMainListView : public PhLogListView
+{
+public:
+ PhLogMainListView(ContactsData *contactsData);
+
+protected:
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam);
+ virtual void onCreated(void);
+ virtual void onDestroy(void);
+ virtual void onSetAsPageContent(Elm_Object_Item* parentNaviItem);
+
+private:
+ typedef enum{
+ LAUNCH_MODE_NORMAL = 0,
+ LAUNCH_MODE_SINGLE_SELECT_UG,
+ LAUNCH_MODE_EMAIL_ADD_PRIORITY_SENDER_UG,
+ LAUNCH_MODE_DURING_CALL_TABUG
+ } __LaunchMode;
+
+ __LaunchMode __decideLaunchMode(ContactsData* contactsData);
+ void __createViewBy();
+ void __resetMissedCallCount();
+ void __setMoreBtn(Elm_Object_Item *naviItem);
+ void __setList(void);
+ void __setGenlistItcs();
+ int __getListPosition();
+ void __initIcuPattern();
+
+ Evas_Object* __getCachedContents(std::string keyString);
+ Evas_Object* __createListContents(std::string contentsType);
+
+ static void __onViewByCallsCb(void *data, Evas_Object *obj, void *event_info);
+ static void __selectDetailButtonCb(void *data, Evas_Object *obj, void *event_info);
+ static void __selectItemCb(void *data, Evas_Object *obj, void *event_info);
+ static void __genlistUnswallowCb(void *data, Evas_Object* obj, void *event_info);
+ static void __windowFocusInCb(void *data, Evas_Object *obj, void *event_info);
+
+ //from PhLogListView
+ virtual void updateList(void);
+
+ //from PhDbListener
+ virtual void onDbChanged();
+
+ //from IContactsTabPageView
+ virtual void onTabSelect(Elm_Object_Item *naviItem);
+ virtual void onTabUnselect(Elm_Object_Item *naviItem);
+ virtual bool onTabPop();
+private:
+ PhLogMainListView();
+ virtual ~PhLogMainListView();
+
+private:
+ Elm_Genlist_Item_Class *__itcGroupIndex;
+ Elm_Genlist_Item_Class *__itcMainList;
+ std::list<PhLogDbMgr::RecordInfo*>* __logList;
+
+ bool __enableViewByButton;
+ Evas_Object* __viewByButton;
+ PhLogDbMgr::ListType __currentListType;
+ std::map<Evas_Object*,std::string> __logCacheList;
+
+ __LaunchMode __launchMode;
+ ContactsData* __contactsData;
+ WUiTimer* __dbUpdateTimer;
+ bool __isActive;
+ bool __isScrollStopped;
+ bool __isUpdateImmediate;
+};
+
+#endif /* _PH_LOG_MAIN_LIST_VIEW_H_ */
diff --git a/lib-phone/ph-loglist/src/PhLogDbMgr.cpp b/lib-phone/ph-loglist/src/PhLogDbMgr.cpp
new file mode 100755
index 0000000..35b62b6
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogDbMgr.cpp
@@ -0,0 +1,663 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhCommon.h"
+#include "PhLogDbMgr.h"
+#include "ContactsDebug.h"
+#include "PhLogUtil.h"
+#include "PhLogIcu.h"
+
+#include <vector>
+
+PhLogDbMgr::RecordInfo::RecordInfo()
+{
+ displayName = NULL;
+ imgPath = NULL;
+ number = NULL;
+ callDesc = NULL;
+
+ logId = 0;
+ personId = 0;
+ numberType = 0;
+ logTime = 0;
+ logType = 0;
+ callDuration = 0;
+
+ groupedList = NULL;
+};
+PhLogDbMgr::RecordInfo::~RecordInfo()
+{
+ SAFE_FREE(displayName);
+ SAFE_FREE(imgPath);
+ SAFE_FREE(number);
+ SAFE_FREE(callDesc);
+
+ delete groupedList;
+};
+
+PhLogDbMgr* PhLogDbMgr::getInstance()
+{
+ static PhLogDbMgr __instance("LogDbMgr");
+ return &__instance;
+}
+
+PhLogDbMgr::PhLogDbMgr(const char* name)
+{
+ WENTER();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_db_add_changed_cb(_contacts_person._uri, onNotify, this);
+ if (CONTACTS_ERROR_NONE != err) WWARNING("contacts_db_remove_changed_cb() Failed(%d)", err);
+ err = contacts_db_add_changed_cb(_contacts_phone_log._uri, onNotify, this);
+ if (CONTACTS_ERROR_NONE != err) WWARNING("contacts_db_remove_changed_cb() Failed(%d)", err);
+}
+
+PhLogDbMgr::~PhLogDbMgr()
+{
+ WENTER();
+ int err = CONTACTS_ERROR_NONE;
+
+ err = contacts_db_remove_changed_cb(_contacts_person._uri, onNotify, this);
+ if (CONTACTS_ERROR_NONE != err) WWARNING("contacts_db_remove_changed_cb() Failed(%d)", err);
+// err = contacts_db_remove_changed_cb_with_info(_contacts_phone_log._uri, onNotify, this);
+ err = contacts_db_remove_changed_cb(_contacts_phone_log._uri, onNotify, this);
+ if (CONTACTS_ERROR_NONE != err) WWARNING("contacts_db_remove_changed_cb() Failed(%d)", err);
+}
+
+unsigned int PhLogDbMgr::__getDetailListDataFromDb(contacts_list_h* ctsList, const char* number)
+{
+ WENTER();
+ int err = CONTACTS_ERROR_NONE;
+ contacts_filter_h filter = NULL;
+ contacts_query_h query = NULL;
+ int recordCnt = 0;
+
+ do{
+ if (CONTACTS_ERROR_NONE != (err = contacts_query_create(_contacts_person_phone_log._uri, &query))) break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_create( _contacts_person_phone_log._uri, &filter))) break;
+
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_GREATER_THAN_OR_EQUAL, CONTACTS_PLOG_TYPE_VOICE_INCOMMING)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_LESS_THAN_OR_EQUAL, CONTACTS_PLOG_TYPE_VIDEO_BLOCKED)))break;
+
+ if (SAFE_STRLEN(number)>0)
+ {
+ WHIT();
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_str(filter, _contacts_person_phone_log.address, CONTACTS_MATCH_EXACTLY, number)))break;
+ }
+
+ if (CONTACTS_ERROR_NONE != (err = contacts_query_set_filter(query, filter)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_query_set_sort(query, _contacts_person_phone_log.log_time, false)))break;
+
+ if(ctsList != NULL)
+ {
+ if (CONTACTS_ERROR_NONE != (err = contacts_db_get_records_with_query(query, 0, 0, ctsList)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_list_get_count(*ctsList, &recordCnt)))break;
+ }
+ else
+ {
+ if (CONTACTS_ERROR_NONE != (err = contacts_db_get_count_with_query(query, (int *)(&recordCnt))))break;;
+ WDEBUG("get count! (%d records)", recordCnt);
+ }
+ }while(0);
+
+ if (query)
+ contacts_query_destroy(query);
+ if (filter)
+ contacts_filter_destroy(filter);
+
+ WDEBUG("get db records (ctsList: 0x%x, count:%d, error:%d)", ctsList, recordCnt, err);
+ return recordCnt;
+
+}
+
+unsigned int PhLogDbMgr::__getLogListDataFromDb(contacts_list_h* ctsList, ListType type, int limit)
+{
+ WENTER();
+ int err = CONTACTS_ERROR_NONE;
+ contacts_filter_h filter = NULL;
+ contacts_query_h query = NULL;
+ int recordCnt = 0;
+
+ int logTypeMin = CONTACTS_PLOG_TYPE_NONE;
+ int logTypeMax = CONTACTS_PLOG_TYPE_NONE;
+ err = contacts_query_create(_contacts_person_phone_log._uri, &query);
+ WPRET_VM(CONTACTS_ERROR_NONE != err, 0, "contacts_query_create() Failed(%d)", err);
+
+ err = contacts_filter_create( _contacts_person_phone_log._uri, &filter);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_filter_create() Failed(%d)", err);
+ err = contacts_query_destroy(query);
+ if(CONTACTS_ERROR_NONE != err)
+ WWARNING("contacts_query_destroy() Failed(%d)", err);
+ return 0;
+ }
+
+ switch (type)
+ {
+ case LIST_TYPE_MISSED_CALL:
+ logTypeMin = CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN;
+ logTypeMax = CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_SEEN;
+ break;
+ case LIST_TYPE_EMAIL:
+ logTypeMin = CONTACTS_PLOG_TYPE_EMAIL_RECEIVED;
+ logTypeMax = CONTACTS_PLOG_TYPE_EMAIL_SENT;
+ break;
+ case LIST_TYPE_ALL_CALL:
+ case LIST_TYPE_ALL_CALL_SIM_INDEX_1:
+ case LIST_TYPE_ALL_CALL_SIM_INDEX_2:
+ logTypeMin = CONTACTS_PLOG_TYPE_VOICE_INCOMMING;
+ logTypeMax = CONTACTS_PLOG_TYPE_VIDEO_BLOCKED;
+ break;
+ case LIST_TYPE_DIALED_CALL:
+ logTypeMin = CONTACTS_PLOG_TYPE_VOICE_OUTGOING;
+ logTypeMax = CONTACTS_PLOG_TYPE_VIDEO_OUTGOING;
+ break;
+ case LIST_TYPE_RECEIVED_CALL:
+ logTypeMin = CONTACTS_PLOG_TYPE_VOICE_INCOMMING;
+ logTypeMax = CONTACTS_PLOG_TYPE_VIDEO_INCOMMING;
+ break;
+ case LIST_TYPE_REJECTED_CALL:
+ logTypeMin = CONTACTS_PLOG_TYPE_VOICE_REJECT;
+ logTypeMax = CONTACTS_PLOG_TYPE_VIDEO_BLOCKED;
+ break;
+ case LIST_TYPE_ALL_MESSAGE:
+ logTypeMin = CONTACTS_PLOG_TYPE_MMS_INCOMMING;
+ logTypeMax = CONTACTS_PLOG_TYPE_MMS_BLOCKED;
+ break;
+ case LIST_TYPE_SENT_MESSAGE:
+ logTypeMin = CONTACTS_PLOG_TYPE_MMS_OUTGOING;
+ logTypeMax = CONTACTS_PLOG_TYPE_SMS_OUTGOING;
+ break;
+ case LIST_TYPE_RECEIVED_MESSAGE:
+ logTypeMin = CONTACTS_PLOG_TYPE_MMS_INCOMMING;
+ logTypeMax = CONTACTS_PLOG_TYPE_SMS_INCOMMING;
+ break;
+ case LIST_TYPE_VOICE_CALLS:
+ break;
+ case LIST_TYPE_VIDEO_CALLS:
+ break;
+ case LIST_TYPE_ALL_CALL_MESSAGE:
+ default:
+ logTypeMin = CONTACTS_PLOG_TYPE_VOICE_INCOMMING;
+ logTypeMax = CONTACTS_PLOG_TYPE_MMS_BLOCKED;
+ break;
+ }
+
+ if(type == LIST_TYPE_DIALED_CALL
+ || type == LIST_TYPE_RECEIVED_CALL
+ || type == LIST_TYPE_SENT_MESSAGE
+ || type == LIST_TYPE_RECEIVED_MESSAGE)
+ {
+ do {
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, logTypeMin)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, logTypeMax)))break;
+// if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)))break;
+// if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_RCS)))break;
+ }while(0);
+ }
+ else if(type == LIST_TYPE_VOICE_CALLS)
+ {
+ do {
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VOICE_INCOMMING)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VOICE_OUTGOING)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VOICE_INCOMMING_SEEN)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VOICE_REJECT)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VOICE_BLOCKED)))break;
+ }while(0);
+ }
+ else if(type == LIST_TYPE_VIDEO_CALLS)
+ {
+ do {
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VIDEO_INCOMMING)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VIDEO_OUTGOING)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_SEEN)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VIDEO_REJECT)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VIDEO_BLOCKED)))break;
+ }while(0);
+ }
+ else if(type == LIST_TYPE_ALL_CALL_SIM_INDEX_1 )
+ {
+ do{
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_GREATER_THAN_OR_EQUAL, logTypeMin)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_LESS_THAN_OR_EQUAL, logTypeMax)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.sim_slot_no, CONTACTS_MATCH_EQUAL, 0)))break;
+ }while(0);
+ }
+ else if(type == LIST_TYPE_ALL_CALL_SIM_INDEX_2 )
+ {
+ do{
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_GREATER_THAN_OR_EQUAL, logTypeMin)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_LESS_THAN_OR_EQUAL, logTypeMax)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.sim_slot_no, CONTACTS_MATCH_EQUAL, 1)))break;
+ }while(0);
+ }
+ else
+ {
+ do{
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_GREATER_THAN_OR_EQUAL, logTypeMin)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_LESS_THAN_OR_EQUAL, logTypeMax)))break;
+ }while(0);
+ }
+
+ if (CONTACTS_ERROR_NONE == err)
+ {
+ WHIT();
+ do{
+ if (CONTACTS_ERROR_NONE != (err = contacts_query_set_filter(query, filter)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_query_set_sort(query, _contacts_person_phone_log.log_time, false)))break;
+
+ // if output param NULL, just count the records
+ if(ctsList != NULL)
+ {
+ if (CONTACTS_ERROR_NONE != (err = contacts_db_get_records_with_query(query, 0, limit, ctsList)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_list_get_count(*ctsList, &recordCnt)))break;
+ }
+ else
+ {
+ if (CONTACTS_ERROR_NONE != (err = contacts_db_get_count_with_query(query, (int *)(&recordCnt))))break;;
+ WDEBUG("get count! (%d records)", recordCnt);
+ }
+ }while(0);
+ }
+
+ if (query)
+ contacts_query_destroy(query);
+ if (filter)
+ contacts_filter_destroy(filter);
+
+ WDEBUG("get db records (ctsList: 0x%x, type:%d, count:%d, error:%d)", ctsList, type, recordCnt, err);
+ return recordCnt;
+
+}
+
+bool PhLogDbMgr::deleteLogList(std::list<RecordInfo*> *logList, int totalCount)
+{
+ WHIT();
+
+ WPRET_VM( NULL == logList, false, "Invalid parameter(data) is NULL");
+
+ int err = CONTACTS_ERROR_NONE;
+ std::vector<int> logIdArray;
+ logIdArray.reserve(totalCount);
+
+ for (auto &selectedRecordInfo : *logList) {
+ logIdArray.push_back(selectedRecordInfo->logId);
+
+ if (selectedRecordInfo->groupedList) {
+ for (auto &groupedRecordInfo : *selectedRecordInfo->groupedList) {
+ logIdArray.push_back(groupedRecordInfo->logId);
+ }
+ }
+ }
+
+ err = contacts_db_delete_records(_contacts_phone_log._uri, logIdArray.data(), logIdArray.size());
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_db_delete_records() Failed(%d)", err);
+
+ return true;
+}
+
+std::list<PhLogDbMgr::RecordInfo*>* PhLogDbMgr::loadDetailList(const char* searchNumber, const char* searchDesc)
+{
+ WENTER();
+ WDEBUG("searchNumber[%s], searchDesc[%s]", searchNumber, searchDesc);
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h ctsList = NULL;
+ contacts_record_h record = NULL;
+// bool isMessageType = PhLogUtil::isMsgType( searchRecord->logType);
+ __getDetailListDataFromDb(&ctsList, searchNumber);
+ WPRET_VM(ctsList == NULL, NULL, "__getLogListDataFromDb Failed.");
+
+ std::list<RecordInfo*>* list = new std::list<RecordInfo*>;
+ do{
+ err = contacts_list_get_current_record_p(ctsList, &record);
+ if(CONTACTS_ERROR_NONE != err){
+ WERROR("contacts_list_get_current_record_p() Failed(%d)", err);
+ break;
+ }
+
+ char *tmpNumber = NULL;
+ err = contacts_record_get_str_p(record, _contacts_person_phone_log.address, &tmpNumber);
+ if(CONTACTS_ERROR_NONE != err){
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+ break;
+ }
+
+ char * tempDesc = NULL;
+ err = contacts_record_get_str_p(record, _contacts_person_phone_log.extra_data2, &tempDesc);
+ if(CONTACTS_ERROR_NONE != err){
+ WERROR("contacts_record_get_int() Failed(%d)", err);
+ break;
+ }
+
+ if( !( SAFE_STRLEN(searchNumber) > 0 ) )
+ {
+ if ( tmpNumber || !PhLogUtil::isGroupedByDesc(searchDesc, (const char*)tempDesc)) {
+ err = contacts_list_next(ctsList);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_list_next() Failed(%d)", err);
+ break;
+ }
+// free(tmpNumber);
+// free(tempDesc);
+ continue;
+ }
+ }
+
+ RecordInfo *recordInfo = new RecordInfo;
+ recordInfo->number = SAFE_STRDUP(tmpNumber);
+ recordInfo->callDesc = SAFE_STRDUP(tempDesc);
+ err = contacts_record_get_int(record, _contacts_person_phone_log.log_id, &recordInfo->logId);
+ err = contacts_record_get_int(record, _contacts_person_phone_log.person_id, &recordInfo->personId);
+ err = contacts_record_get_int(record, _contacts_person_phone_log.log_time, &recordInfo->logTime);
+ err = contacts_record_get_int(record, _contacts_person_phone_log.log_type, &recordInfo->logType);
+ err = contacts_record_get_int(record, _contacts_person_phone_log.extra_data1, &recordInfo->callDuration);
+ err = contacts_record_get_int(record, _contacts_person_phone_log.address_type, &recordInfo->numberType);
+ err = contacts_record_get_str(record, _contacts_person_phone_log.display_name, &recordInfo->displayName);
+ err = contacts_record_get_str(record, _contacts_person_phone_log.image_thumbnail_path, &recordInfo->imgPath);
+
+ if(PhLogUtil::isVoiceCallType(recordInfo->logType) || PhLogUtil::isVideoCallType(recordInfo->logType))
+ recordInfo->logTime -= recordInfo->callDuration;
+
+ list->push_back(recordInfo);
+
+ err = contacts_list_next(ctsList);
+// free(tmpNumber);
+// free(tempDesc);
+ if(CONTACTS_ERROR_NONE != err)
+ {
+ WERROR("contacts_list_next() Failed(%d)", err);
+ break;
+ }
+ }while (1);
+
+ contacts_list_destroy(ctsList, true);
+
+ return list;
+}
+
+std::list<PhLogDbMgr::RecordInfo*>* PhLogDbMgr::loadLogList(ListType listType, bool isUnknownIncluded, int limit /* = 0 */ )
+{
+ WENTER();
+
+ int err = CONTACTS_ERROR_NONE;
+ contacts_list_h ctsList;
+ contacts_record_h record = NULL;
+ std::list<RecordInfo*>* list = new std::list<RecordInfo*>;
+
+ __requestedListType = listType;
+ __requestedIsUnknownIncluded = isUnknownIncluded;
+
+ __getLogListDataFromDb(&ctsList, __requestedListType, limit);
+
+ if (ctsList == NULL) {
+ WERROR("__getLogListDataFromDb Failed.");
+ delete list;
+ return NULL;
+ }
+ do{
+ err = contacts_list_get_current_record_p(ctsList, &record);
+ if(CONTACTS_ERROR_NONE != err){
+ WERROR("contacts_list_get_current_record_p() Failed(%d)", err);
+ break;
+ }
+
+ char *number = NULL;
+ err = contacts_record_get_str_p(record, _contacts_person_phone_log.address, &number);
+ if(CONTACTS_ERROR_NONE != err){
+ WERROR("contacts_record_get_str_p() Failed(%d)", err);
+ break;
+ }
+
+ if (__requestedIsUnknownIncluded == false && (!number || !*number)) {
+ err = contacts_list_next(ctsList);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_list_next() Failed(%d)", err);
+ break;
+ }
+ continue;
+ }
+
+ RecordInfo *recordInfo = new RecordInfo;
+ err = contacts_record_get_int(record, _contacts_person_phone_log.log_id, &recordInfo->logId);
+ err = contacts_record_get_int(record, _contacts_person_phone_log.person_id, &recordInfo->personId);
+ recordInfo->number = SAFE_STRDUP(number);
+ err = contacts_record_get_int(record, _contacts_person_phone_log.log_time, &recordInfo->logTime);
+ err = contacts_record_get_int(record, _contacts_person_phone_log.log_type, &recordInfo->logType);
+ err = contacts_record_get_int(record, _contacts_person_phone_log.extra_data1, &recordInfo->callDuration);
+ err = contacts_record_get_int(record, _contacts_person_phone_log.address_type, &recordInfo->numberType);
+ err = contacts_record_get_str(record, _contacts_person_phone_log.display_name, &recordInfo->displayName);
+ err = contacts_record_get_str(record, _contacts_person_phone_log.image_thumbnail_path, &recordInfo->imgPath);
+ err = contacts_record_get_str(record, _contacts_person_phone_log.extra_data2, &recordInfo->callDesc);
+
+ if(PhLogUtil::isVoiceCallType(recordInfo->logType) || PhLogUtil::isVideoCallType(recordInfo->logType))
+ recordInfo->logTime -= recordInfo->callDuration;
+ recordInfo->displayLogTime = PhLogIcu::getTimeString(recordInfo->logTime);
+
+ list->push_back(recordInfo);
+
+ err = contacts_list_next(ctsList);
+ if(CONTACTS_ERROR_NONE != err)
+ {
+ WERROR("contacts_list_next() Failed(%d)", err);
+ break;
+ }
+ }while (1);
+
+ contacts_list_destroy(ctsList, true);
+
+ WLEAVE();
+ return list;
+}
+
+void PhLogDbMgr::dumpLogList(const std::list<RecordInfo*>* list)
+{
+ WENTER();
+
+ int idx = 0;
+ for (auto it=list->begin(); it != list->end(); it++)
+ {
+ RecordInfo *recordInfo = (RecordInfo*)(*it);
+ WDEBUG("[%d]---------",idx++);
+ WDEBUG("logId %d",recordInfo->logId);
+ WDEBUG("personId %d",recordInfo->personId);
+ WDEBUG("number %s",recordInfo->number);
+ WDEBUG("logTime %ld",recordInfo->logTime);
+ WDEBUG("logType %d",recordInfo->logType);
+ WDEBUG("callDuration %d",recordInfo->callDuration);
+ WDEBUG("displayName %s",recordInfo->displayName);
+ WDEBUG("imgPath %s",recordInfo->imgPath);
+ WDEBUG("callDesc %s",recordInfo->callDesc);
+// WDEBUG("-------------");
+ }
+
+ WLEAVE();
+}
+
+void PhLogDbMgr::updateMissedLogDbAsSeen(int index, int type)
+{
+ WENTER();
+ int logType = 0;
+ int err = CONTACTS_ERROR_NONE;
+ contacts_record_h logRecord = NULL;
+
+ WPRET_M(CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN != type &&
+ CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN != type &&
+ CONTACTS_PLOG_TYPE_NONE != type,
+ "The type is invalid. It must be CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN"
+ " or CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN or none");
+
+ WDEBUG("update phonelogs table records(index: %d, log_type:%d)",index, type);
+ if (0 == index) {
+ contacts_list_h ctsList = NULL;
+ contacts_filter_h filter = NULL;
+ contacts_query_h query = NULL;
+ int recordCnt = 0;
+
+ err = contacts_query_create(_contacts_phone_log._uri, &query);
+ WPRET_M(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)", err);
+ err = contacts_filter_create(_contacts_phone_log._uri, &filter);
+ if (CONTACTS_ERROR_NONE != err) {
+ WERROR("contacts_filter_create() Failed(%d)", err);
+ contacts_query_destroy(query);
+ return;
+ }
+
+ do {
+ if (CONTACTS_PLOG_TYPE_NONE == type)
+ {
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_query_set_filter(query, filter)))break;
+ }
+ else
+ {
+ if (CONTACTS_ERROR_NONE != (err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_EQUAL, type)))break;
+ if (CONTACTS_ERROR_NONE != (err = contacts_query_set_filter(query, filter)))break;
+ }
+
+ if (CONTACTS_ERROR_NONE != (err = contacts_db_get_records_with_query(query, 0, 0, &ctsList)))
+ {
+ err = contacts_list_destroy(ctsList, true);
+ if(CONTACTS_ERROR_NONE != err)
+ WWARNING("contacts_list_destroy() result : error(%d)", err);
+ break;
+ }
+ if (CONTACTS_ERROR_NONE != (err = contacts_list_get_count(ctsList, &recordCnt)))break;
+
+ if (0 < recordCnt)
+ {
+ while(CONTACTS_ERROR_NONE == contacts_list_get_current_record_p(ctsList, &logRecord)) {
+ err = contacts_record_get_int(logRecord, _contacts_phone_log.log_type, &logType);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
+ err = contacts_record_set_int( logRecord, _contacts_phone_log.log_type, logType+1);
+ WPWARN(CONTACTS_ERROR_NONE != err, "contacts_record_set_int() Failed(%d)", err);
+ contacts_list_next(ctsList);
+ }
+
+ WDEBUG("mard_as_read(%d)", recordCnt);
+ ecore_thread_run([](void *data, Ecore_Thread *thread)
+ {
+ WDEBUG("BEGIN(thread) - mark_as_read");
+ contacts_list_h ctsList = (contacts_list_h)data;
+
+ contacts_db_update_records(ctsList);
+ contacts_list_destroy(ctsList, true);
+
+ WDEBUG("LEAVE(thread) - mark_as_read");
+ }, NULL, NULL, ctsList);
+ }
+ else
+ {
+ contacts_list_destroy(ctsList, true);
+ break;
+ }
+ }while(0);
+
+ if (query)
+ contacts_query_destroy(query);
+ if (filter)
+ contacts_filter_destroy(filter);
+ }
+ else {
+ if (CONTACTS_ERROR_NONE != (err = contacts_db_get_record( _contacts_phone_log._uri, index, &logRecord)))
+ {
+ err = contacts_record_get_int( logRecord, _contacts_phone_log.log_type, &logType );
+ if (CONTACTS_ERROR_NONE != err) {
+ WDEBUG("contacts_record_get_int() Failed(%d)", err);
+ }
+ err = contacts_record_set_int( logRecord, _contacts_phone_log.log_type, logType+1);
+ if (CONTACTS_ERROR_NONE != err) {
+ WDEBUG("contacts_record_set_int() Failed(%d)", err);
+ }
+ err = contacts_db_update_record(logRecord);
+ if (CONTACTS_ERROR_NONE != err) {
+ WDEBUG("contacts_db_update_record() Failed(%d)", err);
+ }
+ contacts_record_destroy(logRecord, true);
+ }
+ }
+ WDEBUG("contacts_service err : %d", err);
+ return;
+}
+
+void PhLogDbMgr::attach(PhDbListener* listener)
+{
+ WASSERT_EX(listener, "no listener");
+ WDEBUG("attach Listener: %p", listener);
+ std::list<PhDbListener*>::iterator it;
+ for (it=__listenerList.begin(); it!=__listenerList.end(); it++)
+ {
+ if (*it == listener)
+ {
+ __listenerList.erase(it);
+ break;
+ }
+ }
+ __listenerList.push_back(listener);
+}
+
+void PhLogDbMgr::detach(PhDbListener* listener)
+{
+ WASSERT_EX(listener, "no listener");
+ WDEBUG("detach Listener: %p", listener);
+ std::list<PhDbListener*>::iterator it;
+
+ for (it=__listenerList.begin(); it!=__listenerList.end(); it++)
+ {
+ if (*it == listener)
+ {
+ __listenerList.erase(it);
+ break;
+ }
+ }
+}
+
+void PhLogDbMgr::onNotify(const char* view_uri, void* data)
+{
+ WENTER();
+ WPRET_M(NULL == data , "Invalid Param : data");
+ PhLogDbMgr* p = (PhLogDbMgr*) data;
+
+ std::list<PhDbListener*> copyList(p->__listenerList);
+ std::list<PhDbListener*>::iterator it;
+ for (it=copyList.begin(); it!=copyList.end(); it++)
+ (*it)->onDbChanged();
+}
+
+
diff --git a/lib-phone/ph-loglist/src/PhLogDefines.h b/lib-phone/ph-loglist/src/PhLogDefines.h
new file mode 100755
index 0000000..dc4aeae
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogDefines.h
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_LOG_DEFINES_H
+#define _PH_LOG_DEFINES_H
+
+#define PH_TEXT_SHORT_LEN 256
+
+#define _EDJ(obj) (Evas_Object *)elm_layout_edje_get(obj)
+
+
+enum PHUI_UG_LIST_TYPES{
+ PH_UG_REQUEST_SELECT = 11,/**< . */
+ PH_UG_REQUEST_SELECT_NUMBER = 12,/**< . */
+ PH_UG_REQUEST_SELECT_EMAIL = 13,/**< . */
+ PH_UG_REQUEST_SELECT_NUMBER_OR_EMAIL = 17,/**< . */
+
+ PH_UG_REQUEST_SET_WITH_NUM = 21,/**< . */
+ PH_UG_REQUEST_SET_WITH_EMAIL = 22,/**< . */
+ PH_UG_REQUEST_SET_WITH_WEB = 23,/**< . */
+ PH_UG_REQUEST_SET_WITH_IMG = 24,/**< . */
+ PH_UG_REQUEST_SET_WITH_RINGTONE = 25,/**< . */
+
+ PH_UG_REQUEST_CHECK = 31,/**< . */
+ PH_UG_REQUEST_CHECK_FOR_NUMBER = 32,/**< . */
+ PH_UG_REQUEST_CHECK_FOR_EMAIL = 33,/**< . */
+ PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL = 34,/**< . */
+
+ PH_UG_REQUEST_LAUNCH_VOICECALL = 51,/**< . */
+
+ PH_UG_REQUEST_LAUNCH_HELP_MAKECALLS = 52,/**< . */
+ PH_UG_REQUEST_LAUNCH_HELP_SAVECONTACTS = 53,/**< . */
+};
+
+enum PH_UG_LOG_TYPES{
+ PH_UG_REQUEST_LOG_CHECK = 11,
+ PH_UG_REQUEST_LOG_SELECT = 12,
+ PH_UG_REQUEST_LOG_DETAIL = 13,
+};
+
+/**
+ * The key of request bundle for type.
+ * \n Value : convert id to string by using \%d.
+ */
+#define PH_UG_BUNDLE_TYPE "type"
+
+/**
+ * The key of result bundle for phonelog index
+ * \n The contact index on #PH_UG_REQUEST_LOG_SELECT
+ * \n Value : convert id to integer by using atoi()
+ */
+#define PH_UG_BUNDLE_RESULT_PLOG_ID "plog_id"
+
+/**
+ * The key of result bundle for a list of phonelog index
+ * \n The phonelog index on #PH_UG_REQUEST_LOG_CHECK
+ * \n Value : convert string to a integer array by using g_base64_decode()
+ * @par example
+ * @code
+ void phonelog_result_cb(struct ui_gadget *ug, bundle *result, void *data)
+ {
+ if(NULL == ug || NULL == data)
+ return;
+
+ if(result) {
+ const char *val;
+ int *list, len, i;
+
+ val = bundle_get_val(result, PH_UG_BUNDLE_RESULT_PLOG_ID_LIST);
+ list = (int *)g_base64_decode(val, &len);
+
+ for(i=0;i<len/sizeof(int);i++)
+ // handle operation for each list[i]
+
+ g_free(list);
+ }
+ }
+ *
+ * @endcode
+ */
+#define PH_UG_BUNDLE_RESULT_PLOG_ID_LIST "get_select_list" // TODO : change to "plog_id_list"
+
+/**
+ * @}
+ */
+
+#define LOG_LIST_CALL_TYPE_SIZE 45
+#define LOG_LIST_INFO_BTN_SIZE 50
+
+#endif //_PH_LOG_DEFINES_H
diff --git a/lib-phone/ph-loglist/src/PhLogDetailButtonInfoControl.cpp b/lib-phone/ph-loglist/src/PhLogDetailButtonInfoControl.cpp
new file mode 100755
index 0000000..353a0a6
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogDetailButtonInfoControl.cpp
@@ -0,0 +1,128 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <dlfcn.h>
+#include "WUiTimer.h"
+
+#include "ContactsAppControl.h"
+#include "ContactsDebug.h"
+
+#include "PhPath.h"
+#include "PhCommon.h"
+
+#include "PhLogUtil.h"
+#include "PhLogDetailButtonInfoControl.h"
+
+PhLogDetailButtonInfoControl::PhLogDetailButtonInfoControl(Evas_Object* window, Evas_Object* naviframe):
+__messageIcon(NULL),
+__voiceIcon(NULL),
+__videoIcon(NULL),
+__dlHandle(NULL),
+__msgHandler(NULL)
+{
+}
+
+PhLogDetailButtonInfoControl::~PhLogDetailButtonInfoControl()
+{
+ WHIT();
+}
+
+Evas_Object* PhLogDetailButtonInfoControl::onCreate( Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+
+ Evas_Object *baseLayout = PhCommon::createLayout(parent, LOG_LIST_EDJ, "log/detail/info/button");
+ WPRET_VM(NULL == baseLayout, NULL, "PhCommon::createLayout() return NULL");
+
+ //message button
+ Evas_Object *messageButton = PhCommon::createButton(baseLayout, "transparent", NULL, [](void *data, Evas_Object *obj, void *event_info){
+ PhLogDetailButtonInfoControl *p = (PhLogDetailButtonInfoControl*)data;
+ if (p->__msgHandler)
+ p->__msgHandler(p->__number);
+ }, this);
+ WPRET_VM(NULL == messageButton, NULL, "PhCommon::createButton() return NULL");
+ elm_layout_content_set(baseLayout,"elm.swallow.message", messageButton);
+
+ __messageIcon = PhCommon::createLayout(messageButton, LOG_LIST_EDJ, PH_LOG_ICON_DETAIL_MESSAGE);
+ WPRET_VM(NULL == __messageIcon, NULL, "PhCommon::createImage() return NULL");
+ elm_object_content_set(messageButton, __messageIcon);
+
+ //voice call button
+ Evas_Object *voiceButton = PhCommon::createButton(baseLayout, "transparent", NULL, [](void *data, Evas_Object *obj, void *event_info) {
+ PhLogDetailButtonInfoControl *p = (PhLogDetailButtonInfoControl*)data;
+ int err = launchCall(p->__number.c_str());
+ WPWARN(err != APP_CONTROL_ERROR_NONE, "launchCall() failed(%d)", err);
+ }, this);
+ WPRET_VM(NULL == voiceButton, NULL, "PhCommon::createButton() return NULL");
+ elm_layout_content_set(baseLayout, "elm.swallow.voice", voiceButton);
+
+ __voiceIcon = PhCommon::createLayout(voiceButton, LOG_LIST_EDJ, PH_LOG_ICON_DETAIL_VOICE_CALL);
+ WPRET_VM(NULL == __voiceIcon, NULL, "PhCommon::createImage() return NULL");
+ elm_object_content_set(voiceButton, __voiceIcon);
+
+#if 1
+ WINFO("dlopen - request");
+ WUiTimer::addTimer(1.5, [](void* data)->Eina_Bool {
+ PhLogDetailButtonInfoControl* p = (PhLogDetailButtonInfoControl*)data;
+ WINFO("dlopen - try");
+ if((p->__dlHandle = dlopen("/usr/apps/org.tizen.message-lite/lib/ug/libmsg-composer-efl.so", RTLD_NOW)) == NULL)
+ {
+ WWARNING("%s : dlopen Fail {%s}\n", "/usr/apps/org.tizen.message-lite/lib/ug/libmsg-composer-efl.so", dlerror());
+ }
+ else
+ {
+ WDEBUG("dlopen!");
+ dlerror(); // error clear
+ }
+ return ECORE_CALLBACK_CANCEL;
+ }, this, getWeakPtr());
+#else
+ WINFO("dlopen - try");
+ if((__dlHandle = dlopen("/usr/apps/org.tizen.message-lite/lib/ug/libmsg-composer-efl.so", RTLD_NOW)) == NULL)
+ {
+ WWARNING("%s : dlopen Fail {%s}\n", "/usr/apps/org.tizen.message-lite/lib/ug/libmsg-composer-efl.so", dlerror());
+ }
+ else
+ {
+ WDEBUG("dlopen!");
+ dlerror(); // error clear
+ }
+#endif
+ return baseLayout;
+}
+void PhLogDetailButtonInfoControl::onDestroy()
+{
+ WHIT();
+ if(__dlHandle)
+ {
+ WDEBUG("dlclose!");
+ dlclose(__dlHandle);
+ __dlHandle = NULL;
+ }
+}
+
+void PhLogDetailButtonInfoControl::update(const std::string& number)
+{
+ WHIT();
+
+ __number = number;
+}
+
+void PhLogDetailButtonInfoControl::setOnMsgHandler( const std::function<void (const std::string& number)>& handlerFunc )
+{
+ __msgHandler = handlerFunc;
+}
diff --git a/lib-phone/ph-loglist/src/PhLogDetailButtonInfoControl.h b/lib-phone/ph-loglist/src/PhLogDetailButtonInfoControl.h
new file mode 100755
index 0000000..4247020
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogDetailButtonInfoControl.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_LOG_DETAIL_LOG_INFO_CONTROL_H_
+#define _PH_LOG_DETAIL_LOG_INFO_CONTROL_H_
+
+#include <string>
+
+#include <Elementary.h>
+#include "WControl.h"
+
+class PhLogDetailButtonInfoControl: public WControl
+{
+public:
+ PhLogDetailButtonInfoControl(Evas_Object* window, Evas_Object* naviframe);
+
+ void update(const std::string& number);
+ void setOnMsgHandler( const std::function<void (const std::string& number)>& handlerFunc );
+
+protected:
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* param );
+ virtual void onDestroy();
+
+private:
+ virtual ~PhLogDetailButtonInfoControl();
+
+private:
+ Evas_Object *__messageIcon;
+ Evas_Object *__voiceIcon;
+ Evas_Object *__videoIcon;
+
+ std::string __number;
+ void *__dlHandle;
+ std::function<void (const std::string& number)> __msgHandler;
+};
+
+#endif /* _PH_LOG_DETAIL_LOG_INFO_CONTROL_H_ */
+
diff --git a/lib-phone/ph-loglist/src/PhLogDetailCheckView.cpp b/lib-phone/ph-loglist/src/PhLogDetailCheckView.cpp
new file mode 100755
index 0000000..e133cad
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogDetailCheckView.cpp
@@ -0,0 +1,541 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WPopup.h"
+
+#include "ContactsDebug.h"
+
+#include "PhPath.h"
+#include "PhCommon.h"
+#include "PhStrings.h"
+
+#include "PhLogIcu.h"
+#include "PhLogUtil.h"
+#include "PhLogDbMgr.h"
+#include "PhLogDefines.h"
+
+#include "PhLogDetailCheckView.h"
+#include "SystemSettingsMgr.h"
+#include <system_settings.h>
+#include "ContactsCommon.h"
+
+PhLogDetailCheckView::PhLogDetailCheckView(std::string number, std::string callDesc):
+__itcGroupIndex(NULL),
+__itcDeleteList(NULL),
+__itcSelectAll(NULL),
+__logList(NULL),
+__checkAllButton(NULL),
+__deleteButton(NULL)
+{
+ WHIT();
+
+ __checkedCount = 0;
+ __totalCount = 0;
+
+ __enableTitleButton = true;
+ __enableCheckAllButton = true;
+ __checkedList = new std::list<PhLogDbMgr::RecordInfo*>;
+
+ WDEBUG("Start to search Number : %s , callDesc : %s",__number.c_str(),__callDesc.c_str());
+
+ __number = number;
+ __callDesc = callDesc;
+}
+
+
+PhLogDetailCheckView::~PhLogDetailCheckView()
+{
+ WHIT();
+
+ STD_LIST_FREE(__logList)
+
+ if(__checkedList) delete __checkedList;
+
+ elm_genlist_item_class_free(__itcGroupIndex);
+ elm_genlist_item_class_free(__itcDeleteList);
+ elm_genlist_item_class_free(__itcSelectAll);
+}
+
+void PhLogDetailCheckView::onPushed(Elm_Object_Item* naviItem)
+{
+ WHIT();
+ WPRET_M( NULL == naviItem, "Invalid param : naviItem");
+
+ if(__enableTitleButton)
+ __enableTitleBtn(naviItem);
+
+ __updateTitleInfo();
+}
+
+void PhLogDetailCheckView::onSetAsPageContent(Elm_Object_Item* parentNaviItem)
+{
+ WHIT();
+ WPRET_M( NULL == parentNaviItem, "Invalid param : naviItem");
+
+ if(__enableTitleButton)
+ __enableTitleBtn(parentNaviItem);
+}
+
+void PhLogDetailCheckView::__initializeTitleInfo()
+{
+ WHIT();
+ __checkedCount = 0;
+ __totalCount = 0;
+
+ char buf[PH_TEXT_SHORT_LEN] = {0,};
+ snprintf(buf, sizeof(buf), PAT_(PH_LOGS_HEADER_PD_SELECTED_ABB3), __checkedCount);
+ elm_object_item_part_text_set(getNaviItem(), "elm.text.title", buf );
+
+ if (__enableTitleButton && __deleteButton)
+ elm_object_disabled_set(__deleteButton, EINA_FALSE);
+
+ if (NULL == __checkedList)
+ __checkedList = new std::list<PhLogDbMgr::RecordInfo*>;
+ else
+ __checkedList->clear();
+}
+
+void PhLogDetailCheckView::__updateTitleInfo()
+{
+ WHIT();
+ char buf[PH_TEXT_SHORT_LEN] = {0,};
+ snprintf(buf, sizeof(buf), PAT_(PH_LOGS_HEADER_PD_SELECTED_ABB3), __checkedCount);
+ elm_object_item_part_text_set(getNaviItem(), "elm.text.title", buf );
+
+ if (__deleteButton)
+ {
+ if(__checkedCount == 0)
+ elm_object_disabled_set(__deleteButton, EINA_TRUE);
+ else if (__checkedCount >0)
+ elm_object_disabled_set(__deleteButton, EINA_FALSE);
+ else
+ WERROR("invalid __checkedCount : %d", __checkedCount);
+ }
+
+ if (__checkAllButton)
+ {
+ Elm_Object_Item *item = elm_genlist_first_item_get(getGlHelper()->getEvasObj());
+ PhLogGenlistHelper::CheckedItemData* itemData = (PhLogGenlistHelper::CheckedItemData*)elm_object_item_data_get(item);
+ WPRET_M(!itemData, "itemData is NULL");
+ if ( (unsigned int)__totalCount == __logList->size() && !__logList->empty()) {
+ itemData->isChecked = EINA_TRUE;
+ elm_check_state_set(__checkAllButton, EINA_TRUE);
+ }
+ else {
+ itemData->isChecked = EINA_FALSE;
+ elm_check_state_set(__checkAllButton, EINA_FALSE);
+ }
+ }
+}
+
+void PhLogDetailCheckView::__enableTitleBtn(Elm_Object_Item* naviItem)
+{
+ WHIT();
+ Evas_Object * cancelButton = PhCommon::createButton(getNaviframe()->getEvasObj(), "naviframe/title_left", PAT_(PH_TPLATFORM_ACBUTTON_CANCEL_ABB), [](void *data, Evas_Object *obj, void *event_info)->void {
+ WPRET_M( NULL == data, "Invalid Param : data");
+ PhLogDetailCheckView* p = (PhLogDetailCheckView *) data;
+
+ WDEBUG("Close Delete View");
+ p->popOut();
+ }, this);
+ WPRET_M( NULL == cancelButton, "PhCommon::createButton() is failed" );
+ elm_object_item_part_content_set(naviItem, "title_left_btn", cancelButton);
+
+ __deleteButton = PhCommon::createButton(getNaviframe()->getEvasObj(), "naviframe/title_right", PAT_(PH_TPLATFORM_ACBUTTON_DELETE_ABB), [](void *data, Evas_Object *obj, void *event_info)->void {
+ WPRET_M( NULL == data, "Invalid Param : data");
+ PhLogDetailCheckView* p = (PhLogDetailCheckView *) data;
+ PhLogDbMgr::getInstance()->deleteLogList(p->__checkedList, p->__totalCount);
+ if(elm_check_state_get(p->__checkAllButton) == EINA_TRUE)
+ {
+ WDEBUG("Need to delete detail + detail check view..");
+ Eina_List *itemList = elm_naviframe_items_get(p->getNaviframe()->getEvasObj());
+ Elm_Object_Item *it = (Elm_Object_Item*)eina_list_data_get(eina_list_prev(eina_list_last(itemList)));
+ if(it) elm_object_item_del(it);
+ eina_list_free(itemList);
+ }
+ WDEBUG("Close Delete View & Delete logs");
+ p->popOut();
+ }, this);
+ WPRET_M( NULL == __deleteButton, "PhCommon::createButton() is failed" );
+ elm_object_item_part_content_set(naviItem, "title_right_btn", __deleteButton);
+}
+
+void PhLogDetailCheckView::updateList(void)
+{
+ WHIT();
+ std::list<PhLogDbMgr::RecordInfo*> *__oldLogList = __logList;
+
+ __logList = PhLogDbMgr::getInstance()->loadDetailList( __number.c_str(), __callDesc.c_str());
+
+ if(!__logList || __logList->empty())
+ setNoContentLayout();
+ else
+ {
+ setGenlistLayout();
+ __setList();
+ }
+ STD_LIST_FREE(__oldLogList)
+// WDEBUG("exit :__logList : %p", __logList);
+}
+
+
+void PhLogDetailCheckView::__setList(void)
+{
+ WHIT();
+ WPRET_M( NULL == __logList, "__logList is NULL");
+
+ __initializeTitleInfo();
+
+ if (__enableCheckAllButton) {
+ getGlHelper()->appendCheckItem(__itcSelectAll, this, NULL, ELM_GENLIST_ITEM_NONE, PhLogDetailCheckView::__checkAllClickedCb, this);
+ }
+
+ PhLogDbMgr::RecordInfo *prevRecordInfo = NULL;
+ for (auto it=__logList->begin(); it != __logList->end(); it++)
+ {
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)(*it);
+
+ if( !prevRecordInfo || !PhLogUtil::isGroupedbyDate(prevRecordInfo->logTime,recordInfo->logTime) ) {
+ Elm_Object_Item *item = getGlHelper()->appendCheckItem(__itcGroupIndex, recordInfo, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_NONE);
+ }
+
+ getGlHelper()->appendCheckItem(__itcDeleteList, recordInfo, NULL, ELM_GENLIST_ITEM_NONE, PhLogDetailCheckView::__selectItemCb, this);
+ prevRecordInfo = recordInfo;
+ }
+ getGlHelper()->appendFinish();
+
+ __updateTitleInfo();
+
+ return;
+}
+
+Evas_Object* PhLogDetailCheckView::onCreate( Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+
+ Evas_Object* layout = PhCommon::createLayout(parent, LOG_LIST_EDJ, "log/list/check/main");
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ __setGenlistItcs();
+
+ return layout;
+}
+
+void PhLogDetailCheckView::onCreated()
+{
+ WHIT();
+ PhLogListView::onCreated();
+ updateList();
+}
+
+void PhLogDetailCheckView::onDbChanged()
+{
+ /*
+ WENTER();
+ std::list<PhLogDbMgr::RecordInfo*> *__oldLogList = __logList;
+
+ __logList = PhLogDbMgr::getInstance()->loadLogList(PhLogDbMgr::LIST_TYPE_ALL_CALL_MESSAGE, true);
+
+ updateList();
+
+ STD_LIST_FREE(__oldLogList)
+
+ __oldLogList = NULL;
+ */
+}
+
+void PhLogDetailCheckView::__setGenlistItcs()
+{
+ WHIT();
+ __itcGroupIndex = elm_genlist_item_class_new();
+ WPRET_M(!__itcGroupIndex, "elm_genlist_item_class_new() failed");
+ __itcGroupIndex->item_style = "group_index";
+ __itcGroupIndex->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char* {
+// WDEBUG("part :%s", part);
+ if (!strcmp(part, "elm.text")) {
+ PhLogGenlistHelper::CheckedItemData *itemData = (PhLogGenlistHelper::CheckedItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+
+ time_t itemTime = recordInfo->logTime;
+ time_t nowTime = time(NULL);
+
+ struct tm itemDate;
+ struct tm nowDate;
+
+ localtime_r(&itemTime, &itemDate);
+ localtime_r(&nowTime, &nowDate);
+
+ if( itemDate.tm_year == nowDate.tm_year &&
+ itemDate.tm_mon == nowDate.tm_mon &&
+ itemDate.tm_mday == nowDate.tm_mday )
+ return elm_entry_utf8_to_markup(PAT_(PH_LOGS_HEADER_TODAY));
+ else if( itemDate.tm_year == nowDate.tm_year &&
+ itemDate.tm_mon == nowDate.tm_mon &&
+ ((itemDate.tm_mday)+1) == nowDate.tm_mday )
+ return elm_entry_utf8_to_markup(PAT_(PH_LOGS_HEADER_YESTERDAY));
+ else
+ return PhLogIcu::getGroupIndexDateString(recordInfo->logTime);
+ }
+ else
+ return NULL;
+ };
+ __itcGroupIndex->func.content_get = NULL;
+ __itcGroupIndex->func.del = [](void* data, Evas_Object* obj){
+ PhLogGenlistHelper::CheckedItemData* itemData = (PhLogGenlistHelper::CheckedItemData *)data;
+ delete itemData;
+ };
+
+ __itcDeleteList = elm_genlist_item_class_new();
+ WPRET_M(!__itcDeleteList, "elm_genlist_item_class_new() failed");
+ __itcDeleteList->item_style = "type1";
+ __itcDeleteList->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char* {
+ PhLogGenlistHelper::CheckedItemData *itemData = (PhLogGenlistHelper::CheckedItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+
+ if (!strcmp(part, "elm.text")) {
+ return PhLogIcu::getTimeString(recordInfo->logTime);
+ }
+ else if (!strcmp(part, "elm.text.sub")) {
+ if(PhLogUtil::isMissedCallType(recordInfo->logType))
+ return strdup(PAT_(PH_LOGS_SBODY_MISSEDM_CALL_STATUS));
+ else if((PhLogUtil::isOutgoingCallType(recordInfo->logType) || PhLogUtil::isIncomingCallType(recordInfo->logType))
+ && (recordInfo->callDuration == 0))
+ return strdup(PAT_(PH_LOGS_SBODY_CANCELLED_M_STATUS));
+ else if(PhLogUtil::isRejectCallType(recordInfo->logType))
+ return strdup(PAT_(PH_LOGS_SBODY_CANCELLED_M_STATUS));
+ else
+ return PhLogIcu::getCallDurationString(recordInfo->callDuration);
+ }
+ else
+ return NULL;
+ };
+ __itcDeleteList->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object* {
+ PhLogGenlistHelper::CheckedItemData *itemData = (PhLogGenlistHelper::CheckedItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+
+ if (!strcmp(part, "elm.swallow.icon")) {
+ Evas_Object *icon = PhLogUtil::getLogTypeIcon(obj, recordInfo->logType);
+ WPRET_VM( NULL == icon, NULL, "PhLogUtil::getLogTypeIcon() is failed");
+ elm_image_aspect_fixed_set(icon, EINA_TRUE);
+ evas_object_size_hint_min_set(icon, ContactsCommon::getScaledWidth(ICON_LOG_DETAIL_WIDTH), ContactsCommon::getScaledHeight(ICON_LOG_DETAIL_HEIGHT));
+
+ return icon;
+ }
+ else if (0 == strcmp(part, "elm.swallow.end")) {
+ itemData->checkButton = elm_check_add(obj);
+ WPRET_VM(NULL == itemData->checkButton, NULL, "elm_check_add() return NULL");
+ elm_check_state_set(itemData->checkButton, itemData->isChecked);
+ evas_object_repeat_events_set(itemData->checkButton, EINA_TRUE);
+ evas_object_propagate_events_set(itemData->checkButton, EINA_FALSE);
+ evas_object_freeze_events_set (itemData->checkButton, EINA_TRUE);
+ return itemData->checkButton;
+ }
+ else {
+ return NULL;
+ }
+
+ };
+ __itcDeleteList->func.state_get = NULL;
+ __itcDeleteList->func.del = [](void* data, Evas_Object* obj){
+ PhLogGenlistHelper::CheckedItemData* itemData = (PhLogGenlistHelper::CheckedItemData *)data;
+ delete itemData;
+ };
+
+ __itcSelectAll = elm_genlist_item_class_new();
+ WPRET_M(!__itcSelectAll, "elm_genlist_item_class_new() failed");
+ __itcSelectAll->item_style = "type1";
+ __itcSelectAll->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char* {
+ if (!strcmp(part, "elm.text")) {
+ return strdup(PAT_(PH_LOGS_MBODY_SELECT_ALL));
+ }
+ else
+ return NULL;
+ };
+ __itcSelectAll->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object*{
+ PhLogGenlistHelper::CheckedItemData* itemData = (PhLogGenlistHelper::CheckedItemData *)data;
+ PhLogDetailCheckView *view = (PhLogDetailCheckView*)itemData->data;
+ if (0 == strcmp(part, "elm.swallow.end")) {
+ Evas_Object* check = elm_check_add(obj);
+ elm_check_state_set(check, itemData->isChecked);
+ evas_object_repeat_events_set(check, EINA_TRUE);
+ evas_object_propagate_events_set(check, EINA_FALSE);
+ evas_object_freeze_events_set (check, EINA_TRUE);
+ view->__checkAllButton = check;
+ return check;
+ }
+ else {
+ return NULL;
+ }
+ };
+ __itcSelectAll->func.del = [](void* data, Evas_Object* obj) {
+ PhLogGenlistHelper::CheckedItemData* itemData = (PhLogGenlistHelper::CheckedItemData *)data;
+ delete itemData;
+ };
+
+}
+
+void PhLogDetailCheckView::__checkAllClickedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M( NULL == event_info,"event_info is NULL");
+ WPRET_M( NULL == data,"data is NULL");
+
+ Elm_Object_Item* item = (Elm_Object_Item*)event_info;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ PhLogDetailCheckView* p = (PhLogDetailCheckView *) data;
+
+ Eina_Bool checkAllBtnState = elm_check_state_get(p->__checkAllButton);
+
+ elm_check_state_set(p->__checkAllButton, !checkAllBtnState);
+
+ if ( !checkAllBtnState)
+ __checkAllItems(p->getGlHelper());
+ else
+ __uncheckAllItems(p->getGlHelper());
+}
+
+void PhLogDetailCheckView::__checkAllItems(PhLogGenlistHelper* glHelper)
+{
+ WHIT();
+ WPRET_M( NULL == glHelper , "glHelper is NULL");
+
+ Evas_Object *genlist = glHelper->getEvasObj();
+ WPRET_M( NULL == genlist , "genlist is NULL");
+
+ Elm_Object_Item *item = elm_genlist_first_item_get(genlist);
+ while(item)
+ {
+ PhLogGenlistHelper::CheckedItemData *itemData = (PhLogGenlistHelper::CheckedItemData *)elm_object_item_data_get(item);
+
+ PhLogDetailCheckView* p = (PhLogDetailCheckView *)itemData->p;
+ if (p) {
+ if (p->__itcSelectAll == (Elm_Genlist_Item_Class*)elm_genlist_item_item_class_get(item)) {
+ item = elm_genlist_item_next_get(item);
+ continue;
+ }
+ }
+
+ if (!itemData->isChecked)
+ __checkItem(itemData);
+
+ item = elm_genlist_item_next_get(item);
+ }
+}
+
+void PhLogDetailCheckView::__uncheckAllItems(PhLogGenlistHelper* glHelper)
+{
+ WHIT();
+ WPRET_M( NULL == glHelper , "glHelper is NULL");
+
+ Evas_Object *genlist = glHelper->getEvasObj();
+ WPRET_M( NULL == genlist , "genlist is NULL");
+
+ Elm_Object_Item *item = elm_genlist_first_item_get(genlist);
+ while(item)
+ {
+ PhLogGenlistHelper::CheckedItemData *itemData = (PhLogGenlistHelper::CheckedItemData *)elm_object_item_data_get(item);
+
+ PhLogDetailCheckView* p = (PhLogDetailCheckView *)itemData->p;
+ if (p) {
+ if (p->__itcSelectAll == (Elm_Genlist_Item_Class*)elm_genlist_item_item_class_get(item)) {
+ item = elm_genlist_item_next_get(item);
+ continue;
+ }
+ }
+
+ if (itemData->isChecked)
+ __uncheckItem(itemData);
+
+ item = elm_genlist_item_next_get(item);
+ }
+}
+
+void PhLogDetailCheckView::__checkItem(PhLogGenlistHelper::CheckedItemData * itemData)
+{
+ WHIT();
+ WPRET_M( NULL == itemData , "Invalid Param : itemData");
+
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+ WPRET_M( NULL == recordInfo , "recordInfo is NULL");
+
+ PhLogDetailCheckView *p = (PhLogDetailCheckView *)itemData->p;
+ WPRET_M( NULL == p , "p is NULL");
+
+// WDEBUG("number : %s", recordInfo->number);
+ p->__checkedList->push_back(recordInfo);
+ p->__checkedCount++;
+ if(recordInfo->groupedList)
+ p->__totalCount += (recordInfo->groupedList->size()+1);
+ else
+ p->__totalCount++;
+
+ //check button state set
+ itemData->isChecked = EINA_TRUE;
+ if(itemData->checkButton)
+ elm_check_state_set(itemData->checkButton, itemData->isChecked);
+
+ elm_check_state_set(itemData->checkButton, itemData->isChecked);
+ WHIT();
+
+ p->__updateTitleInfo();
+}
+
+void PhLogDetailCheckView::__uncheckItem(PhLogGenlistHelper::CheckedItemData * itemData)
+{
+ WHIT();
+ WPRET_M( NULL == itemData , "Invalid Param : itemData");
+
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+ WPRET_M( NULL == recordInfo , "recordInfo is NULL");
+
+ PhLogDetailCheckView *p = (PhLogDetailCheckView *)itemData->p;
+ WPRET_M( NULL == p , "p is NULL");
+
+ p->__checkedList->remove(recordInfo);
+ p->__checkedCount--;
+
+ if(recordInfo->groupedList)
+ p->__totalCount -= (recordInfo->groupedList->size()+1);
+ else
+ p->__totalCount--;
+
+ //check button state set
+ itemData->isChecked = EINA_FALSE;
+ if(itemData->checkButton)
+ elm_check_state_set(itemData->checkButton, itemData->isChecked);
+
+ p->__updateTitleInfo();
+}
+
+
+void PhLogDetailCheckView::__selectItemCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M( NULL == event_info,"event_info is NULL");
+ WPRET_M( NULL == data,"data is NULL");
+
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ PhLogGenlistHelper::CheckedItemData *itemData = (PhLogGenlistHelper::CheckedItemData *)elm_object_item_data_get(item);
+
+ if(itemData->isChecked)
+ __uncheckItem(itemData);
+ else
+ __checkItem(itemData);
+}
diff --git a/lib-phone/ph-loglist/src/PhLogDetailCheckView.h b/lib-phone/ph-loglist/src/PhLogDetailCheckView.h
new file mode 100644
index 0000000..9b8a972
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogDetailCheckView.h
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_LOG_DETAIL_CHECK_VIEW_H_
+#define _PH_LOG_DETAIL_CHECK_VIEW_H_
+
+#include "ContactsCommon.h"
+
+#include "PhLogListView.h"
+
+class WAPP_ASSIST_EXPORT PhLogDetailCheckView : public PhLogListView
+{
+public:
+ PhLogDetailCheckView(std::string number, std::string callDesc);
+
+protected:
+ virtual void onPushed(Elm_Object_Item* naviItem);
+ virtual void onSetAsPageContent(Elm_Object_Item* parentNaviItem);
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam);
+ virtual void onCreated(void);
+private:
+ virtual void onDbChanged();
+
+ virtual void updateList(void);
+
+ void __enableTitleBtn(Elm_Object_Item* naviItem);
+
+ void __setGenlistItcs();
+
+ void __setList(void);
+
+ void __initializeTitleInfo();
+ void __updateTitleInfo();
+
+ static void __checkAllItems(PhLogGenlistHelper* glHelper);
+ static void __uncheckAllItems(PhLogGenlistHelper* glHelper);
+ static void __checkItem(PhLogGenlistHelper::CheckedItemData * itemData);
+ static void __uncheckItem(PhLogGenlistHelper::CheckedItemData * itemData);
+ static void __checkAllClickedCb(void *data, Evas_Object *obj, void *event_info);
+ static void __selectItemCb(void *data, Evas_Object *obj, void *event_info);
+
+private:
+ virtual ~PhLogDetailCheckView();
+
+private:
+ Elm_Genlist_Item_Class *__itcGroupIndex;
+ Elm_Genlist_Item_Class *__itcDeleteList;
+ Elm_Genlist_Item_Class *__itcSelectAll;
+ std::list<PhLogDbMgr::RecordInfo*>* __logList;
+ Evas_Object *__checkAllButton;
+ Evas_Object *__deleteButton;
+ int __checkedCount;
+ int __totalCount;
+ bool __enableTitleButton;
+ bool __enableCheckAllButton;
+ std::list<PhLogDbMgr::RecordInfo*> *__checkedList;
+ std::string __number;
+ std::string __callDesc;
+};
+
+#endif /* _PH_LOG_DETAIL_CHECK_VIEW_H_ */
diff --git a/lib-phone/ph-loglist/src/PhLogDetailContactInfoControl.cpp b/lib-phone/ph-loglist/src/PhLogDetailContactInfoControl.cpp
new file mode 100755
index 0000000..0530fce
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogDetailContactInfoControl.cpp
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ContactsAppControl.h"
+#include "ContactsDebug.h"
+#include "ContactsThumbnail.h"
+#include "WUiTimer.h"
+
+#include "PhPath.h"
+#include "PhCommon.h"
+#include "PhStrings.h"
+
+#include "PhLogUtil.h"
+#include "PhLogDetailContactInfoControl.h"
+#include "ContactsCommon.h"
+
+#define DETAILS_BOX_PADDING 16
+
+PhLogDetailContactInfoControl::PhLogDetailContactInfoControl(const PhLogDbMgr::RecordInfo *recordInfo)
+ : __baseLayout(NULL)
+{
+ __personId = recordInfo->personId;
+
+ if (recordInfo->displayName) __name = recordInfo->displayName;
+ if (recordInfo->number) __number = recordInfo->number;
+ if (recordInfo->imgPath) __imgPath = recordInfo->imgPath;
+ if (recordInfo->callDesc) __callDesc = recordInfo->callDesc;
+ WDEBUG("name : %s ,number : %s, imgPath : %s, callDesc: %s",recordInfo->displayName, recordInfo->number, recordInfo->imgPath, recordInfo->callDesc );
+}
+
+Evas_Object* PhLogDetailContactInfoControl::onCreate( Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+ elm_theme_extension_add(nullptr, ContactsCommon::getAppEdjePath("common/custom_button_styles.edj").c_str());
+
+ if (__personId > 0 || __number.empty()) {
+ __baseLayout = PhCommon::createLayout(parent, LOG_LIST_EDJ, "log/detail/info/contact/contact_info/saved");
+ __setDisplayName();
+ } else {
+ __baseLayout = PhCommon::createLayout(parent, LOG_LIST_EDJ, "log/detail/info/contact/contact_info/unsaved");
+ __setButton();
+ }
+
+ __setThumbnail();
+
+ return __baseLayout;
+}
+
+void PhLogDetailContactInfoControl::__setThumbnail()
+{
+ Evas_Object *thumbnail = createThumbnail(__baseLayout, THUMBNAIL_240, __imgPath.c_str());
+ evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_UP,
+ (Evas_Object_Event_Cb) &PhLogDetailContactInfoControl::onThumbnailPressed, this);
+ elm_layout_content_set(__baseLayout, "image.thumbnail", thumbnail);
+}
+
+void PhLogDetailContactInfoControl::__setDisplayName()
+{
+ WHIT();
+ elm_object_domain_translatable_part_text_set(__baseLayout, "text.name", STRING_PACKAGE, PhCommon::convert2MarkupString(PhLogUtil::getDisplayText(__personId, __name.c_str(), __number.c_str(), __callDesc.c_str())).c_str());
+}
+
+void PhLogDetailContactInfoControl::__setButton()
+{
+ Evas_Object *box = elm_box_add(__baseLayout);
+ elm_box_padding_set(box, ContactsCommon::getScaledWidth(DETAILS_BOX_PADDING), 0);
+ elm_box_horizontal_set(box, EINA_TRUE);
+ elm_layout_content_set(__baseLayout, "box.buttons", box);
+ Evas_Object * createContactBtn = PhCommon::createButton(box, "custom_default", NULL, [](void *data, Evas_Object *obj, void *event_info){
+ WPRET_M( NULL == data, "Invalid Param : data");
+ PhLogDetailContactInfoControl * p = (PhLogDetailContactInfoControl *)data;
+ launchContactCreate(p->__number.c_str());
+ }, this);
+
+ WPRET_M( NULL == createContactBtn, "PhCommon::createButton() is failed!");
+ evas_object_size_hint_align_set(createContactBtn, EVAS_HINT_FILL, 0.5);
+ elm_object_domain_translatable_text_set(createContactBtn, "phone", PAT_(PH_LOGS_BUTTON_CREATE_CONTACT_ABB));
+ elm_box_pack_end(box, createContactBtn);
+
+ Evas_Object * updateContactBtn = PhCommon::createButton(box, "custom_default", NULL, [](void *data, Evas_Object *obj, void *event_info){
+ WPRET_M( NULL == data, "Invalid Param : data");
+ PhLogDetailContactInfoControl * p = (PhLogDetailContactInfoControl *)data;
+ launchContactEdit(0, p->__number.c_str());
+ }, this);
+ WPRET_M( NULL == updateContactBtn, "PhCommon::createButton() is failed!");
+ evas_object_size_hint_align_set(updateContactBtn, EVAS_HINT_FILL, 0.5);
+ elm_object_domain_translatable_text_set(updateContactBtn, "phone", PAT_(PH_LOGS_BUTTON_UPDATE_CONTACT_ABB2));
+ elm_box_pack_end(box, updateContactBtn);
+}
+
+void PhLogDetailContactInfoControl::onThumbnailPressed(void *data)
+{
+ PhLogDetailContactInfoControl *control = (PhLogDetailContactInfoControl*) data;
+ if (control->__personId > 0) {
+ launchContactDetails(control->__personId);
+ }
+}
diff --git a/lib-phone/ph-loglist/src/PhLogDetailContactInfoControl.h b/lib-phone/ph-loglist/src/PhLogDetailContactInfoControl.h
new file mode 100755
index 0000000..c419ade
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogDetailContactInfoControl.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_LOG_DETAIL_CONTACT_INFO_CONTROL_H_
+#define _PH_LOG_DETAIL_CONTACT_INFO_CONTROL_H_
+
+#include <string>
+
+#include <Elementary.h>
+
+#include "WControl.h"
+
+#include "PhLogDbMgr.h"
+#include "PhLogGenlistHelper.h"
+
+class PhLogDetailContactInfoControl : public WControl
+{
+public:
+ PhLogDetailContactInfoControl(const PhLogDbMgr::RecordInfo *recordInfo);
+
+ void update();
+
+protected:
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* param );
+
+private:
+ void __setThumbnail();
+ void __setDisplayName();
+ void __setButton();
+
+ static void onThumbnailPressed(void *data);
+
+private:
+ Evas_Object *__baseLayout;
+
+ std::string __number;
+ std::string __name;
+ std::string __imgPath;
+ std::string __callDesc;
+
+ int __personId;
+};
+
+#endif /* _PH_LOG_DETAIL_CONTACT_INFO_CONTROL_H_ */
+
diff --git a/lib-phone/ph-loglist/src/PhLogDetailView.cpp b/lib-phone/ph-loglist/src/PhLogDetailView.cpp
new file mode 100755
index 0000000..a58689e
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogDetailView.cpp
@@ -0,0 +1,364 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <app.h>
+#include <notification.h>
+#include <system_settings.h>
+#include <app_preference.h>
+
+#include "WPopup.h"
+#include "WMenuPopup.h"
+#include "WUiTimer.h"
+
+#include "ContactsAppControl.h"
+#include "ContactsDebug.h"
+
+#include "PhCommon.h"
+#include "PhPath.h"
+#include "PhStrings.h"
+
+#include "PhLogUtil.h"
+#include "PhLogIcu.h"
+#include "PhLogDefines.h"
+
+#include "PhLogDetailCheckView.h"
+#include "PhLogDetailView.h"
+#include "SystemSettingsMgr.h"
+#include "ContactsCommon.h"
+#include "ContactsNumberItemIcons.h"
+
+PhLogDetailView::PhLogDetailView(const PhLogDbMgr::RecordInfo *recordInfo):
+__mainLayout(NULL),
+__itcLogInfo(NULL),
+__itcGroupIndex(NULL),
+__itcHistoryList(NULL),
+__detailList(NULL),
+__contactInfo(NULL),
+__recordInfo(recordInfo)
+{
+ WDEBUG("detailView for Number[%s], callDesc[%s]", recordInfo->number, recordInfo->callDesc);
+
+ if(recordInfo->number)
+ __number = recordInfo->number;
+
+ if(recordInfo->callDesc)
+ __callDesc = recordInfo->callDesc;
+}
+
+PhLogDetailView::~PhLogDetailView()
+{
+ WHIT();
+
+ if (__contactInfo) {
+ edje_object_signal_callback_del(_EDJ(__contactInfo->getEvasObj()), "mouse,clicked,*", "touch.back.btn", __detailBackBtnCb);
+ }
+
+ STD_LIST_FREE(__detailList)
+
+ elm_genlist_item_class_free(__itcLogInfo);
+
+ elm_genlist_item_class_free(__itcGroupIndex);
+ elm_genlist_item_class_free(__itcHistoryList);
+}
+
+void PhLogDetailView::onPushed(Elm_Object_Item* naviItem)
+{
+ WHIT();
+ WPRET_M( !naviItem, "Invalid param : naviItem");
+
+ elm_naviframe_item_title_enabled_set(naviItem, EINA_FALSE, EINA_FALSE);
+ WUiTimer::addAnimator([naviItem](void* data)->Eina_Bool {
+ PhLogDetailView* p = (PhLogDetailView*)data;
+ p->__setMoreBtn(naviItem);
+ return ECORE_CALLBACK_CANCEL;
+ }, this, getWeakPtr());
+}
+
+void PhLogDetailView::__detailBackBtnCb(void *data, Evas_Object *obj, const char *emission, const char *source) {
+ PhLogDetailView* view = (PhLogDetailView*)data;
+ view->popOut();
+}
+
+Evas_Object* PhLogDetailView::onCreate( Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+ __mainLayout = PhCommon::createLayout( parent, LOG_LIST_EDJ, "log/detail/info/contact/main_layout" );
+
+ WPRET_VM( NULL == __mainLayout, NULL, "PhCommon::createLayout() is failed");
+ __setGenlistItcs();
+
+ return __mainLayout;
+}
+
+void PhLogDetailView::onCreated()
+{
+ WHIT();
+ PhLogListView::onCreated();
+ updateList();
+}
+
+void PhLogDetailView::onDestroy()
+{
+ PhLogListView::onDestroy();
+}
+
+void PhLogDetailView::onDbChanged()
+{
+ WENTER();
+ updateList();
+}
+
+void PhLogDetailView::updateList()
+{
+ Evas_Object *genlist = getGlHelper()->getEvasObj();
+
+ elm_object_part_content_set(__mainLayout, "elm.swallow.content", genlist);
+
+
+ std::list<PhLogDbMgr::RecordInfo*> *__oldList = __detailList;
+ __detailList = PhLogDbMgr::getInstance()->loadDetailList( __number.c_str(), __callDesc.c_str());
+
+ if(!__detailList || __detailList->empty())
+ setNoContentLayout();
+ else
+ {
+ setGenlistLayout();
+ __setContactInfo();
+ __setList();
+ }
+
+ STD_LIST_FREE(__oldList)
+}
+
+void PhLogDetailView::__setMoreBtn(Elm_Object_Item *naviItem)
+{
+ WHIT();
+ WPRET_M(!naviItem, "Invalid Param : naviItem");
+
+ enableMoreButton(naviItem, [](void *data, Evas_Object *obj, void *event_info){
+ WPRET_M( NULL == data, "Invalid Parm : data");
+ PhLogDetailView* p = static_cast<PhLogDetailView*>(data);
+ WPRET_M( NULL == p->__detailList || p->__detailList->empty() , "__detaiilList is Empty");
+
+ WMenuPopup* popup = new WMenuPopup();
+ popup->prepare( p->getWindow()->getEvasObj(), p->getNaviframe()->getEvasObj() );
+
+ popup->appendItem(PAT_(PH_LOGS_HEADER_DELETE), [p](){
+ WNaviframe* frame = (WNaviframe*)p->getNaviframe();
+ frame->push(new PhLogDetailCheckView(p->__number, p->__callDesc));
+ });
+
+ p->attachPopup(popup);
+ }, this);
+}
+
+void PhLogDetailView::__setContactInfo()
+{
+ __contactInfo = new PhLogDetailContactInfoControl(__detailList->front());
+ __contactInfo->create(__mainLayout, NULL);
+
+ edje_object_signal_callback_add(_EDJ(__contactInfo->getEvasObj()), "mouse,clicked,*", "touch.back.btn", __detailBackBtnCb, this);
+ elm_object_part_content_set(__mainLayout, "contact_info", __contactInfo->getEvasObj() );
+}
+
+void PhLogDetailView::__setList()
+{
+ WHIT();
+ WPRET_M( !__detailList || __detailList->empty(), "__detailList is not set");
+
+ Elm_Object_Item* item = NULL;
+ PhLogDbMgr::RecordInfo *recordInfo = NULL;
+ PhLogDbMgr::RecordInfo *prevRecordInfo = NULL;
+ for (auto it=__detailList->begin(); it != __detailList->end(); it++)
+ {
+ recordInfo = (PhLogDbMgr::RecordInfo*)(*it);
+ if( it == __detailList->begin() )
+ {
+ if(recordInfo->number && strlen(recordInfo->number) > 0)
+ {
+ item = getGlHelper()->appendItem(__itcLogInfo, recordInfo, NULL, ELM_GENLIST_ITEM_NONE, NULL, this);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_NONE);
+ }
+ }
+
+ if( !prevRecordInfo || !PhLogUtil::isGroupedbyDate(prevRecordInfo->logTime,recordInfo->logTime) ) {
+ item = getGlHelper()->appendItem(__itcGroupIndex, recordInfo, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_NONE);
+ }
+
+ item = getGlHelper()->appendItem(__itcHistoryList, recordInfo, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_NONE);
+
+ prevRecordInfo = recordInfo;
+ }
+
+ getGlHelper()->appendFinish();
+}
+
+void PhLogDetailView::__setGenlistItcs()
+{
+ __itcLogInfo = elm_genlist_item_class_new();
+ WPRET_M(!__itcLogInfo, "elm_genlist_item_class_new() failed");
+ __itcLogInfo->item_style = "type1";
+ __itcLogInfo->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object*{
+ PhLogGenlistHelper::ItemData *itemData = (PhLogGenlistHelper::ItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+ PhLogDetailView *p = (PhLogDetailView*)itemData->p;
+
+ if (!strcmp(part, "elm.swallow.icon")) {
+ Evas_Object *layout = PhCommon::createLayout(obj, LOG_LIST_EDJ, "list/detail/log_number.type");
+ WPRET_VM( NULL == layout, NULL, "PhCommon::createLayout() is failed");
+
+ char *text = NULL;
+ if ( recordInfo->personId > 0 )
+ text = elm_entry_utf8_to_markup(PhLogUtil::getTextOfNumberType(recordInfo->numberType));
+ else if ( p->__number.empty() && PhLogUtil::isUnknownNumber(recordInfo->callDesc) )
+ text = NULL;
+ else if ( !p->__number.empty() && PhLogUtil::isEmergencyNumber(recordInfo->callDesc) )
+ text = elm_entry_utf8_to_markup(PAT_(PH_KPD_HEADER_EMERGENCY_CALL_ABB2));
+ else
+ text = elm_entry_utf8_to_markup(PAT_(PH_LOGS_SBODY_UNSAVED_M_STATUS));
+ elm_object_domain_translatable_part_text_set(layout, "elm.text.part", PACKAGE, text);
+ free(text);
+ text = NULL;
+
+ Evas_Object *entry = elm_entry_add(layout);
+ WPRET_VM( NULL == entry, NULL, "entry is NULL");
+ elm_entry_scrollable_set(entry, EINA_TRUE);
+ elm_entry_single_line_set(entry, EINA_TRUE);
+ elm_entry_editable_set(entry, EINA_FALSE);
+
+ if (p->__number.empty() && PhLogUtil::isUnknownNumber(recordInfo->callDesc))
+ text = elm_entry_utf8_to_markup(PAT_(PH_LOGS_MBODY_UNKNOWN_NUMBER_ABB));
+ else
+ text = elm_entry_utf8_to_markup(recordInfo->number);
+ elm_entry_entry_set(entry, text);
+ free(text);
+
+ elm_layout_content_set(layout, "elm.swallow.2", entry);
+
+ return layout;
+ } else if (!strcmp(part, "elm.swallow.end")) {
+ return createNumberItemIconsLayout(obj, p->__number.c_str());
+ } else
+ return NULL;
+ };
+ __itcLogInfo->func.del = [](void* data, Evas_Object* obj){
+ PhLogGenlistHelper::ItemData* itemData = (PhLogGenlistHelper::ItemData *)data;
+ delete itemData;
+ };
+
+ __itcGroupIndex = elm_genlist_item_class_new();
+ WPRET_M(!__itcGroupIndex, "elm_genlist_item_class_new() failed");
+ __itcGroupIndex->item_style = "group_index";
+ __itcGroupIndex->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char* {
+// WDEBUG("part :%s", part);
+ if (!strcmp(part, "elm.text")) {
+ PhLogGenlistHelper::ItemData *itemData = (PhLogGenlistHelper::ItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+
+ time_t itemTime = recordInfo->logTime;
+ time_t nowTime = time(NULL);
+
+ struct tm itemDate;
+ struct tm nowDate;
+
+ localtime_r(&itemTime, &itemDate);
+ localtime_r(&nowTime, &nowDate);
+
+ if( itemDate.tm_year == nowDate.tm_year &&
+ itemDate.tm_mon == nowDate.tm_mon &&
+ itemDate.tm_mday == nowDate.tm_mday )
+ return elm_entry_utf8_to_markup(PAT_(PH_LOGS_HEADER_TODAY));
+ else if( itemDate.tm_year == nowDate.tm_year &&
+ itemDate.tm_mon == nowDate.tm_mon &&
+ ((itemDate.tm_mday)+1) == nowDate.tm_mday )
+ return elm_entry_utf8_to_markup(PAT_(PH_LOGS_HEADER_YESTERDAY));
+ else
+ return PhLogIcu::getGroupIndexDateString(recordInfo->logTime);
+ }
+ else
+ return NULL;
+ };
+ __itcGroupIndex->func.content_get = NULL;
+ __itcGroupIndex->func.del = [](void* data, Evas_Object* obj){
+ PhLogGenlistHelper::ItemData* itemData = (PhLogGenlistHelper::ItemData *)data;
+ delete itemData;
+ };
+
+ __itcHistoryList = elm_genlist_item_class_new();
+ WPRET_M(!__itcHistoryList, "elm_genlist_item_class_new() failed");
+ __itcHistoryList->item_style = "type1";
+ __itcHistoryList->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char* {
+ PhLogGenlistHelper::ItemData *itemData = (PhLogGenlistHelper::ItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+
+ if (!strcmp(part, "elm.text")) {
+ return PhLogIcu::getTimeString(recordInfo->logTime);
+ } else if (!strcmp(part, "elm.text.sub")) {
+ if(PhLogUtil::isMissedCallType(recordInfo->logType)) {
+ return strdup(PAT_(PH_LOGS_SBODY_MISSEDM_CALL_STATUS));
+ } else if(PhLogUtil::isOutgoingCallType(recordInfo->logType) || PhLogUtil::isIncomingCallType(recordInfo->logType)) {
+ if (recordInfo->callDuration > 0) {
+ char *duration = PhLogIcu::getCallDurationString(recordInfo->callDuration);
+ const char *type = PhLogUtil::isIncomingCallType(recordInfo->logType)
+ ? PAT_(PH_CALL_BODY_INCOMING_CALL) : PAT_(PH_ST_BODY_OUTGOING_CALL);
+
+ if (duration) {
+ char buf[PH_TEXT_SHORT_LEN];
+ snprintf(buf, sizeof(buf), "%s, %s",type, duration);
+ free(duration);
+ return strdup(buf);
+ } else {
+ return strdup(type);
+ }
+ } else {
+ return strdup(PAT_(PH_LOGS_SBODY_CANCELLED_M_STATUS));
+ }
+ } else if(PhLogUtil::isRejectCallType(recordInfo->logType)) {
+ return strdup(PAT_(PH_LOGS_SBODY_CANCELLED_M_STATUS));
+ } else {
+ return PhLogIcu::getCallDurationString(recordInfo->callDuration);
+ }
+ }
+ else
+ return NULL;
+ };
+ __itcHistoryList->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object* {
+ PhLogGenlistHelper::ItemData *itemData = (PhLogGenlistHelper::ItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+
+ if (!strcmp(part, "elm.swallow.icon")) {
+ Evas_Object *icon = PhLogUtil::getLogTypeIcon(obj, recordInfo->logType);
+ WPRET_VM( NULL == icon, NULL, "PhLogUtil::getLogTypeIcon() is failed");
+ elm_image_aspect_fixed_set(icon, EINA_TRUE);
+
+ evas_object_size_hint_min_set(icon, ContactsCommon::getScaledWidth(ICON_LOG_DETAIL_WIDTH), ContactsCommon::getScaledHeight(ICON_LOG_DETAIL_HEIGHT));
+ return icon;
+ }
+ else {
+ return NULL;
+ }
+
+ };
+ __itcHistoryList->func.state_get = NULL;
+ __itcHistoryList->func.del = [](void* data, Evas_Object* obj){
+ PhLogGenlistHelper::ItemData* itemData = (PhLogGenlistHelper::ItemData *)data;
+ delete itemData;
+ };
+}
diff --git a/lib-phone/ph-loglist/src/PhLogDetailView.h b/lib-phone/ph-loglist/src/PhLogDetailView.h
new file mode 100644
index 0000000..d47bcb9
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogDetailView.h
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef PHLOGDETAILVIEW_H_
+#define PHLOGDETAILVIEW_H_
+
+#include "PhLogDbMgr.h"
+#include "PhLogListView.h"
+#include "PhLogDetailContactInfoControl.h"
+#include "PhLogDetailButtonInfoControl.h"
+
+class PhLogDetailView : public PhLogListView
+{
+public:
+ PhLogDetailView(const PhLogDbMgr::RecordInfo *recordInfo);
+
+protected:
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam);
+ virtual void onCreated();
+ virtual void onDestroy();
+ virtual void onPushed(Elm_Object_Item* naviItem);
+
+private:
+ PhLogDetailView();
+
+ void __setMoreBtn(Elm_Object_Item *naviItem);
+ void __setContactInfo();
+ void __setGenlistItcs();
+ void __setList();
+
+ //from PhLogListView
+ virtual void updateList(void);
+
+ virtual void onDbChanged();
+ static void __detailBackBtnCb(void *data, Evas_Object *obj, const char *emission, const char *source);
+
+private:
+ virtual ~PhLogDetailView();
+
+private:
+ std::string __number;
+ std::string __callDesc;
+
+ Evas_Object* __mainLayout;
+
+ Elm_Genlist_Item_Class *__itcLogInfo;
+ Elm_Genlist_Item_Class *__itcGroupIndex;
+ Elm_Genlist_Item_Class *__itcHistoryList;
+
+ std::list<PhLogDbMgr::RecordInfo*> *__detailList;
+
+ PhLogDetailContactInfoControl *__contactInfo;
+
+ const PhLogDbMgr::RecordInfo *__recordInfo;
+};
+
+#endif /* PHLOGDETAILVIEW_H_ */
diff --git a/lib-phone/ph-loglist/src/PhLogDropDownCtxPopup.cpp b/lib-phone/ph-loglist/src/PhLogDropDownCtxPopup.cpp
new file mode 100644
index 0000000..14d1ed7
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogDropDownCtxPopup.cpp
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+////#include <efl_assist.h>
+
+#include "ContactsDebug.h"
+#include "PhLogDropDownCtxPopup.h"
+
+
+PhLogDropDownCtxPopup::PhLogDropDownCtxPopup()
+{
+
+}
+
+Evas_Object* PhLogDropDownCtxPopup::onCreate(Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+
+ __parentButton = parent;
+ Evas_Object *popup = elm_ctxpopup_add(elm_object_top_widget_get(__parentButton));
+ elm_object_style_set(popup, "dropdown/list");
+ //ea_object_event_callback_add(popup, EA_CALLBACK_BACK, ea_ctxpopup_back_cb, NULL);
+ evas_object_smart_callback_add(popup,"dismissed", [](void *data, Evas_Object *obj, void *event_info){
+ evas_object_del(obj);
+ }, NULL);
+
+ elm_ctxpopup_direction_priority_set(popup, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UNKNOWN, ELM_CTXPOPUP_DIRECTION_UNKNOWN, ELM_CTXPOPUP_DIRECTION_UNKNOWN);
+
+ return popup;
+}
+
+void PhLogDropDownCtxPopup::onDestroy()
+{
+ WHIT();
+}
+
+PhLogDropDownCtxPopup::~PhLogDropDownCtxPopup()
+{
+
+}
+Elm_Object_Item* PhLogDropDownCtxPopup::appendItem( const char *label, const std::function< void()>& selectCb )
+{
+ __vSelectItemCb.push_back(selectCb);
+ Elm_Object_Item *item = elm_ctxpopup_item_append(getEvasObj(), label, NULL, __popupSelectCb, (void*)(__vSelectItemCb.size() - 1));
+ WPRET_VM( NULL == item, NULL, "elm_ctxpopup_item_append");
+
+ return item;
+}
+
+void PhLogDropDownCtxPopup::showPopup()
+{
+ Evas_Coord x, y, w, h;
+ evas_object_geometry_get(__parentButton, &x, &y, &w, &h);
+ evas_object_move(getEvasObj(), x + (w / 2), y + h + 1);
+
+ evas_object_show(getEvasObj());
+}
+
+void PhLogDropDownCtxPopup::__popupSelectCb( void* data, Evas_Object* obj, void* event_info )
+{
+ WENTER();
+ PhLogDropDownCtxPopup* self = (PhLogDropDownCtxPopup*)WControl_getInstanceFromEvasObj(obj);
+ if (self) {
+ const unsigned int itemIndex = (unsigned int)data;
+ self->__vSelectItemCb[itemIndex]();
+ }
+
+ evas_object_del(obj);
+}
+
diff --git a/lib-phone/ph-loglist/src/PhLogDropDownCtxPopup.h b/lib-phone/ph-loglist/src/PhLogDropDownCtxPopup.h
new file mode 100644
index 0000000..1cf487f
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogDropDownCtxPopup.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_LOG_DROP_DOWN_CTX_POPUP_H_
+#define _PH_LOG_DROP_DOWN_CTX_POPUP_H_
+
+#include <functional>
+#include <vector>
+
+#include <Evas.h>
+#include <Elementary.h>
+
+#include "WControl.h"
+//#include "WNaviframe.h"
+
+class PhLogDropDownCtxPopup : public WControl
+{
+public:
+ PhLogDropDownCtxPopup();
+
+ Elm_Object_Item* appendItem( const char *label, const std::function< void()>& selectCb );
+ void showPopup();
+
+protected:
+ virtual ~PhLogDropDownCtxPopup();
+ virtual Evas_Object* onCreate( Evas_Object* parent, void* viewParam);
+ virtual void onDestroy();
+
+ static void __popupSelectCb( void* data, Evas_Object* obj, void* event_info );
+
+private:
+ Evas_Object* __parentButton;
+
+ std::vector<std::function< void()>> __vSelectItemCb;
+};
+
+#endif //_PH_LOG_DROP_DOWN_CTX_POPUP_H_
diff --git a/lib-phone/ph-loglist/src/PhLogGenlistHelper.cpp b/lib-phone/ph-loglist/src/PhLogGenlistHelper.cpp
new file mode 100755
index 0000000..878449b
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogGenlistHelper.cpp
@@ -0,0 +1,352 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhLogGenlistHelper.h"
+#include "ContactsDebug.h"
+
+#define PH_LOG_SCROLL_TIMER 0.1
+#define PH_LOG_REALIZED_ITEM_COUNT_PER_PAGE 10
+
+PhLogGenlistHelper::PhLogGenlistHelper(Evas_Object* parent):
+__genlist(NULL),
+__parent(parent),
+__swipeHandler(NULL),
+__scrollTimer(NULL),
+__isClearRequested(false),
+__smartAppendIndex(0)
+
+{
+ WHIT();
+}
+
+PhLogGenlistHelper::~PhLogGenlistHelper()
+{
+ WHIT();
+
+}
+
+Evas_Object* PhLogGenlistHelper::onCreate( Evas_Object* parent, void* param )
+{
+ WHIT();
+ return __createGenlist();
+}
+
+void PhLogGenlistHelper::onDestroy()
+{
+ WHIT();
+ if (__scrollTimer)
+ ecore_timer_del(__scrollTimer);
+}
+
+void PhLogGenlistHelper::__swipeStartCb(void *data, Elm_Object_Item *it, const char *em, const char *src)
+{
+ WHIT();
+ WPRET_M(!data, "data is null");
+ PhLogGenlistHelper* p = (PhLogGenlistHelper*)data;
+
+ if (p->__scrollTimer) {
+ elm_object_item_signal_emit(it, "elm,swipe,revert", "");
+ return;
+ }
+ Evas_Object *obj = elm_object_item_widget_get(it);
+ elm_object_scroll_freeze_push(obj);
+ elm_object_scroll_hold_push(p->__genlist);
+}
+
+void PhLogGenlistHelper::__swipeInvokeCb(void *data, Elm_Object_Item *it, const char *em, const char *src)
+{
+ WHIT();
+ WPRET_M(!data, "data is null");
+ PhLogGenlistHelper* p = (PhLogGenlistHelper*)data;
+
+ Evas_Object *obj = elm_object_item_widget_get(it);
+ elm_object_scroll_freeze_pop(obj);
+ elm_object_scroll_hold_pop(p->__genlist);
+
+ if(strcmp(em, "elm,swipe,stop,right") == 0) {
+ p->__swipeHandler(SWIPE_TO_RIGHT, NULL);
+ } else if(strcmp(em, "elm,swipe,stop,left") == 0) {
+ p->__swipeHandler(SWIPE_TO_LEFT, NULL);
+ }
+}
+
+void PhLogGenlistHelper::__swipeCancleCb(void *data, Elm_Object_Item *it, const char *em, const char *src)
+{
+ WHIT();
+ WPRET_M(!data, "data is null");
+ PhLogGenlistHelper* p = (PhLogGenlistHelper*)data;
+ Evas_Object *obj = elm_object_item_widget_get(it);
+ elm_object_scroll_freeze_pop(obj);
+ elm_object_scroll_hold_pop(p->__genlist);
+}
+
+void PhLogGenlistHelper::__genlistRealizedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WPRET_M(NULL == event_info, "parameter(event_info) is NULL");
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ Elm_Object_Item *tmp_item = NULL;
+
+ WPRET_M(!data, "data is null");
+ PhLogGenlistHelper* p = (PhLogGenlistHelper*)data;
+
+ tmp_item = elm_genlist_item_next_get(item);// hide bottom line of last itme in loglist group
+ if( tmp_item == NULL || ( ELM_GENLIST_ITEM_GROUP == elm_genlist_item_type_get(tmp_item)) )
+ elm_object_item_signal_emit(item, "elm,state,bottomline,hide", "");
+ else
+ elm_object_item_signal_emit(item, "elm,state,bottomline,show", "");
+
+ if(p->__swipeHandler)
+ {
+ elm_object_item_signal_callback_del(item, "elm,swipe,start", "", __swipeStartCb);
+ elm_object_item_signal_callback_del(item, "elm,swipe,stop,left", "", __swipeInvokeCb);
+ elm_object_item_signal_callback_del(item, "elm,swipe,stop,right", "", __swipeInvokeCb);
+ elm_object_item_signal_callback_del(item, "elm,swipe,stop", "", __swipeCancleCb);
+
+ elm_object_item_signal_callback_add(item, "elm,swipe,start", "", __swipeStartCb, data);
+ elm_object_item_signal_callback_add(item, "elm,swipe,stop,left", "", __swipeInvokeCb, data);
+ elm_object_item_signal_callback_add(item, "elm,swipe,stop,right", "", __swipeInvokeCb, data);
+ elm_object_item_signal_callback_add(item, "elm,swipe,stop", "", __swipeCancleCb, data);
+ }
+}
+
+void PhLogGenlistHelper::__genlistUnrealizedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ WPRET_M(NULL == item, "parameter(item) is NULL");
+
+ elm_object_item_signal_callback_del(item, "elm,swipe,start", "", __swipeStartCb);
+ elm_object_item_signal_callback_del(item, "elm,swipe,stop,left", "", __swipeInvokeCb);
+ elm_object_item_signal_callback_del(item, "elm,swipe,stop,right", "", __swipeInvokeCb);
+ elm_object_item_signal_callback_del(item, "elm,swipe,stop", "", __swipeCancleCb);
+}
+
+void PhLogGenlistHelper::__languageChangedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M(!data, "data is null");
+ PhLogGenlistHelper* p = (PhLogGenlistHelper*)data;
+
+// phct_common_detail_log_init_time_format();
+// phct_common_detail_log_generate_date_format(log_d->formatter);
+
+ elm_genlist_realized_items_update(p->__genlist);
+
+// if(log_d->view_type == LOG_VIEW_TYPE_UG_NUMBER_CHECK)
+// ph_log_check_update_selection_info(log_d);
+
+}
+
+void PhLogGenlistHelper::__longPressedCb(void *data, Evas_Object *obj, void *event_info)
+{
+
+}
+
+Eina_Bool PhLogGenlistHelper::__scrollTimerCb(void *data)
+{
+ WPRET_VM(!data, EINA_FALSE, "data is null");
+ PhLogGenlistHelper* p = (PhLogGenlistHelper*)data;
+
+ if (p->__scrollTimer)
+ ecore_timer_del(p->__scrollTimer);
+ p->__scrollTimer = NULL;
+ return EINA_FALSE;
+}
+
+void PhLogGenlistHelper::__scrollCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WPRET_M(!data, "data is null");
+ PhLogGenlistHelper* p = (PhLogGenlistHelper*)data;
+
+ if (p->__scrollTimer)
+ ecore_timer_del(p->__scrollTimer);
+ p->__scrollTimer = ecore_timer_add(PH_LOG_SCROLL_TIMER, __scrollTimerCb, data);
+}
+
+void PhLogGenlistHelper::__mouseUpCb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+ WPRET_M(!data, "data is null");
+ PhLogGenlistHelper* p = (PhLogGenlistHelper*)data;
+
+ elm_object_scroll_hold_pop(p->__genlist);
+ elm_object_scroll_freeze_pop(p->__genlist);
+}
+
+Evas_Object* PhLogGenlistHelper::__createGenlist(void)
+{
+ WHIT();
+ WASSERT_EX(__parent != NULL, "__parent is null.");
+
+ __genlist = elm_genlist_add(__parent);
+ WASSERT_EX(__genlist != NULL, "genlist is not created.");
+
+ evas_object_size_hint_weight_set(__genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(__genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ elm_genlist_mode_set(__genlist, ELM_LIST_COMPRESS);
+ elm_genlist_homogeneous_set(__genlist, EINA_TRUE);
+
+ evas_object_smart_callback_add(__genlist, "realized", __genlistRealizedCb, this);
+ evas_object_smart_callback_add(__genlist, "unrealized", __genlistUnrealizedCb, this);
+ evas_object_smart_callback_add(__genlist, "language,changed", __languageChangedCb, this);
+ evas_object_smart_callback_add(__genlist, "longpressed", __longPressedCb, this);
+ evas_object_smart_callback_add(__genlist, "scroll", __scrollCb, this);
+ evas_object_event_callback_add(__genlist, EVAS_CALLBACK_MOUSE_UP, __mouseUpCb, this);
+
+ return __genlist;
+}
+
+void PhLogGenlistHelper::appendFinish()
+{
+ WHIT();
+ WPRET_M( NULL == __genlist, " __genlist is NULL");
+ WPRET_M( 0 > __smartAppendIndex, "__smartAppendIndex is Invalid");
+
+ Elm_Object_Item * item = NULL;
+ while( NULL != (item = elm_genlist_nth_item_get(__genlist, __smartAppendIndex)) ){
+ elm_object_item_del(item);
+ }
+ elm_genlist_item_bring_in(elm_genlist_first_item_get(__genlist),ELM_GENLIST_ITEM_SCROLLTO_TOP);
+
+ __smartAppendIndex = 0;
+
+ return;
+}
+
+Elm_Object_Item* PhLogGenlistHelper::appendItem(
+ const Elm_Genlist_Item_Class *itc,
+ const void *data,
+ Elm_Object_Item *parent,
+ Elm_Genlist_Item_Type type,
+ Evas_Smart_Cb func,
+ const void *funcData)
+{
+ WASSERT_EX(__genlist != NULL, "genlist is not created.");
+
+ ItemData* itemData = new ItemData;
+ itemData->p = funcData;
+ itemData->data = data;
+ itemData->contents = NULL;
+ itemData->thumbnailUpdateTimer = NULL;
+
+ Elm_Genlist_Item_Class *curItemClass;
+ Elm_Object_Item *curItem = elm_genlist_nth_item_get(__genlist, __smartAppendIndex);
+// WDEBUG("HERE : curItem : %p",curItem);
+ if(NULL == curItem)
+ {
+// WDEBUG("insert");
+ itemData->it = elm_genlist_item_append(__genlist, itc, itemData, parent, type, func, funcData);
+ }
+ else
+ {
+ curItemClass = (Elm_Genlist_Item_Class *)elm_genlist_item_item_class_get((const Elm_Object_Item *)curItem);
+ if(itc == curItemClass)
+ {
+// WDEBUG("update");
+ ItemData* curItemData = (ItemData*)elm_object_item_data_get(curItem);
+ if (curItemData) {
+ itemData->contents = curItemData->contents;
+ delete curItemData;
+ }
+ elm_object_item_data_set(curItem, itemData);
+ elm_genlist_item_update(curItem);
+ itemData->it = curItem;
+ }
+ else
+ {
+// WDEBUG("replace");
+ itemData->it = elm_genlist_item_insert_after(__genlist, itc, itemData, parent, curItem, type, func, funcData);
+ elm_object_item_del(curItem);
+ }
+ }
+
+ if (!itemData->it) {
+ WERROR("elm_genlist_nth_item_get() is failed");
+ free(itemData);
+ return NULL;
+ }
+
+ __smartAppendIndex++;
+
+// WDEBUG("HERE : itemData: %p, genlist count : %d, append count : %d", itemData, elm_genlist_items_count (__genlist), __smartAppendIndex);
+ return itemData->it;
+}
+
+Elm_Object_Item* PhLogGenlistHelper::appendCheckItem(
+ const Elm_Genlist_Item_Class *itc,
+ const void *data,
+ Elm_Object_Item *parent,
+ Elm_Genlist_Item_Type type,
+ Evas_Smart_Cb func,
+ const void *funcData,
+ Eina_Bool isChecked)
+{
+ WASSERT_EX(__genlist != NULL, "genlist is not created.");
+
+ CheckedItemData* itemData = new CheckedItemData;
+ itemData->p = funcData;
+ itemData->data = data;
+ itemData->isChecked = isChecked;
+ itemData->checkButton = NULL;
+
+ Elm_Genlist_Item_Class *curItemClass;
+ Elm_Object_Item *curItem = elm_genlist_nth_item_get(__genlist, __smartAppendIndex);
+// WDEBUG("HERE : curItem : %p",curItem);
+ if(NULL == curItem)
+ itemData->it = elm_genlist_item_append(__genlist, itc, itemData, parent, type, func, funcData);
+ else
+ {
+ curItemClass = (Elm_Genlist_Item_Class *)elm_genlist_item_item_class_get((const Elm_Object_Item *)curItem);
+ if(itc == curItemClass)
+ {
+ CheckedItemData* curItemData = (CheckedItemData*)elm_object_item_data_get(curItem);
+ WDEBUG("update from : %p, to : %p", curItemData, itemData);
+ if (curItemData) {
+ delete curItemData;
+ }
+ elm_object_item_data_set(curItem, (void *)itemData);
+ elm_genlist_item_item_class_update(curItem,itc);
+ elm_genlist_item_update(curItem);
+ itemData->it = curItem;
+ }
+ else
+ {
+ WDEBUG("replace");
+ itemData->it = elm_genlist_item_insert_after(__genlist, itc, itemData, parent, curItem, type, func, funcData);
+ elm_object_item_del(curItem);
+ }
+ }
+
+ if (!itemData->it) {
+ WERROR("elm_genlist_nth_item_get() is failed");
+ free(itemData);
+ return NULL;
+ }
+
+ __smartAppendIndex++;
+// WDEBUG("HERE : itemData: %p, genlist count : %d, append count : %d", itemData, elm_genlist_items_count (__genlist), __smartAppendIndex);
+ return itemData->it;
+}
+
+void PhLogGenlistHelper::updateItems(void)
+{
+ WENTER();
+
+ elm_genlist_realized_items_update(__genlist);
+
+ WLEAVE();
+ return;
+}
diff --git a/lib-phone/ph-loglist/src/PhLogListView.cpp b/lib-phone/ph-loglist/src/PhLogListView.cpp
new file mode 100755
index 0000000..eed5036
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogListView.cpp
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <string>
+
+#include "ContactsDebug.h"
+
+#include "PhLogIcu.h"
+#include "PhLogGenlistHelper.h"
+
+#include "PhLogListView.h"
+#include "PhStrings.h"
+#include "PhCommon.h"
+#include "SystemSettingsMgr.h"
+#include "PhLogDbMgr.h"
+
+#define PH_TEXT_MAX_LEN (1024)
+
+PhLogListView::PhLogListView():
+__glHelper(NULL)
+{
+ WHIT();
+
+ PhLogIcu::setLocale();
+ PhLogIcu::setTimeFormat();
+ PhLogIcu::setDateFormat();
+ PhLogIcu::setDefaultTimezoneId();
+}
+
+PhLogListView::~PhLogListView()
+{
+ WHIT();
+}
+
+PhLogGenlistHelper* PhLogListView::getGlHelper()
+{
+ if (!__glHelper)
+ {
+ WASSERT_EX(getEvasObj() != NULL, "getGlHelper failed. (parent layout is null).");
+ __glHelper = new PhLogGenlistHelper(getEvasObj());
+ __glHelper->create(getEvasObj(), NULL);
+ __glHelper->setName("__genlistHelper");
+ WDEBUG("Created PhLogGenlistHelper");
+ }
+ return __glHelper;
+}
+
+void PhLogListView::setGenlistLayout()
+{
+ WPRET_M( !getGlHelper(), "getGlHelper() is failed");
+
+ Evas_Object * obj = elm_object_part_content_get(getEvasObj(), "elm.swallow.content");
+ if( __glHelper->getEvasObj() != obj)
+ {
+ obj = elm_object_part_content_unset(getEvasObj(), "elm.swallow.content");
+ if(obj)
+ evas_object_del(obj);
+ elm_object_part_content_set(getEvasObj(), "elm.swallow.content", __glHelper->getEvasObj());
+ }
+}
+
+void PhLogListView::setNoContentLayout()
+{
+ WENTER();
+
+ Evas_Object * obj = elm_object_part_content_unset(getEvasObj(), "elm.swallow.content");
+ if (obj)
+ {
+ evas_object_del(obj);
+ __glHelper = NULL;
+ }
+
+ Evas_Object *noContentsLayout = elm_layout_add(getEvasObj());
+ elm_layout_theme_set(noContentsLayout, "layout", "nocontents", "default");
+ evas_object_size_hint_weight_set(noContentsLayout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(noContentsLayout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ elm_object_domain_translatable_part_text_set(noContentsLayout, "elm.text", STRING_PACKAGE, PXT_(PH_CLOG_BODY_NO_LOGS));
+ elm_object_domain_translatable_part_text_set(noContentsLayout, "elm.help.text", STRING_PACKAGE, PXT_(PH_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE));
+ elm_layout_signal_emit(noContentsLayout, "text,disabled", "");
+ elm_layout_signal_emit(noContentsLayout, "align.center", "elm");
+
+ elm_object_part_content_set(getEvasObj(), "elm.swallow.content", noContentsLayout);
+
+}
+
+void PhLogListView::onTabSelect(Elm_Object_Item *naviItem)
+{
+ WHIT();
+ elm_object_focus_set(getEvasObj(), EINA_TRUE);
+}
+
+void PhLogListView::onTabUnselect(Elm_Object_Item *naviItem)
+{
+ WHIT();
+ destroyPopup();
+}
+
+void PhLogListView::formatTimeDateChangedCb(system_settings_key_e key, void *data)
+{
+ WENTER();
+ WPRET_M(NULL == data, "data is NULL");
+ PhLogListView* p = (PhLogListView*)data;
+
+ PhLogIcu::setLocale();
+ PhLogIcu::setTimeFormat();
+ PhLogIcu::setDateFormat();
+ PhLogIcu::setDefaultTimezoneId();
+ p->updateList();
+}
+
+void PhLogListView::onCreated()
+{
+ WHIT();
+ int ret = SystemSettingsMgr::getInstance().registerChangedCallback(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, formatTimeDateChangedCb, this);
+ WPWARN(-1 == ret, "system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR) Failed");
+
+ ret = SystemSettingsMgr::getInstance().registerChangedCallback(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, formatTimeDateChangedCb, this);
+ WPWARN(-1 == ret, "system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY) Failed");
+
+ ret = SystemSettingsMgr::getInstance().registerChangedCallback(SYSTEM_SETTINGS_KEY_TIME_CHANGED, formatTimeDateChangedCb, this);
+ WPWARN(-1 == ret, "system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_TIME_CHANGED) Failed");
+
+ PhLogDbMgr::getInstance()->attach(this);
+}
+
+void PhLogListView::onDestroy()
+{
+ WHIT();
+
+ int ret = SystemSettingsMgr::getInstance().unregisterChangedCallback(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR, formatTimeDateChangedCb);
+ WPWARN(-1 == ret, "system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_TIMEFORMAT_24HOUR) Failed");
+
+ ret = SystemSettingsMgr::getInstance().unregisterChangedCallback(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, formatTimeDateChangedCb);
+ WPWARN(-1 == ret, "system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY) Failed");
+
+ ret = SystemSettingsMgr::getInstance().unregisterChangedCallback(SYSTEM_SETTINGS_KEY_TIME_CHANGED, formatTimeDateChangedCb);
+ WPWARN(-1 == ret, "system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_TIME_CHANGED) Failed");
+
+ PhLogDbMgr::getInstance()->detach(this);
+}
diff --git a/lib-phone/ph-loglist/src/PhLogMainListCheckView.cpp b/lib-phone/ph-loglist/src/PhLogMainListCheckView.cpp
new file mode 100755
index 0000000..8444a56
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogMainListCheckView.cpp
@@ -0,0 +1,745 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <system_settings.h>
+#include <unordered_set>
+
+#include "WPopup.h"
+
+#include "ContactsDebug.h"
+#include "ContactsThumbnail.h"
+
+#include "PhPath.h"
+#include "PhCommon.h"
+#include "PhStrings.h"
+
+#include "PhLogDefines.h"
+#include "PhLogIcu.h"
+#include "PhLogUtil.h"
+
+#include "PhLogMainListCheckView.h"
+#include "SystemSettingsMgr.h"
+
+PhLogMainListCheckView::PhLogMainListCheckView(ContactsData *contactsData):
+__logList(NULL),
+__checkAllButton(NULL),
+__deleteButton(NULL),
+__checkedList(NULL),
+__currentListType(PhLogDbMgr::LIST_TYPE_ALL_CALL_MESSAGE),
+__listInitialPosition(0)
+{
+ // TODO Auto-generated constructor stub
+ WHIT();
+ __contactsData = contactsData;
+ __launchMode = __decideLaunchMode(contactsData);
+
+ switch(__launchMode)
+ {
+ case LAUNCH_MODE_EMAIL_COMPOSER:
+ case LAUNCH_MODE_MESSAGE_COMPOSER:
+ __enableTitleButton = true;
+ __enableCheckAllButton = false;
+ break;
+ case LAUNCH_MODE_NORMAL:
+ default:
+ __enableTitleButton = true;
+ __enableCheckAllButton = true;
+ break;
+ }
+
+ __checkedCount = 0;
+ __totalCount = 0;
+}
+
+PhLogMainListCheckView::PhLogMainListCheckView(PhLogDbMgr::ListType currentListType, int listPosition):
+__itcGroupIndex(NULL),
+__itcDeleteList(NULL),
+__itcSelectAll(NULL),
+__logList(NULL),
+__checkAllButton(NULL),
+__deleteButton(NULL),
+__checkedList(NULL),
+__contactsData(NULL),
+__launchMode(LAUNCH_MODE_NORMAL),
+__listInitialPosition(listPosition)
+{
+ WHIT();
+ __currentListType = currentListType;
+
+ __enableTitleButton = true;
+ __enableCheckAllButton = true;
+
+ __checkedCount = 0;
+ __totalCount = 0;
+}
+
+
+PhLogMainListCheckView::~PhLogMainListCheckView()
+{
+ WHIT();
+
+ STD_LIST_FREE(__logList)
+
+ delete __checkedList;
+
+ elm_genlist_item_class_free(__itcGroupIndex);
+ elm_genlist_item_class_free(__itcDeleteList);
+ elm_genlist_item_class_free(__itcSelectAll);
+}
+
+void PhLogMainListCheckView::onPushed(Elm_Object_Item* naviItem)
+{
+ WHIT();
+ WPRET_M( NULL == naviItem, "Invalid param : naviItem");
+
+ __enableTitleBtn();
+ __updateTitleInfo();
+
+ Elm_Object_Item *topItem = elm_genlist_nth_item_get(getGlHelper()->getEvasObj(), __listInitialPosition);
+ //WDEBUG("postion %d", __listInitialPosition);
+ if(__listInitialPosition != 1 && topItem)
+ elm_genlist_item_show(topItem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+}
+
+void PhLogMainListCheckView::onSetAsPageContent(Elm_Object_Item* parentNaviItem)
+{
+ WHIT();
+}
+
+void PhLogMainListCheckView::__initializeTitleInfo()
+{
+ WHIT();
+
+ if(!__newRecord)
+ {
+ __checkedCount = 0;
+ __totalCount = 0;
+ }
+
+
+ char buf[PH_TEXT_SHORT_LEN] = {0,};
+ snprintf(buf, sizeof(buf), PAT_(PH_LOGS_HEADER_PD_SELECTED_ABB3), __checkedCount);
+ elm_object_item_part_text_set(getNaviItem(), "elm.text.title", buf );
+
+ if (__enableTitleButton && __deleteButton)
+ elm_object_disabled_set(__deleteButton, EINA_FALSE);
+
+ if (NULL == __checkedList)
+ __checkedList = new std::list<PhLogDbMgr::RecordInfo*>;
+ else
+ {
+ __checkedList->clear();
+ }
+}
+
+
+void PhLogMainListCheckView::__updateTitleInfo()
+{
+ WHIT();
+ char buf[PH_TEXT_SHORT_LEN] = {0,};
+ snprintf(buf, sizeof(buf), PAT_(PH_LOGS_HEADER_PD_SELECTED_ABB3), __checkedCount);
+ elm_object_item_part_text_set(getNaviItem(), "elm.text.title", buf );
+
+ if (__deleteButton)
+ {
+ if(__checkedCount == 0)
+ elm_object_disabled_set(__deleteButton, EINA_TRUE);
+ else if (__checkedCount >0)
+ elm_object_disabled_set(__deleteButton, EINA_FALSE);
+ else
+ WERROR("invalid __checkedCount : %d", __checkedCount);
+ }
+
+ if (__checkAllButton)
+ {
+ Elm_Object_Item *item = elm_genlist_first_item_get(getGlHelper()->getEvasObj());
+ PhLogGenlistHelper::CheckedItemData* itemData = (PhLogGenlistHelper::CheckedItemData*)elm_object_item_data_get(item);
+ WPRET_M(!itemData, "itemData is NULL");
+
+ if ( (unsigned int)__totalCount == __logList->size() && !__logList->empty()) {
+ itemData->isChecked = EINA_TRUE;
+ elm_check_state_set(__checkAllButton, EINA_TRUE);
+ }
+ else {
+ itemData->isChecked = EINA_FALSE;
+ elm_check_state_set(__checkAllButton, EINA_FALSE);
+ }
+ }
+}
+
+void PhLogMainListCheckView::__enableTitleBtn()
+{
+ WHIT();
+ WPRET_M( !__enableTitleButton , "__enableTitleButton is disabled");
+
+ Evas_Object * cancelButton = elm_object_item_part_content_unset(getNaviItem(), "title_cancel");
+ if(cancelButton)
+ evas_object_del(cancelButton);
+ cancelButton = PhCommon::createButton(getNaviframe()->getEvasObj(), "naviframe/title_left", PAT_(PH_TPLATFORM_ACBUTTON_CANCEL_ABB), [](void *data, Evas_Object *obj, void *event_info)->void {
+ WPRET_M( NULL == data, "Invalid Param : data");
+ PhLogMainListCheckView* p = (PhLogMainListCheckView *) data;
+
+ WDEBUG("Close Delete View");
+ p->popOut();
+ }, this);
+ WPRET_M( NULL == cancelButton, "PhCommon::createButton() is failed" );
+ elm_object_item_part_content_set(getNaviItem(), "title_left_btn", cancelButton);
+
+ __deleteButton = elm_object_item_part_content_unset(getNaviItem(), "title_right_btn");
+ if(__deleteButton)
+ evas_object_del(__deleteButton);
+
+ __deleteButton = PhCommon::createButton(getNaviframe()->getEvasObj(), "naviframe/title_right", PAT_(PH_TPLATFORM_ACBUTTON_DELETE_ABB), [](void *data, Evas_Object *obj, void *event_info)->void {
+ WPRET_M( NULL == data, "Invalid Param : data");
+ PhLogMainListCheckView* p = (PhLogMainListCheckView *) data;
+
+ elm_object_disabled_set(obj, EINA_TRUE);
+
+ switch(p->__launchMode)
+ {
+ case LAUNCH_MODE_EMAIL_COMPOSER:
+ case LAUNCH_MODE_MESSAGE_COMPOSER:
+ p->__replyToUgRequest();
+ break;
+ case LAUNCH_MODE_NORMAL:
+ default:
+ {
+ PhLogDbMgr::getInstance()->deleteLogList(p->__checkedList, p->__totalCount);
+ p->popOut();
+ break;
+ }
+ }
+
+ }, this);
+ WPRET_M( NULL == __deleteButton, "PhCommon::createButton() is failed" );
+ elm_object_item_part_content_set(getNaviItem(), "title_right_btn", __deleteButton);
+}
+
+void PhLogMainListCheckView::__replyToUgRequest()
+{
+ WHIT();
+ WPRET_M( !__checkedList || __checkedList->empty(), "__checkedList is Invalid");
+
+ int *resultArray = new int[__checkedList->size()];
+ WPRET_M( NULL ==resultArray, " new int[] is failed");
+ int index = 0;
+ for (auto it=__checkedList->begin(); it != __checkedList->end(); it++)
+ {
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)(*it);
+
+ if(!recordInfo->number) continue;
+ resultArray[index] = recordInfo->logId;
+ index++;
+ WDEBUG("UG resuult address : %s ", recordInfo->number);
+ }
+
+ app_control_h service;
+ app_control_create(&service);
+
+ gchar *encoded_str = g_base64_encode((guchar *)resultArray, (index+1)*sizeof(int));
+ app_control_add_extra_data(service, PH_UG_BUNDLE_RESULT_PLOG_ID_LIST, encoded_str);
+ g_free(encoded_str);
+ delete [] resultArray;
+
+ app_control_reply_to_launch_request(service, __contactsData->appControl, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(service);
+
+ popOut();
+}
+
+void PhLogMainListCheckView::updateList(void)
+{
+ WHIT();
+ std::list<PhLogDbMgr::RecordInfo*> *__oldLogList = __logList;
+
+ switch(__launchMode)
+ {
+ case LAUNCH_MODE_MESSAGE_COMPOSER:
+ __logList = PhLogDbMgr::getInstance()->loadLogList(PhLogDbMgr::LIST_TYPE_ALL_CALL, false);
+ break;
+ case LAUNCH_MODE_EMAIL_COMPOSER:
+ __logList = PhLogDbMgr::getInstance()->loadLogList(PhLogDbMgr::LIST_TYPE_EMAIL, false);
+ break;
+ case LAUNCH_MODE_NORMAL:
+ default:
+ __logList = PhLogDbMgr::getInstance()->loadLogList(__currentListType, true);
+ break;
+ }
+
+ if(!__logList || __logList->empty())
+ setNoContentLayout();
+ else
+ {
+ __newRecord = NULL;
+ if(__oldLogList)
+ {
+ std::unordered_set<int> logIds;
+ for(auto oldRec: *__oldLogList)
+ {
+ logIds.insert(oldRec->logId);
+ }
+ for(auto newRec: *__logList)
+ {
+ if( !logIds.count(newRec->logId) )
+ {
+ __newRecord = newRec;
+ }
+ }
+ }
+
+ setGenlistLayout();
+ __setList();
+ }
+
+ STD_LIST_FREE(__oldLogList)
+// WDEBUG("exit :__logList : %p", __logList);
+
+}
+
+void PhLogMainListCheckView::__setList()
+{
+ WHIT();
+ WPRET_M( NULL == __logList, "__logList is NULL");
+
+ std::unordered_set<int> checkedHashSet;
+ if(__newRecord && __checkedList)
+ {
+ for(auto i: *__checkedList)
+ {
+ checkedHashSet.insert(i->logId);
+ if( PhLogUtil::isGrouped(__newRecord, i))
+ {
+ --__checkedCount;
+ __totalCount -= i->groupedList ? (i->groupedList->size() + 1) : 1;
+ }
+ }
+ }
+
+ __initializeTitleInfo();
+
+ if (__enableCheckAllButton) {
+ getGlHelper()->appendCheckItem(__itcSelectAll, this, NULL, ELM_GENLIST_ITEM_NONE, PhLogMainListCheckView::__checkAllClickedCb, this);
+ }
+
+
+ PhLogDbMgr::RecordInfo *prevRecordInfo = NULL;
+ for (auto it=__logList->begin(); it != __logList->end(); it++)
+ {
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)(*it);
+
+ if( PhLogUtil::isGrouped(prevRecordInfo,recordInfo))
+ {
+ if( NULL == prevRecordInfo->groupedList )
+ prevRecordInfo->groupedList = new std::list<PhLogDbMgr::RecordInfo*>;
+
+ prevRecordInfo->groupedList->push_back(recordInfo);
+ }
+ else
+ {
+ if( !prevRecordInfo || !PhLogUtil::isGroupedbyDate(prevRecordInfo->logTime,recordInfo->logTime) ) {
+ Elm_Object_Item *item = getGlHelper()->appendCheckItem(__itcGroupIndex, recordInfo, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_NONE);
+ }
+ Eina_Bool isChecked = EINA_FALSE;
+
+ if(checkedHashSet.count(recordInfo->logId))
+ {
+ __checkedList->push_back(recordInfo);
+ isChecked = EINA_TRUE;
+ }
+ getGlHelper()->appendCheckItem(__itcDeleteList, recordInfo, NULL, ELM_GENLIST_ITEM_NONE, PhLogMainListCheckView::__selectItemCb, this, isChecked);
+ prevRecordInfo = recordInfo;
+ }
+ }
+
+ getGlHelper()->appendFinish();
+
+ __updateTitleInfo();
+
+ return;
+}
+
+Evas_Object* PhLogMainListCheckView::onCreate( Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+
+ Evas_Object* layout = PhCommon::createLayout(parent, LOG_LIST_EDJ, "log/list/check/main");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(layout);
+
+ __setGenlistItcs();
+ return layout;
+}
+
+void PhLogMainListCheckView::onCreated()
+{
+ WHIT();
+ PhLogListView::onCreated();
+ updateList();
+}
+
+void PhLogMainListCheckView::onDbChanged()
+{
+ updateList();
+}
+
+void PhLogMainListCheckView::__setGenlistItcs()
+{
+ WHIT();
+
+ __itcGroupIndex = elm_genlist_item_class_new();
+ WPRET_M(!__itcGroupIndex, "elm_genlist_item_class_new() failed");
+ __itcGroupIndex->item_style = "group_index";
+ __itcGroupIndex->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char* {
+// WDEBUG("part :%s", part);
+ if (!strcmp(part, "elm.text")) {
+ PhLogGenlistHelper::CheckedItemData *itemData = (PhLogGenlistHelper::CheckedItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+
+ time_t itemTime = recordInfo->logTime;
+ time_t nowTime = time(NULL);
+
+ struct tm itemDate;
+ struct tm nowDate;
+
+ localtime_r(&itemTime, &itemDate);
+ localtime_r(&nowTime, &nowDate);
+
+ if( itemDate.tm_year == nowDate.tm_year &&
+ itemDate.tm_mon == nowDate.tm_mon &&
+ itemDate.tm_mday == nowDate.tm_mday )
+ return elm_entry_utf8_to_markup(PAT_(PH_LOGS_HEADER_TODAY));
+ else if( itemDate.tm_year == nowDate.tm_year &&
+ itemDate.tm_mon == nowDate.tm_mon &&
+ ((itemDate.tm_mday)+1) == nowDate.tm_mday )
+ return elm_entry_utf8_to_markup(PAT_(PH_LOGS_HEADER_YESTERDAY));
+ else
+ return PhLogIcu::getGroupIndexDateString(recordInfo->logTime);
+ }
+ else
+ return NULL;
+ };
+ __itcGroupIndex->func.content_get = NULL;
+ __itcGroupIndex->func.del = [](void* data, Evas_Object* obj){
+ PhLogGenlistHelper::CheckedItemData* itemData = (PhLogGenlistHelper::CheckedItemData *)data;
+ delete itemData;
+ };
+
+ __itcDeleteList = elm_genlist_item_class_new();
+ WPRET_M(!__itcDeleteList, "elm_genlist_item_class_new() failed");
+ __itcDeleteList->item_style = "type1";
+ __itcDeleteList->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char* {
+ PhLogGenlistHelper::CheckedItemData *itemData = (PhLogGenlistHelper::CheckedItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+// WDEBUG("part :%s", part);
+ if (0 == strcmp(part, "elm.text"))
+ return elm_entry_utf8_to_markup(PhLogUtil::getDisplayText(recordInfo->personId, recordInfo->displayName, recordInfo->number,recordInfo->callDesc));
+ else if ((strcmp(part, "elm.text.sub") == 0))
+ {
+ if(recordInfo->personId)
+ return elm_entry_utf8_to_markup(recordInfo->number);
+ else
+ return elm_entry_utf8_to_markup(PAT_(PH_LOGS_SBODY_UNSAVED_M_STATUS));
+ }
+ else if ((strcmp(part, "elm.text.sub.end") == 0))
+ {
+ char buf[PH_TEXT_SHORT_LEN] = {0,};
+ char *logTime = PhLogIcu::getTimeString(recordInfo->logTime);
+ snprintf(buf, sizeof(buf), "<font_size=%d>%s</font_size>", LOGLIST_SUB_TEXT_SIZE, logTime);
+ free(logTime);
+ return strdup(buf);
+ }
+ else if ((strcmp(part, "elm.text.end") == 0))
+ {
+ char buf[PH_TEXT_SHORT_LEN] = {0,};
+ if(recordInfo->groupedList == NULL)
+ return NULL;
+ else
+ {
+ snprintf(buf, sizeof(buf), "(%d)", recordInfo->groupedList->size()+1);
+ return elm_entry_utf8_to_markup(buf);
+ }
+
+ }
+ else
+ return NULL;
+ };
+ __itcDeleteList->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object*{
+ PhLogGenlistHelper::CheckedItemData *itemData = (PhLogGenlistHelper::CheckedItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+// WDEBUG("part :%s", part);
+ if (0 == strcmp(part, "elm.swallow.icon"))
+ {
+ Evas_Object *thumbnail = createThumbnail(obj, THUMBNAIL_98, recordInfo->imgPath, true);
+ WPRET_VM( NULL == thumbnail, NULL, "elm_image_add() is failed");
+
+ Evas_Object *icon = PhLogUtil::getLogTypeIcon(obj, recordInfo->logType);
+ WPRET_VM( NULL == icon, NULL, "PhLogUtil::GetLogTypeIcon() is failed");
+ evas_object_size_hint_min_set(icon, ContactsCommon::getScaledWidth(LOG_LIST_CALL_TYPE_SIZE), ContactsCommon::getScaledHeight(LOG_LIST_CALL_TYPE_SIZE));
+
+ Evas_Object *layout = PhCommon::createLayout(obj, LOG_LIST_EDJ, "list/B/log/thumbnail");
+ WPRET_VM( NULL == layout, NULL, "PhLogUtil::createLayout() is failed");
+
+ elm_layout_content_set(layout, "elm.swallow.content", thumbnail);
+ elm_layout_content_set(layout, "elm.swallow.call.type", icon);
+
+ return layout;
+ }
+ else if (0 == strcmp(part, "elm.swallow.end"))
+ {
+ itemData->checkButton = elm_check_add(obj);
+ WPRET_VM(NULL == itemData->checkButton, NULL, "elm_check_add() return NULL");
+ elm_check_state_set(itemData->checkButton, itemData->isChecked);
+ evas_object_repeat_events_set(itemData->checkButton, EINA_TRUE);
+ evas_object_propagate_events_set(itemData->checkButton, EINA_FALSE);
+ evas_object_freeze_events_set (itemData->checkButton, EINA_TRUE);
+
+ return itemData->checkButton;
+ } else {
+ return NULL;
+ }
+ };
+ __itcDeleteList->func.del = [](void* data, Evas_Object* obj){
+ PhLogGenlistHelper::CheckedItemData* itemData = (PhLogGenlistHelper::CheckedItemData *)data;
+ delete itemData;
+ };
+
+ __itcSelectAll = elm_genlist_item_class_new();
+ WPRET_M(!__itcSelectAll, "elm_genlist_item_class_new() failed");
+ __itcSelectAll->item_style = "type1";
+ __itcSelectAll->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char* {
+ if (!strcmp(part, "elm.text")) {
+ return strdup(PAT_(PH_LOGS_MBODY_SELECT_ALL));
+ }
+ else
+ return NULL;
+ };
+ __itcSelectAll->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object*{
+ PhLogGenlistHelper::CheckedItemData* itemData = (PhLogGenlistHelper::CheckedItemData *)data;
+ PhLogMainListCheckView *view = (PhLogMainListCheckView*)itemData->data;
+ if (0 == strcmp(part, "elm.swallow.end"))
+ {
+ Evas_Object* check = elm_check_add(obj);
+ elm_check_state_set(check, itemData->isChecked);
+ evas_object_repeat_events_set(check, EINA_TRUE);
+ evas_object_propagate_events_set(check, EINA_FALSE);
+ evas_object_freeze_events_set (check, EINA_TRUE);
+ view->__checkAllButton = check;
+ return check;
+ }
+ else
+ return NULL;
+ };
+ __itcSelectAll->func.del = [](void* data, Evas_Object* obj){
+ PhLogGenlistHelper::CheckedItemData* itemData = (PhLogGenlistHelper::CheckedItemData *)data;
+ delete itemData;
+ };
+}
+
+void PhLogMainListCheckView::__checkAllClickedCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M( NULL == event_info,"event_info is NULL");
+ WPRET_M( NULL == data,"data is NULL");
+
+ Elm_Object_Item* item = (Elm_Object_Item*)event_info;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ PhLogMainListCheckView * p = (PhLogMainListCheckView *)data;
+ Eina_Bool checkAllBtnState = elm_check_state_get(p->__checkAllButton);
+
+ elm_check_state_set(p->__checkAllButton, !checkAllBtnState);
+
+ if ( !checkAllBtnState)
+ __checkAllItems(p->getGlHelper());
+ else
+ __uncheckAllItems(p->getGlHelper());
+}
+
+void PhLogMainListCheckView::__checkAllItems(PhLogGenlistHelper* glHelper)
+{
+ WHIT();
+ WPRET_M( NULL == glHelper , "glHelper is NULL");
+
+ Evas_Object *genlist = glHelper->getEvasObj();
+ WPRET_M( NULL == genlist , "genlist is NULL");
+
+ Elm_Object_Item *item = elm_genlist_first_item_get(genlist);
+ while(item)
+ {
+ PhLogGenlistHelper::CheckedItemData *itemData = (PhLogGenlistHelper::CheckedItemData *)elm_object_item_data_get(item);
+
+ PhLogMainListCheckView* p = (PhLogMainListCheckView *)itemData->p;
+ if (p) {
+ if (p->__itcSelectAll == (Elm_Genlist_Item_Class*)elm_genlist_item_item_class_get(item)) {
+ item = elm_genlist_item_next_get(item);
+ continue;
+ }
+ }
+
+ if (!itemData->isChecked)
+ __checkItem(itemData);
+
+ item = elm_genlist_item_next_get(item);
+ }
+}
+
+void PhLogMainListCheckView::__uncheckAllItems(PhLogGenlistHelper* glHelper)
+{
+ WHIT();
+ WPRET_M( NULL == glHelper , "glHelper is NULL");
+
+ Evas_Object *genlist = glHelper->getEvasObj();
+ WPRET_M( NULL == genlist , "genlist is NULL");
+
+ Elm_Object_Item *item = elm_genlist_first_item_get(genlist);
+ while(item)
+ {
+ PhLogGenlistHelper::CheckedItemData *itemData = (PhLogGenlistHelper::CheckedItemData *)elm_object_item_data_get(item);
+
+ PhLogMainListCheckView* p = (PhLogMainListCheckView *)itemData->p;
+ if (p) {
+ if (p->__itcSelectAll == (Elm_Genlist_Item_Class*)elm_genlist_item_item_class_get(item)) {
+ item = elm_genlist_item_next_get(item);
+ continue;
+ }
+ }
+
+ if (itemData->isChecked)
+ __uncheckItem(itemData);
+
+ item = elm_genlist_item_next_get(item);
+ }
+}
+
+void PhLogMainListCheckView::__checkItem(PhLogGenlistHelper::CheckedItemData * itemData)
+{
+ WHIT();
+ WPRET_M( NULL == itemData , "Invalid Param : itemData");
+
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+ WPRET_M( NULL == recordInfo , "recordInfo is NULL");
+
+ PhLogMainListCheckView *p = (PhLogMainListCheckView *)itemData->p;
+ WPRET_M( NULL == p , "p is NULL : is Group index");
+
+// WDEBUG("number : %s", recordInfo->number);
+ p->__checkedList->push_back(recordInfo);
+ p->__checkedCount++;
+ if(recordInfo->groupedList)
+ p->__totalCount += (recordInfo->groupedList->size()+1);
+ else
+ p->__totalCount++;
+
+ //check button state set
+ itemData->isChecked = EINA_TRUE;
+ if(itemData->checkButton)
+ elm_check_state_set(itemData->checkButton, itemData->isChecked);
+
+ p->__updateTitleInfo();
+}
+
+void PhLogMainListCheckView::__uncheckItem(PhLogGenlistHelper::CheckedItemData * itemData)
+{
+ WHIT();
+ WPRET_M( NULL == itemData , "Invalid Param : itemData");
+
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+ WPRET_M( NULL == recordInfo , "recordInfo is NULL");
+
+ PhLogMainListCheckView *p = (PhLogMainListCheckView *)itemData->p;
+ WPRET_M( NULL == p , "p is NULL");
+
+ p->__checkedList->remove(recordInfo);
+ p->__checkedCount--;
+
+ if(recordInfo->groupedList)
+ p->__totalCount -= (recordInfo->groupedList->size()+1);
+ else
+ p->__totalCount--;
+
+ //check button state set
+ itemData->isChecked = EINA_FALSE;
+ if(itemData->checkButton)
+ elm_check_state_set(itemData->checkButton, itemData->isChecked);
+
+ p->__updateTitleInfo();
+}
+
+
+void PhLogMainListCheckView::__selectItemCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M( NULL == event_info,"event_info is NULL");
+ WPRET_M( NULL == data,"data is NULL");
+
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ PhLogGenlistHelper::CheckedItemData *itemData = (PhLogGenlistHelper::CheckedItemData *)elm_object_item_data_get(item);
+
+ if(itemData->isChecked)
+ __uncheckItem(itemData);
+ else
+ __checkItem(itemData);
+}
+
+PhLogMainListCheckView::__LaunchMode PhLogMainListCheckView::__decideLaunchMode(ContactsData* contactsData)
+{
+ WHIT();
+ WPRET_VM(contactsData == NULL, LAUNCH_MODE_NORMAL, "no contactsData. set to normal mode.");
+
+ std::string type;
+ std::string appId;
+
+ appId = ContactsCommon::getAppControlData(contactsData->appControl, CONTACTS_APPCONTROL_KEY_APPID);
+ type = ContactsCommon::getAppControlData(contactsData->appControl, "type");
+ WDEBUG("appid: %s, launchMode: %s", appId.c_str(), type.c_str());
+
+ if(type.compare("34") == 0)
+ return LAUNCH_MODE_MESSAGE_COMPOSER;
+ else if(type.compare("33") == 0)
+ return LAUNCH_MODE_EMAIL_COMPOSER;
+ else
+ return LAUNCH_MODE_NORMAL;
+}
+
+void PhLogMainListCheckView::onTabSelect(Elm_Object_Item *naviItem)
+{
+ WHIT();
+ elm_object_focus_set(getEvasObj(), EINA_TRUE);
+
+ __enableTitleBtn();
+
+ __updateTitleInfo();
+
+}
+
+void PhLogMainListCheckView::onTabUnselect(Elm_Object_Item *naviItem)
+{
+ WHIT();
+ destroyPopup();
+ __uncheckAllItems(getGlHelper());
+}
+
+bool PhLogMainListCheckView::onTabPop()
+{
+ WHIT();
+ return TRUE;
+}
+
diff --git a/lib-phone/ph-loglist/src/PhLogMainListView.cpp b/lib-phone/ph-loglist/src/PhLogMainListView.cpp
new file mode 100755
index 0000000..e5903e2
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogMainListView.cpp
@@ -0,0 +1,834 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+//#include <ui_extension.h>
+#include <notification.h>
+
+#ifndef _SDK_BUILD
+ #include <notification_internal.h>
+#endif
+
+#include <sstream>
+#include <system_settings.h>
+#include "badge.h"
+
+#include "WMenuPopup.h"
+
+#include "ContactsAppControl.h"
+#include "ContactsDebug.h"
+#include "ContactsThumbnail.h"
+#include "WPopup.h"
+#include "PhPath.h"
+#include "PhStrings.h"
+#include "PhCommon.h"
+
+#include "PhLogIcu.h"
+#include "PhLogUtil.h"
+#include "PhLogDbMgr.h"
+
+#include "PhLogDropDownCtxPopup.h"
+#include "PhLogDetailView.h"
+#include "PhLogMainListCheckView.h"
+#include "PhLogMainListView.h"
+#include "PhLogDefines.h"
+#include "SystemSettingsMgr.h"
+
+PhLogMainListView::PhLogMainListView(ContactsData *contactsData):
+__logList(NULL),
+__viewByButton(NULL),
+__dbUpdateTimer(NULL),
+__isActive(false),
+__isScrollStopped(true),
+__isUpdateImmediate(true)
+{
+ WHIT();
+ __contactsData = contactsData;
+ __launchMode = __decideLaunchMode(contactsData);
+ WDEBUG("__launchMode : %d", __launchMode);
+ switch(__launchMode)
+ {
+ case LAUNCH_MODE_EMAIL_ADD_PRIORITY_SENDER_UG:
+ __currentListType = PhLogDbMgr::LIST_TYPE_EMAIL;
+ __enableViewByButton = false;
+ break;
+ case LAUNCH_MODE_NORMAL:
+ case LAUNCH_MODE_SINGLE_SELECT_UG:
+ case LAUNCH_MODE_DURING_CALL_TABUG:
+ default:
+ __currentListType = PhLogDbMgr::LIST_TYPE_ALL_CALL;
+ __enableViewByButton = true;
+ break;
+ }
+
+ WDEBUG("contactsData : %p, __launchMode : %d, __currentListType : %d", contactsData, __launchMode, __currentListType);
+
+ elm_theme_extension_add(NULL, ContactsCommon::getAppEdjePath(LOG_LIST_EDJ).c_str());
+ __initIcuPattern();
+}
+
+PhLogMainListView::~PhLogMainListView()
+{
+ STD_LIST_FREE(__logList)
+
+ elm_genlist_item_class_free(__itcGroupIndex);
+ elm_genlist_item_class_free(__itcMainList);
+}
+
+void PhLogMainListView::updateList()
+{
+ #define LOGS_FIRST_PAGE_PRELOAD_COUNT 8
+ WDEBUG("enter :__logList : %p", __logList);
+
+ std::list<PhLogDbMgr::RecordInfo*> *__oldLogList = __logList;
+ int limit = (__logList)? 0 : LOGS_FIRST_PAGE_PRELOAD_COUNT;
+ __logList = PhLogDbMgr::getInstance()->loadLogList(__currentListType, true, limit);
+
+ if(!__logList || __logList->empty())
+ {
+ Evas_Object * obj = elm_object_part_content_get(getEvasObj(), "elm.swallow.content");
+ if (obj && getGlHelper()->getEvasObj() == obj)
+ {
+ elm_object_part_content_unset(getEvasObj(), "elm.swallow.content");
+ elm_genlist_clear(obj);
+ evas_object_hide(obj);
+ }
+ setNoContentLayout();
+ }
+ else
+ {
+ setGenlistLayout();
+ __setList();
+ }
+
+ if(__oldLogList == NULL)
+ {
+ WUiTimer::addIdler([](void* data)->Eina_Bool {
+ PhLogMainListView* p = (PhLogMainListView*)data;
+ WINFO("First Full db loading..");
+ p->updateList();
+ return ECORE_CALLBACK_CANCEL;
+ }, this, getWeakPtr());
+ }
+
+ STD_LIST_FREE(__oldLogList)
+// WDEBUG("exit :__logList : %p", __logList);
+}
+
+void PhLogMainListView::__genlistUnswallowCb(void *data, Evas_Object* obj, void *event_info)
+{
+ //WHIT();
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ PhLogMainListView *p = (PhLogMainListView *)data;
+ WPRET_M(NULL == item, "parameter(item) is NULL");
+ PhLogGenlistHelper::ItemData *itemData = (PhLogGenlistHelper::ItemData*)elm_object_item_data_get(item);
+ std::vector<Evas_Object *>* cList = (std::vector<Evas_Object *>*)itemData->contents;
+ WPRET_M(NULL == cList, "parameter(cList) is NULL");
+
+ if(0 == p->__logCacheList.size()) return; // genlist already destroyed case
+
+ for (unsigned i=0; i<cList->size(); i++)
+ {
+ Evas_Object* content = cList->at(i);
+ std::map<Evas_Object*,std::string>::iterator it = p->__logCacheList.find(content);
+ if(it != p->__logCacheList.end())
+ {
+ if((it->second).back() != '*')
+ WWARNING("invalid delete try!!!!!");
+ else
+ (it->second).erase((it->second).end() -1);
+ evas_object_hide(content);
+ }
+ else
+ evas_object_del(content);
+ }
+ cList->clear();
+}
+
+Evas_Object* PhLogMainListView::__createListContents(std::string contentsType)
+{
+ Evas_Object *genlist = getGlHelper()->getEvasObj();
+ Evas_Object *icon = NULL;
+ Evas_Object *layout = NULL;
+ WPRET_VM( NULL == genlist, NULL, "genlist is NULL");
+
+ if(contentsType.find("list/B/log/thumbnail/") != std::string::npos)
+ {
+ for(int j=CONTACTS_PLOG_TYPE_VOICE_INCOMMING ; j<CONTACTS_PLOG_TYPE_VIDEO_BLOCKED ;j++)
+ {
+ std::stringstream keyString;
+ keyString << "list/B/log/thumbnail/" << PhLogUtil::getLogTypeImageName(j);
+
+ if(keyString.str() != contentsType)
+ continue;
+
+
+ Evas_Object *thumbnail = createThumbnail(genlist, THUMBNAIL_98, NULL, true);
+ WPRET_VM( NULL == thumbnail,NULL, "elm_image_add() is failed");
+ icon = PhLogUtil::getLogTypeIcon(genlist, j);
+ WPRET_VM( NULL == icon, NULL,"PhLogUtil::GetLogTypeIcon() is failed");
+ evas_object_size_hint_min_set(icon, ContactsCommon::getScaledWidth(LOG_LIST_CALL_TYPE_SIZE), ContactsCommon::getScaledHeight(LOG_LIST_CALL_TYPE_SIZE));
+ layout = PhCommon::createLayout(genlist, LOG_LIST_EDJ, "list/B/log/thumbnail");
+ WPRET_VM( NULL == layout,NULL, "PhLogUtil::createLayout() is failed");
+ elm_layout_content_set(layout, "elm.swallow.content", thumbnail);
+ elm_layout_content_set(layout, "elm.swallow.call.type", icon);
+ //WDEBUG("%s : %x", keyString.str().c_str(), layout);
+ break;
+ }
+ }
+ else if(contentsType == "list/C/log/log_info")
+ {
+ // create info button
+ layout = PhCommon::createImage(genlist, LOG_LIST_EDJ, "list/C/log/log_info", NULL);
+ evas_object_size_hint_min_set(layout, ContactsCommon::getScaledWidth(LOG_LIST_INFO_BTN_SIZE), ContactsCommon::getScaledHeight(LOG_LIST_INFO_BTN_SIZE));
+ WPRET_VM( NULL == layout,NULL, "PhCommon::createLayout() is failed");
+ evas_object_repeat_events_set(layout, EINA_FALSE);
+ evas_object_propagate_events_set(layout, EINA_FALSE);
+ }
+ else
+ WWARNING("Type error %s", contentsType.c_str());
+
+ evas_object_hide(layout);
+ return layout;
+}
+
+Evas_Object* PhLogMainListView::__getCachedContents(std::string keyString)
+{
+ std::map<Evas_Object*,std::string>::iterator iTer;
+ for (iTer = __logCacheList.begin(); iTer != __logCacheList.end(); iTer ++)
+ {
+ if (iTer->second == keyString)
+ {
+ Evas_Object* contents = iTer->first;
+ (iTer->second).push_back('*');
+ return contents;
+ }
+ }
+ Evas_Object* newContents = __createListContents(keyString);
+ __logCacheList[newContents] = keyString+"*";
+ WDEBUG("Cache Added : %s (total count : %d)", keyString.c_str(), __logCacheList.size());
+ return newContents;
+}
+
+void PhLogMainListView::__setList(void)
+{
+ WHIT();
+ WPRET_M( NULL == __logList, "__logList is NULL");
+ elm_genlist_clear(getGlHelper()->getEvasObj());
+ static bool initGenlistCallback = false;
+
+ if(initGenlistCallback == false)
+ {
+ Evas_Object *genlist = getGlHelper()->getEvasObj();
+ evas_object_smart_callback_add(genlist, "content,unswallowed", __genlistUnswallowCb, this);
+
+ evas_object_smart_callback_add(genlist, "scroll,anim,start", [](void *data, Evas_Object *obj, void *event_info){
+ //WDEBUG("scroll,anim,start");
+ bool* __isScrollStopped = (bool*)data;
+ *__isScrollStopped = false;
+ }, &__isScrollStopped);
+ evas_object_smart_callback_add(genlist, "scroll,anim,stop", [](void *data, Evas_Object *obj, void *event_info){
+ //WDEBUG("scroll,anim,stop");
+ PhLogMainListView* p = (PhLogMainListView*)data;
+ p->__isScrollStopped = true;
+ Eina_List *l = NULL;
+ void *itm = NULL;
+ Eina_List* realized_list = elm_genlist_realized_items_get(obj);
+ EINA_LIST_FOREACH(realized_list, l, itm) {
+ //WDEBUG("elm_genlist_realized_items_get %x", itm);
+ Elm_Object_Item *it = (Elm_Object_Item*)itm;
+ PhLogGenlistHelper::ItemData *itemData = (PhLogGenlistHelper::ItemData*)elm_object_item_data_get(it);
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+ if(itemData->thumbnailUpdateTimer)
+ {
+ ecore_timer_del(itemData->thumbnailUpdateTimer);
+ itemData->thumbnailUpdateTimer = NULL;
+ }
+
+ if(!recordInfo->imgPath || strlen(recordInfo->imgPath) == 0)
+ continue;
+
+ itemData->thumbnailUpdateTimer = ecore_timer_add(0.3, [](void* data)->Eina_Bool {
+ //WDEBUG("realize timer");
+ Elm_Object_Item *item = (Elm_Object_Item *)data;
+ PhLogGenlistHelper::ItemData *itemData = (PhLogGenlistHelper::ItemData*)elm_object_item_data_get(item);
+ itemData->thumbnailUpdateTimer = NULL;
+ elm_genlist_item_update(item);
+ return ECORE_CALLBACK_CANCEL;
+ }, it);
+ }
+ }, this);
+ evas_object_smart_callback_add(genlist, "unrealized", [](void *data, Evas_Object *obj, void *event_info){
+ //WDEBUG("unrealized");
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ PhLogGenlistHelper::ItemData *itemData = (PhLogGenlistHelper::ItemData*)elm_object_item_data_get(item);
+
+ if(itemData->thumbnailUpdateTimer)
+ ecore_timer_del(itemData->thumbnailUpdateTimer);
+ itemData->thumbnailUpdateTimer = NULL;
+ }, NULL);
+ initGenlistCallback = true;
+ }
+
+ PhLogDbMgr::RecordInfo *prevRecordInfo = NULL;
+ for (auto it=__logList->begin(); it != __logList->end(); it++)
+ {
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)(*it);
+
+ if( PhLogUtil::isGrouped(prevRecordInfo,recordInfo))
+ {
+ if( NULL == prevRecordInfo->groupedList )
+ prevRecordInfo->groupedList = new std::list<PhLogDbMgr::RecordInfo*>;
+
+ prevRecordInfo->groupedList->push_back(recordInfo);
+ }
+ else
+ {
+ if( !prevRecordInfo || !PhLogUtil::isGroupedbyDate(prevRecordInfo->logTime, recordInfo->logTime) ) {
+ Elm_Object_Item *item = getGlHelper()->appendItem(__itcGroupIndex, recordInfo, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_NONE);
+ }
+
+ Elm_Object_Item* item = getGlHelper()->appendItem(
+ __itcMainList,
+ recordInfo,
+ NULL,
+ ELM_GENLIST_ITEM_NONE,
+ PhLogMainListView::__selectItemCb,
+ this);
+
+ if (!recordInfo->number) {
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_NONE);
+ }
+ else {
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DEFAULT);
+ }
+
+ prevRecordInfo = recordInfo;
+ }
+ }
+
+ getGlHelper()->appendFinish();
+
+ return;
+}
+
+void PhLogMainListView::__initIcuPattern()
+{
+ WUiTimer::addTimer(1.5,[](void* data)->Eina_Bool {
+ WDEBUG("__initIcuPattern");
+
+ return ECORE_CALLBACK_CANCEL;
+ }, NULL, getWeakPtr());
+}
+
+Evas_Object* PhLogMainListView::onCreate( Evas_Object* parent, void* viewParam)
+{
+ WHIT();
+ Evas_Object* layout = PhCommon::createLayout(parent, LOG_LIST_EDJ, "log/list/check/main");
+ WPRET_VM( NULL == layout, NULL, "PhCommon::createLayout() is failed");
+
+ __setGenlistItcs();
+
+ if(__launchMode)
+ setTitle(V_("IDS_CLOG_HEADER_SELECT_LOGS"));
+ return layout;
+}
+
+void PhLogMainListView::onCreated(void)
+{
+ WHIT();
+ PhLogListView::onCreated();
+ updateList();
+}
+
+void PhLogMainListView::onDestroy()
+{
+ WHIT();
+
+ if (getWindow()) {
+ evas_object_smart_callback_del_full(getWindow()->getEvasObj(), "focus,in", __windowFocusInCb, this);
+ }
+
+ if(getGlHelper()->getEvasObj())
+ evas_object_smart_callback_del(getGlHelper()->getEvasObj(), "content,unswallowed", __genlistUnswallowCb);
+
+ for (std::map<Evas_Object* ,std::string>::iterator iTer = __logCacheList.begin(); iTer != __logCacheList.end(); iTer ++)
+ evas_object_del(iTer->first);
+ __logCacheList.clear();
+ PhLogListView::onDestroy();
+
+}
+
+void PhLogMainListView::onSetAsPageContent(Elm_Object_Item* parentNaviItem)
+{
+ WHIT();
+
+ if (getWindow()) {
+ evas_object_smart_callback_add(getWindow()->getEvasObj(), "focus,in", __windowFocusInCb, this);
+ }
+}
+
+void PhLogMainListView::onDbChanged()
+{
+ WENTER();
+ if(__dbUpdateTimer)
+ {
+ __dbUpdateTimer->destroy();
+ __dbUpdateTimer = NULL;
+ }
+ if(__isUpdateImmediate == true)
+ {
+ updateList();
+ __isUpdateImmediate = false;
+ WUiTimer::addTimer(3.0, [](void* data)->Eina_Bool {
+ PhLogMainListView* p = (PhLogMainListView*)data;
+ WINFO("dbchange-fist timer");
+ p->__isUpdateImmediate = true;
+ return ECORE_CALLBACK_CANCEL;
+ }, this, getWeakPtr());
+ }
+ else
+ {
+ __dbUpdateTimer = WUiTimer::addTimer(1.0, [](void* data)->Eina_Bool {
+ PhLogMainListView* p = (PhLogMainListView*)data;
+ WINFO("dbchange update timer");
+ p->updateList();
+ p->__dbUpdateTimer = NULL;
+ return ECORE_CALLBACK_CANCEL;
+ }, this, getWeakPtr());
+ }
+}
+
+void PhLogMainListView::onTabSelect(Elm_Object_Item *naviItem)
+{
+ WDEBUG("onTabSelect");
+
+ __isActive = true;
+ PhCommon::terminateChildAppControl();
+ destroyPopup();
+ elm_object_focus_set(getEvasObj(), EINA_TRUE);
+ __setMoreBtn(naviItem);
+ __resetMissedCallCount();
+}
+
+void PhLogMainListView::onTabUnselect(Elm_Object_Item *naviItem)
+{
+ WHIT();
+ __isActive = false;
+
+ // NOTE: jaehwa
+ // Moved terminating app control to CtTabView
+ // destroy app control only if tab changed
+ // PhCommon::terminateChildAppControl();
+
+ destroyPopup();
+}
+
+bool PhLogMainListView::onTabPop()
+{
+ WHIT();
+ destroyPopup();
+ return TRUE;
+}
+
+int PhLogMainListView::__getListPosition()
+{
+ WHIT();
+ Evas_Coord_Rectangle rect = {0};
+ evas_object_geometry_get(getGlHelper()->getEvasObj(), &rect.x, &rect.y, &rect.w, &rect.h);
+
+ int posret;
+ Elm_Object_Item* it = elm_genlist_at_xy_item_get(getGlHelper()->getEvasObj(), rect.x, rect.y + 30, &posret);
+ return (it)? elm_genlist_item_index_get(it) : 0;
+}
+
+void PhLogMainListView::__resetMissedCallCount()
+{
+ WHIT();
+ unsigned count = 0;
+ if(badge_get_count(PHONE_PKG, &count) == BADGE_ERROR_NONE && count > 0) {
+ badge_set_count(PHONE_PKG, 0);
+ }
+
+ notification_delete_all(NOTIFICATION_TYPE_NOTI);
+ PhLogDbMgr::getInstance()->updateMissedLogDbAsSeen(0, CONTACTS_PLOG_TYPE_NONE);
+}
+
+void PhLogMainListView::__selectDetailButtonCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WPRET_M( NULL == data, "Invalid Param : data");
+ PhLogGenlistHelper::ItemData *itemData = (PhLogGenlistHelper::ItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+ PhLogMainListView* p = (PhLogMainListView *)itemData->p;
+
+ WNaviframe* frame = (WNaviframe*)p->getNaviframe();
+ frame->push(new PhLogDetailView(recordInfo));
+ ////CONTACTS_LOGGING_LOG(LOGGING_LOG_DETAIL_LOG);
+}
+
+void PhLogMainListView::__setGenlistItcs()
+{
+ WHIT();
+ __itcGroupIndex = elm_genlist_item_class_new();
+ WPRET_M(!__itcGroupIndex, "elm_genlist_item_class_new() failed");
+ __itcGroupIndex->item_style = "group_index";
+ __itcGroupIndex->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char* {
+ if (!strcmp(part, "elm.text")) {
+ PhLogGenlistHelper::ItemData *itemData = (PhLogGenlistHelper::ItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+
+ time_t itemTime = recordInfo->logTime;
+ time_t nowTime = time(NULL);
+
+ struct tm itemDate;
+ struct tm nowDate;
+
+ localtime_r(&itemTime, &itemDate);
+ localtime_r(&nowTime, &nowDate);
+
+ if( itemDate.tm_year == nowDate.tm_year &&
+ itemDate.tm_mon == nowDate.tm_mon &&
+ itemDate.tm_mday == nowDate.tm_mday )
+ return elm_entry_utf8_to_markup(PAT_(PH_LOGS_HEADER_TODAY));
+ else if( itemDate.tm_year == nowDate.tm_year &&
+ itemDate.tm_mon == nowDate.tm_mon &&
+ ((itemDate.tm_mday)+1) == nowDate.tm_mday )
+ return elm_entry_utf8_to_markup(PAT_(PH_LOGS_HEADER_YESTERDAY));
+ else
+ return PhLogIcu::getGroupIndexDateString(recordInfo->logTime);
+ }
+ else
+ return NULL;
+ };
+ __itcGroupIndex->func.content_get = NULL;
+ __itcGroupIndex->func.del = [](void* data, Evas_Object* obj){
+ PhLogGenlistHelper::ItemData* itemData = (PhLogGenlistHelper::ItemData *)data;
+ delete itemData;
+ };
+
+ __itcMainList = elm_genlist_item_class_new();
+ WPRET_M(!__itcMainList, "elm_genlist_item_class_new() failed");
+ __itcMainList->item_style = "type1";
+ __itcMainList->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char* {
+ PhLogGenlistHelper::ItemData *itemData = (PhLogGenlistHelper::ItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+ if (0 == strcmp(part, "elm.text"))
+ return elm_entry_utf8_to_markup(PhLogUtil::getDisplayText(recordInfo->personId, recordInfo->displayName, recordInfo->number,recordInfo->callDesc));
+ else if ((strcmp(part, "elm.text.sub") == 0))
+ {
+ if(recordInfo->personId)
+ return elm_entry_utf8_to_markup(recordInfo->number);
+ else
+ return elm_entry_utf8_to_markup(PAT_(PH_LOGS_SBODY_UNSAVED_M_STATUS));
+ }
+ else if ((strcmp(part, "elm.text.sub.end") == 0))
+ {
+ char buf[PH_TEXT_SHORT_LEN] = {0,};
+ snprintf(buf, sizeof(buf), "<font_size=%d>%s</font_size>", LOGLIST_SUB_TEXT_SIZE, recordInfo->displayLogTime);
+ return strdup(buf);
+ }
+ else if ((strcmp(part, "elm.text.end") == 0))
+ {
+ char buf[PH_TEXT_SHORT_LEN] = {0,};
+ if(recordInfo->groupedList == NULL)
+ return NULL;
+ else
+ {
+ snprintf(buf, sizeof(buf), "(%d)", recordInfo->groupedList->size()+1);
+ return elm_entry_utf8_to_markup(buf);
+ }
+ }
+ else
+ return NULL;
+ };
+ __itcMainList->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object* {
+ PhLogGenlistHelper::ItemData *itemData = (PhLogGenlistHelper::ItemData*)data;
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+ PhLogMainListView* p = (PhLogMainListView *)itemData->p;
+ std::vector<Evas_Object*>* cList = (std::vector<Evas_Object*>*)itemData->contents;
+ if(cList == NULL)
+ itemData->contents = cList = new std::vector<Evas_Object*>;
+
+ if (0 == strcmp(part, "elm.swallow.icon"))
+ {
+ //WDEBUG("itemData %x", itemData);
+ //WDEBUG("elm.icon.1");
+ char* imagePath = NULL;
+ if((recordInfo->imgPath && (strlen(recordInfo->imgPath) != 0)) && p->__isScrollStopped == true)
+ imagePath = recordInfo->imgPath;
+
+ if(!imagePath || strlen(imagePath) == 0)
+ {
+ std::stringstream keyString;
+ Evas_Object* contents;
+ keyString << "list/B/log/thumbnail/" << PhLogUtil::getLogTypeImageName(recordInfo->logType);
+ if((contents = p->__getCachedContents(keyString.str())) != NULL)
+ {
+ cList->push_back(contents);
+ return contents;
+ }
+ }
+
+ Evas_Object *thumbnail = createThumbnail(obj, THUMBNAIL_98, recordInfo->imgPath, true);
+ Evas_Object *icon = PhLogUtil::getLogTypeIcon(obj, recordInfo->logType);
+ WPRET_VM( NULL == icon, NULL, "PhLogUtil::GetLogTypeIcon() is failed");
+ evas_object_size_hint_min_set(icon, ContactsCommon::getScaledWidth(LOG_LIST_CALL_TYPE_SIZE), ContactsCommon::getScaledHeight(LOG_LIST_CALL_TYPE_SIZE));
+
+ Evas_Object *layout = PhCommon::createLayout(obj, LOG_LIST_EDJ, "list/B/log/thumbnail");
+ WPRET_VM( NULL == layout, NULL, "PhLogUtil::createLayout() is failed");
+
+ elm_layout_content_set(layout, "elm.swallow.content", thumbnail);
+ elm_layout_content_set(layout, "elm.swallow.call.type", icon);
+
+ cList->push_back(layout);
+ return layout;
+ }
+ else if (0 == strcmp(part, "elm.swallow.end"))
+ {
+ //WDEBUG("elm.icon.2");
+ if (p->__launchMode != LAUNCH_MODE_NORMAL)
+ return NULL;
+
+ Evas_Object* contents = p->__getCachedContents("list/C/log/log_info");
+ WPRET_VM( NULL == contents, NULL, "__getCachedContents() is failed");
+ evas_object_smart_callback_del(contents, "clicked", __selectDetailButtonCb);
+ evas_object_smart_callback_add(contents, "clicked", __selectDetailButtonCb, itemData);
+ cList->push_back(contents);
+
+ return contents;
+ } else {
+ return NULL;
+ }
+
+ };
+ __itcMainList->func.state_get = NULL;
+ __itcMainList->func.del = [](void* data, Evas_Object* obj){
+ PhLogGenlistHelper::ItemData* itemData = (PhLogGenlistHelper::ItemData *)data;
+ if(itemData->contents)
+ delete (std::vector<Evas_Object*>*)itemData->contents;
+ //WDEBUG("delcallback item %x", itemData);
+ delete itemData;
+ };
+ //uxt_genlist_set_content_reuse_enabled(__itcMainList, EINA_TRUE);
+
+}
+
+void PhLogMainListView::__selectItemCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M( NULL == event_info,"event_info is NULL");
+ WPRET_M( NULL == data,"data is NULL");
+
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ PhLogGenlistHelper::ItemData *itemData = (PhLogGenlistHelper::ItemData *)elm_object_item_data_get(item);
+ PhLogDbMgr::RecordInfo *recordInfo = (PhLogDbMgr::RecordInfo*)itemData->data;
+ WDEBUG("address prt itemData : %p recordInfo : %p",itemData, recordInfo );
+ PhLogMainListView *p = (PhLogMainListView *)itemData->p;
+
+ if (p->__launchMode == LAUNCH_MODE_SINGLE_SELECT_UG ||
+ p->__launchMode == LAUNCH_MODE_EMAIL_ADD_PRIORITY_SENDER_UG)
+ {
+ app_control_h service;
+ app_control_create(&service);
+ std::string value = std::to_string(recordInfo->logId);
+ app_control_add_extra_data(service, PH_UG_BUNDLE_RESULT_PLOG_ID, value.c_str());
+ WDEBUG("appControl Reply - logId:%s", value.c_str());
+ app_control_reply_to_launch_request(service, p->__contactsData->appControl, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(service);
+ p->popOut();
+ }
+ else
+ {
+ int err = launchCall(recordInfo->number);
+ WPWARN(err != APP_CONTROL_ERROR_NONE, "launchCall() failed(0x%x)", err);
+ }
+}
+
+void PhLogMainListView::__setMoreBtn(Elm_Object_Item *naviItem)
+{
+ WHIT();
+ WPRET_M(!naviItem, "Invalid Param : naviItem");
+ switch(__launchMode)
+ {
+ case LAUNCH_MODE_DURING_CALL_TABUG:
+ case LAUNCH_MODE_SINGLE_SELECT_UG:
+ case LAUNCH_MODE_EMAIL_ADD_PRIORITY_SENDER_UG:
+ break;
+ case LAUNCH_MODE_NORMAL:
+ default:
+ enableMoreButton(naviItem, [](void *data, Evas_Object *obj, void *event_info){
+ PhLogMainListView* p = static_cast<PhLogMainListView*>(data);
+
+ Evas_Object* win = NULL;
+ if (p->getWindow())
+ win = p->getWindow()->getEvasObj();
+
+ WPRET_M(NULL == win, "win is NULL");
+
+ WMenuPopup* popup = new WMenuPopup();
+ popup->prepare( win, p->getNaviframe()->getEvasObj() );
+
+ if( p->__logList && !p->__logList->empty())
+ {
+ popup->appendItem(PAT_(PH_CLOG_OPT_VIEW_BY), [p](){
+ p->__createViewBy();
+ });
+
+ popup->appendItem(PAT_(PH_LOGS_HEADER_DELETE), [p](){
+ WNaviframe* frame = (WNaviframe*)p->getNaviframe();
+ frame->push(new PhLogMainListCheckView(p->__currentListType, p->__getListPosition()));
+ });
+ } else if (p->__currentListType == PhLogDbMgr::ListType::LIST_TYPE_MISSED_CALL) {
+ popup->appendItem(PAT_(PH_CLOG_OPT_VIEW_BY), [p](){
+ p->__createViewBy();
+ });
+ }
+
+ popup->appendItem(PAT_(PH_KPD_OPT_CALL_SETTINGS_ABB), [p](){
+ PhCommon::launchCallSetting(p->getWindow()->getEvasObj(), p->getNaviframe()->getEvasObj());
+ ////CONTACTS_LOGGING_LOG(LOGGING_LOG_CALL_SETTINGS);
+ });
+ p->attachPopup(popup);
+ }, this);
+ break;
+ }
+}
+
+void PhLogMainListView::__createViewBy()
+{
+ WENTER();
+ Elm_Genlist_Item_Class* itc = elm_genlist_item_class_new();
+ WPRET_M(!itc, "elm_genlist_item_class_new() failed");
+ itc->item_style = "type1";
+ itc->func.text_get = [](void* data, Evas_Object* obj, const char* part)->char*
+ {
+ if(!strcmp(part, "elm.text")) {
+ if (PhLogDbMgr::LIST_TYPE_ALL_CALL == (int)data)
+ return SAFE_STRDUP(PAT_(PH_LOGS_BODY_ALL_CALLS));
+ else if (PhLogDbMgr::LIST_TYPE_MISSED_CALL == (int)data)
+ return SAFE_STRDUP(PAT_(PH_LOGS_NPBODY_MISSED_CALLS_ABB));
+ }
+ return NULL;
+ };
+
+ itc->func.content_get = [](void* data, Evas_Object* obj, const char* part)->Evas_Object*
+ {
+ PhLogMainListView* p = static_cast<PhLogMainListView*>(evas_object_data_get(obj, "LogMainList"));
+ WPRET_VM(!p, NULL, "LogMainList is NULL");
+
+ if(!strcmp(part, "elm.swallow.end")) {
+
+ Evas_Object* radio = elm_radio_add(obj);
+ Evas_Object *radioGroup = (Evas_Object*)evas_object_data_get(obj, "radioGroup");
+ elm_object_style_set(radio, "list");
+ elm_radio_group_add(radio, radioGroup);
+ elm_radio_state_value_set(radio, (int)data);
+ evas_object_propagate_events_set(radio, EINA_TRUE);
+
+ if(p->__currentListType == (int)data) {
+ elm_radio_value_set(radio, (int)data);
+ }
+ return radio;
+ }
+ return NULL;
+ };
+
+ WPopup* popup = new WPopup();
+ popup->setTitle(PAT_(PH_CLOG_OPT_VIEW_BY));
+ popup->setContent([itc, this](Evas_Object* parent)->Evas_Object*
+ {
+ Evas_Object* genlist = elm_genlist_add(parent);
+ evas_object_data_set(genlist, "LogMainList", this);
+ elm_object_style_set( genlist, "popup");
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ elm_genlist_mode_set( genlist, ELM_LIST_COMPRESS );
+ elm_scroller_content_min_limit( genlist, EINA_FALSE, EINA_TRUE );
+
+ Evas_Object* radioGroup = elm_radio_add(genlist);
+ elm_object_style_set(radioGroup, "list");
+ elm_radio_state_value_set(radioGroup, -1);
+ elm_radio_value_set(radioGroup, -1);
+ evas_object_data_set(genlist, "radioGroup", radioGroup);
+
+ elm_genlist_item_append(genlist, itc, (void *)PhLogDbMgr::ListType::LIST_TYPE_ALL_CALL, NULL,
+ ELM_GENLIST_ITEM_NONE,this->__onViewByCallsCb, this);
+ elm_genlist_item_append(genlist, itc, (void *)PhLogDbMgr::ListType::LIST_TYPE_MISSED_CALL,
+ NULL, ELM_GENLIST_ITEM_NONE,this->__onViewByCallsCb, this);
+ elm_object_content_set(parent, genlist);
+ evas_object_show(genlist);
+ return genlist;
+ });
+
+ this->attachPopup(popup);
+ elm_genlist_item_class_free(itc);
+}
+
+void PhLogMainListView::__onViewByCallsCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WENTER();
+ PhLogMainListView* p = static_cast<PhLogMainListView*>(data);
+ Evas_Object *radioGroup = (Evas_Object*)evas_object_data_get(obj, "radioGroup");
+ PhLogDbMgr::ListType index = (PhLogDbMgr::ListType)((int)elm_object_item_data_get((Elm_Object_Item *) event_info));
+ p->__currentListType = index;
+ elm_radio_value_set(radioGroup, p->__currentListType);
+ p->updateList();
+ p->destroyPopup();
+}
+
+PhLogMainListView::__LaunchMode PhLogMainListView::__decideLaunchMode(ContactsData* contactsData)
+{
+ WHIT();
+ WPRET_VM(contactsData == NULL, LAUNCH_MODE_NORMAL, "no contactsData. set to normal mode.");
+
+ std::string type;
+ std::string appId;
+
+ appId = ContactsCommon::getAppControlData(contactsData->appControl, CONTACTS_APPCONTROL_KEY_APPID);
+ if (appId.compare("phone-tabui-efl") == 0)
+ {
+ type = ContactsCommon::getAppControlData(contactsData->appControl, "type");
+
+ if(type.compare("51") == 0)
+ return LAUNCH_MODE_DURING_CALL_TABUG;
+ }
+ else if (appId.compare("phonelog-efl") == 0)
+ {
+ type = ContactsCommon::getAppControlData(contactsData->appControl, "type");
+
+ if(type.compare("12") == 0)
+ return LAUNCH_MODE_SINGLE_SELECT_UG;
+ else if(type.compare("13") == 0)
+ return LAUNCH_MODE_EMAIL_ADD_PRIORITY_SENDER_UG;
+ }
+ else
+ return LAUNCH_MODE_NORMAL;
+
+// WDEBUG("launchMode: %d", __launchMode);
+ return LAUNCH_MODE_NORMAL;
+}
+
+void PhLogMainListView::__windowFocusInCb(void *data, Evas_Object *obj, void *event_info)
+{
+ WHIT();
+ WPRET_M(NULL == data, "data is NULL");
+ PhLogMainListView* p = (PhLogMainListView*)data;
+ WPRET_M(!p->__isActive, "PhLogMainListView is not active");
+
+ p->__resetMissedCallCount();
+}
diff --git a/lib-phone/ph-loglist/src/PhLogUtil.cpp b/lib-phone/ph-loglist/src/PhLogUtil.cpp
new file mode 100755
index 0000000..2c5b3f7
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogUtil.cpp
@@ -0,0 +1,607 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <contacts.h>
+
+#include "ContactsDebug.h"
+
+#include "PhCommon.h"
+#include "PhPath.h"
+#include "PhStrings.h"
+
+#include "PhLogUtil.h"
+
+enum{
+ CALL_VC_SERVICE_TYPE_NONE,
+ CALL_VC_SERVICE_TYPE_EMERGENCY=01,
+ CALL_VC_SERVICE_TYPE_VOICE_MAIL,
+ CALL_VC_SERVICE_TYPE_UNAVAILABLE,
+ CALL_VC_SERVICE_TYPE_REJECT_BY_USER,
+ CALL_VC_SERVICE_TYPE_OTHER_SERVICE,
+ CALL_VC_SERVICE_TYPE_PAYPHONE,
+ CALL_VC_SERVICE_TYPE_DCM_REMOTE_OPERATE,
+ CALL_VC_SERVICE_TYPE_DCM_CALL_FORWARD,
+ CALL_VC_SERVICE_TYPE_DCM_CALLER_ID,
+ CALL_VC_SERVICE_TYPE_DCM_ROAMING_GUIDE,
+ CALL_VC_SERVICE_TYPE_DCM_ROAMING_CALL_NOTI,
+ CALL_VC_SERVICE_TYPE_MAX
+};
+
+PhLogUtil::PhLogUtil()
+{
+ // TODO Auto-generated constructor stub
+
+}
+
+PhLogUtil::~PhLogUtil()
+{
+ // TODO Auto-generated destructor stub
+}
+
+bool PhLogUtil::isEmergencyNumber(const char *callDesc)
+{
+ if (!callDesc) return false;
+
+ int desc = atoi(callDesc+1);
+ WDEBUG("callDesc[0]:%c, desc : %d",callDesc[0], desc);
+
+ switch(desc)
+ {
+ case CALL_VC_SERVICE_TYPE_EMERGENCY:
+ return true;
+ case CALL_VC_SERVICE_TYPE_UNAVAILABLE:
+ case CALL_VC_SERVICE_TYPE_REJECT_BY_USER:
+ case CALL_VC_SERVICE_TYPE_OTHER_SERVICE:
+ case CALL_VC_SERVICE_TYPE_PAYPHONE:
+ case CALL_VC_SERVICE_TYPE_VOICE_MAIL:
+ default:
+ return false;
+ }
+
+ return false;
+}
+
+bool PhLogUtil::isUnknownNumber(const char *callDesc)
+{
+ if (!callDesc) return true;
+
+ int desc = atoi(callDesc+1);
+ WDEBUG("callDesc[0]:%c, desc : %d",callDesc[0], desc);
+
+ switch(desc)
+ {
+ case CALL_VC_SERVICE_TYPE_EMERGENCY:
+ case CALL_VC_SERVICE_TYPE_UNAVAILABLE:
+ case CALL_VC_SERVICE_TYPE_REJECT_BY_USER:
+ case CALL_VC_SERVICE_TYPE_OTHER_SERVICE:
+ case CALL_VC_SERVICE_TYPE_PAYPHONE:
+ return false;
+ case CALL_VC_SERVICE_TYPE_VOICE_MAIL:
+ default:
+ return true;
+ }
+
+ return false;
+}
+
+const char* PhLogUtil::getDisplayText(int personId, const char* displayName, const char* number, const char *descInfo)
+{
+ if(number)
+ {
+ if( personId > 0 )
+ return displayName;
+
+ if (!descInfo)
+ return number;
+
+ int desc = atoi(descInfo+1);
+ WDEBUG("descInfo[0]:%c, desc : %d",descInfo[0], desc);
+
+ switch(desc)
+ {
+ case CALL_VC_SERVICE_TYPE_EMERGENCY:
+ return PAT_(PH_KPD_HEADER_EMERGENCY_CALL_ABB2);
+ case CALL_VC_SERVICE_TYPE_VOICE_MAIL:
+ return PAT_(PH_KPD_OPT_VOICEMAIL_ABB);
+ case CALL_VC_SERVICE_TYPE_UNAVAILABLE:
+ return PAT_(PH_LOGS_MBODY_UNKNOWN);
+ case CALL_VC_SERVICE_TYPE_REJECT_BY_USER:
+ return PAT_(PH_COM_BODY_PRIVATE_NUMBER);
+ case CALL_VC_SERVICE_TYPE_OTHER_SERVICE:
+ return PAT_(PH_LOGS_MBODY_UNKNOWN);
+ case CALL_VC_SERVICE_TYPE_PAYPHONE:
+ return PAT_(PH_CALL_BODY_PAYPHONE);
+ default:
+ return number;
+ }
+
+ return number;
+ }
+ else
+ {
+ if (!descInfo)
+ return PAT_(PH_COM_BODY_PRIVATE_NUMBER);
+
+ int desc = atoi(descInfo+1);
+ WDEBUG("descInfo[0]:%c, desc : %d",descInfo[0], desc);
+
+ switch(desc)
+ {
+ case CALL_VC_SERVICE_TYPE_EMERGENCY:
+ return PAT_(PH_KPD_HEADER_EMERGENCY_CALL_ABB2);
+ case CALL_VC_SERVICE_TYPE_VOICE_MAIL:
+ return PAT_(PH_KPD_OPT_VOICEMAIL_ABB);
+ case CALL_VC_SERVICE_TYPE_UNAVAILABLE:
+ return PAT_(PH_LOGS_MBODY_UNKNOWN);
+ case CALL_VC_SERVICE_TYPE_REJECT_BY_USER:
+ return PAT_(PH_COM_BODY_PRIVATE_NUMBER);
+ case CALL_VC_SERVICE_TYPE_OTHER_SERVICE:
+ return PAT_(PH_LOGS_MBODY_UNKNOWN);
+ case CALL_VC_SERVICE_TYPE_PAYPHONE:
+ return PAT_(PH_CALL_BODY_PAYPHONE);
+ default:
+ return PAT_(PH_LOGS_MBODY_UNKNOWN);
+ }
+
+ return NULL;
+ }
+}
+
+const char *PhLogUtil::getTextOfNumberType(int numberType)
+{
+ WDEBUG("numberType : %d", numberType);
+
+ if (numberType & CONTACTS_NUMBER_TYPE_CUSTOM) {
+ return PAT_(PH_PB_OPT_CUSTOM);
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_CELL) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME)
+ return PAT_(PH_PB_OPT_HOME_ABB);
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK)
+ return PAT_(PH_PB_OPT_WORK);
+ else
+ return PAT_(PH_PB_OPT_MOBILE);
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_VOICE) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME)
+ return PAT_(PH_PB_OPT_HOME_ABB);
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK)
+ return PAT_(PH_PB_OPT_WORK);
+ else
+ return PAT_("IDS_PB_BODY_TELEPHONE");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_FAX) {
+ if (numberType & CONTACTS_NUMBER_TYPE_HOME)
+ return PAT_(PH_PB_OPT_FAX_HHOME_ABB);
+ else if (numberType & CONTACTS_NUMBER_TYPE_WORK)
+ return PAT_(PH_PB_OPT_FAX_HWORK_ABB);
+ else
+ return PAT_("IDS_PB_BODY_FAX");
+ }
+ else if (numberType & CONTACTS_NUMBER_TYPE_PAGER)
+ return PAT_(PH_PB_OPT_PAGER);
+ else if (numberType & CONTACTS_NUMBER_TYPE_ASSISTANT)
+ return PAT_("IDS_PB_OPT_ASSISTANT_M_CONTACTS");
+ else {
+ if (numberType == CONTACTS_NUMBER_TYPE_HOME)
+ return PAT_(PH_PB_OPT_HOME_ABB);
+ else if (numberType == CONTACTS_NUMBER_TYPE_WORK)
+ return PAT_(PH_PB_OPT_WORK);
+ else
+ return PAT_(PH_PB_OPT_OTHER);
+ }
+}
+
+Evas_Object* PhLogUtil::getLogTypeIcon(Evas_Object *parent, int log_type)
+{
+ if ( PhLogUtil::isOutgoingCallType(log_type) || PhLogUtil::isOutgoingMsgType(log_type))
+ return PhCommon::createImage(parent, LOG_LIST_EDJ, PH_LOG_ICON_OUTGOING, NULL);
+ else if (PhLogUtil::isIncomingCallType(log_type) || PhLogUtil::isIncomingMsgType(log_type))
+ return PhCommon::createImage(parent, LOG_LIST_EDJ, PH_LOG_ICON_INCOMING, NULL);
+ else if ( PhLogUtil::isMissedCallType(log_type))
+ return PhCommon::createImage(parent, LOG_LIST_EDJ, PH_LOG_ICON_MISSED, NULL);
+ else if (PhLogUtil::isRejectCallType(log_type))
+ return PhCommon::createImage(parent, LOG_LIST_EDJ, PH_LOG_ICON_REJECTED, NULL);
+ else if (PhLogUtil::isBlockedType(log_type))
+ return PhCommon::createImage(parent, LOG_LIST_EDJ, PH_LOG_ICON_AUTO_REJECTED, NULL);
+ else
+ {
+ WDEBUG("error invalid type %d", log_type);
+ return NULL;
+ }
+}
+
+std::string PhLogUtil::getLogTypeImageName(int log_type)
+{
+ if ( PhLogUtil::isOutgoingCallType(log_type) || PhLogUtil::isOutgoingMsgType(log_type))
+ return PH_LOG_ICON_OUTGOING;
+ else if (PhLogUtil::isIncomingCallType(log_type) || PhLogUtil::isIncomingMsgType(log_type))
+ return PH_LOG_ICON_INCOMING;
+ else if ( PhLogUtil::isMissedCallType(log_type))
+ return PH_LOG_ICON_MISSED;
+ else if (PhLogUtil::isRejectCallType(log_type))
+ return PH_LOG_ICON_REJECTED;
+ else if (PhLogUtil::isBlockedType(log_type))
+ return PH_LOG_ICON_AUTO_REJECTED;
+ else
+ {
+ WDEBUG("error invalid type %d", log_type);
+ return "";
+ }
+}
+
+bool PhLogUtil::isOutgoingCallType(int type)
+{
+ if (type == CONTACTS_PLOG_TYPE_VOICE_OUTGOING
+ || type == CONTACTS_PLOG_TYPE_VIDEO_OUTGOING)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool PhLogUtil::isMsgType(int type)
+{
+ if (isOutgoingMsgType(type) || isIncomingMsgType(type))
+ return true;
+ else
+ return false;
+}
+
+bool PhLogUtil::isOutgoingMsgType(int type)
+{
+ if (type == CONTACTS_PLOG_TYPE_MMS_OUTGOING
+ || type == CONTACTS_PLOG_TYPE_SMS_OUTGOING
+ || type == CONTACTS_PLOG_TYPE_EMAIL_SENT)
+ return TRUE;
+ else
+ return FALSE;
+
+}
+
+bool PhLogUtil::isIncomingCallType(int type)
+{
+ if (type == CONTACTS_PLOG_TYPE_VOICE_INCOMMING
+ || type == CONTACTS_PLOG_TYPE_VIDEO_INCOMMING)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool PhLogUtil::isIncomingMsgType(int type)
+{
+ if (type == CONTACTS_PLOG_TYPE_MMS_INCOMMING
+ || type == CONTACTS_PLOG_TYPE_SMS_INCOMMING
+ || type == CONTACTS_PLOG_TYPE_EMAIL_RECEIVED)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool PhLogUtil::isMissedCallType(int type)
+{
+ switch (type) {
+ case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN:
+ case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_SEEN:
+ case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN:
+ case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_SEEN:
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}
+
+bool PhLogUtil::isRejectCallType(int type)
+{
+ if (type == CONTACTS_PLOG_TYPE_VOICE_REJECT
+ || type == CONTACTS_PLOG_TYPE_VIDEO_REJECT)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool PhLogUtil::isBlockedType(int type)
+{
+ switch (type) {
+ case CONTACTS_PLOG_TYPE_VOICE_BLOCKED:
+ case CONTACTS_PLOG_TYPE_VIDEO_BLOCKED:
+ case CONTACTS_PLOG_TYPE_SMS_BLOCKED:
+ case CONTACTS_PLOG_TYPE_MMS_BLOCKED:
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}
+
+bool PhLogUtil::isGroupedByDesc(const char *prevDesc, const char *curDesc)
+{
+// WDEBUG("%s:%s", prevDesc, curDesc);
+ if (!prevDesc)
+ {
+ if(!curDesc)
+ return true;
+ else
+ {
+// WDEBUG("curDesc[%s]",curDesc);
+ int curDescNum = atoi(curDesc+1);
+
+ switch(curDescNum)
+ {
+ case CALL_VC_SERVICE_TYPE_REJECT_BY_USER:
+ return true;
+ case CALL_VC_SERVICE_TYPE_EMERGENCY:
+ case CALL_VC_SERVICE_TYPE_VOICE_MAIL:
+ case CALL_VC_SERVICE_TYPE_UNAVAILABLE:
+ case CALL_VC_SERVICE_TYPE_OTHER_SERVICE:
+ case CALL_VC_SERVICE_TYPE_PAYPHONE:
+ default:
+ return false;
+ }
+ }
+ }
+ else
+ {
+ if(!curDesc)
+ {
+// WDEBUG("prevDesc[%s]",prevDesc);
+ int prevDescNum = atoi(prevDesc+1);
+
+ switch(prevDescNum)
+ {
+ case CALL_VC_SERVICE_TYPE_REJECT_BY_USER:
+ return true;
+ case CALL_VC_SERVICE_TYPE_EMERGENCY:
+ case CALL_VC_SERVICE_TYPE_VOICE_MAIL:
+ case CALL_VC_SERVICE_TYPE_UNAVAILABLE:
+ case CALL_VC_SERVICE_TYPE_OTHER_SERVICE:
+ case CALL_VC_SERVICE_TYPE_PAYPHONE:
+ default:
+ return false;
+ }
+ }
+
+ int prevDescNum = atoi(prevDesc+1);
+ int curDescNum = atoi(curDesc+1);
+// WDEBUG("descInfo[0]:%c, desc : %d",prevDesc[0], prevDescNum);
+// WDEBUG("descInfo[0]:%c, desc : %d",curDesc[0], curDescNum);
+
+ switch(prevDescNum)
+ {
+ case CALL_VC_SERVICE_TYPE_EMERGENCY:
+ switch(curDescNum)
+ {
+ case CALL_VC_SERVICE_TYPE_EMERGENCY:
+ return true;
+ default:
+ return false;
+ }
+ break;
+ case CALL_VC_SERVICE_TYPE_VOICE_MAIL:
+ switch(curDescNum)
+ {
+ case CALL_VC_SERVICE_TYPE_VOICE_MAIL:
+ return true;
+ default:
+ return false;
+ }
+ break;
+ case CALL_VC_SERVICE_TYPE_REJECT_BY_USER:
+ switch(curDescNum)
+ {
+ case CALL_VC_SERVICE_TYPE_REJECT_BY_USER:
+ return true;
+ default:
+ return false;
+ }
+ break;
+ case CALL_VC_SERVICE_TYPE_PAYPHONE:
+ switch(curDescNum)
+ {
+ case CALL_VC_SERVICE_TYPE_PAYPHONE:
+ return true;
+ default:
+ return false;
+ }
+ break;
+ case CALL_VC_SERVICE_TYPE_UNAVAILABLE:
+ case CALL_VC_SERVICE_TYPE_OTHER_SERVICE:
+ default:
+ switch(curDescNum)
+ {
+ case CALL_VC_SERVICE_TYPE_EMERGENCY:
+ case CALL_VC_SERVICE_TYPE_VOICE_MAIL:
+ case CALL_VC_SERVICE_TYPE_REJECT_BY_USER:
+ case CALL_VC_SERVICE_TYPE_PAYPHONE:
+ return false;
+ case CALL_VC_SERVICE_TYPE_UNAVAILABLE:
+ case CALL_VC_SERVICE_TYPE_OTHER_SERVICE:
+ default:
+ return true;
+ }
+ break;
+ }
+ }
+}
+
+bool PhLogUtil::isGroupedbyDate(const int time1, const int time2)
+{
+ time_t date1 = time1;
+ time_t date2 = time2;
+
+ struct tm* ptr;
+
+ ptr = localtime(&date1);
+ WPRET_VM(!ptr, false, "localtime returned NULL" );
+ struct tm prev = *ptr;
+
+ ptr = localtime(&date2);
+ WPRET_VM(!ptr, false, "localtime returned NULL" );
+ struct tm cur = *ptr;
+
+ return prev.tm_year == cur.tm_year &&
+ prev.tm_mon == cur.tm_mon &&
+ prev.tm_mday == cur.tm_mday;
+
+}
+
+bool PhLogUtil::isGroupedbyType(int pre_type, int type)
+{
+ switch (pre_type) {
+ case CONTACTS_PLOG_TYPE_VOICE_INCOMMING:
+ case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING:
+ case CONTACTS_PLOG_TYPE_VOICE_OUTGOING:
+ case CONTACTS_PLOG_TYPE_VIDEO_OUTGOING:
+ {
+ switch (type) {
+ case CONTACTS_PLOG_TYPE_VOICE_INCOMMING:
+ case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING:
+ case CONTACTS_PLOG_TYPE_VOICE_OUTGOING:
+ case CONTACTS_PLOG_TYPE_VIDEO_OUTGOING:
+ return true;
+ default :
+ return false;
+ }
+ break;
+ }
+ case CONTACTS_PLOG_TYPE_MMS_INCOMMING:
+ case CONTACTS_PLOG_TYPE_SMS_INCOMMING:
+ case CONTACTS_PLOG_TYPE_MMS_OUTGOING:
+ case CONTACTS_PLOG_TYPE_SMS_OUTGOING:
+ {
+ switch (type) {
+ case CONTACTS_PLOG_TYPE_MMS_INCOMMING:
+ case CONTACTS_PLOG_TYPE_SMS_INCOMMING:
+ case CONTACTS_PLOG_TYPE_MMS_OUTGOING:
+ case CONTACTS_PLOG_TYPE_SMS_OUTGOING:
+ return true;
+ default :
+ return false;
+ }
+ break;
+ }
+ case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN:
+ case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_SEEN:
+ case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN:
+ case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_SEEN:
+ {
+ switch (type) {
+ case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN:
+ case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_SEEN:
+ case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN:
+ case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_SEEN:
+ return true;
+ default :
+ return false;
+ }
+ break;
+ }
+ case CONTACTS_PLOG_TYPE_VOICE_REJECT:
+ case CONTACTS_PLOG_TYPE_VIDEO_REJECT:
+ {
+ switch (type) {
+ case CONTACTS_PLOG_TYPE_VOICE_REJECT:
+ case CONTACTS_PLOG_TYPE_VIDEO_REJECT:
+ return true;
+ default :
+ return false;
+ }
+ break;
+ }
+ case CONTACTS_PLOG_TYPE_VOICE_BLOCKED:
+ case CONTACTS_PLOG_TYPE_VIDEO_BLOCKED:
+ {
+ switch (type) {
+ case CONTACTS_PLOG_TYPE_VOICE_BLOCKED:
+ case CONTACTS_PLOG_TYPE_VIDEO_BLOCKED:
+ return true;
+ default :
+ return false;
+ }
+ break;
+ }
+ case CONTACTS_PLOG_TYPE_SMS_BLOCKED:
+ {
+ switch (type) {
+ case CONTACTS_PLOG_TYPE_SMS_BLOCKED:
+ return true;
+ default :
+ return false;
+ }
+ break;
+ }
+ default:
+ return false;
+ }
+}
+
+bool PhLogUtil::isGroupedbyNumber(const char * preNumber, const char *curNumber)
+{
+ if (!preNumber && curNumber)
+ return false;
+
+ if (preNumber && !curNumber)
+ return false;
+
+ if ( preNumber && curNumber && ( strcmp( preNumber, curNumber) ) )
+ return false;
+
+ return true;
+}
+
+bool PhLogUtil::isGrouped(const PhLogDbMgr::RecordInfo *prevRecordInfo, const PhLogDbMgr::RecordInfo *curRecordInfo)
+{
+ WPRET_VM( NULL == prevRecordInfo, false, "Invalid parameter: prevRecordInfo is NULL" );
+ WPRET_VM( NULL == curRecordInfo, false, "Invalid parameter: curRecordInfo is NULL" );
+
+ if ( !isGroupedbyType( prevRecordInfo->logType, curRecordInfo->logType ))
+ return false;
+ if ( !isGroupedbyNumber(prevRecordInfo->number, curRecordInfo->number))
+ return false;
+ if( !isGroupedbyDate( prevRecordInfo->logTime, curRecordInfo->logTime ))
+ return false;
+
+ return true;
+}
+
+bool PhLogUtil::isVideoCallType(int type)
+{
+ switch (type) {
+ case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING:
+ case CONTACTS_PLOG_TYPE_VIDEO_OUTGOING:
+ case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN:
+ case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_SEEN:
+ case CONTACTS_PLOG_TYPE_VIDEO_REJECT:
+ case CONTACTS_PLOG_TYPE_VIDEO_BLOCKED:
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}
+
+bool PhLogUtil::isVoiceCallType(int type)
+{
+ switch (type) {
+ case CONTACTS_PLOG_TYPE_VOICE_INCOMMING:
+ case CONTACTS_PLOG_TYPE_VOICE_OUTGOING:
+ case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN:
+ case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_SEEN:
+ case CONTACTS_PLOG_TYPE_VOICE_REJECT:
+ case CONTACTS_PLOG_TYPE_VOICE_BLOCKED:
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}
diff --git a/lib-phone/ph-loglist/src/PhLogUtil.h b/lib-phone/ph-loglist/src/PhLogUtil.h
new file mode 100755
index 0000000..b20cdba
--- /dev/null
+++ b/lib-phone/ph-loglist/src/PhLogUtil.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_LOG_UTIL_H_
+#define _PH_LOG_UTIL_H_
+
+#include <string>
+#include "PhLogDbMgr.h"
+
+#define V_(str) dgettext("contacts", str)
+
+class PhLogUtil
+{
+public:
+ PhLogUtil();
+ virtual ~PhLogUtil();
+
+ static Evas_Object* getLogTypeIcon(Evas_Object *parent, int log_type);
+ static std::string getLogTypeImageName(int log_type);
+
+ static const char *getTextOfNumberType(int number_type);
+ static const char* getDisplayText(int personId, const char* displayName, const char* number, const char *descInfo);
+
+ static bool isGrouped(const PhLogDbMgr::RecordInfo *prevRecordInfo, const PhLogDbMgr::RecordInfo *curRecordInfo);
+ static bool isGroupedbyDate(const int time1, const int time2);
+ static bool isGroupedByDesc(const char *prevDesc, const char *curDesc);
+
+ static bool isUnknownNumber(const char *callDesc);
+ static bool isEmergencyNumber(const char *callDesc);
+
+ static bool isMsgType(int type);
+ static bool isVideoCallType(int type);
+ static bool isVoiceCallType(int type);
+ static bool isMissedCallType(int type);
+ static bool isRejectCallType(int type);
+ static bool isOutgoingCallType(int type);
+ static bool isIncomingCallType(int type);
+private:
+ static bool isOutgoingMsgType(int type);
+ static bool isIncomingMsgType(int type);
+ static bool isBlockedType(int type);
+
+ static bool isGroupedbyType(int pre_type, int type);
+ static bool isGroupedbyNumber(const char * preNumber, const char *curNumber);
+};
+
+#endif /* _PH_LOG_UTIL_H_ */
diff --git a/lib-phone/ph-speeddial/.cproject b/lib-phone/ph-speeddial/.cproject
new file mode 100644
index 0000000..a1d7915
--- /dev/null
+++ b/lib-phone/ph-speeddial/.cproject
@@ -0,0 +1,594 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ph-speeddial" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.so.debug">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1901856276" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.109029664" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/ph-speeddial}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.33649487" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1405004172" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1950179025" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.315623720" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1861914823" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1074302357" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.1760981851" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1951899281" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1138204775" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1198911347" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/carriermatch/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/dbus}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/inc"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1703854218" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1422240551" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.1518675757" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.2136307221"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.560868363" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1466654101" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1448906718" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.790106586" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.2088959274" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.305788398" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1437660569" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1449885404" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1143175968" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.556123847" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1271839318"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.187306255" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1746596689" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1561214539" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.1602429789" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.487061050" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1725268383" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/carriermatch/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="../../../app-assist-efl/Debug"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.1672653320" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="common"/>
+ <listOptionValue builtIn="false" value="ph-common"/>
+ <listOptionValue builtIn="false" value="carriermatch"/>
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="app-assist-efl"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.2001966770" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1663226854" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1653697587" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.854294349" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.914715388" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.730258204" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1802661538" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.2114540036" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.945547352" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067.1970268669" name="/" resourcePath="dbus">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug.1698842383" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.debug" unusedChildren="">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1862062100" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.1405004172"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1950179025">
+ <option id="gnu.cpp.compiler.option.include.paths.1862024141" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/carriermatch/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/dbus}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.801747878" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.2055251519"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.1212492831"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.1127111318"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.536892725"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.983250407"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.328190824"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.677325310"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.864011291"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1322073362.700307932"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288">
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1235218917" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.1563160697"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.1071647721"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.769788277"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.1030493901"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.1783671564"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.997359349"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.705477442"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.65243218"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1075796817.1155268849"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.578327765" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1746596689"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1274254929" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1561214539"/>
+ <tool id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1226503116" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1663226854">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1421785689" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1714536879" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.730258204"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.226210515" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp.1802661538"/>
+ <tool id="org.tizen.nativecore.tool.ast.1435515500" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast.2114540036"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.981231587" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp.945547352"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1245617004" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler.854294349"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.668555117" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler.914715388"/>
+ </toolChain>
+ </folderInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067.1505275290" name="dbus_async_base.c" rcbsApplicability="disable" resourcePath="dbus/dbus_async_base.c" toolsToInvoke="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227">
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288">
+ <option id="gnu.c.compiler.option.include.paths.699057084" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.726109033" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.261590111"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1451193473"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1132199515"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1591402278"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.62950640"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1833409931"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.2031417097"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.2039087771"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1097643191"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.569597624"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1348198631"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.1341746581"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.317438633"/>
+ <inputType id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.749891288.2082759227.377523416"/>
+ </tool>
+ </fileInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="dbus"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.so.release.1383355163">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1383355163" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="so" artifactName="ph-speeddial" buildArtefactType="org.tizen.nativecore.buildArtefactType.sharedLib" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.sharedLib" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.so.release.1383355163" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.so.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.so.release.1383355163." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.so.release.2103970634" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.so.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.482636569" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/ph-speeddial}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1168087568" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.582015912" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.2112780933" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1070303096" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1116646323" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.cpp.compiler.option.misc.pic.core.983700984" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.compiler.option.583665033" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1528573108" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.527401068" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1695246603" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.269168654" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.387448962"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1176017145" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.631239000" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1093071292" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.577917793" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option defaultValue="true" id="sbi.gnu.c.compiler.option.misc.pic.core.1659273903" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+ <option id="sbi.gnu.c.compiler.option.1632820987" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.sharedLib"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1999072555" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1884899962" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Wno-gnu"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-fvisibility=hidden"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1481984696" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.947209727" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.443814160"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1326071906" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1440071815" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.759705633" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option defaultValue="true" id="sbi.gnu.cpp.linker.option.shared_flag.core.419497209" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1194318619" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-target i386-tizen-linux-gnueabi -gcc-toolchain ${SDK_INSTALL_PATH}/tools/smart-build-interface/../i386-linux-gnueabi-gcc-4.6/ -ccc-gcc-name i386-linux-gnueabi-g++ -march=i386 -Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-lpthread "/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1675585394" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1090659610" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1451815898" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.967540411" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.555891162" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1519348535" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.881350209" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1758335872" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.139286310" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.295723611" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="ph-speeddial.org.tizen.nativecore.target.sbi.gcc45.so.738986982" name="Tizen Core Shared Library" projectType="org.tizen.nativecore.target.sbi.gcc45.so"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.release.1383355163">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.so.debug.215597067">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/ph-speeddial"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/ph-speeddial"/>
+ </configuration>
+ </storageModule>
+</cproject>
diff --git a/lib-phone/ph-speeddial/.project b/lib-phone/ph-speeddial/.project
new file mode 100644
index 0000000..b926413
--- /dev/null
+++ b/lib-phone/ph-speeddial/.project
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>ph-speeddial</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>1413282659403</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/lib-phone/ph-speeddial/.tproject b/lib-phone/ph-speeddial/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/lib-phone/ph-speeddial/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/lib-phone/ph-speeddial/CMakeLists.txt b/lib-phone/ph-speeddial/CMakeLists.txt
new file mode 100755
index 0000000..c8f4fbd
--- /dev/null
+++ b/lib-phone/ph-speeddial/CMakeLists.txt
@@ -0,0 +1,23 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ph-speeddial C CXX)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-phone/ph-common/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/edje
+)
+
+FILE(GLOB SRCS "src/*.cpp")
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "contacts-common"
+ "ph-common"
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} ph-speeddial.edj)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_LIB_DIR})
+
+ADD_SUBDIRECTORY(res/edje)
diff --git a/lib-phone/ph-speeddial/inc/PhSpeedDialItem.h b/lib-phone/ph-speeddial/inc/PhSpeedDialItem.h
new file mode 100644
index 0000000..b1bb217
--- /dev/null
+++ b/lib-phone/ph-speeddial/inc/PhSpeedDialItem.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_SPEED_DIAL_ITEM_H_
+#define _PH_SPEED_DIAL_ITEM_H_
+
+#include <app_control.h>
+#include <contacts.h>
+#include "WControl.h"
+
+class PhSpeedDialItem : public WControl
+{
+public:
+ /**
+ * @brief Create speed dial settings item.
+ * @param[in] number Speed dial dialer number (1-9)
+ */
+ PhSpeedDialItem(int number);
+ ~PhSpeedDialItem();
+
+ /**
+ * @brief Set speed dial item data.
+ * @param[in] record Speed dial record to fetch the data from
+ */
+ void setData(contacts_record_h record);
+
+private:
+ Evas_Object *onCreate(Evas_Object *parent, void *param);
+ Evas_Object *createAddButton(Evas_Object *parent);
+ Evas_Object *createDeleteButton(Evas_Object *parent);
+
+ void setEmptyLayout(Evas_Object *layout);
+ void setLayoutData(Evas_Object *layout, contacts_record_h record);
+ void fetchData();
+ void closeChooser();
+
+ static void onPickResult(app_control_h request, app_control_h reply,
+ app_control_result_e result, void *data);
+ static void onItemPressed(void *data, Evas_Object *obj, void *event_info);
+ static void onDeletePressed(void *data, Evas_Object *obj, void *event_info);
+
+ int m_Number;
+ app_control_h m_Chooser;
+};
+
+#endif /* _PH_SPEED_DIAL_ITEM_H_ */
diff --git a/lib-phone/ph-speeddial/inc/PhSpeedDialView.h b/lib-phone/ph-speeddial/inc/PhSpeedDialView.h
new file mode 100644
index 0000000..242dc42
--- /dev/null
+++ b/lib-phone/ph-speeddial/inc/PhSpeedDialView.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_SPEED_DIAL_VIEW_H_
+#define _PH_SPEED_DIAL_VIEW_H_
+
+#include "WView.h"
+
+#define SPEED_DIAL_ITEM_COUNT 9
+
+class PhSpeedDialItem;
+
+class WAPP_ASSIST_EXPORT PhSpeedDialView : public WView
+{
+public:
+ PhSpeedDialView();
+ ~PhSpeedDialView();
+
+private:
+ Evas_Object *onCreate(Evas_Object *parent, void *param);
+ void onPushed(Elm_Object_Item *item);
+
+ void fillItems();
+ static void onDbChanged(const char *uri, void *data);
+
+ PhSpeedDialItem *m_Items[SPEED_DIAL_ITEM_COUNT];
+};
+
+#endif /* _PH_SPEED_DIAL_VIEW_H_ */
diff --git a/lib-phone/ph-speeddial/res/edje/CMakeLists.txt b/lib-phone/ph-speeddial/res/edje/CMakeLists.txt
new file mode 100644
index 0000000..0e9e422
--- /dev/null
+++ b/lib-phone/ph-speeddial/res/edje/CMakeLists.txt
@@ -0,0 +1,12 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+SET(PH_EDJ_PATH "${CMAKE_APP_RES_DIR}/edje/phone")
+
+ADD_CUSTOM_TARGET(ph-speeddial-layout.edj
+ COMMAND edje_cc ${EDJE_CFLAGS}
+ -id ${CMAKE_CURRENT_SOURCE_DIR}/../images
+ ${CMAKE_CURRENT_SOURCE_DIR}/ph-speeddial-layout.edc ph-speeddial-layout.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ph-speeddial-layout.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} ph-speeddial-layout.edj)
+INSTALL(FILES ph-speeddial-layout.edj DESTINATION ${PH_EDJ_PATH})
diff --git a/lib-phone/ph-speeddial/res/edje/PhSpeedDialLayout.h b/lib-phone/ph-speeddial/res/edje/PhSpeedDialLayout.h
new file mode 100644
index 0000000..60cea7a
--- /dev/null
+++ b/lib-phone/ph-speeddial/res/edje/PhSpeedDialLayout.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_SPEED_DIAL_LAYOUT_H_
+#define _PH_SPEED_DIAL_LAYOUT_H_
+
+#define SPEED_DIAL_LAYOUT_EDJ "ph-speeddial-layout.edj"
+#define GROUP_MAIN_LAYOUT "main_layout"
+#define GROUP_DELETE_BUTTON "delete_button"
+#define GROUP_ITEM_ICON "icon"
+#define GROUP_ITEM_LAYOUT "item"
+
+#define PART_CONTENT "swallow.content"
+#define PART_ICON "swallow.icon"
+#define PART_DELETE_BUTTON "swallow.delete_button"
+#define PART_NAME "text.name"
+
+#define ICON_BG "keypad_speed_dial_bg.png"
+#define ICON_ADD "keypad_speed_dial_add.png"
+#define ICON_DELETE "keypad_speed_dial_del.png"
+
+#endif /* _PH_SPEED_DIAL_LAYOUT_H_ */
diff --git a/lib-phone/ph-speeddial/res/edje/PhSpeedDialLayoutMetrics.h b/lib-phone/ph-speeddial/res/edje/PhSpeedDialLayoutMetrics.h
new file mode 100644
index 0000000..775e9c6
--- /dev/null
+++ b/lib-phone/ph-speeddial/res/edje/PhSpeedDialLayoutMetrics.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _PH_SPEED_DIAL_LAYOUT_METRICS_H_
+#define _PH_SPEED_DIAL_LAYOUT_METRICS_H_
+
+#define VIEW_W 720
+#define VIEW_H 1130
+
+#define LAYOUT_X 32
+#define LAYOUT_Y 70
+
+#define ITEM_W 192
+#define ITEM_H 308
+
+#define ITEM_PAD_X 40
+#define ITEM_PAD_Y 54
+
+#define ICON_SIZE 192
+#define ICON_DELETE_SIZE 60
+
+#define ICON_ADD_SIZE 80
+#define ICON_ADD_POS (ICON_SIZE-ICON_ADD_SIZE)/2
+
+#define TEXT_H 104
+#define TEXT_Y (ICON_SIZE+12)
+#define TEXT_FONT_SIZE 37
+
+#endif /* _PH_SPEED_DIAL_LAYOUT_METRICS_H_ */
diff --git a/lib-phone/ph-speeddial/res/edje/ph-speeddial-layout.edc b/lib-phone/ph-speeddial/res/edje/ph-speeddial-layout.edc
new file mode 100644
index 0000000..4faa017
--- /dev/null
+++ b/lib-phone/ph-speeddial/res/edje/ph-speeddial-layout.edc
@@ -0,0 +1,235 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhSpeedDialLayout.h"
+#include "PhSpeedDialLayoutMetrics.h"
+
+styles {
+ style {
+ name: "text_style";
+ base: "font=Tizen:style=Regular font_size="TEXT_FONT_SIZE" color=#000000 align=center wrap=word ellipsis=1.0";
+ }
+}
+
+images {
+ image: ICON_BG COMP;
+}
+
+collections {
+ base_scale: 2.6;
+
+ group {
+ name: GROUP_MAIN_LAYOUT;
+
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part {
+ name: PART_CONTENT;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ rel1 {
+ relative: LAYOUT_X/VIEW_W LAYOUT_Y/VIEW_H;
+ }
+ rel2 {
+ relative: 1.0-LAYOUT_X/VIEW_W 1.0-LAYOUT_Y/VIEW_H;
+ }
+ }
+ }
+ }
+ }
+
+ group {
+ name: GROUP_ITEM_ICON;
+ images.image: ICON_ADD COMP;
+
+ parts {
+ part {
+ name: "bg";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ color: 61 185 204 127;
+ aspect: 1 1;
+ aspect_preference: SOURCE;
+ image.normal: ICON_BG;
+ }
+ }
+ part {
+ name: "icon";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ aspect: 1 1;
+ aspect_preference: SOURCE;
+ image.normal: ICON_ADD;
+ rel1 {
+ relative: ICON_ADD_POS/ICON_SIZE ICON_ADD_POS/ICON_SIZE;
+ }
+ rel2 {
+ relative: (ICON_ADD_SIZE+ICON_ADD_POS)/ICON_SIZE (ICON_ADD_SIZE+ICON_ADD_POS)/ICON_SIZE;
+ }
+ }
+ }
+ part {
+ name: "mask";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 0 0 0 50;
+ aspect: 1 1;
+ aspect_preference: SOURCE;
+ image.normal: ICON_BG;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "pressed";
+ signal: "mouse,down,*";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: "mask";
+ }
+ program {
+ name: "unpressed";
+ signal: "mouse,up,*";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "mask";
+ }
+ }
+ }
+
+ group {
+ name: GROUP_DELETE_BUTTON;
+ images.image: ICON_DELETE COMP;
+
+ parts {
+ part {
+ name: "icon";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ aspect: 1 1;
+ aspect_preference: SOURCE;
+ image.normal: ICON_DELETE;
+ }
+ }
+ part {
+ name: "mask";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 0 0 0 50;
+ aspect: 1 1;
+ aspect_preference: SOURCE;
+ image.normal: ICON_BG;
+ rel1.to: "icon";
+ rel2.to: "icon";
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "pressed";
+ signal: "mouse,down,*";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: "mask";
+ }
+ program {
+ name: "unpressed";
+ signal: "mouse,up,*";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "mask";
+ }
+ }
+ }
+
+ group {
+ name: GROUP_ITEM_LAYOUT;
+
+ parts {
+ part {
+ name: PART_ICON;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: ICON_SIZE/ITEM_W ICON_SIZE/ITEM_H;
+ }
+ }
+ }
+ part {
+ name: PART_DELETE_BUTTON;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: ICON_DELETE_SIZE/ITEM_W ICON_DELETE_SIZE/ITEM_H;
+ }
+ }
+ }
+ part {
+ name: PART_NAME;
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 TEXT_Y/ITEM_H;
+ }
+ rel2 {
+ relative: 1.0 (TEXT_H+TEXT_Y)/ITEM_H;
+ }
+ text {
+ align: 0.5 0.0;
+ style: "text_style";
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/lib-phone/ph-speeddial/res/images/keypad_speed_dial_add.png b/lib-phone/ph-speeddial/res/images/keypad_speed_dial_add.png
new file mode 100644
index 0000000..39c6a86
--- /dev/null
+++ b/lib-phone/ph-speeddial/res/images/keypad_speed_dial_add.png
Binary files differ
diff --git a/lib-phone/ph-speeddial/res/images/keypad_speed_dial_bg.png b/lib-phone/ph-speeddial/res/images/keypad_speed_dial_bg.png
new file mode 100644
index 0000000..2218a17
--- /dev/null
+++ b/lib-phone/ph-speeddial/res/images/keypad_speed_dial_bg.png
Binary files differ
diff --git a/lib-phone/ph-speeddial/res/images/keypad_speed_dial_del.png b/lib-phone/ph-speeddial/res/images/keypad_speed_dial_del.png
new file mode 100644
index 0000000..38c1786
--- /dev/null
+++ b/lib-phone/ph-speeddial/res/images/keypad_speed_dial_del.png
Binary files differ
diff --git a/lib-phone/ph-speeddial/src/PhSpeedDialItem.cpp b/lib-phone/ph-speeddial/src/PhSpeedDialItem.cpp
new file mode 100644
index 0000000..f8e6f93
--- /dev/null
+++ b/lib-phone/ph-speeddial/src/PhSpeedDialItem.cpp
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhSpeedDialItem.h"
+#include "PhSpeedDialLayout.h"
+#include "PhCommon.h"
+#include "PhStrings.h"
+
+#include "ContactsAppControl.h"
+#include "ContactsCommon.h"
+#include "ContactsDebug.h"
+#include "ContactsThumbnail.h"
+
+#include <notification.h>
+
+#define TEXT_BUFFER_SIZE 256
+
+namespace
+{
+ const std::string layoutPath = ContactsCommon::getAppEdjePath("phone/" SPEED_DIAL_LAYOUT_EDJ);
+}
+
+PhSpeedDialItem::PhSpeedDialItem(int number)
+ : m_Number(number), m_Chooser(nullptr)
+{
+}
+
+PhSpeedDialItem::~PhSpeedDialItem()
+{
+ closeChooser();
+}
+
+void PhSpeedDialItem::setData(contacts_record_h record)
+{
+ if (record) {
+ setLayoutData(getEvasObj(), record);
+ } else {
+ setEmptyLayout(getEvasObj());
+ }
+}
+
+Evas_Object *PhSpeedDialItem::onCreate(Evas_Object *parent, void *param)
+{
+ Evas_Object *layout = elm_layout_add(parent);
+ elm_layout_file_set(layout, layoutPath.c_str(), GROUP_ITEM_LAYOUT);
+ return layout;
+}
+
+Evas_Object *PhSpeedDialItem::createAddButton(Evas_Object *parent)
+{
+ Evas_Object *button = elm_image_add(parent);
+ elm_image_file_set(button, layoutPath.c_str(), GROUP_ITEM_ICON);
+ evas_object_smart_callback_add(button, "clicked",
+ &PhSpeedDialItem::onItemPressed, this);
+
+ return button;
+}
+
+Evas_Object *PhSpeedDialItem::createDeleteButton(Evas_Object *parent)
+{
+ Evas_Object *button = elm_image_add(parent);
+ elm_image_file_set(button, layoutPath.c_str(), GROUP_DELETE_BUTTON);
+ evas_object_smart_callback_add(button, "clicked",
+ &PhSpeedDialItem::onDeletePressed, this);
+
+ return button;
+}
+
+void PhSpeedDialItem::setEmptyLayout(Evas_Object *layout)
+{
+ elm_object_part_content_set(layout, PART_ICON, createAddButton(layout));
+ elm_object_part_content_set(layout, PART_DELETE_BUTTON, nullptr);
+
+ char buffer[TEXT_BUFFER_SIZE];
+ snprintf(buffer, sizeof(buffer), "%d", m_Number);
+ elm_object_part_text_set(layout, PART_NAME, buffer);
+}
+
+void PhSpeedDialItem::setLayoutData(Evas_Object *layout, contacts_record_h record)
+{
+ char *name = nullptr;
+ char *imagePath = nullptr;
+
+ contacts_record_get_str_p(record, _contacts_speeddial.display_name, &name);
+ contacts_record_get_str_p(record, _contacts_speeddial.image_thumbnail_path, &imagePath);
+
+ elm_object_part_content_set(layout, PART_ICON, createThumbnail(layout, THUMBNAIL_240, imagePath));
+ elm_object_part_content_set(layout, PART_DELETE_BUTTON, createDeleteButton(layout));
+
+ char buffer[TEXT_BUFFER_SIZE];
+ snprintf(buffer, sizeof(buffer), "%d. %s", m_Number, name);
+ elm_object_part_text_set(layout, PART_NAME, buffer);
+}
+
+void PhSpeedDialItem::fetchData()
+{
+ contacts_record_h record = nullptr;
+ contacts_db_get_record(_contacts_speeddial._uri, m_Number, &record);
+
+ setData(record);
+ contacts_record_destroy(record, true);
+}
+
+void PhSpeedDialItem::closeChooser()
+{
+ if (m_Chooser) {
+ app_control_send_terminate_request(m_Chooser);
+ app_control_destroy(m_Chooser);
+ m_Chooser = nullptr;
+ }
+}
+
+void PhSpeedDialItem::onPickResult(app_control_h request, app_control_h reply,
+ app_control_result_e result, void *data)
+{
+ PhSpeedDialItem *item = (PhSpeedDialItem*) data;
+
+ char **numberIds = nullptr;
+ int count = 0;
+ int err = app_control_get_extra_data_array(reply, APP_CONTROL_DATA_SELECTED, &numberIds, &count);
+ WPRET_M(err != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data() failed(%d)", err);
+
+ if (numberIds && numberIds[0]) {
+ int numberId = atoi(numberIds[0]);
+
+ if (PhCommon::addSpeedDialNumber(item->m_Number, numberId)) {
+ item->fetchData();
+ } else {
+ notification_status_message_post(PAT_("IDS_PB_POP_ALREADY_EXISTS_LC"));
+ }
+ }
+
+ for (int i = 0; i < count; ++i) {
+ free(numberIds[i]);
+ }
+ free(numberIds);
+}
+
+void PhSpeedDialItem::onItemPressed(void *data, Evas_Object *obj, void *event_info)
+{
+ PhSpeedDialItem *item = (PhSpeedDialItem*) data;
+ item->closeChooser();
+
+ int err = launchContactPick(APP_CONTROL_DATA_SELECTION_MODE_SINGLE, APP_CONTROL_DATA_TYPE_PHONE,
+ &PhSpeedDialItem::onPickResult, data, true, &item->m_Chooser);
+ WPWARN(err != APP_CONTROL_ERROR_NONE, "launchContactPick() failed(%d)", err);
+}
+
+void PhSpeedDialItem::onDeletePressed(void *data, Evas_Object *obj, void *event_info)
+{
+ PhSpeedDialItem *item = (PhSpeedDialItem*) data;
+
+ int err = contacts_db_delete_record(_contacts_speeddial._uri, item->m_Number);
+ WPRET_M(err != CONTACTS_ERROR_NONE, "contacts_db_delete_record() failed(%d)", err);
+ item->setEmptyLayout(item->getEvasObj());
+
+ char buffer[TEXT_BUFFER_SIZE];
+ snprintf(buffer, sizeof(buffer), PAT_(PH_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED), item->m_Number);
+ notification_status_message_post(buffer);
+}
diff --git a/lib-phone/ph-speeddial/src/PhSpeedDialView.cpp b/lib-phone/ph-speeddial/src/PhSpeedDialView.cpp
new file mode 100644
index 0000000..0bad8cc
--- /dev/null
+++ b/lib-phone/ph-speeddial/src/PhSpeedDialView.cpp
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "PhSpeedDialView.h"
+#include "PhSpeedDialItem.h"
+#include "PhSpeedDialLayout.h"
+#include "PhSpeedDialLayoutMetrics.h"
+
+#include "ContactsCommon.h"
+#include "ContactsDebug.h"
+#include "ContactsUtils.h"
+
+#define ITEM_ROWS 3
+#define ITEM_COLS SPEED_DIAL_ITEM_COUNT / ITEM_ROWS
+
+PhSpeedDialView::PhSpeedDialView()
+ : m_Items{nullptr}
+{
+ contacts_db_add_changed_cb(_contacts_speeddial._uri,
+ &PhSpeedDialView::onDbChanged, this);
+ contacts_db_add_changed_cb(_contacts_contact._uri,
+ &PhSpeedDialView::onDbChanged, this);
+}
+
+PhSpeedDialView::~PhSpeedDialView()
+{
+ contacts_db_remove_changed_cb(_contacts_speeddial._uri,
+ &PhSpeedDialView::onDbChanged, this);
+ contacts_db_remove_changed_cb(_contacts_contact._uri,
+ &PhSpeedDialView::onDbChanged, this);
+}
+
+Evas_Object *PhSpeedDialView::onCreate(Evas_Object *parent, void *param)
+{
+ Evas_Object *layout = elm_layout_add(parent);
+ elm_layout_file_set(layout, ContactsCommon::getAppEdjePath("phone/" SPEED_DIAL_LAYOUT_EDJ).c_str(), GROUP_MAIN_LAYOUT);
+
+ Evas_Object *table = elm_table_add(layout);
+ elm_object_part_content_set(layout, PART_CONTENT, table);
+ elm_table_homogeneous_set(table, EINA_TRUE);
+ elm_table_padding_set(table,
+ ContactsCommon::getScaledWidth(ITEM_PAD_X),
+ ContactsCommon::getScaledHeight(ITEM_PAD_Y));
+
+ for (int i = 0, k = 0; i < ITEM_ROWS; ++i) {
+ for (int j = 0; j < ITEM_COLS; ++j, ++k) {
+ m_Items[k] = new PhSpeedDialItem(k + 1);
+ m_Items[k]->create(table, nullptr);
+ Evas_Object *item = m_Items[k]->getEvasObj();
+
+ evas_object_size_hint_weight_set(item, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(item, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_table_pack(table, item, j, i, 1, 1);
+ evas_object_show(item);
+ }
+ }
+ fillItems();
+
+ return layout;
+}
+
+void PhSpeedDialView::onPushed(Elm_Object_Item *item)
+{
+ elm_object_item_domain_translatable_part_text_set(item, "elm.text.title",
+ PACKAGE, "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2");
+}
+
+void PhSpeedDialView::fillItems()
+{
+ contacts_list_h list = nullptr;
+ contacts_db_get_all_records(_contacts_speeddial._uri, 0, 0, &list);
+
+ contacts_record_h records[SPEED_DIAL_ITEM_COUNT] = { nullptr };
+ contacts_record_h record = nullptr;
+ CONTACTS_LIST_FOREACH(list, record) {
+ int number = 0;
+ contacts_record_get_int(record, _contacts_speeddial.speeddial_number, &number);
+ if (number > 0 && number <= SPEED_DIAL_ITEM_COUNT) {
+ records[number - 1] = record;
+ }
+ }
+
+ for (int i = 0; i < SPEED_DIAL_ITEM_COUNT; ++i) {
+ m_Items[i]->setData(records[i]);
+ }
+
+ contacts_list_destroy(list, false);
+}
+
+void PhSpeedDialView::onDbChanged(const char *uri, void *data)
+{
+ PhSpeedDialView *view = (PhSpeedDialView*) data;
+ view->fillItems();
+}
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
deleted file mode 100755
index f379903..0000000
--- a/lib/CMakeLists.txt
+++ /dev/null
@@ -1,179 +0,0 @@
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/common/)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/common/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/common/Ui/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/common/Ui/Genlist/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/common/Utils/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/ct-front/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/details/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/dialer/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/favor/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/list/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/log/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/ph-front/include)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/speed/include)
-
-SET(COMMON_LIB common)
-SET(FAVOR_LIB favorite)
-SET(SPEEDDIAL ug-speeddial-efl)
-SET(PH_LOG ug-phonelog-efl)
-SET(CT_DETAILS ug-contacts-details-efl)
-SET(CT_LIST ug-contacts-list-efl)
-SET(CT_SETTING ug-contacts-settings-efl)
-SET(PH_DIALER ug-dialer-efl)
-SET(PH_FRONT ug-phone-tabui-efl)
-SET(CT_FRONT ug-contacts-tabui-efl)
-SET(UGLIBDIR "/usr/ug/lib")
-
-FILE(GLOB_RECURSE COMMON_SRCS common/*.cpp)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(ug_pkgs REQUIRED contacts-service2 msg-service efl-assist)
-
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fPIC")
-
-FOREACH(flag ${ug_pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(ug_pkgs_LDFLAGS "${pkgs_LDFLAGS} ${ug_pkgs_LDFLAGS}")
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/contact_button.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/lib/images/phoneug-images
- ${EDC_SRC_DIR}/contact_button.edc ${CMAKE_BINARY_DIR}/contact_button.edj
- DEPENDS ${EDC_SRC_DIR}/contact_button.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/progress.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/lib/images
- ${EDC_SRC_DIR}/progress.edc ${CMAKE_BINARY_DIR}/progress.edj
- DEPENDS ${EDC_SRC_DIR}/progress.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/dialer.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/lib/images
- ${EDC_SRC_DIR}/dialer.edc ${CMAKE_BINARY_DIR}/dialer.edj
- DEPENDS ${EDC_SRC_DIR}/dialer.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/dialer_theme.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/lib/images
- ${EDC_SRC_DIR}/dialer_theme.edc ${CMAKE_BINARY_DIR}/dialer_theme.edj
- DEPENDS ${EDC_SRC_DIR}/dialer_theme.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/speeddial_theme.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/lib/images
- ${EDC_SRC_DIR}/speeddial_theme.edc ${CMAKE_BINARY_DIR}/speeddial_theme.edj
- DEPENDS ${EDC_SRC_DIR}/speeddial_theme.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/logdetail_theme.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/lib/images
- ${EDC_SRC_DIR}/logdetail_theme.edc ${CMAKE_BINARY_DIR}/logdetail_theme.edj
- DEPENDS ${EDC_SRC_DIR}/logdetail_theme.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/contacts.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/lib/images/contact_images
- ${EDC_SRC_DIR}/contacts.edc ${CMAKE_BINARY_DIR}/contacts.edj
- DEPENDS ${EDC_SRC_DIR}/contacts.edc ${EDC_SRC_DIR}/list.edc ${EDC_SRC_DIR}/progress.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/favorites_theme.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/lib/images
- ${EDC_SRC_DIR}/favorites_theme.edc ${CMAKE_BINARY_DIR}/favorites_theme.edj
- DEPENDS ${EDC_SRC_DIR}/favorites_theme.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/group_theme.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images
- ${EDC_SRC_DIR}/group_theme.edc ${CMAKE_BINARY_DIR}/group_theme.edj
- DEPENDS ${EDC_SRC_DIR}/group_theme.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/image_layout.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images
- ${EDC_SRC_DIR}/image_layout.edc ${CMAKE_BINARY_DIR}/image_layout.edj
- DEPENDS ${EDC_SRC_DIR}/image_layout.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/list_theme.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images
- ${EDC_SRC_DIR}/list_theme.edc ${CMAKE_BINARY_DIR}/list_theme.edj
- DEPENDS ${EDC_SRC_DIR}/list_theme.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/detail_theme.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/lib/images
- ${EDC_SRC_DIR}/detail_theme.edc ${CMAKE_BINARY_DIR}/detail_theme.edj
- DEPENDS ${EDC_SRC_DIR}/detail_theme.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/selectioninfo.edj
- COMMAND edje_cc
- ${EDC_SRC_DIR}/selectioninfo.edc ${CMAKE_BINARY_DIR}/selectioninfo.edj
- DEPENDS ${EDC_SRC_DIR}/selectioninfo.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/nocontent_layout.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/lib/images/
- ${EDC_SRC_DIR}/nocontent_layout.edc ${CMAKE_BINARY_DIR}/nocontent_layout.edj
- DEPENDS ${EDC_SRC_DIR}/nocontent_layout.edc
- )
-
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/log_item_icon.edj
- COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/lib/images/
- ${EDC_SRC_DIR}/log_item_icon.edc ${CMAKE_BINARY_DIR}/log_item_icon.edj
- DEPENDS ${EDC_SRC_DIR}/log_item_icon.edc
- )
-
-ADD_CUSTOM_TARGET(contact_button_edj_build DEPENDS ${CMAKE_BINARY_DIR}/contact_button.edj)
-ADD_CUSTOM_TARGET(progress_edj_build DEPENDS ${CMAKE_BINARY_DIR}/progress.edj)
-ADD_CUSTOM_TARGET(dialer_theme_build DEPENDS ${CMAKE_BINARY_DIR}/dialer_theme.edj)
-ADD_CUSTOM_TARGET(dialer_edj_build DEPENDS ${CMAKE_BINARY_DIR}/dialer.edj)
-ADD_CUSTOM_TARGET(speeddial_theme_build DEPENDS ${CMAKE_BINARY_DIR}/speeddial_theme.edj)
-ADD_CUSTOM_TARGET(logdetail_theme_build DEPENDS ${CMAKE_BINARY_DIR}/logdetail_theme.edj)
-ADD_CUSTOM_TARGET(contacts_edj_build DEPENDS ${CMAKE_BINARY_DIR}/contacts.edj)
-ADD_CUSTOM_TARGET(favorites_theme_build DEPENDS ${CMAKE_BINARY_DIR}/favorites_theme.edj)
-ADD_CUSTOM_TARGET(group_theme_edj_build DEPENDS ${CMAKE_BINARY_DIR}/group_theme.edj)
-ADD_CUSTOM_TARGET(image_layout_edj_build DEPENDS ${CMAKE_BINARY_DIR}/image_layout.edj)
-ADD_CUSTOM_TARGET(list_theme_edj_build DEPENDS ${CMAKE_BINARY_DIR}/list_theme.edj)
-ADD_CUSTOM_TARGET(detail_theme_edj_build DEPENDS ${CMAKE_BINARY_DIR}/detail_theme.edj)
-ADD_CUSTOM_TARGET(selectioninfo_edj_build DEPENDS ${CMAKE_BINARY_DIR}/selectioninfo.edj)
-ADD_CUSTOM_TARGET(nocontent_layout_edj_build DEPENDS ${CMAKE_BINARY_DIR}/nocontent_layout.edj)
-ADD_CUSTOM_TARGET(log_item_icon_edj_build DEPENDS ${CMAKE_BINARY_DIR}/log_item_icon.edj)
-
-ADD_LIBRARY(${COMMON_LIB} STATIC ${COMMON_SRCS})
-SET_TARGET_PROPERTIES(${COMMON_LIB} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
-TARGET_LINK_LIBRARIES(${COMMON_LIB} ${ug_pkgs_LDFLAGS})
-ADD_DEPENDENCIES(${COMMON_LIB} selectioninfo_edj_build)
-ADD_DEPENDENCIES(${COMMON_LIB} nocontent_layout_edj_build)
-ADD_DEPENDENCIES(${COMMON_LIB} log_item_icon_edj_build)
-
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/phone-ug.h DESTINATION /usr/include)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/contacts-ug.h DESTINATION /usr/include)
-INSTALL(FILES ${CMAKE_BINARY_DIR}/contact_button.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/contacts.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/progress.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/dialer.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/dialer_theme.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/speeddial_theme.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/logdetail_theme.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/favorites_theme.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/group_theme.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/image_layout.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/list_theme.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/detail_theme.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/selectioninfo.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/nocontent_layout.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/log_item_icon.edj DESTINATION ${EDJDIR})
-
-ADD_SUBDIRECTORY(speed)
-ADD_SUBDIRECTORY(log)
-ADD_SUBDIRECTORY(dialer)
-ADD_SUBDIRECTORY(details)
-ADD_SUBDIRECTORY(list)
-ADD_SUBDIRECTORY(settings)
-ADD_SUBDIRECTORY(favor)
-ADD_SUBDIRECTORY(ph-front)
-ADD_SUBDIRECTORY(ct-front)
diff --git a/lib/common/Database/Database.cpp b/lib/common/Database/Database.cpp
deleted file mode 100644
index 2b4e47e..0000000
--- a/lib/common/Database/Database.cpp
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Database/Database.h"
-
-#include <contacts.h>
-#include "phone.h"
-#include "Database/Listener.h"
-
-namespace Database
-{
- Database::Database()
- : m_IsConnected(false)
- {
- PH_TRACE;
- }
-
- Database::~Database()
- {
- PH_TRACE;
- disconnect();
- }
-
- Database & Database::getInstance()
- {
- static Database instance;
- return instance;
- }
-
- bool Database::connect()
- {
- PH_TRACE;
- if(!m_IsConnected)
- {
- m_IsConnected = isSuccess(contacts_connect2());
- }
-
- return m_IsConnected;
- }
-
- bool Database::disconnect()
- {
- PH_TRACE;
- if(m_IsConnected)
- {
- m_IsConnected = !isSuccess(contacts_disconnect2());
- }
-
- return !m_IsConnected;
- }
-
- bool Database::isConnected() const
- {
- return m_IsConnected;
- }
-
- bool Database::addListener(const char *uri, Listener *listener)
- {
- PH_TRACE;
- return isSuccess(contacts_db_add_changed_cb_with_info(uri, onChange, listener));
- }
-
- bool Database::removeListener(const char *uri, Listener *listener)
- {
- PH_TRACE;
- return isSuccess(contacts_db_remove_changed_cb_with_info(uri, onChange, listener));
- }
-
- bool Database::isSuccess(int result)
- {
-#ifdef PH_DEBUGGING
- if(result == CONTACTS_ERROR_NONE)
- {
- return true;
- }
- else
- {
- const char *error = NULL;
- switch(result)
- {
- case CONTACTS_ERROR_OUT_OF_MEMORY:
- error = "Out of memory";
- break;
- case CONTACTS_ERROR_INVALID_PARAMETER:
- error = "Invalid parameter";
- break;
- case CONTACTS_ERROR_FILE_NO_SPACE:
- error = "File system is full";
- break;
- case CONTACTS_ERROR_NO_DATA:
- error = "Requested data does not exist";
- break;
- case CONTACTS_ERROR_PERMISSION_DENIED:
- error = "Permission denied";
- break;
- case CONTACTS_ERROR_DB:
- error = "Unknown DB error, make sure that connection was established";
- break;
- case CONTACTS_ERROR_IPC_NOT_AVALIABLE:
- error = "IPC server is not available";
- break;
- case CONTACTS_ERROR_IPC:
- error = "Unknown IPC error";
- break;
- case CONTACTS_ERROR_SYSTEM:
- error = "System error";
- break;
- case CONTACTS_ERROR_INTERNAL:
- error = "Internal error";
- break;
- default:
- error = "Unknown error";
- break;
- }
-
- ERR("Contacts database error %h: %s", result, error);
- return false;
- }
-#else
- return result == CONTACTS_ERROR_NONE;
-#endif /* PH_DEBUGGING */
- }
-
- void Database::onChange(const char *uri, char *changes, void *data)
- {
- PH_TRACE;
- if(!uri || !changes || !data)
- {
- return;
- }
-
- DBG("URI: %s", uri);
- DBG("change: %s", changes);
- /*
- * The format of changes parameter is as follows:
- * change:id,change:id...
- *
- * where "change" is a string representation of one of the the following values:
- * - CONTACTS_CHANGE_INSERTED
- * - CONTACTS_CHANGE_UPDATED
- * - CONTACTS_CHANGE_DELETED
- * and "id" is a string representation of database record ID
- */
-
- Listener *listener = static_cast<Listener*>(data);
- char *p = changes;
- while(*p)
- {
- int change = *p - '0';
-
- if(*++p == ':')
- {
- ++p;
- }
-
- int id = atoi(p);
- switch(change)
- {
- case CONTACTS_CHANGE_INSERTED:
- DBG("change: INSERT, id: %d", id);
- listener->onRecordInsert(uri, id);
- break;
- case CONTACTS_CHANGE_UPDATED:
- DBG("change: UPDATE, id: %d", id);
- listener->onRecordUpdate(uri, id);
- break;
- case CONTACTS_CHANGE_DELETED:
- DBG("change: DELETE, id: %d", id);
- listener->onRecordDelete(uri, id);
- break;
- }
-
- while(*p && *p != ',')
- ++p;
-
- if(*p == ',')
- {
- ++p;
- }
- }
- }
-}
diff --git a/lib/common/Database/Database.h b/lib/common/Database/Database.h
deleted file mode 100644
index 15324eb..0000000
--- a/lib/common/Database/Database.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __DATABASE_DATABASE_H__
-#define __DATABASE_DATABASE_H__
-
-#include "NonCopyable.h"
-
-namespace Database
-{
- class Listener;
- /*
- * @brief Contacts database connection class.
- * @remarks Database connection is automatically closed on destruction.
- */
- class Database : public Utils::NonCopyable
- {
- public:
- /*
- * @return Database instance
- */
- static Database & getInstance();
-
- /*
- * @brief Connect to database.
- * @return true on success, false otherwise
- */
- bool connect();
-
- /*
- * @brief Disconnect from database.
- * @return true on success, false otherwise
- */
- bool disconnect();
-
- /*
- * @return true if connection is established, false otherwise
- */
- bool isConnected() const;
-
- /*
- * @brief Listen for changes in specified database view (table)
- * @remarks Always remove added listeners by calling removeListener
- *
- * @param uri Database view URI
- * @param listener Database listener
- * @return true if listener successfully added, false otherwise
- * @see Database::Listener
- */
- bool addListener(const char *uri, Listener *listener);
-
- /*
- * @brief Remove previously added database listener
- * @warning Not removing listeners before their destruction
- * can render your application not workable until contacts service restart
- *
- * @param uri Database view URI
- * @param listener Database listener
- * @return true if listener successfully removed, false otherwise
- */
- bool removeListener(const char *uri, Listener *listener);
-
- /*
- * @brief Determine whether result code indicates success.
- * @remarks If result code indicates error,
- * an error message will be written to logs.
- *
- * @param result Contacts database API error code
- * @return true on success, false otherwise
- */
- static bool isSuccess(int result);
-
- private:
- Database();
- ~Database();
-
- static void onChange(const char *uri, char *changes, void *data);
-
- bool m_IsConnected;
- };
-}
-
-#endif /* __DATABASE_DATABASE_H__ */
diff --git a/lib/common/Database/Listener.h b/lib/common/Database/Listener.h
deleted file mode 100644
index 99c99eb..0000000
--- a/lib/common/Database/Listener.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __DATABASE_LISTENER_H__
-#define __DATABASE_LISTENER_H__
-
-namespace Database
-{
- /*
- * @brief Database changes listener
- * @details Implement this interface if you want to respond to changes happening in database
- */
- class Listener
- {
- public:
- virtual ~Listener() { }
-
- /*
- * @brief Called whenever a new record was inserted into observed table(s)
- * @param uri URI of changed view (table)
- * @param id ID of newly inserted record
- */
- virtual void onRecordInsert(const char *uri, int id) { }
-
- /*
- * @brief Called whenever a record was updated in the observed table(s)
- * @param uri URI of changed view (table)
- * @param id ID of updated record
- */
- virtual void onRecordUpdate(const char *uri, int id) { }
-
- /*
- * @brief Called whenever a record was deleted from observed table(s)
- * @param uri URI of changed view (table)
- * @param id ID of deleted record
- */
- virtual void onRecordDelete(const char *uri, int id) { }
- };
-}
-
-#endif /* __DATABASE_LISTENER_H__ */
diff --git a/lib/common/Front.cpp b/lib/common/Front.cpp
deleted file mode 100644
index 3719443..0000000
--- a/lib/common/Front.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Front.h"
-
-namespace Common
-{
- Front::Front()
- : win(NULL), navi(NULL), layout(NULL),
- ug(NULL), ug_data(NULL), ug_request(0),
- cnt_max(0), idler(NULL), timer(NULL)
- {
- }
-}
diff --git a/lib/common/Ui/Genlist/Genlist.cpp b/lib/common/Ui/Genlist/Genlist.cpp
deleted file mode 100644
index 5a9b779..0000000
--- a/lib/common/Ui/Genlist/Genlist.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Genlist.h"
-#include "phone.h"
-
-namespace Ui
-{
- namespace Genlist
- {
- bool Genlist::create(Evas_Object *parent)
- {
- PH_TRACE;
- if(parent && !getObject())
- {
- return setObject(elm_genlist_add(parent));
- }
- else
- {
- return false;
- }
- }
-
- Elm_Object_Item * Genlist::append(Item *item, Elm_Object_Item *parent)
- {
- PH_TRACE;
- check_if(!item, return NULL);
- Elm_Object_Item *objItem = elm_genlist_item_append(getObject(), item->getClass(), item, parent, item->getType(), onItemSelect, item);
- return objItem;
- }
-
- void Genlist::onItemSelect(void *data, Evas_Object *obj, void *event_info)
- {
- PH_TRACE;
- if(data && event_info)
- {
- Item *item = static_cast<Item *>(data);
- Elm_Object_Item *objItem = static_cast<Elm_Object_Item *>(event_info);
- item->onSelect(*objItem);
- }
- }
- }
-}
diff --git a/lib/common/Ui/Genlist/Item.cpp b/lib/common/Ui/Genlist/Item.cpp
deleted file mode 100644
index c43982f..0000000
--- a/lib/common/Ui/Genlist/Item.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Item.h"
-#include "phone.h"
-
-namespace Ui
-{
- namespace Genlist
- {
- Item::Item(Elm_Genlist_Item_Type type)
- : m_Type(type)
- {
- PH_TRACE;
- }
-
- Item::~Item()
- {
- PH_TRACE;
- }
-
- Elm_Genlist_Item_Class * Item::createClass(const char *style, const char *decorateStyle, const char *editStyle)
- {
- PH_TRACE;
- Elm_Genlist_Item_Class *itemClass = elm_genlist_item_class_new();
- check_if(!itemClass, return NULL);
- itemClass->item_style = style;
- itemClass->decorate_item_style = decorateStyle;
- itemClass->decorate_all_item_style = editStyle;
- itemClass->func.text_get = Item::getText;
- itemClass->func.content_get = Item::getContent;
- itemClass->func.state_get = Item::getState;
- itemClass->func.del = Item::onDestroy;
- return itemClass;
- }
-
- char * Item::getText(void *data, Evas_Object *obj, const char *part)
- {
- PH_TRACE;
- if(data)
- {
- return static_cast<Item *>(data)->getText(part);
- }
-
- return NULL;
- }
-
- Evas_Object * Item::getContent(void *data, Evas_Object *obj, const char *part)
- {
- PH_TRACE;
- if(data)
- {
- return static_cast<Item *>(data)->getContent(part, obj);
- }
-
- return NULL;
- }
-
- Eina_Bool Item::getState(void *data, Evas_Object *obj, const char *part)
- {
- PH_TRACE;
- if(data)
- {
- return static_cast<Item *>(data)->getState(part);
- }
-
- return EINA_FALSE;
- }
-
- void Genlist::Item::onDestroy(void *data, Evas_Object *obj)
- {
- PH_TRACE;
- if(data)
- {
- delete static_cast<Item *>(data);
- }
- }
- }
-}
diff --git a/lib/common/Ui/Genlist/include/Genlist.h b/lib/common/Ui/Genlist/include/Genlist.h
deleted file mode 100644
index a3df78d..0000000
--- a/lib/common/Ui/Genlist/include/Genlist.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __UI_GENLIST_GENLIST_H__
-#define __UI_GENLIST_GENLIST H__
-
-#include "Widget.h"
-#include "Item.h"
-
-namespace Ui
-{
- namespace Genlist
- {
- /*
- * \par Description:
- * Genlist wrapper class.
- */
- class Genlist : public Widget
- {
- public:
- /*
- * \par Description:
- * Create new genlist with @p parent as parent.
- *
- * @see Widget::create
- */
- bool create(Evas_Object *parent);
-
- /*
- * \par Description:
- * Add item to the end of genlist.
- *
- * @return A handle to the item added or @c NULL if not possible
- * @see elm_genlist_item_append
- */
- Elm_Object_Item * append(Item *item, Elm_Object_Item *parent = NULL);
-
- private:
- static void onItemSelect(void *data, Evas_Object *obj, void *event_info);
- };
- }
-}
-
-#endif /* __UI_GENLIST_GENLIST_H__ */
diff --git a/lib/common/Ui/Genlist/include/Item.h b/lib/common/Ui/Genlist/include/Item.h
deleted file mode 100644
index 28876ea..0000000
--- a/lib/common/Ui/Genlist/include/Item.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __UI_GENLIST_ITEM_H__
-#define __UI_GENLIST_ITEM_H__
-
-#include <Elementary.h>
-#include "NonCopyable.h"
-
-namespace Ui
-{
- namespace Genlist
- {
- /*
- * \par Description:
- * Wrapper class for genlist item. Redirects item's callbacks to virtual methods.
- * Any instance of this class should be allocated with operator new.
- * It will be automatically deleted by genlist when item is deleted.
- */
- class Item : public Utils::NonCopyable
- {
- public:
- Item(Elm_Genlist_Item_Type type = ELM_GENLIST_ITEM_NONE);
- virtual ~Item();
-
- /*
- * \par Description:
- * Returned value should be individual for every derived class.
- * This can be achieved by storing pointer to Elm_Genlist_Item_Class
- * in a static variable inside overloaded method and initializing it using createClass.
- * This way every derived class will have its own Elm_Genlist_Item_Class.
- *
- * @par example
- * @code
- *
- * Elm_Genlist_Item_Class * getClass() const
- * {
- * static Elm_Genlist_Item_Class *itemClass = createClass("2text.1icon");
- * return itemClass;
- * }
- *
- * @endcode
- */
- virtual Elm_Genlist_Item_Class * getClass() const = 0;
-
- /*
- * \par Description:
- * Called whenever any item's text part needs to be updated.
- *
- * @param[in] part Name of the part
- * @return Allocated string with text for a specified part,
- * it will be deallocated with free() by genlist
- */
- virtual char * getText(const char *part) const { return NULL; }
-
- /*
- * \par Description:
- * Called whenever any item's content part needs to be updated.
- *
- * @param[in] part Name of the part
- * @param[in] parent Parent genlist to use as a parent object for content
- * @return Content for a specified part
- */
- virtual Evas_Object * getContent(const char *part, Evas_Object *parent) const { return NULL; }
-
- /*
- * \par Description:
- * Called whenever any item's state part needs to be updated.
- * Genlist will emit signal "elm,state,x,active" or "elm,state,x,passive"
- * with part's name instead of 'x'.
- *
- * @param[in] part Name of the part
- * @return true for active, false for passive
- *
- */
- virtual bool getState(const char *part) const { return false; }
-
- /*
- * \par Description:
- * Called when selection event occurs on the item.
- *
- * @param item Elm_Object_Item for selected item
- */
- virtual void onSelect(Elm_Object_Item &item) { }
-
- /*
- * @return Item type
- * @see Elm_Genlist_Item_Type
- */
- Elm_Genlist_Item_Type getType() const { return m_Type; }
-
- protected:
- static Elm_Genlist_Item_Class * createClass(
- const char *style,
- const char *decorateStyle = NULL,
- const char *editStyle = NULL
- );
-
- private:
- Elm_Genlist_Item_Type m_Type;
-
- static char * getText(void *data, Evas_Object *obj, const char *part);
- static Evas_Object * getContent(void *data, Evas_Object *obj, const char *part);
- static Eina_Bool getState(void *data, Evas_Object *obj, const char *part);
- static void onDestroy(void *data, Evas_Object *obj);
- };
- }
-}
-
-#endif /* __UI_GENLIST_ITEM_H__ */
diff --git a/lib/common/Ui/Widget.cpp b/lib/common/Ui/Widget.cpp
deleted file mode 100644
index 92b2b60..0000000
--- a/lib/common/Ui/Widget.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Widget.h"
-#include "phone.h"
-
-namespace Ui
-{
- Widget::Widget()
- : m_Object(NULL)
- {
- PH_TRACE;
- }
-
- Widget::~Widget()
- {
- PH_TRACE;
- if(m_Object)
- {
- evas_object_del(m_Object);
- m_Object = NULL;
- }
- }
-
- Evas_Object * Widget::getObject() const
- {
- PH_TRACE;
- return m_Object;
- }
-
- bool Widget::setObject(Evas_Object *object)
- {
- PH_TRACE;
- m_Object = object;
- return m_Object != NULL;
- }
-}
diff --git a/lib/common/Ui/include/Widget.h b/lib/common/Ui/include/Widget.h
deleted file mode 100644
index 9e712f3..0000000
--- a/lib/common/Ui/include/Widget.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __UI_WIDGET_H__
-#define __UI_WIDGET_H__
-
-#include <Elementary.h>
-
-#include "NonCopyable.h"
-
-namespace Ui
-{
- /*
- * \par Description:
- * Base wrapper class for all Evas objects.
- */
- class Widget : public Utils::NonCopyable
- {
- public:
- virtual ~Widget();
-
- /*
- * \par Description create derived widget with @p parent as parent.
- *
- * @return true on success, false otherwise
- */
- virtual bool create(Evas_Object *parent) = 0;
-
- /*
- * @return Underlying Evas_Object.
- */
- Evas_Object * getObject() const;
-
- protected:
- Widget();
- bool setObject(Evas_Object *object);
-
- private:
- Evas_Object *m_Object;
- };
-}
-
-#endif /* __UI_WIDGET_H__ */
diff --git a/lib/common/Utils/NonCopyable.cpp b/lib/common/Utils/NonCopyable.cpp
deleted file mode 100644
index 276824c..0000000
--- a/lib/common/Utils/NonCopyable.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file NonCopyable.cpp.
- * @brief implementation of NonCopyable class.
- * @author Andrey Klimenko (and.klimenko@samsung.com)
- */
-
-#include "NonCopyable.h"
-
-namespace Utils
-{
- NonCopyable::NonCopyable()
- {
- }
-
- NonCopyable::~NonCopyable()
- {
- }
-}
diff --git a/lib/common/Utils/Tracer.cpp b/lib/common/Utils/Tracer.cpp
deleted file mode 100644
index 2f644d6..0000000
--- a/lib/common/Utils/Tracer.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Tracer.h"
-#include <dlog.h>
-
-namespace Utils
-{
- void substractTime(const timespec& a, const timespec& b, timespec& res)
- {
- static const size_t nanosecsInSecond(1000000000);
-
- res.tv_sec = b.tv_sec - a.tv_sec;
- res.tv_nsec = b.tv_nsec - a.tv_nsec;
- if (res.tv_nsec < 0)
- {
- --res.tv_sec;
- res.tv_nsec += nanosecsInSecond;
- }
- }
-
- Tracer::Tracer(const char *tag, const char *file, int line, const char *func)
- : m_Tag(tag), m_File(file), m_Func(func)
- {
- __dlog_print(LOG_ID_APPS, DLOG_DEBUG, m_Tag, "%s: %s(%d) <<< called", m_File, m_Func, line);
- clock_gettime(CLOCK_REALTIME, &m_startTime);
- }
-
- Tracer::~Tracer()
- {
- timespec endTime;
- clock_gettime(CLOCK_REALTIME, &endTime);
-
- timespec res;
- substractTime(m_startTime, endTime, res);
-
- __dlog_print(LOG_ID_APPS, DLOG_DEBUG, m_Tag,
- "%s: %s >>> returned in %d.%03d seconds",
- m_File, m_Func, res.tv_sec, res.tv_nsec / 1000000
- );
- }
-}
diff --git a/lib/common/Utils/include/NonCopyable.h b/lib/common/Utils/include/NonCopyable.h
deleted file mode 100644
index 403fb3c..0000000
--- a/lib/common/Utils/include/NonCopyable.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file NonCopyable.h
- * @brief Non-copyable base class.
- * @author Andrey Klimenko (and.klimenko@samsung.com)
- */
-
-#ifndef __UTILS_NONCOPYABLE_H__
-#define __UTILS_NONCOPYABLE_H__
-
-namespace Utils
-{
- /**
- * An util-like class to make easier restriction of copying or/and instancing for child classes
- * */
- class NonCopyable
- {
- protected:
- NonCopyable();
- ~NonCopyable();
- private:
- NonCopyable(const NonCopyable&);
- const NonCopyable& operator=(const NonCopyable&);
- };
-}
-
-#endif /* __UTILS_NONCOPYABLE_H__ */
diff --git a/lib/common/Utils/include/SharedPtr.h b/lib/common/Utils/include/SharedPtr.h
deleted file mode 100644
index df8d0a5..0000000
--- a/lib/common/Utils/include/SharedPtr.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __UTILS_SHARED_PTR_H__
-#define __UTILS_SHARED_PTR_H__
-
-#include "phone.h"
-
-namespace Utils
-{
- /*
- * @brief Pointer wrapper for automatic memory management based on reference counting
- * @remarks Use this pointer wrapper if you have to manage dynamically allocated objects
- * that are being used by several objects and can't be tied to a single object's lifetime.
- * @details Shared pointer maintains a pointer to type T and a counter.
- * The counter is increased every time shared pointer is being copied and decreased upon it's destruction.
- * When counter drops to zero the last copy of shared pointer destroys the object pointed by internal pointer
- * and deallocates the counter.
- */
- template <typename T>
- class SharedPtr
- {
- public:
- SharedPtr();
-
- /*
- * @brief Create a shared pointer from simple pointer
- * @remarks The counter is being set to 1.
- * @param ptr Pointer to be shared
- */
- SharedPtr(T *ptr);
-
- /*
- * @brief Create from another shared pointer
- * @remarks The counter is being incremented
- * @param other Another shared pointer
- */
- SharedPtr(const SharedPtr &other);
-
- ~SharedPtr();
-
- /*
- * @brief Release the ownership of underlying pointer
- * and decrease the counter.
- */
- void reset();
-
- /*
- * @remarks Shared pointer that was default constructed
- * and wasn't assigned another pointer SHOULD NOT be dereferenced
- * as it doesn't point to anything (NULL)
- * @return Dereferenced underlying pointer
- */
- T & operator*() const;
-
- /*
- * @return Underlying pointer
- */
- T * operator->() const;
-
- /*
- * @brief Test if pointer points to anything
- * @return true if isn't NULL, false otherwise
- */
- operator bool() const;
-
- SharedPtr & operator=(const SharedPtr &other);
-
- private:
- T *m_Ptr;
- int *m_Count;
- };
-
- template <typename T>
- SharedPtr<T>::SharedPtr()
- : m_Ptr(NULL), m_Count(NULL)
- {
- }
-
- template <typename T>
- SharedPtr<T>::SharedPtr(T *ptr)
- : m_Ptr(NULL), m_Count(NULL)
- {
- if(ptr)
- {
- m_Ptr = ptr;
- m_Count = new int(1);
- }
- }
-
- template <typename T>
- SharedPtr<T>::SharedPtr(const SharedPtr &other)
- : m_Ptr(NULL), m_Count(NULL)
- {
- if(other.m_Count)
- {
- m_Ptr = other.m_Ptr;
- m_Count = other.m_Count;
- ++(*m_Count);
- DBG("count: %d", *m_Count);
- }
- }
-
- template <typename T>
- SharedPtr<T>::~SharedPtr()
- {
- reset();
- }
-
- template <typename T>
- void SharedPtr<T>::reset()
- {
- if(m_Count)
- {
- --(*m_Count);
- DBG("count: %d", *m_Count);
-
- if(*m_Count == 0)
- {
- DBG("deleting");
- delete m_Ptr;
- delete m_Count;
- }
-
- m_Ptr = NULL;
- m_Count = NULL;
- }
- }
-
- template <typename T>
- T & SharedPtr<T>::operator*() const
- {
- return *m_Ptr;
- }
-
- template <typename T>
- T * SharedPtr<T>::operator->() const
- {
- return m_Ptr;
- }
-
- template <typename T>
- SharedPtr<T>::operator bool() const
- {
- return m_Ptr != NULL;
- }
-
- template <typename T>
- SharedPtr<T> & SharedPtr<T>::operator=(const SharedPtr &other)
- {
- if(other.m_Count && this != &other)
- {
- reset();
- m_Ptr = other.m_Ptr;
- m_Count = other.m_Count;
- ++(*m_Count);
- }
-
- return *this;
- }
-}
-
-#endif /* __UTILS_SHARED_PTR_H__ */
diff --git a/lib/common/Utils/include/Tracer.h b/lib/common/Utils/include/Tracer.h
deleted file mode 100644
index 898fcb1..0000000
--- a/lib/common/Utils/include/Tracer.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __UTILS_TRACER_H__
-#define __UTILS_TRACER_H__
-
-#include <time.h>
-
-namespace Utils
-{
- class Tracer
- {
- private:
- const char * m_Tag;
- const char * m_File;
- const char * m_Func;
- timespec m_startTime;
- public:
- Tracer(const char *tag, const char *file, int line, const char *func);
- ~Tracer();
- };
-}
-
-#endif /* __UTILS_TRACER_H__ */
diff --git a/lib/common/View.cpp b/lib/common/View.cpp
deleted file mode 100644
index c441368..0000000
--- a/lib/common/View.cpp
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "View.h"
-
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-
-namespace Common
-{
- View::View()
- : back_cb(NULL), menu_cb(NULL),
- m_Parent(NULL), m_Content(NULL)
- {
- PH_TRACE;
- }
-
- View::View(const char *title)
- : back_cb(NULL), menu_cb(NULL),
- m_Title(title), m_Parent(NULL), m_Content(NULL)
- {
- PH_TRACE;
- }
-
- View::~View()
- {
- PH_TRACE;
- // m_Content and its children are destroyed by naviframe pop
- }
-
- bool View::initialize(Evas_Object *parent)
- {
- PH_TRACE;
- if(!parent || m_Parent)
- {
- return false;
- }
-
- m_Parent = parent;
- m_Content = elm_layout_add(m_Parent);
-
- if(!m_Content)
- {
- m_Parent = NULL;
- return false;
- }
-
- elm_layout_theme_set(m_Content, "layout", "application", "default");
- evas_object_size_hint_weight_set(m_Content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- Evas_Object *bg = elm_bg_add(m_Content);
-
- if(!bg)
- {
- evas_object_del(m_Content);
- m_Parent = NULL;
- m_Content = NULL;
- return false;
- }
-
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_content_set(m_Content, "elm.swallow.bg", bg);
-
- return true;
- }
-
- const std::string & View::getTitle() const
- {
- PH_TRACE;
- return m_Title;
- }
-
- Evas_Object * View::getContent() const
- {
- PH_TRACE;
- return m_Content;
- }
-
- bool View::onBack()
- {
- PH_TRACE;
- bool handled = false;
-
- if (child_ug)
- {
- DBG("send to child ug");
- ug_send_key_event (UG_KEY_EVENT_END);
- handled = true;
- }
- else if (popup && evas_object_visible_get(popup)) //legacy popups
- {
- DBG("hide popup");
- evas_object_hide(popup);
- handled = true;
- }
- else if (m_ContextMenu && evas_object_visible_get(m_ContextMenu))
- {
- DBG("close contextual menu");
- elm_ctxpopup_dismiss(m_ContextMenu);
- handled = true;
- }
- else if (m_Menu && evas_object_visible_get(m_Menu))
- {
- DBG("close menu");
- elm_ctxpopup_dismiss(m_Menu);
- handled = true;
- }
- else if (m_Widget && elm_object_focus_get(m_Widget))
- {
- DBG("unfocus widget");
- widget_back_cb(this);
- handled = true;
- }
- else if (back_cb)
- {
- DBG("call back_cb");
- back_cb(this);
- handled = true;
- }
-
- return handled;
- }
-
- void View::onMenu()
- {
- PH_TRACE;
- if(popup && evas_object_visible_get(popup))
- {
- // no menu should appear, when popup is opened
- return;
- }
- if(m_ContextMenu)
- {
- if(evas_object_visible_get(m_ContextMenu))
- {
- DBG("close contextual menu");
- elm_ctxpopup_dismiss(m_ContextMenu);
- }
- }
- if(m_Menu)
- {
- if(evas_object_visible_get(m_Menu))
- {
- DBG("close menu");
- elm_ctxpopup_dismiss(m_Menu);
- }
- else if(menu_cb)
- {
- DBG("call menu_cb");
- menu_cb(this);
- }
- }
- else if(menu_cb)
- {
- DBG("call menu_cb");
- menu_cb(this);
- }
- }
-}
diff --git a/lib/common/ViewData.cpp b/lib/common/ViewData.cpp
deleted file mode 100644
index be53cb4..0000000
--- a/lib/common/ViewData.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ViewData.h"
-
-namespace Common
-{
- ViewData::ViewData()
- : win(NULL), navi(NULL), layout(NULL),
- popup(NULL), m_Menu(NULL), m_ContextMenu(NULL), m_Widget(NULL),
- navi_item(NULL), th(NULL),
- ug(NULL), child_ug(NULL)
- {
- }
-}
diff --git a/lib/common/ViewManager.cpp b/lib/common/ViewManager.cpp
deleted file mode 100644
index ee211af..0000000
--- a/lib/common/ViewManager.cpp
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-#include "ViewManager.h"
-
-#include <efl_assist.h>
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-#include "View.h"
-
-namespace Common
-{
- ViewManager::ViewManager()
- : m_Layout(NULL)
- {
- PH_TRACE;
- }
-
- ViewManager::~ViewManager()
- {
- if(m_Layout)
- {
- evas_object_del(m_Layout);
- m_Layout = NULL;
- }
- }
-
- bool ViewManager::initialize(Evas_Object *win, Evas_Object *parent)
- {
- PH_TRACE;
- if(!parent || m_Layout)
- {
- return false;
- }
-
- m_Layout = elm_layout_add(parent);
- if(!m_Layout)
- {
- return false;
- }
-
- evas_object_size_hint_weight_set(m_Layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_layout_theme_set(m_Layout, "layout", "application", "default");
- evas_object_show(m_Layout);
-
- Evas_Object *bg = elm_bg_add(m_Layout);
- if(!bg)
- {
- evas_object_del(m_Layout);
- m_Layout = NULL;
- return false;
- }
-
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_content_set(m_Layout, "elm.swallow.bg", bg);
-
- navi = elm_naviframe_add(m_Layout);
- if(!navi)
- {
- evas_object_del(m_Layout);
- m_Layout = NULL;
- return false;
- }
-
- elm_naviframe_prev_btn_auto_pushed_set(navi, EINA_FALSE);
- elm_object_part_content_set(m_Layout, "elm.swallow.content", navi);
- evas_object_data_set(navi, "ViewManager", this);
- ea_object_event_callback_add(navi, EA_CALLBACK_BACK, &Common::ViewManager::onBack, win);
- ea_object_event_callback_add(navi, EA_CALLBACK_MORE, &Common::ViewManager::onMenu, NULL);
-
- return true;
- }
-
- Evas_Object * ViewManager::getContent() const
- {
- return m_Layout;
- }
-
- void ViewManager::push(View &view)
- {
- PH_TRACE;
- Elm_Object_Item *item = elm_naviframe_item_push(navi, view.getTitle().c_str(), NULL, NULL, view.getContent(), NULL);
- elm_object_item_data_set(item, &view);
- evas_object_event_callback_add(view.getContent(), EVAS_CALLBACK_DEL, onViewDestroy, &view);
- }
-
- void ViewManager::pop()
- {
- PH_TRACE;
- elm_naviframe_item_pop(navi);
- }
-
- void ViewManager::onBack(void *data, Evas_Object *obj, void *event)
- {
- PH_TRACE;
- if(!obj)
- {
- return;
- }
-
- Elm_Object_Item *top = elm_naviframe_top_item_get(obj);
-
- if(!top)
- {
- //naviframe is empty, nothing to handle
- return;
- }
-
- View *view = static_cast<View *>(elm_object_item_data_get(top));
- DBG("view = %p", view);
-
- if (view && view->onBack())
- {
- DBG("onBack handled");
- return;
- }
-
- //naviframe has only one item
- if (top == elm_naviframe_bottom_item_get(obj))
- {
- if(view && view->ug)
- {
- DBG("destroy self, removing view-callbacks");
- ea_object_event_callback_del(view->navi, EA_CALLBACK_BACK, &Common::ViewManager::onBack);
- ea_object_event_callback_del(view->navi, EA_CALLBACK_MORE, &Common::ViewManager::onMenu);
- ug_destroy_me(view->ug);
- }
- else if(data)
- {
- DBG("lower win");
- elm_win_lower(static_cast<Evas_Object *>(data));
- return;
- }
- }
- else
- {
- DBG("pop item");
- elm_naviframe_item_pop(obj);
- return;
- }
- }
-
- void ViewManager::onMenu(void *data, Evas_Object *obj, void *event)
- {
- PH_TRACE;
- if(!obj)
- {
- return;
- }
-
- Elm_Object_Item *top = elm_naviframe_top_item_get(obj);
-
- if(!top)
- {
- //naviframe is empty, nothing to handle
- return;
- }
-
- View *view = static_cast<View *>(elm_object_item_data_get(top));
-
- if (view)
- {
- view->onMenu();
- }
- }
-
- void ViewManager::onViewDestroy(void *data, Evas *e, Evas_Object *obj, void *event_info)
- {
- PH_TRACE;
- if(data)
- {
- delete static_cast<View *>(data);
- }
- }
-}
diff --git a/lib/common/ct-group-assign-popup.cpp b/lib/common/ct-group-assign-popup.cpp
deleted file mode 100644
index 1ffc47d..0000000
--- a/lib/common/ct-group-assign-popup.cpp
+++ /dev/null
@@ -1,431 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ct-group-assign-popup.h"
-
-#include <contacts.h>
-#include "ct-list.h"
-#include "phone.h"
-#include "phone-text.h"
-
-typedef struct
-{
- int id;
- const char *name;
- Eina_Bool is_assigned;
- Eina_Bool prev_assigned;
-} ct_group_assign_item;
-
-typedef struct
-{
- Evas_Object *win;
- Evas_Object *navi;
- Evas_Object *popup;
- Evas_Object *genlist;
-
- contacts_record_h contact;
- ct_assign_result_cb assign_cb;
- void *assign_cb_data;
-
- unsigned group_count;
- contacts_list_h group_list;
- ct_group_assign_item *items;
-} ct_group_assign_data;
-
-static void grp_assign_popup_destroy(ct_group_assign_data *cgassign_d);
-
-static contacts_list_h grp_assign_get_groups();
-static ct_group_assign_item * grp_assign_create_items(contacts_list_h groups, contacts_record_h contact);
-static void grp_assign_add_to_group(contacts_record_h contact, int group_id);
-static void grp_assign_remove_from_group(contacts_record_h contact, int group_id);
-
-static Evas_Object * grp_assign_create_popup(ct_group_assign_data *cgassign_d);
-static Evas_Object * grp_assign_create_genlist(ct_group_assign_data *cgassign_d);
-
-static void grp_assign_gl_fill(ct_group_assign_data *cgassign_d);
-static void grp_assign_gl_sel_cb(void *data, Evas_Object *obj, void *event_info);
-static char * grp_assign_gl_label_get(void *data, Evas_Object *obj, const char *part);
-static Evas_Object * grp_assign_gl_icon_get(void *data, Evas_Object *obj, const char *part);
-
-static void grp_assign_ok_cb(void *data, Evas_Object *obj, void *event_info);
-static void grp_assign_create_cb(void *data, Evas_Object *obj, void *event_info);
-static void grp_assign_group_created_cb(int group_id, void *data, bool changed);
-static void grp_assign_popup_destroy_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
-
-Evas_Object * ct_group_assign_popup_create(Evas_Object *win, Evas_Object *navi,
- contacts_record_h contact, ct_assign_result_cb assign_cb, void *assign_cb_data)
-{
- PH_TRACE;
- p_retvm_if(NULL == win, NULL, "win is NULL");
- p_retvm_if(NULL == navi, NULL, "navi is NULL");
- p_retvm_if(NULL == contact, NULL, "contact is NULL");
-
- unsigned count = 0;
- contacts_list_h groups = NULL;
- ct_group_assign_item *items = NULL;
- ct_group_assign_data *cgassign_d = NULL;
-
- groups = grp_assign_get_groups();
- items = grp_assign_create_items(groups, contact);
- if(!items)
- {
- if(groups)
- {
- contacts_list_destroy(groups, true);
- }
-
- return NULL;
- }
-
- contacts_list_get_count(groups, &count);
-
- cgassign_d = (ct_group_assign_data *) calloc(1, sizeof(ct_group_assign_data));
- cgassign_d->win = win;
- cgassign_d->navi = navi;
- cgassign_d->contact = contact;
- cgassign_d->assign_cb = assign_cb;
- cgassign_d->assign_cb_data = assign_cb_data;
- cgassign_d->group_count = count;
- cgassign_d->group_list = groups;
- cgassign_d->items = items;
-
- cgassign_d->popup = grp_assign_create_popup(cgassign_d);
- if(!cgassign_d->popup)
- {
- grp_assign_popup_destroy(cgassign_d);
- return NULL;
- }
-
- cgassign_d->genlist = grp_assign_create_genlist(cgassign_d);
- if(!cgassign_d->genlist)
- {
- evas_object_del(cgassign_d->popup);
- return NULL;
- }
-
- grp_assign_gl_fill(cgassign_d);
-
- return cgassign_d->popup;
-}
-
-static void grp_assign_popup_destroy(ct_group_assign_data *cgassign_d)
-{
- p_retm_if(NULL == cgassign_d, "cgassign_d is NULL");
-
- if(cgassign_d->items)
- {
- free(cgassign_d->items);
- }
-
- if(cgassign_d->group_list)
- {
- contacts_list_destroy(cgassign_d->group_list, true);
- }
-
- free(cgassign_d);
-}
-
-static contacts_list_h grp_assign_get_groups()
-{
- PH_TRACE;
- static unsigned props[] =
- {
- _contacts_group.id,
- _contacts_group.name,
- _contacts_group.extra_data
- };
-
- contacts_query_h query = NULL;
- contacts_list_h list = NULL;
- if(contacts_query_create(_contacts_group._uri, &query) == CONTACTS_ERROR_NONE)
- {
- contacts_query_set_projection(query, props, ARRAY_SIZE(props));
- contacts_db_get_records_with_query(query, 0, 0, &list);
- contacts_query_destroy(query);
- }
-
- return list;
-}
-
-static ct_group_assign_item * grp_assign_create_items(contacts_list_h groups, contacts_record_h contact)
-{
- PH_TRACE;
- p_retvm_if(NULL == groups, NULL, "groups is NULL");
- p_retvm_if(NULL == contact, NULL, "contact is NULL");
-
- unsigned group_count = 0;
- unsigned rel_count = 0;
- contacts_record_h group = NULL;
- ct_group_assign_item *items = NULL;
- ct_group_assign_item *item = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- err = contacts_list_get_count(groups, &group_count);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_list_get_count() Failed(%d)", err);
-
- err = contacts_record_get_child_record_count(contact,
- _contacts_contact.group_relation, &rel_count);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_record_get_child_record_count() Failed(%d)", err);
-
- items = (ct_group_assign_item *) calloc(group_count, sizeof(ct_group_assign_item));
- item = items;
-
- CONTACTS_LIST_FOREACH(groups, group)
- {
- contacts_record_get_int(group, _contacts_group.id, &item->id);
- item->name = phone_get_group_name(group);
-
- for(unsigned i = 0; i < rel_count; ++i)
- {
- contacts_record_h rel = NULL;
- int group_id = 0;
-
- contacts_record_get_child_record_at_p(contact, _contacts_contact.group_relation, i, &rel);
- contacts_record_get_int(rel, _contacts_group_relation.group_id, &group_id);
- if(group_id == item->id)
- {
- item->prev_assigned = item->is_assigned = true;
- break;
- }
- }
-
- ++item;
- }
- contacts_list_first(groups);
-
- return items;
-}
-
-static void grp_assign_add_to_group(contacts_record_h contact, int group_id)
-{
- PH_TRACE;
- p_retm_if(NULL == contact, "contact is NULL");
- p_retm_if(group_id < 1, "invalid group ID");
-
- contacts_record_h record = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- err = contacts_record_create(_contacts_group_relation._uri, &record);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record, _contacts_group_relation.group_id,
- group_id);
- if(CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_set_int() Failed(%d)", err);
- contacts_record_destroy(record, true);
- return;
- }
-
- err = contacts_record_add_child_record(contact,
- _contacts_contact.group_relation, record);
- if(CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_add_child_record() Failed(%d)", err);
- contacts_record_destroy(record, true);
- return;
- }
-}
-
-static void grp_assign_remove_from_group(contacts_record_h contact, int group_id)
-{
- PH_TRACE;
- p_retm_if(NULL == contact, "contact is NULL");
- p_retm_if(group_id < 1, "invalid group ID");
-
- unsigned rel_count = 0;
- int err = CONTACTS_ERROR_NONE;
-
- err = contacts_record_get_child_record_count(contact,
- _contacts_contact.group_relation, &rel_count);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_child_record_count() Failed(%d)", err);
-
- for(unsigned i = 0; i < rel_count; ++i)
- {
- contacts_record_h rel = NULL;
- int id = 0;
-
- contacts_record_get_child_record_at_p(contact, _contacts_contact.group_relation, i, &rel);
- contacts_record_get_int(rel, _contacts_group_relation.group_id, &id);
- if(id == group_id)
- {
- contacts_record_remove_child_record(contact, _contacts_contact.group_relation, rel);
- break;
- }
- }
-}
-
-static Evas_Object * grp_assign_create_popup(ct_group_assign_data *cgassign_d)
-{
- PH_TRACE;
- p_retvm_if(NULL == cgassign_d, NULL, "cgassign_d is NULL");
-
- Evas_Object *popup = elm_popup_add(cgassign_d->navi);
- p_retvm_if(NULL == popup, NULL, "elm_popup_add() failed");
-
- bool success = phone_popup_add_button(popup, S_(PH_SYS_SK_CANCEL),
- NULL, NULL) != NULL
- && phone_popup_add_button(popup, S_(PH_SYS_SK_OK),
- grp_assign_ok_cb, cgassign_d) != NULL
- && phone_popup_add_button(popup, S_(CT_SYS_BODY_CREATE),
- grp_assign_create_cb, cgassign_d) != NULL;
-
- if(!success)
- {
- evas_object_del(popup);
- return NULL;
- }
-
- elm_object_style_set(popup, "content_no_vhpad");
- evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
- grp_assign_popup_destroy_cb, cgassign_d);
- evas_object_show(popup);
-
- return popup;
-}
-
-static Evas_Object * grp_assign_create_genlist(ct_group_assign_data *cgassign_d)
-{
- PH_TRACE;
- p_retvm_if(NULL == cgassign_d, NULL, "cgassign_d is NULL");
-
- Evas_Object *genlist = elm_genlist_add(cgassign_d->popup);
- p_retvm_if(NULL == genlist, NULL, "elm_genlist_add() failed");
-
- elm_object_content_set(cgassign_d->popup, genlist);
- evas_object_smart_callback_add(genlist, "selected", grp_assign_gl_sel_cb, cgassign_d);
-
- return genlist;
-}
-
-static void grp_assign_gl_fill(ct_group_assign_data *cgassign_d)
-{
- PH_TRACE;
- Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
- itc->item_style = "1text.1icon.2/popup";
- itc->func.text_get = grp_assign_gl_label_get;
- itc->func.content_get = grp_assign_gl_icon_get;
-
- ct_group_assign_item *item = cgassign_d->items;
- ct_group_assign_item *end = item + cgassign_d->group_count;
- for(; item != end; ++item)
- {
- elm_genlist_item_append(cgassign_d->genlist, itc, item,
- NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- }
-
- elm_genlist_item_class_free(itc);
-}
-
-static void grp_assign_gl_sel_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == event_info, "event_info is NULL");
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- Evas_Object *check = elm_object_item_part_content_get(item, "elm.icon");
-
- elm_check_state_set(check, !elm_check_state_get(check));
- elm_genlist_item_selected_set(item, EINA_FALSE);
-}
-
-static char * grp_assign_gl_label_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, NULL, "data is NULL");
- ct_group_assign_item *group = (ct_group_assign_item *) data;
- return strdup(group->name);
-}
-
-static Evas_Object * grp_assign_gl_icon_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, NULL, "data is NULL");
- ct_group_assign_item *group = (ct_group_assign_item *) data;
-
- Evas_Object *check = elm_check_add(obj);
- evas_object_propagate_events_set(check, EINA_FALSE);
- elm_check_state_set(check, group->is_assigned);
- elm_check_state_pointer_set(check, &group->is_assigned);
- return check;
-}
-
-static void grp_assign_ok_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_group_assign_data *cgassign_d = (ct_group_assign_data *) data;
-
- int contact_id = 0;
- ct_group_assign_item *item = cgassign_d->items;
- ct_group_assign_item *end = item + cgassign_d->group_count;
-
- contacts_record_get_int(cgassign_d->contact, _contacts_contact.id, &contact_id);
-
- for(; item != end; ++item)
- {
- if(item->is_assigned != item->prev_assigned)
- {
- if(item->is_assigned)
- {
- grp_assign_add_to_group(cgassign_d->contact, item->id);
- }
- else
- {
- grp_assign_remove_from_group(cgassign_d->contact, item->id);
- }
- }
- }
-
- if(cgassign_d->assign_cb)
- {
- cgassign_d->assign_cb(cgassign_d->assign_cb_data);
- }
-}
-
-static void grp_assign_create_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_group_assign_data *cgassign_d = (ct_group_assign_data *) data;
-
- ctui_create_group_input_view(cgassign_d->win, cgassign_d->navi, NULL,
- grp_assign_group_created_cb, cgassign_d);
-}
-
-static void grp_assign_group_created_cb(int group_id, void *data, bool changed)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_group_assign_data *cgassign_d = (ct_group_assign_data *) data;
-
- grp_assign_add_to_group(cgassign_d->contact, group_id);
- if(cgassign_d->assign_cb)
- {
- cgassign_d->assign_cb(cgassign_d->assign_cb_data);
- }
-}
-
-static void grp_assign_popup_destroy_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_group_assign_data *cgassign_d = (ct_group_assign_data *) data;
- grp_assign_popup_destroy(cgassign_d);
-}
diff --git a/lib/common/ct-group-input-view.cpp b/lib/common/ct-group-input-view.cpp
deleted file mode 100755
index aae4615..0000000
--- a/lib/common/ct-group-input-view.cpp
+++ /dev/null
@@ -1,1653 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <vconf.h>
-#include <vconf-keys.h>
-#include <Ecore_X.h>
-#include <unicode/ucol.h>
-#include <app_service.h>
-#include "phone.h"
-#include "phone-common.h"
-#include "ui/genlist/genlist.h"
-#include "ui/genlist/item.h"
-
-#include "ct-list.h"
-#include "ct-group.h"
-
-static const char *ELM_TEXT = "elm.text";
-static const char *ELM_ICON = "elm.icon";
-
-typedef struct : public Common::View
-{
- Evas_Object *genlist;
- Evas_Object *entry;
- Elm_Object_Item *ab_gen_item;
- Elm_Object_Item *vibration_gen_item;
- Elm_Object_Item *ringtone_gen_item;
- Elm_Object_Item *image_item;
- Elm_Object_Item *group_member_item;
- Evas_Object *done_button;
- Evas_Object *navi_it_pop_to;
- Ecore_Event_Handler *win_prop_change;
- bool camera_service_launched;
- ct_group_input_result_cb result_cb;
- void *result_cb_data;
- void *crop_ug;
- int id_ab;
- char *ab_name;
- char *gname_old;
- char *gname;
- char *img;
- char *ringtone;
- char *vibration;
- int id_grp;
- bool editgroup;
- bool err;
- bool is_read_only;
- Eina_List *member_list;
-} ct_group_input_data;
-
-enum GINPUT_ITC_TYPE
-{
- GINPUT_ITC_GROUP_IMAGE,
- GINPUT_ITC_GROUP_CREATE,
- GINPUT_ITC_GROUP_VIBRATION,
- GINPUT_ITC_GROUP_RINGTON,
- GINPUT_ITC_ADDRBOOK,
- GINPUT_ITC_LINE,
- GINPUT_ITC_GROUP_MEMBERS,
- GINPUT_ITC_GROUP_LIST_ITEM,
-};
-
-static Elm_Genlist_Item_Class group_input_itcs[] =
-{
- {
- 0, 0, 1, "image_layout", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "dialogue/1icon", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "dialogue/2text.3", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "dialogue/2text.3", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "dialogue/2text.3", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "dialogue/separator/1/with_line", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "1text.1icon", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "dialogue/1text.1icon.2", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
-};
-
-int group_input_get_member_list(int group_id, Eina_List **list);
-
-static int group_input_group_update(ct_group_input_data *cgroup_input_d)
-{
- PH_TRACE;
- int ret = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- contacts_record_h group_record = NULL;
- contacts_list_h group_list = NULL;
- unsigned int count = 0;
-
- ret = phone_cts_get_list(_contacts_group._uri,
- _contacts_group.address_book_id, cgroup_input_d->id_ab,
- &group_list);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "phone_cts_get_list() Failed(%d)", ret);
-
- ret = contacts_list_get_count(group_list, &count);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_list_get_count() Failed(%d)", ret);
- if (count > 0)
- { //when default group removed error
- if (cgroup_input_d->editgroup == false)
- {
- ret = contacts_list_get_current_record_p(group_list, &record);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_list_get_current_record_p() Failed(%d)", ret);
- while (record)
- {
- char* group_name = NULL;
- ret = contacts_record_get_str_p(record, _contacts_group.name,
- &group_name);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_record_get_str_p() Failed(%d)", ret);
- if (strcmp(cgroup_input_d->gname, group_name) == 0)
- {
- ret = -1;
- contacts_list_destroy(group_list, true);
- PH_DBG("create group :cgroup_input_d->id_grp =&d",
- cgroup_input_d->id_grp);
- return ret;
- }
- ret = contacts_list_next(group_list);
- if (CONTACTS_ERROR_NO_DATA == ret)
- break;
- else
- {
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_list_next() Failed(%d)", ret);
- }
- ret = contacts_list_get_current_record_p(group_list, &record);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_list_get_current_record_p() Failed(%d)", ret);
- }
- }
- else
- {
- ret = contacts_list_get_current_record_p(group_list, &record);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_list_get_current_record_p() Failed(%d)", ret);
- while (record)
- {
- char* group_name;
- ret = contacts_record_get_str(record, _contacts_group.name,
- &group_name);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_record_get_str() Failed(%d)", ret);
- if (strcmp(cgroup_input_d->gname, group_name) == 0)
- {
- int group_id;
- ret = contacts_record_get_int(record, _contacts_group.id,
- &group_id);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_record_get_int() Failed(%d)", ret);
- if (group_id != cgroup_input_d->id_grp)
- {
- ret = -1;
- contacts_list_destroy(group_list, true);
- PH_DBG("group id = %d,cgroup_input_d->id_grp =&d",
- group_id, cgroup_input_d->id_grp);
- return ret;
- }
- }
- ret = contacts_list_next(group_list);
- if (CONTACTS_ERROR_NONE != ret)
- break;
- ret = contacts_list_get_current_record_p(group_list, &record);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_list_get_current_record_p() Failed(%d)", ret);
-
- }
- }
- }
- if (cgroup_input_d->editgroup == true)
- {
- ret = contacts_db_get_record(_contacts_group._uri,
- cgroup_input_d->id_grp, &group_record);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_db_get_record() Failed(%d)", ret);
- }
- else
- {
- ret = contacts_record_create(_contacts_group._uri, &group_record);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_record_create() Failed(%d)", ret);
- }
-
- ret = contacts_record_set_str(group_record, _contacts_group.name,
- cgroup_input_d->gname);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_record_set_str() Failed(%d)", ret);
-
- ret = contacts_record_set_str(group_record, _contacts_group.image_path,
- cgroup_input_d->img);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_record_set_str() Failed(%d)", ret);
- PH_DBG("cgroup_input_d->img = %s", cgroup_input_d->img);
-
- ret = contacts_record_set_str(group_record, _contacts_group.ringtone_path,
- cgroup_input_d->ringtone);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_record_set_str() Failed(%d)", ret);
-
- ret = contacts_record_set_str(group_record, _contacts_group.vibration,
- cgroup_input_d->vibration);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_record_set_str() Failed(%d)", ret);
-
- if (cgroup_input_d->editgroup == true)
- {
- ret = contacts_db_update_record(group_record);
- PH_DBG("cgroup_input_d->id_grp = %d", cgroup_input_d->id_grp);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_db_update_record() Failed(%d)", ret);
- }
- else
- {
- ret = contacts_db_insert_record(group_record, &cgroup_input_d->id_grp);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_db_insert_record() Failed(%d)", ret);
- }
-
- Eina_List *remove_list = NULL;
- group_input_get_member_list(cgroup_input_d->id_grp, &remove_list);
-
- ctui_list_update_group_list_without_progressbar(cgroup_input_d->navi,
- cgroup_input_d->id_grp, cgroup_input_d->member_list, remove_list);
-
- ret = contacts_record_destroy(group_record, true);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_record_destroy() Failed(%d)", ret);
-
- ret = contacts_list_destroy(group_list, true);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_list_destroy() Failed(%d)", ret);
-
- return ret;
-
-}
-
-/**
- * @brief handle error state when save button pressed
- * @param[in] ret error code
- * @param[in] text current text inside control.
- * @param[out] cgroup_input_d structure with ui controls and current state, old text saved here.
- */
-static void handle_save_btn_error(int ret, const char *text, ct_group_input_data *cgroup_input_d)
-{
- PH_TRACE;
- bool isCorrectParameters = (cgroup_input_d != NULL && cgroup_input_d->entry != NULL && text != NULL);
-
- Evas_Object* entry = cgroup_input_d->entry ;
-
- if (!isCorrectParameters)
- {
- PH_DBG("Error: incorrect parameters \n");
- return;
- }
-
- std::string err_msg;
-
- cgroup_input_d->err = true;
- if (cgroup_input_d->gname_old)
- {
- FREEandSTRDUP(cgroup_input_d->gname_old, text);
- }
- else
- {
- cgroup_input_d->gname_old = strdup(text);
- }
-
- switch (ret)
- {
- case CONTACTS_ERROR_NO_DATA:
- {
- err_msg = T_(CT_GET_TEXT_ERR, CTTEXT_ERR_DB_LOCKED);
- break;
- }
- case CONTACTS_ERROR_FILE_NO_SPACE:
- {
- err_msg = S_(CT_SYS_POP_NOT_ENOUGH_MEMORY);
- break;
- }
- case -1:
- {
- err_msg = T_(CT_GET_TEXT_ERR, CTTEXT_ALREADY_EXIST);
- break;
- }
- default:
- {
- err_msg = S_(PH_SYS_POP_FAILED);
- break;
- }
- }
-
-
- err_msg = "<color=#FF0000>" + err_msg + "</>";
- elm_entry_entry_set(entry, err_msg.c_str());
-
- if (NULL != cgroup_input_d->done_button)
- {
- elm_object_disabled_set(cgroup_input_d->done_button, EINA_TRUE);
- }
-}
-
-
-static void group_input_save_btn_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
-
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
- bool isCorrectParameters = (NULL != cgroup_input_d && NULL != cgroup_input_d->entry);
- p_retm_if(!isCorrectParameters, "incorrect parameters");
-
- Evas_Object *entry = cgroup_input_d->entry;
- char *text = ctui_entry_markup_to_utf8(elm_entry_entry_get(entry));
- p_retm_if(NULL == text, "ctui_entry_markup_to_utf8() return NULL");
- cgroup_input_d->gname = SAFE_STRDUP(text);
-
- int ret = group_input_group_update(cgroup_input_d);
- if (ret != CONTACTS_ERROR_NONE)
- {
- handle_save_btn_error(ret, text, cgroup_input_d);
- free(text);
- return;
- }
- free(text);
-
- if (cgroup_input_d->result_cb)
- cgroup_input_d->result_cb(cgroup_input_d->id_grp, cgroup_input_d->result_cb_data,
- false);
-
- Evas_Object *navi_it_pop_to = (Evas_Object *) evas_object_data_get(cgroup_input_d->navi, "navi_it_pop");
- if (navi_it_pop_to)
- { // group - create/edit - assign member
- evas_object_data_del(cgroup_input_d->navi, "navi_it_pop");
- }
- else
- { // group detail - add member
- evas_object_data_del(cgroup_input_d->navi, "navi_it_pop");
- }
-}
-
-static void group_input_popup_hide_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
- evas_object_del(cgroup_input_d->popup);
- cgroup_input_d->popup = NULL;
- elm_object_tree_focus_allow_set(cgroup_input_d->navi, EINA_TRUE);
-}
-
-static void group_input_ab_popup_item_sel_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
- ct_ab_popup_data *ab_popup_data;
- char account_name[PH_TEXT_MAX_LEN + 1];
- char temp[PH_TEXT_MAX_LEN + 1];
-
- group_input_popup_hide_cb(cgroup_input_d, NULL, NULL);
-
- ab_popup_data = (ct_ab_popup_data *) elm_object_item_data_get((const Elm_Object_Item *) event_info);
- p_retm_if(NULL == ab_popup_data, "elm_object_item_data_get() return NULL");
-
- if (cgroup_input_d->id_ab == ab_popup_data->id)
- return;
-
- cgroup_input_d->id_ab = ab_popup_data->id;
-
- if (ab_popup_data->id)
- {
- ctui_get_addressbook_name(ab_popup_data->id, account_name,
- sizeof(account_name));
- snprintf(temp, sizeof(temp), "%s(%s)", account_name,
- ab_popup_data->name);
- }
- else
- {
- snprintf(temp, sizeof(temp), "%s", T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE));
- }
- free(cgroup_input_d->ab_name);
- cgroup_input_d->ab_name = strdup(temp);
- elm_genlist_item_update(cgroup_input_d->ab_gen_item);
-
- // FIXME : push contact list view to select contacts added to the created group
-}
-
-static void group_input_gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- Evas_Object *popup;
- Evas_Object *btn;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
-
- if (elm_genlist_item_flip_get(item))
- return;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- popup = ctui_addrbook_popup(cgroup_input_d->win,
- group_input_ab_popup_item_sel_cb, cgroup_input_d,
- CT_AB_POPUP_TYPE_GINPUT_VIEW);
- p_retm_if(NULL == popup, "ctui_addrbook_popup() return NULL");
- elm_object_part_text_set(popup, "title,text",
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_SAVE_TO));
-
- btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_POP_CLOSE));
- elm_object_part_content_set(popup, "button1", btn);
- elm_object_style_set(btn, "popup_button/default");
- evas_object_smart_callback_add(btn, CLICKED, group_input_popup_hide_cb,
- cgroup_input_d);
-
- elm_object_tree_focus_allow_set(cgroup_input_d->navi, EINA_FALSE);
- cgroup_input_d->popup = popup;
-}
-static void group_input_setting_ringtone_result(ui_gadget_h ug, service_h service, void *data)
-{
- PH_TRACE;
- assert(ug);
- assert(data);
- if (NULL != ug && NULL != data)
- {
- ct_group_input_data *cgroup_input_d = static_cast<ct_group_input_data *>(data);
-
- if (NULL != cgroup_input_d->done_button)
- {
- elm_object_disabled_set(cgroup_input_d->done_button, EINA_FALSE);
- }
-
- if (service)
- {
- char *val = NULL;
- service_get_extra_data(service, "result", &val);
- if (NULL != val)
- {
- FREEandSTRDUP(cgroup_input_d->ringtone, val);
- free(val);
- }
- else
- {
- ERR("group_input_setting_ringtone_result() Failed: %s", "return value is NULL");
- return;
- }
- }
- elm_genlist_item_update(cgroup_input_d->ringtone_gen_item);
- }
- else
- {
- ERR("group_input_setting_ringtone_result() Failed: %s", "ug or data is NULL");
- }
-}
-static void group_input_child_ug_destroy(ui_gadget_h ug, void *priv)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) priv;
-
- p_retm_if(NULL == ug, "ug is NULL");
-
- elm_object_tree_focus_allow_set(cgroup_input_d->navi, EINA_TRUE);
-
- if (cgroup_input_d->child_ug)
- {
- ug_destroy(cgroup_input_d->child_ug);
- cgroup_input_d->child_ug = NULL;
- }
-}
-
-/*
- static void group_input_gl_vibration_sel(void *data, Evas_Object *obj, void *event_info)
- {
- PH_TRACE;
- //ToDo can not use a setting vibration view yet
- return;
- }
- */
-
-static void group_input_gl_ringtone_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
-
- if(cgroup_input_d->entry)
- {
- char* text = NULL;
- text = ctui_entry_markup_to_utf8(elm_entry_entry_get(cgroup_input_d->entry));
- if(text)
- {
- free(cgroup_input_d->gname);
- cgroup_input_d->gname = text;
- }
- }
-
- if (elm_genlist_item_flip_get(item))
- return;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
- struct ug_cbs cbs = { 0 };
-
- service_h service;
-
- service_create(&service);
- service_add_extra_data(service, "path", "/opt/share/settings/Ringtones");
- service_add_extra_data(service, "select_type", "SINGLE_FILE");
- service_add_extra_data(service, "file_type", "SOUND");
- if (cgroup_input_d->ringtone)
- service_add_extra_data(service, "marked_mode",
- cgroup_input_d->ringtone);
-
- cbs.result_cb = group_input_setting_ringtone_result;
- cbs.destroy_cb = group_input_child_ug_destroy;
- cbs.layout_cb = ug_common_layout_cb;
- cbs.priv = cgroup_input_d;
-
- cgroup_input_d->child_ug = ug_create(cgroup_input_d->ug, MYFILES_UG,
- UG_MODE_FULLVIEW, service, &cbs);
- p_warn_if(NULL == cgroup_input_d->child_ug, "ug_create() Failed");
- elm_object_tree_focus_allow_set(cgroup_input_d->navi, EINA_FALSE);
- service_destroy(service);
-}
-
-static void group_input_gl_group_list_item_on_realized(ui_genlist_item *item)
-{
- PH_TRACE;
- p_retm_if(NULL == item, "parameter(item) is NULL");
- elm_object_item_signal_emit(item->object_item, "elm,state,edit,enabled", "");
-}
-
-static ui_genlist_item *group_input_gl_group_list_item_create(ct_person_list *person_info, Eina_List **group_list, Evas_Object *save_button)
-{
- PH_TRACE;
- bool isCorrectParameters = (NULL != person_info && NULL != group_list && NULL != *group_list);
- p_retvm_if(!isCorrectParameters, NULL, "incorrect parameters");
-
- ui_genlist_item *item = ui_genlist_item_create();
- p_retvm_if(NULL == item, NULL, "item is NULL");
- item->on_realized = group_input_gl_group_list_item_on_realized;
- item->item_list = group_list;
- item->data = person_info;
- item->save_button = save_button;
-
- return item;
-}
-
-static int group_input_list_sort_cb(const void *data1, const void *data2)
-{
- PH_TRACE;
- p_retvm_if(NULL == data1, UCOL_LESS, "parameter(data1) is NULL");
- p_retvm_if(NULL == data2, UCOL_GREATER, "parameter(data2) is NULL");
- ct_person_list *person_info = (ct_person_list *) data1;
- ct_person_list *person_info2 = (ct_person_list *) data2;
- p_retvm_if(NULL == person_info->display, UCOL_LESS, "person_info->display is NULL");
- p_retvm_if(NULL == person_info2->display, UCOL_GREATER, "person_info2->display is NULL");
-
- UErrorCode status = U_ZERO_ERROR;
- int res = 0;
- UCollator* collator = ucol_open("", &status);
- if (U_SUCCESS(status))
- {
- UCharIterator iterA;
- UCharIterator iterB;
- uiter_setUTF8(&iterA, person_info->display, strlen(person_info->display));
- uiter_setUTF8(&iterB, person_info2->display, strlen(person_info2->display));
-
- res = ucol_strcollIter(collator, &iterA, &iterB, &status);
- ucol_close(collator);
- }
- return res;
-}
-
-static Eina_Bool group_input_add_member_cb(void *data, Elm_Object_Item *it)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, false, "data is NULL");
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
-
- Elm_Object_Item *last_item = elm_genlist_last_item_get(cgroup_input_d->genlist);
- while(cgroup_input_d->group_member_item != last_item)
- {
- elm_object_item_del(last_item);
- last_item = elm_genlist_last_item_get(cgroup_input_d->genlist);
- }
-
- PH_DBG("cgroup_input_d->member_list = %p", cgroup_input_d->member_list);
- if (cgroup_input_d->member_list)
- {
- cgroup_input_d->member_list = eina_list_sort(cgroup_input_d->member_list,
- eina_list_count(cgroup_input_d->member_list), group_input_list_sort_cb);
-
- Eina_List* l = NULL;
- void *p_info = NULL;
- EINA_LIST_FOREACH(cgroup_input_d->member_list, l, p_info)
- {
- ct_person_list *person_info = (ct_person_list *) p_info;
- ui_genlist_item *item = group_input_gl_group_list_item_create(person_info,
- &cgroup_input_d->member_list, cgroup_input_d->done_button);
- item->object_item = elm_genlist_item_append(cgroup_input_d->genlist,
- &group_input_itcs[GINPUT_ITC_GROUP_LIST_ITEM], item,
- NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item->object_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- }
- }
-
- if (cgroup_input_d->gname)
- {
- if (*cgroup_input_d->gname)
- {
- elm_object_disabled_set(cgroup_input_d->done_button, false);
- }
- }
- return true;
-}
-
-static void group_input_fill_genlist(ct_group_input_data *cgroup_input_d)
-{
- PH_TRACE;
- Elm_Object_Item * item;
-
- item = elm_genlist_item_append(cgroup_input_d->genlist,
- &group_input_itcs[GINPUT_ITC_GROUP_IMAGE], cgroup_input_d, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- cgroup_input_d->image_item = item;
-
- item = elm_genlist_item_append(cgroup_input_d->genlist,
- &group_input_itcs[GINPUT_ITC_LINE], cgroup_input_d, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- item = elm_genlist_item_append(cgroup_input_d->genlist,
- &group_input_itcs[GINPUT_ITC_GROUP_CREATE], cgroup_input_d, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
-// item = elm_genlist_item_append(cgroup_input_d->genlist, &group_input_itcs[GINPUT_ITC_GROUP_VIBRATION], cgroup_input_d, NULL,
-// ELM_GENLIST_ITEM_NONE, group_input_gl_sel, cgroup_input_d);
-// cgroup_input_d->vibration_gen_item = item; can not use a setting vibration view yet.
-
- item = elm_genlist_item_append(cgroup_input_d->genlist,
- &group_input_itcs[GINPUT_ITC_GROUP_RINGTON], cgroup_input_d, NULL,
- ELM_GENLIST_ITEM_NONE, group_input_gl_ringtone_sel, cgroup_input_d);
- cgroup_input_d->ringtone_gen_item = item;
-
- item = elm_genlist_item_append(cgroup_input_d->genlist,
- &group_input_itcs[GINPUT_ITC_ADDRBOOK], cgroup_input_d, NULL,
- ELM_GENLIST_ITEM_NONE, group_input_gl_sel, cgroup_input_d);
- cgroup_input_d->ab_gen_item = item;
- if (cgroup_input_d->is_read_only == true)
- elm_object_item_disabled_set(item, EINA_TRUE);
-
- cgroup_input_d->group_member_item = elm_genlist_item_append(cgroup_input_d->genlist,
- &group_input_itcs[GINPUT_ITC_GROUP_MEMBERS], cgroup_input_d, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(cgroup_input_d->group_member_item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- group_input_add_member_cb(cgroup_input_d, NULL);
-}
-
-static char* group_input_gl_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
- const char *display;
-
- if (!strcmp(part, "elm.text.1"))
- return strdup(T_(CT_GET_TEXT_BASE_OP, CTTEXT_SAVE_TO));
- else if (!strcmp(part, "elm.text.2"))
- {
- if (cgroup_input_d && 0 == cgroup_input_d->id_ab)
- display = S_(CT_SYS_BODY_PHONE);
- else if (cgroup_input_d && cgroup_input_d->ab_name)
- display = cgroup_input_d->ab_name;
- else
- display = S_(PH_SYS_BODY_UNKNOWN);
- return SAFE_STRDUP(display);
- }
- return NULL;
-}
-static char* group_input_gl_vibration_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
- const char *display;
-
- if (!strcmp(part, "elm.text.1"))
- return strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_VIBRATION_PATTERN));
- else if (!strcmp(part, "elm.text.2"))
- {
- if (cgroup_input_d && 0 == cgroup_input_d->id_ab)
- display = T_(CT_GET_TEXT_BASIC, CTTEXT_DEFAULT);
- else if (cgroup_input_d && cgroup_input_d->vibration)
- display = strrchr(cgroup_input_d->vibration, '/') + 1;
- else
- display = S_(PH_SYS_BODY_UNKNOWN);
- return SAFE_STRDUP(display);
- }
- return NULL;
-}
-static char* group_input_gl_ringtone_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
- const char *display;
-
- if (!strcmp(part, "elm.text.1"))
- return strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_RINGTONE));
- else if (!strcmp(part, "elm.text.2"))
- {
- if (cgroup_input_d && cgroup_input_d->ringtone == NULL)
- display = T_(CT_GET_TEXT_BASIC, CTTEXT_DEFAULT);
- else if (cgroup_input_d && cgroup_input_d->ringtone)
- {
- display = strrchr(cgroup_input_d->ringtone, '/') + 1;
- }
- else
- display = S_(PH_SYS_BODY_UNKNOWN);
- return SAFE_STRDUP(display);
- }
- return NULL;
-}
-static void group_input_entry_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char *text;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
-
- p_retm_if(NULL == cgroup_input_d || NULL == obj, "group_input_entry_changed_cb incorrect params");
-
- text = ctui_entry_markup_to_utf8(elm_entry_entry_get(obj));
- p_retm_if(NULL == text, "ctui_entry_markup_to_utf8() return NULL");
-
- if (cgroup_input_d->err)
- {
- elm_entry_entry_set(cgroup_input_d->entry, "");
- cgroup_input_d->err = false;
- free(text);
- return;
- }
-
- if (*text)
- {
- elm_object_disabled_set(cgroup_input_d->done_button, EINA_FALSE);
- }
- else
- {
- elm_object_disabled_set(cgroup_input_d->done_button, EINA_TRUE);
- }
- free(text);
-}
-
-static void group_input_entry_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
-
- if (NULL != cgroup_input_d->child_ug)
- elm_object_tree_focus_allow_set(cgroup_input_d->navi, EINA_FALSE);
- p_retm_if(NULL == cgroup_input_d->gname_old,
- "cgroup_input_d->gname_old is NULL");
-
- if (cgroup_input_d->err == true)
- {
- ctui_entry_entry_set(obj, cgroup_input_d->gname_old);
- cgroup_input_d->err = false;
- }
-
- elm_entry_cursor_end_set(obj);
-}
-
-static void group_input_src_ug_destroy(ui_gadget_h ug, void *priv)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) priv;
-
- p_retm_if(NULL == ug, "ug is NULL");
-
- elm_object_tree_focus_allow_set(cgroup_input_d->navi, EINA_TRUE);
-
- if (NULL == cgroup_input_d->crop_ug)
- {
- ug_destroy(cgroup_input_d->child_ug);
- cgroup_input_d->child_ug = NULL;
- }
-}
-
-static void group_input_crop_ug_destroy(ui_gadget_h ug, void *priv)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) priv;
-
- p_retm_if(NULL == ug, "ug is NULL");
-
- elm_object_tree_focus_allow_set(cgroup_input_d->navi, EINA_TRUE);
-
- if (cgroup_input_d->crop_ug)
- {
- ug_destroy(ug);
- cgroup_input_d->crop_ug = NULL;
- }
- if (cgroup_input_d->child_ug)
- {
- ug_destroy(cgroup_input_d->child_ug);
- cgroup_input_d->child_ug = NULL;
- }
-}
-
-static void group_input_image_crop_result(ui_gadget_h ug, service_h service,
- void *data)
-{
- PH_TRACE;
- char *img = NULL;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
-
- p_retm_if(NULL == ug || NULL == data, "ug or data is NULL");
-
- if (service)
- {
- service_get_extra_data(service, "crop_image_path", &img);
- p_retm_if(!img, "return value is NULL.\n");
- PH_DBG("img = %s", img);
- FREEandSTRDUP(cgroup_input_d->img, img);
- free(img);
- elm_genlist_item_update(cgroup_input_d->image_item);
- }
-
- elm_object_tree_focus_allow_set(cgroup_input_d->navi, EINA_TRUE);
-}
-
-static void group_input_image_delete_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_group_input_data *cgroup_input_d = static_cast<ct_group_input_data *>(data);
- if (NULL != cgroup_input_d->done_button)
- {
- elm_object_disabled_set(cgroup_input_d->done_button, EINA_FALSE);
- }
- group_input_popup_hide_cb(cgroup_input_d, NULL, NULL);
- free(cgroup_input_d->img);
- cgroup_input_d->img = NULL;
- elm_genlist_item_update(cgroup_input_d->image_item);
- }
- else
- {
- ERR("group_input_image_delete_cb() Failed: %s", "data is NULL");
- }
-}
-
-static void group_input_image_gallery_result(ui_gadget_h ug, service_h service, void *data)
-{
- PH_TRACE;
- assert(ug);
- assert(data);
- if (NULL != ug && NULL != data)
- {
- ct_group_input_data *cgroup_input_d = static_cast<ct_group_input_data *>(data);
-
- if (NULL != cgroup_input_d->done_button)
- {
- elm_object_disabled_set(cgroup_input_d->done_button, EINA_FALSE);
- }
-
- if (service)
- {
- char *val = NULL;
- service_get_extra_data(service, "path", &val);
- if (NULL != val)
- {
- struct ug_cbs cbs = { 0 };
- cbs.result_cb = group_input_image_crop_result;
- cbs.destroy_cb = group_input_crop_ug_destroy;
- cbs.priv = cgroup_input_d;
- cgroup_input_d->crop_ug = phone_image_crop_ug(cgroup_input_d->ug, val, &cbs);
- free(val);
- }
- else
- {
- ERR("group_input_image_gallery_result() Failed: %s", "return value is NULL");
- return;
- }
- }
- }
- else
- {
- ERR("group_input_image_gallery_result() Failed: %s", "ug or data is NULL");
- }
-}
-
-static void group_input_camera_result(service_h service, service_h reply, service_result_e result, void* user_data)
-{
- PH_TRACE;
- assert(user_data);
- if (NULL != user_data)
- {
- ct_group_input_data *cgroup_input_d = static_cast<ct_group_input_data *>(user_data);
- cgroup_input_d->camera_service_launched = false;
- elm_object_tree_focus_allow_set(cgroup_input_d->navi, EINA_TRUE);
-
- if (NULL != cgroup_input_d->done_button)
- {
- elm_object_disabled_set(cgroup_input_d->done_button, EINA_FALSE);
- }
-
- if (reply)
- {
- char *img = NULL;
- service_get_extra_data(reply, "crop_image_path", &img);
- if (NULL != img)
- {
- FREEandSTRDUP(cgroup_input_d->img, img);
- free(img);
- }
- else
- {
- ERR("group_input_camera_result() Failed: %s", "return value is NULL");
- return;
- }
- elm_genlist_item_update(cgroup_input_d->image_item);
- }
- }
- else
- {
- ERR("group_input_camera_result() Failed: %s", "user_data is NULL");
- }
-}
-
-static void __group_input_gallery(ct_group_input_data *cgroup_input_d)
-{
- PH_TRACE;
- service_h service;
- struct ug_cbs cbs = { 0 };
-
- group_input_popup_hide_cb(cgroup_input_d, NULL, NULL);
- elm_object_tree_focus_allow_set(cgroup_input_d->navi, EINA_FALSE);
-
- service_create(&service);
- service_add_extra_data(service, "launch-type", "select-one");
- service_add_extra_data(service, "file-type", "image");
-
- cbs.result_cb = group_input_image_gallery_result;
- cbs.destroy_cb = group_input_src_ug_destroy;
- cbs.layout_cb = ug_common_layout_cb;
- cbs.priv = cgroup_input_d;
-
- cgroup_input_d->child_ug = ug_create(cgroup_input_d->ug, GALLERY_UG,
- UG_MODE_FULLVIEW, service, &cbs);
- p_warn_if(NULL == cgroup_input_d->child_ug, "ug_create() Failed");
-
- service_destroy(service);
-}
-
-static void __group_input_camera(ct_group_input_data *cgroup_input_d)
-{
- PH_TRACE;
- service_h service;
- p_ret_if(cgroup_input_d->camera_service_launched);
- group_input_popup_hide_cb(cgroup_input_d, NULL, NULL);
- elm_object_tree_focus_allow_set(cgroup_input_d->navi, EINA_FALSE);
-
- service_create(&service);
- service_set_window(service, elm_win_xwindow_get(cgroup_input_d->win));
- service_set_operation(service, SERVICE_OPERATION_CREATE_CONTENT);
- service_set_mime(service, "image/jpg");
- service_add_extra_data(service, "CALLER", "contacts");
- service_send_launch_request(service, group_input_camera_result,
- cgroup_input_d);
- cgroup_input_d->camera_service_launched = true;
- service_destroy(service);
-}
-
-static void __group_input_gallery_mouse_up(void *data, Evas *e,
- Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
-
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *) event_info;
- if (ev == NULL)
- {
- ERR("ev is null!!!");
- return;
- }
-
- int x, y, w, h;
-
- if (cgroup_input_d->img && *cgroup_input_d->img)
- {
- elm_image_file_set(obj, cgroup_input_d->img, NULL);
- }
- else
- elm_image_file_set(obj, CTUI_IMG_INPUT_GALLERY, NULL);
-
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
- return;
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- if (ev->output.y < y || y + h < ev->output.y)
- return;
-
- __group_input_gallery(cgroup_input_d);
-}
-
-static void __group_input_gallery_mouse_down(void *data, Evas *e,
- Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
-
- if (cgroup_input_d->img && *cgroup_input_d->img)
- {
- elm_image_file_set(obj, cgroup_input_d->img, NULL);
- }
- else
- elm_image_file_set(obj, CTUI_IMG_INPUT_GALLERY_PRESSED, NULL);
-}
-
-static void __group_input_camera_mouse_up(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
- int x, y, w, h;
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *) event_info;
- if (ev == NULL)
- {
- ERR("ev is null!!!");
- return;
- }
- elm_image_file_set(obj, CTUI_IMG_INPUT_CAMERA, NULL);
-
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
- return;
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- if (ev->output.y < y || y + h < ev->output.y)
- return;
-
- __group_input_camera(cgroup_input_d);
-
-}
-static void __group_input_camera_mouse_down(void *data, Evas *e,
- Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- elm_image_file_set(obj, CTUI_IMG_INPUT_CAMERA_PRESSED, NULL);
-}
-
-static Evas_Object* group_input_gl_create_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
- p_retvm_if(NULL== data, NULL, "The parameter(data) is NULL");
-
- if (0 == strcmp(part, ELM_ICON))
- {
- static Elm_Entry_Filter_Limit_Size limit_filter_data;
- Evas_Object *edit_field;
- Evas_Object *entry;
-
- edit_field = ctui_create_editfield(obj,
- T_(CT_GET_TEXT_BASIC, CTTEXT_GROUP_NAME), NULL, false);
- evas_object_propagate_events_set(edit_field, EINA_FALSE);
-
- entry = elm_object_part_content_get(edit_field, "elm.swallow.content");
- elm_object_signal_emit(edit_field, "elm,state,guidetext,hide", "elm");
- evas_object_data_set(obj, "entry", entry);
- cgroup_input_d->entry = entry;
-
- limit_filter_data.max_char_count = CT_EDITFIELD_MAX_CHAR;
- elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size,
- &limit_filter_data);
- evas_object_smart_callback_add(entry, "changed,user",
- group_input_entry_changed_cb, cgroup_input_d);
- evas_object_smart_callback_add(entry, "preedit,changed",
- group_input_entry_changed_cb, cgroup_input_d);
- evas_object_smart_callback_add(entry, CLICKED,
- group_input_entry_clicked_cb, cgroup_input_d);
-
- if (cgroup_input_d->editgroup == true)
- ctui_entry_entry_set(entry, cgroup_input_d->gname);
-
- if (cgroup_input_d->is_read_only == true)
- elm_object_disabled_set(entry, EINA_TRUE);
-
- if(cgroup_input_d->gname)
- {
- elm_entry_entry_set(entry, cgroup_input_d->gname);
- }
-
- evas_object_show(entry);
-
- return edit_field;
- }
- return NULL;
-}
-
-static Evas_Object* group_input_gl_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
- p_retvm_if(NULL== data, NULL, "The parameter(data) is NULL");
-
- if (0 == strcmp(part, ELM_ICON))
- {
- Evas_Object *icon;
- if (cgroup_input_d->img && *cgroup_input_d->img)
- {
- PH_DBG("img : %s", cgroup_input_d->img);
- icon = elm_icon_add(obj);
- p_retvm_if(NULL == icon, NULL, "elm_icon_add() return NULL");
- elm_image_file_set(icon, cgroup_input_d->img, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_NONE, 1,
- 1);
- evas_object_size_hint_align_set(icon, 0.5, EVAS_HINT_FILL);
- }
- else
- {
- icon = elm_icon_add(obj);
- p_retvm_if(NULL == icon, NULL, "elm_icon_add() return NULL");
- elm_image_file_set(icon, CTUI_IMG_INPUT_GALLERY, NULL);
- elm_image_resizable_set(icon, EINA_FALSE, EINA_FALSE);
- }
- evas_object_event_callback_add(icon, EVAS_CALLBACK_MOUSE_DOWN,
- __group_input_gallery_mouse_down, cgroup_input_d);
- evas_object_event_callback_add(icon, EVAS_CALLBACK_MOUSE_UP,
- __group_input_gallery_mouse_up, cgroup_input_d);
- return icon;
- }
- if (0 == strcmp(part, "elm.icon3"))
- {
- Evas_Object *icon = NULL;
-
- icon = elm_icon_add(obj);
- p_retvm_if(NULL == icon, NULL, "elm_icon_add() return NULL");
- elm_image_file_set(icon, CTUI_IMG_INPUT_CAMERA, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_NONE, 1, 1);
- evas_object_size_hint_align_set(icon, 0.5, EVAS_HINT_FILL);
- evas_object_propagate_events_set(icon, EINA_FALSE);
- evas_object_color_set(icon, 255, 255, 255, 255);
- evas_object_event_callback_add(icon, EVAS_CALLBACK_MOUSE_DOWN,
- __group_input_camera_mouse_down, cgroup_input_d);
- evas_object_event_callback_add(icon, EVAS_CALLBACK_MOUSE_UP,
- __group_input_camera_mouse_up, cgroup_input_d);
- //evas_object_smart_callback_add(icon, CLICKED, group_input_image_camera_cb, cgroup_input_d);
- return icon;
- }
- if (0 == strcmp(part, "elm.icon4"))
- {
- Evas_Object *btn_minus;
- if (cgroup_input_d->img && *cgroup_input_d->img)
- {
- btn_minus = elm_button_add(obj);
- p_retvm_if(NULL == btn_minus, NULL, "elm_button_add() return NULL");
- elm_object_style_set(btn_minus, "icon_minus");
- evas_object_size_hint_aspect_set(btn_minus,
- EVAS_ASPECT_CONTROL_NONE, 1, 1);
- evas_object_size_hint_align_set(btn_minus, 0.5, EVAS_HINT_FILL);
- evas_object_smart_callback_add(btn_minus, CLICKED,
- group_input_image_delete_cb, cgroup_input_d);
- return btn_minus;
- }
- else
- return NULL;
- }
- return NULL;
-}
-
-int group_input_get_member_list(int group_id, Eina_List **list)
-{
- PH_TRACE;
- int ret;
- int person_id;
- contacts_record_h record = NULL;
- contacts_list_h person_list = NULL;
-
- ret = phone_cts_get_list(_contacts_person_grouprel._uri,
- _contacts_person_grouprel.group_id, group_id, &person_list);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "phone_cts_get_list() Failed(%d)", ret);
- ret = contacts_list_get_current_record_p(person_list, &record);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_list_get_current_record_p() Failed(%d)", ret);
- while (record)
- {
- ct_person_list *person_info;
- char *display_name = NULL;
- char *addressbook_ids = NULL;
-
- ret = contacts_record_get_int(record, _contacts_person.id, &person_id);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_record_get_int() Failed(%d)", ret);
-
- person_info = (ct_person_list *) calloc(1, sizeof(ct_person_list));
- person_info->id = person_id;
- ret = contacts_record_get_str_p(record, _contacts_person.display_name,
- &display_name);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_record_get_str_p() Failed(%d)", ret);
- person_info->display = SAFE_STRDUP(display_name);
-
- ret = contacts_record_get_int(record, _contacts_person.link_count,
- &(person_info->link_count));
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_record_get_int() Failed(%d)", ret);
-
- ret = contacts_record_get_str(record, _contacts_person.addressbook_ids,
- &addressbook_ids);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_record_get_int() Failed(%d)", ret);
- person_info->addressbook_id_list = ctui_get_addressbook_id_list(
- addressbook_ids, " ");
-
- *list = eina_list_append(*list, person_info);
-
- ret = contacts_list_next(person_list);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_list_next() Failed(%d)", ret);
- ret = contacts_list_get_current_record_p(person_list, &record);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_list_get_current_record_p() Failed(%d)", ret);
- }
- ret = contacts_list_destroy(person_list, true);
- p_retvm_if(CONTACTS_ERROR_NONE != ret, ret,
- "contacts_list_destroy() Failed(%d)", ret);
-
- return ret;
-}
-
-void group_input_group_name_set(ct_group_input_data *cgroup_input_d)
-{
- PH_TRACE;
- bool isCorrectParameters = (NULL != cgroup_input_d && NULL != cgroup_input_d->entry);
- p_retm_if(!isCorrectParameters, "incorrect parameters");
-
- Evas_Object *entry = cgroup_input_d->entry;
- char *text = ctui_entry_markup_to_utf8(elm_entry_entry_get(entry));
- p_retm_if(NULL == text, "ctui_entry_markup_to_utf8() return NULL");
- PH_DBG("text = %s", text);
-
- FREEandSTRDUP(cgroup_input_d->gname, text);
- free(text);
-}
-
-static void group_input_add_member_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "parameter(data) is NULL");
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
-
- group_input_group_name_set(cgroup_input_d);
- Elm_Object_Item *navi_item = ctui_create_gadd_list_select_view(cgroup_input_d->win, cgroup_input_d->navi,
- cgroup_input_d->id_grp, cgroup_input_d->id_ab,
- &cgroup_input_d->member_list, false);
- elm_naviframe_item_pop_cb_set(navi_item, group_input_add_member_cb, cgroup_input_d);
-}
-
-static char *group_input_gl_group_list_item_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, NULL, "parameter(data) is NULL");
- p_retvm_if(NULL == part, NULL, "parameter(part) is NULL");
-
- ui_genlist_item *item = (ui_genlist_item *) data;
- ct_person_list *person_info = (ct_person_list *)item->data;
- p_retvm_if(NULL == person_info, NULL, "person_info is NULL");
-
- if (0 == strcmp(part, ELM_TEXT))
- {
- PH_DBG("person_info->display = %s", person_info->display);
- return SAFE_STRDUP(person_info->display);
- }
- return NULL;
-}
-
-void group_input_gl_group_list_item_remove_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "parameter(data) is NULL");
- ui_genlist_item *item = (ui_genlist_item *) data;
-
- if (item->item_list && *item->item_list)
- {
- *item->item_list = eina_list_remove(*item->item_list, (void *) item->data);
- free(item->data);
- item->data = NULL;
- }
-
- if (item->save_button)
- {
- elm_object_disabled_set(item->save_button, false);
- }
-
- if (item->object_item)
- {
- elm_object_item_del(item->object_item);
- item->object_item = NULL;
- }
-}
-
-static char *group_input_gl_group_members_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == part, NULL, "parameter(part) is NULL");
- const char *GROUP_MEMBERS = "Group members";
-
- if (0 == strcmp(part, ELM_TEXT))
- {
- return SAFE_STRDUP(GROUP_MEMBERS);
- }
- return NULL;
-}
-
-static Evas_Object *group_input_gl_group_members_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == part, NULL, "parameter(part) is NULL");
- p_retvm_if(NULL == data, NULL, "parameter(data) is NULL");
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
- Evas_Object *ret_obj = NULL;
-
- const char *BUTTON_STYLE_PLUS = "plus";
- const char *BUTTON_PART_ICON = "icon";
-
- if (0 == strcmp(part, ELM_ICON))
- {
- Evas_Object *btn = elm_button_add(obj);
- p_retvm_if(NULL == btn, NULL, "ctui_create_btn() return NULL");
- elm_object_style_set(btn, BUTTON_STYLE_PLUS);
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- evas_object_smart_callback_add(btn, CLICKED, group_input_add_member_clicked_cb, cgroup_input_d);
-
- Evas_Object *icon = elm_icon_add(obj);
- elm_icon_standard_set(icon, PH_IMG_ICON_ADD);
- elm_object_part_content_set(btn, BUTTON_PART_ICON, icon);
-
- ret_obj = btn;
- }
- return ret_obj;
-}
-
-static Evas_Object *group_input_gl_group_list_item_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, NULL, "parameter(data) is NULL");
- p_retvm_if(NULL == part, NULL, "parameter(part) is NULL");
-
- Evas_Object *ret_obj = NULL;
- ui_genlist_item *item = (ui_genlist_item *) data;
- ct_person_list *person_info = (ct_person_list *)item->data;
- p_retvm_if(NULL == person_info, NULL, "person_info is NULL");
-
- const char *BUTTON_STYLE_MINUS = "minus";
- const char *ELM_ICON_EDIT = "elm.icon.edit";
-
- if (0 == strcmp(part, ELM_ICON))
- {
- if (person_info->id)
- {
- contacts_record_h record = NULL;
-
- int err = contacts_db_get_record(_contacts_person._uri, person_info->id, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)", err);
-
- free(person_info->img_path);
- err = contacts_record_get_str(record, _contacts_person.image_thumbnail_path,
- &(person_info->img_path));
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
- }
-
- Evas_Object *icon = elm_icon_add(obj);
- p_retvm_if(NULL == icon, NULL, "elm_icon_add() return NULL");
- elm_image_prescale_set(icon, CT_LIST_ICON_SIZE);
- if (NULL != person_info->img_path)
- {
- elm_image_file_set(icon, person_info->img_path, NULL);
- }
- else
- {
- elm_image_file_set(icon, IMG_DEFAULT, NULL);
- }
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- evas_object_show(icon);
- ret_obj = icon;
- }
- else if (0 == strcmp(part, ELM_ICON_EDIT))
- {
- Evas_Object *btn = elm_button_add(obj);
- p_retvm_if(NULL == btn, NULL, "elm_button_add() return NULL");
- elm_object_style_set(btn, BUTTON_STYLE_MINUS);
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_smart_callback_add(btn, CLICKED, group_input_gl_group_list_item_remove_cb, item);
- evas_object_show(btn);
-
- ret_obj = btn;
- }
- return ret_obj;
-}
-
-static void group_input_genlist_style_set(void)
-{
- PH_TRACE;
- group_input_itcs[GINPUT_ITC_GROUP_IMAGE].func.content_get =
- group_input_gl_icon_get;
- group_input_itcs[GINPUT_ITC_GROUP_CREATE].func.content_get =
- group_input_gl_create_icon_get;
- group_input_itcs[GINPUT_ITC_GROUP_VIBRATION].func.text_get =
- group_input_gl_vibration_label_get;
- group_input_itcs[GINPUT_ITC_GROUP_RINGTON].func.text_get =
- group_input_gl_ringtone_label_get;
- group_input_itcs[GINPUT_ITC_ADDRBOOK].func.text_get =
- group_input_gl_label_get;
-
- group_input_itcs[GINPUT_ITC_GROUP_MEMBERS].func.text_get =
- group_input_gl_group_members_label_get;
- group_input_itcs[GINPUT_ITC_GROUP_MEMBERS].func.content_get =
- group_input_gl_group_members_icon_get;
-
- group_input_itcs[GINPUT_ITC_GROUP_LIST_ITEM].func.text_get =
- group_input_gl_group_list_item_label_get;
- group_input_itcs[GINPUT_ITC_GROUP_LIST_ITEM].func.content_get =
- group_input_gl_group_list_item_icon_get;
- group_input_itcs[GINPUT_ITC_GROUP_LIST_ITEM].func.del =
- ui_genlist_item_destroy;
-}
-
-static void group_input_view_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d = (ct_group_input_data *) data;
-
- if (cgroup_input_d->popup)
- evas_object_del(cgroup_input_d->popup);
- if (cgroup_input_d->th)
- {
- elm_theme_extension_del(cgroup_input_d->th, IMAGE_LAYOUT_EDJ);
- elm_theme_free(cgroup_input_d->th);
- }
-
- if (cgroup_input_d->child_ug)
- ug_destroy(cgroup_input_d->child_ug);
-
- if (cgroup_input_d->crop_ug)
- ug_destroy((ui_gadget_h) cgroup_input_d->crop_ug);
-
- if (cgroup_input_d->win_prop_change)
- ecore_event_handler_del(cgroup_input_d->win_prop_change);
-
- evas_object_data_del(cgroup_input_d->navi, "navi_it_pop_to");
- ctui_list_free_contacts(cgroup_input_d->member_list);
- free(cgroup_input_d->ab_name);
- free(cgroup_input_d->gname_old);
- free(cgroup_input_d->gname);
- free(cgroup_input_d->img);
- free(cgroup_input_d->ringtone);
- free(cgroup_input_d->vibration);
- free(cgroup_input_d);
-}
-
-static void group_input_get_data(ct_group_input_data *cgroup_input_d)
-{
- PH_TRACE;
- char *img = NULL;
- char *vibration = NULL;
- char *ringtone = NULL;
- bool is_read_only = false;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- err = (contacts_error_e) contacts_db_get_record(_contacts_group._uri, cgroup_input_d->id_grp,
- &record);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)",
- err);
- err = (contacts_error_e) contacts_record_get_str_p(record, _contacts_group.image_path, &img);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- cgroup_input_d->img = SAFE_STRDUP(img);
-
- err = (contacts_error_e) contacts_record_get_str_p(record, _contacts_group.vibration,
- &vibration);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- cgroup_input_d->vibration = SAFE_STRDUP(vibration);
-
- err = (contacts_error_e) contacts_record_get_str_p(record, _contacts_group.ringtone_path,
- &ringtone);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- cgroup_input_d->ringtone = SAFE_STRDUP(ringtone);
-
- cgroup_input_d->gname = SAFE_STRDUP(phone_get_group_name(record));
- cgroup_input_d->gname_old = SAFE_STRDUP(cgroup_input_d->gname_old);
-
- err = (contacts_error_e) contacts_record_get_bool(record, _contacts_group.is_read_only,
- &is_read_only);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_bool() Failed(%d)", err);
- cgroup_input_d->is_read_only = is_read_only;
-
- err = (contacts_error_e) contacts_record_destroy(record, true);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-}
-
-void ctui_create_group_input_view(Evas_Object *win, Evas_Object *navi,
- ct_group_list *info, ct_group_input_result_cb result_cb, void *cb_data)
-{
- PH_TRACE;
- ct_group_input_data *cgroup_input_d;
- Evas_Object *layout;
- Evas_Object *bg;
- Elm_Theme *th;
-
- cgroup_input_d = (ct_group_input_data *) calloc(1, sizeof(ct_group_input_data));
- p_retm_if(NULL == cgroup_input_d, "calloc() return NULL");
-
- if (info != NULL)
- {
- cgroup_input_d->id_grp = info->id_grp;
-
- cgroup_input_d->id_ab = info->id_ab;
- group_input_get_data(cgroup_input_d);
- cgroup_input_d->editgroup = true;
- group_input_get_member_list(cgroup_input_d->id_grp,
- &cgroup_input_d->member_list);
- PH_DBG("cgroup_input_d->id_grp : %d", cgroup_input_d->id_grp);
- }
- else
- {
- cgroup_input_d->editgroup = false;
- cgroup_input_d->id_ab = 0;
- }
- cgroup_input_d->win = win;
- cgroup_input_d->navi = navi;
- cgroup_input_d->result_cb = result_cb;
- cgroup_input_d->result_cb_data = cb_data;
-
- layout = phone_create_base_layout(cgroup_input_d->navi, false);
- bg = phone_create_bg(layout);
- if (NULL == bg)
- {
- ERR("phone_create_bg() return NULL");
- free(cgroup_input_d);
- evas_object_del(layout);
- return;
- }
-
- if (cgroup_input_d->editgroup == true)
- {
- cgroup_input_d->navi_item = elm_naviframe_item_push(cgroup_input_d->navi,
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_EDIT_GROUP), NULL, NULL,
- layout, NULL);
- }
- else
- {
- cgroup_input_d->navi_item = elm_naviframe_item_push(cgroup_input_d->navi,
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_CREATE_GROUP), NULL, NULL,
- layout, NULL);
- }
-
- evas_object_data_set(cgroup_input_d->navi, "navi_it_pop",
- cgroup_input_d->navi_item);
-
- phone_navi_item_reset(cgroup_input_d->navi_item, cgroup_input_d);
-
- cgroup_input_d->done_button = elm_button_add(cgroup_input_d->navi);
- elm_object_style_set(cgroup_input_d->done_button, "naviframe/title_text");
- elm_object_text_set(cgroup_input_d->done_button, "Save");
- evas_object_smart_callback_add(cgroup_input_d->done_button, "clicked",
- group_input_save_btn_cb, cgroup_input_d);
- elm_object_item_part_content_set(cgroup_input_d->navi_item, "title_right_btn",
- cgroup_input_d->done_button);
-
- elm_win_conformant_set(cgroup_input_d->win, EINA_TRUE);
- cgroup_input_d->genlist = elm_genlist_add(layout);
- elm_object_style_set(cgroup_input_d->genlist, "dialogue");
- elm_object_style_set(cgroup_input_d->genlist, "no_effect");
- evas_object_smart_callback_add(cgroup_input_d->genlist, "realized", ui_genlist_on_realized, cgroup_input_d);
- th = elm_theme_new();
- elm_theme_ref_set(th, NULL);
- elm_theme_extension_add(th, IMAGE_LAYOUT_EDJ);
- cgroup_input_d->th = th;
- elm_object_theme_set(cgroup_input_d->genlist, cgroup_input_d->th);
- group_input_genlist_style_set();
- evas_object_size_hint_weight_set(cgroup_input_d->genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(cgroup_input_d->genlist, EVAS_HINT_FILL,
- EVAS_HINT_FILL);
- evas_object_show(cgroup_input_d->genlist);
- elm_object_part_content_set(layout, "elm.swallow.content",
- cgroup_input_d->genlist);
- group_input_fill_genlist(cgroup_input_d);
-
- elm_object_disabled_set(cgroup_input_d->done_button, EINA_TRUE);
-
- evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL,
- group_input_view_delete_cb, cgroup_input_d);
-}
diff --git a/lib/common/ct-list-detail.cpp b/lib/common/ct-list-detail.cpp
deleted file mode 100755
index 372cecc..0000000
--- a/lib/common/ct-list-detail.cpp
+++ /dev/null
@@ -1,631 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <aul.h>
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-#include "phone-common.h"
-
-#include "ct-list.h"
-
-void ctui_ld_to_dd(ct_list_data *clist_d, ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- cdetail_d->win = clist_d->win;
- cdetail_d->navi = clist_d->navi;
- cdetail_d->base_grp = clist_d->base_grp;
- cdetail_d->base_ab = clist_d->base_ab;
- cdetail_d->ug = clist_d->ug;
- cdetail_d->prev_navi_item = clist_d->navi_item;
- cdetail_d->prev_view_data = clist_d;
-}
-
-void ctui_get_number_type_str(contacts_record_h record, int number_type,
- char *dest, int dest_len)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- const char* type_str;
- char *custom = NULL;
-
- if (number_type & CONTACTS_NUMBER_TYPE_CUSTOM)
- {
- err = (contacts_error_e) contacts_record_get_str_p(record,
- _contacts_number.label, &custom);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- if (NULL == custom || '\0' == custom[0])
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_OTHER);
- else
- {
- snprintf(dest, dest_len, "%s", custom);
- return;
- }
- }
- else if (number_type & CONTACTS_NUMBER_TYPE_CELL)
- {
- if (number_type & CONTACTS_NUMBER_TYPE_HOME)
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_HOME2);
- else if (number_type & CONTACTS_NUMBER_TYPE_WORK)
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_WORK2);
- else
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_MOBILE);
- }
- else if (number_type & CONTACTS_NUMBER_TYPE_VOICE)
- {
- if (number_type & CONTACTS_NUMBER_TYPE_HOME)
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_HOME);
- else if (number_type & CONTACTS_NUMBER_TYPE_WORK)
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_WORK);
- else
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_TELEPHONE);
- }
- else if (number_type & CONTACTS_NUMBER_TYPE_FAX)
- {
- if (number_type & CONTACTS_NUMBER_TYPE_HOME)
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_FAX_HOME);
- else if (number_type & CONTACTS_NUMBER_TYPE_WORK)
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_FAX_WORK);
- else
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_FAX);
- }
- else if (number_type & CONTACTS_NUMBER_TYPE_PAGER)
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_PAGER);
- else if (number_type & CONTACTS_NUMBER_TYPE_CAR)
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_CAR);
- else if (number_type & CONTACTS_NUMBER_TYPE_ASSISTANT)
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_ASSISTANT);
- else
- {
- if (number_type == CONTACTS_NUMBER_TYPE_HOME)
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_HOME);
- else if (number_type == CONTACTS_NUMBER_TYPE_WORK)
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_WORK);
- else
- type_str = T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_OTHER);
- }
-
- snprintf(dest, dest_len, "%s", type_str);
-}
-
-const char* ctui_get_default_contact_img(int view_type)
-{
- PH_TRACE;
- switch (view_type)
- {
- case CT_VIEW_DETAIL:
- return CTUI_IMG_DEFAULT_PHOTO_BIG;
-
- case CT_VIEW_INPUT:
- return CTUI_IMG_PHOTO_EDIT;
-
- case CT_VIEW_ETC:
- default:
- return CTUI_IMG_DEFAULT_PHOTO_SMALL;
- }
-}
-
-Evas_Object* ctui_create_btn(Evas_Object *parent, const char *label)
-{
- PH_TRACE;
- Evas_Object *btn;
-
- btn = elm_button_add(parent);
- p_retvm_if(NULL == btn, NULL, "elm_button_add() return NULL");
-
- elm_object_text_set(btn, label);
- evas_object_propagate_events_set(btn, EINA_FALSE);
- evas_object_show(btn);
-
- return btn;
-}
-
-void ctui_destroy_child_ug(void *data)
-{
- PH_TRACE;
- void **child = (void **) data;
- *child = NULL;
-}
-
-ui_gadget_h ctui_msg_ug(ui_gadget_h parent, const char *number,
- const char *attach, void (*destroy_cb)(void*), void *cb_param)
-{
- PH_TRACE;
- struct ug_cbs cbs = { 0 };
- ui_gadget_h ug;
- struct ug_priv_data *priv_data;
- service_h service;
-
- priv_data = (ug_priv_data *) calloc(1, sizeof(struct ug_priv_data));
- p_retvm_if(NULL == priv_data, NULL, "calloc is failed");
- priv_data->destroy_cb = destroy_cb;
- priv_data->cb_param = cb_param;
-
- service_create(&service);
-
- if (number)
- {
- service_add_extra_data(service, "TO", number);
- }
-
- if (attach)
- {
- service_add_extra_data(service, "ATTACHFILE", attach);
- service_add_extra_data(service, "SUBJECT", "Contacts name card");
- }
-
- cbs.layout_cb = ug_common_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = ug_common_destroy_cb;
- cbs.priv = priv_data;
-
- ug = ug_create(parent, MSG_COMPOSER_UG, UG_MODE_FULLVIEW, service, &cbs);
- p_warn_if(NULL == ug, "ug_create() Failed");
-
- service_destroy(service);
- return ug;
-}
-
-ui_gadget_h ctui_predefined_body_msg_ug(ui_gadget_h parent, const char *number, const int person_id, const char *bodyText, void (*destroy_cb)(void*), void *cb_param)
-{
- PH_TRACE;
- ui_gadget_h ug = NULL;
- struct ug_priv_data *priv_data;
- priv_data = (ug_priv_data *) calloc(1, sizeof(struct ug_priv_data));
- if (NULL != priv_data)
- {
- priv_data->destroy_cb = destroy_cb;
- priv_data->cb_param = cb_param;
-
- service_h service;
- service_create(&service);
-
- if (number && person_id)
- {
- char temp[PH_TEXT_MAX_LEN + 1] = { 0, };
- snprintf(temp, sizeof(temp), "%s/%d", number, person_id);
- service_add_extra_data(service, "number/index", temp);
- }
- else if (number)
- {
- service_add_extra_data(service, "TO", number);
- }
-
- if (bodyText)
- {
- service_add_extra_data(service, "BODY", bodyText);
- }
-
- struct ug_cbs cbs = { 0 };
- cbs.layout_cb = ug_common_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = ug_common_destroy_cb;
- cbs.priv = priv_data;
-
- ug = ug_create(parent, MSG_COMPOSER_UG, UG_MODE_FULLVIEW, service, &cbs);
- if (NULL != ug)
- service_destroy(service);
- else
- ERR("ug_create() Failed");
- }
- else
- {
- ERR("%s", "calloc is failed");
- }
- return ug;
-}
-
-void ctui_entry_limit_size_set(Evas_Object *entry)
-{
- PH_TRACE;
- static Elm_Entry_Filter_Limit_Size filter;
- p_retm_if(NULL == entry, "parameter(entry) is NULL");
-
- filter.max_char_count = CT_EDITFIELD_MAX_CHAR;
- elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &filter);
-}
-
-void ctui_genlist_append_separator_10px(Evas_Object *genlist)
-{
- PH_TRACE;
- static Elm_Genlist_Item_Class itc;
- itc.item_style = "dialogue/separator/10";
-
- Elm_Object_Item * item;
- item = elm_genlist_item_append(genlist, &itc, NULL, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-}
-
-void ctui_genlist_append_separator_20px(Evas_Object *genlist)
-{
- PH_TRACE;
- static Elm_Genlist_Item_Class itc;
- itc.item_style = "dialogue/separator/20";
-
- Elm_Object_Item * item;
- item = elm_genlist_item_append(genlist, &itc, NULL, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-}
-
-void ctui_navi_btn_disabled_set(Evas_Object *navi, Eina_Bool disabled)
-{
- PH_TRACE;
- Evas_Object *done_button, *delete_item, *share_button;
-
- p_retm_if(NULL == navi, "parameter(navi) is NULL");
-
- done_button = (Evas_Object *) evas_object_data_get(navi, "done_button");
- delete_item = (Evas_Object *) evas_object_data_get(navi, "delete_button");
- share_button = (Evas_Object *) evas_object_data_get(navi, "share_button");
-
- if (done_button)
- elm_object_disabled_set(done_button, disabled);
- if (delete_item )
- elm_object_disabled_set(delete_item, disabled);
- if (share_button)
- elm_object_disabled_set(share_button, disabled);
-}
-
-char* ctui_entry_markup_to_utf8_without_spaces(const char *s)
-{
- PH_TRACE;
- unsigned int i;
- char *ret = elm_entry_markup_to_utf8(s);
-
- if (ret)
- {
- unsigned int size = strlen(ret);
- if (!size)
- {
- ret[0] = '\0';
- return ret;
- }
-
- if (isspace(ret[0]))
- {
- std::string number_display;
- for (i = 1; i < size; ++i)
- {
- if (!isspace(ret[i]) || !isspace(ret[i - 1]))
- {
- number_display.push_back(ret[i]);
- }
- }
- free(ret);
- ret = strdup(number_display.c_str());
- }
- }
- return ret;
-}
-
-char* ctui_entry_markup_to_utf8(const char *s)
-{
- PH_TRACE;
- unsigned int i;
- char *ret;
-
- ret = elm_entry_markup_to_utf8(s);
- p_retvm_if(NULL == ret, NULL, "elm_entry_markup_to_utf8() return NULL");
-
- for (i = 0; i < strlen(ret); i++)
- if (' ' != ret[i])
- return ret;
-
- ret[0] = '\0';
- return ret;
-}
-
-void ctui_entry_entry_set(Evas_Object *entry, const char *s)
-{
- PH_TRACE;
- char *s_markup;
- s_markup = elm_entry_utf8_to_markup(s);
- elm_entry_entry_set(entry, s_markup);
- free(s_markup);
-}
-
-enum LIST_DETAIL_ITC_TYPE
-{
- LIST_DETAIL_ITC_ADDRBOOK,
- LIST_DETAIL_ITC_ADDRBOOK_EDIT,
- LIST_DETAIL_ITC_ADDRBOOK_NAME,
- LIST_DETAIL_ITC_ADDRBOOK_NAME_EDIT,
- LIST_DETAIL_ITC_MAX,
-};
-
-static Elm_Genlist_Item_Class list_detail_itcs[] =
-{
- {
- 0, 0, 1, "2text.1icon.9", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "2text.2icon.5", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "1text.1icon.2", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "1text.2icon.2", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
-};
-
-static void list_detail_addrbook_gl_del(void *data, Evas_Object *obj)
-{
- PH_TRACE;
- ct_ab_popup_data *info = (ct_ab_popup_data *) data;
- p_retm_if(NULL == info, "data is NULL");
- free(info->name);
- free(info);
-}
-
-static char* list_detail_addrbook_gl_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_ab_popup_data *ab_popup_data = (ct_ab_popup_data *) data;
- p_retvm_if(NULL == ab_popup_data, NULL, "parameter(ab_popup_data) is NULL");
-
- if (0 == strcmp(part, "elm.text") || 0 == strcmp(part, "elm.text.2"))
- {
- if (0 == ab_popup_data->id)
- return strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE));
- else
- return SAFE_STRDUP(ab_popup_data->name);
- }
- else if (0 == strcmp(part, "elm.text.1"))
- {
- char buf[PH_TEXT_MAX_LEN + 1];
- buf[0] = '\0';
- ctui_get_account_name_by_address_book_id(ab_popup_data->id, buf,
- sizeof(buf));
- if (*buf)
- return strdup(buf);
- }
- return NULL;
-}
-
-static Evas_Object* list_detail_addrbook_gl_icon_get(void *data,
- Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- int selected_id;
- Evas_Object *radio;
- Evas_Object *radio_main;
-
- ct_ab_popup_data *ab_popup_data = (ct_ab_popup_data *) data;
- p_retvm_if(NULL == ab_popup_data, NULL, "parameter(ab_popup_data) is NULL");
-
- if (0 == strcmp(part, "elm.icon.1")
- || ab_popup_data->all_contacts_item == true)
- {
- radio = elm_radio_add(obj);
- p_retvm_if(NULL == radio, NULL, "elm_radio_add() return NULL");
-
- selected_id = (int) evas_object_data_get(obj, "selected_id");
- if (-1 == ab_popup_data->id)
- {
- evas_object_data_set(obj, "radio_main", radio);
- }
- else
- {
- radio_main = (Evas_Object *) evas_object_data_get(obj,
- "radio_main");
- p_retvm_if(NULL == radio_main, NULL,
- "evas_object_data_get() return NULL");
- elm_radio_group_add(radio, radio_main);
- }
-
- elm_radio_state_value_set(radio, ab_popup_data->id);
- if (selected_id == ab_popup_data->id)
- elm_radio_value_set(radio, selected_id);
-
- evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_propagate_events_set(radio, EINA_FALSE);
-
- return radio;
- }
- else if (0 == strcmp(part, "elm.icon") || 0 == strcmp(part, "elm.icon.2"))
- {
- char *icon_path;
- Evas_Object *icon;
- icon_path = ctui_get_addressbook_icon_path(ab_popup_data->id);
-
- if (icon_path && *icon_path)
- {
- icon = elm_icon_add(obj);
- p_retvm_if(NULL == icon, NULL, "elm_icon_add() return NULL");
-
- elm_image_file_set(icon, icon_path, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL,
- 1, 1);
- free(icon_path);
- return icon;
- }
- }
- return NULL;
-}
-
-static inline void list_detail_create_itcs()
-{
- PH_TRACE;
- list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK].func.text_get =
- list_detail_addrbook_gl_label_get;
- list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK].func.content_get =
- list_detail_addrbook_gl_icon_get;
- list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK].func.del =
- list_detail_addrbook_gl_del;
-
- list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK_EDIT].func.text_get =
- list_detail_addrbook_gl_label_get;
- list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK_EDIT].func.content_get =
- list_detail_addrbook_gl_icon_get;
- list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK_EDIT].func.del =
- list_detail_addrbook_gl_del;
-
- list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK_NAME].func.text_get =
- list_detail_addrbook_gl_label_get;
- list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK_NAME].func.content_get =
- list_detail_addrbook_gl_icon_get;
- list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK_NAME].func.del =
- list_detail_addrbook_gl_del;
-
- list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK_NAME_EDIT].func.text_get =
- list_detail_addrbook_gl_label_get;
- list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK_NAME_EDIT].func.content_get =
- list_detail_addrbook_gl_icon_get;
- list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK_NAME_EDIT].func.del =
- list_detail_addrbook_gl_del;
-}
-
-Evas_Object* ctui_addrbook_popup(Evas_Object *parent, Evas_Smart_Cb item_sel_cb,
- void *sel_cb_data, ct_addrbook_popup_type ab_type)
-{
- PH_TRACE;
- int addressbook_id;
- int addressbook_mode;
- char *addressbook_name;
- Evas_Object *genlist;
- Evas_Object *popup;
- Elm_Object_Item * item = NULL;
- ct_ab_popup_data *ab_popup_data;
- Elm_Genlist_Item_Class *itc, *itc_name, *itc_all_contacts;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_list_h list = NULL;
-
- list_detail_create_itcs();
-
- popup = elm_popup_add(parent);
- p_retvm_if(NULL == popup, NULL, "elm_popup_add() return NULL");
- elm_object_style_set(popup, "liststyle");
-
- genlist = elm_genlist_add(popup);
- p_retvm_if(NULL == genlist, NULL, "elm_genlist_add() return NULL");
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- if (CT_AB_POPUP_TYPE_LIST_VIEW == ab_type)
- {
- ct_list_data *clist_d = (ct_list_data *) sel_cb_data;
-
- itc = &list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK_EDIT];
- itc_name = &list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK_NAME_EDIT];
- itc_all_contacts = &list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK_NAME];
-
- if (CT_GET_LIST_PERSON_OF_ADDRBOOK_ID == clist_d->list_op)
- evas_object_data_set(genlist, "selected_id",
- (void *) clist_d->base_ab);
- else
- evas_object_data_set(genlist, "selected_id", (void *) -1);
-
- /* All contacts */
- ab_popup_data = (ct_ab_popup_data *) calloc(1,
- sizeof(ct_ab_popup_data));
- p_retvm_if(NULL == ab_popup_data, NULL, "calloc() return NULL");
- ab_popup_data->id = -1;
- ab_popup_data->name = strdup(
- T_(CT_GET_TEXT_BASIC, CTTEXT_ALL_CONTACTS));
- ab_popup_data->all_contacts_item = true;
-
- item = elm_genlist_item_append(genlist, itc_all_contacts, ab_popup_data,
- NULL, ELM_GENLIST_ITEM_NONE, item_sel_cb, sel_cb_data);
- ab_popup_data->item = item;
-
- }
- else
- {
- itc = &list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK];
- itc_name = &list_detail_itcs[LIST_DETAIL_ITC_ADDRBOOK_NAME];
- }
-
- err = (contacts_error_e) contacts_db_get_all_records(
- _contacts_address_book._uri, 0, 0, &list);
- while (CONTACTS_ERROR_NONE == err)
- {
- phone_cts_get_int_from_list(list, _contacts_address_book.mode,
- &addressbook_mode);
- if (addressbook_mode == CONTACTS_ADDRESS_BOOK_MODE_READONLY
- && CT_AB_POPUP_TYPE_LIST_VIEW != ab_type)
- {
- err = (contacts_error_e) contacts_list_next(list);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_next() Failed(%d)", err);
- continue;
- }
-
- ab_popup_data = (ct_ab_popup_data *) calloc(1,
- sizeof(ct_ab_popup_data));
- if (NULL == ab_popup_data)
- {
- ERR("calloc() return NULL");
- continue;
- }
-
- err = phone_cts_get_int_from_list(list, _contacts_address_book.id,
- &addressbook_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_int_from_list() Failed(%d)", err);
- err = phone_cts_get_str_from_list(list, _contacts_address_book.name,
- &addressbook_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_int_from_list() Failed(%d)", err);
-
- ab_popup_data->id = addressbook_id;
- ab_popup_data->mode = addressbook_mode;
- ab_popup_data->name = addressbook_name;
-
- if (0 == ab_popup_data->id)
- {
- item = elm_genlist_item_append(genlist, itc_name, ab_popup_data,
- NULL, ELM_GENLIST_ITEM_NONE, item_sel_cb, sel_cb_data);
- }
- else
- {
- item = elm_genlist_item_append(genlist, itc, ab_popup_data, NULL,
- ELM_GENLIST_ITEM_NONE, item_sel_cb, sel_cb_data);
- }
-
- ab_popup_data->item = item;
-
- err = (contacts_error_e) contacts_list_next(list);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)",
- err);
- }
-
- err = (contacts_error_e) contacts_list_destroy(list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)",
- err);
-
- elm_object_content_set(popup, genlist);
- evas_object_show(popup);
- return popup;
-}
-
-void ctui_list_ug_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ug_destroy_me((ui_gadget_h) data);
-}
-
diff --git a/lib/common/ct-list-view-common.cpp b/lib/common/ct-list-view-common.cpp
deleted file mode 100755
index 5f3898c..0000000
--- a/lib/common/ct-list-view-common.cpp
+++ /dev/null
@@ -1,5523 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE // for strcasestr
-#endif
-
-#include <aul.h>
-#include <string.h>
-#include <ui-gadget-module.h>
-#include <unicode/ulocdata.h>
-#include <unicode/uset.h>
-#include <unicode/ustring.h>
-#include <vconf.h>
-#include <vconf-keys.h>
-#include <efl_assist.h>
-#include "ct-list.h"
-
-#include "ct-list-view-common.h"
-#include "ct-group-assign-popup.h"
-#include "phone.h"
-#include "phone-common.h"
-#include "ct-list.h"
-#include <string>
-
-
-#define DEFAULT "default"
-#define NUMBER_LIST "number list"
-#define PERSON_INFO "person_info"
-#define DEFAULT_NUMBER "Default number"
-#define SEND_NAMECARD "Send namecard"
-#define CHANGED "changed"
-#define CONTACTS_NAME_CARD "Contacts name card"
-#define SCROLL_DRAG_START "scroll,drag,start"
-#define SCROLL_DRAG_STOP "scroll,drag,stop"
-#define LONGPRESSED "longpressed"
-#define NO_INIT 0
-
-#define POPUP_CLOSING_DELAY 0.5
-
-static char pre_search_str[CT_LIST_MAX_SEARCH_STR];
-
-static void list_get_number_str(int id, char *buf, int buf_len);
-void list_searchbar_data_set(void *data);
-void list_searchbar_back_button_cb(void *data);
-bool find_number_person_list(ct_person_list *person_info,const std::string &search_str);
-static void list_update_person_info_check_status(Eina_List *list,Eina_List *list_check);
-void ctui_list_searchbar_cancel_cb(void *data, Evas_Object *obj,void *event_info);
-void disable_count_item(ct_list_data *clist_d);
-void clear_genlist_info(ct_list_data &clist_d);
-static void ct_clear_contacts_text_data(ct_send_as_text_data* p_contact_text_data);
-void show_fast_index(ct_list_data *clist_d)
-{
- PH_TRACE;
- if (clist_d->fast_index)
- {
- evas_object_show(clist_d->fast_index);
- elm_object_disabled_set(clist_d->fast_index, EINA_FALSE);
- }
-}
-void hide_fast_index(ct_list_data *clist_d)
-{
- PH_TRACE;
- if (clist_d->fast_index)
- {
- evas_object_hide(clist_d->fast_index);
- elm_object_disabled_set(clist_d->fast_index, EINA_TRUE);
- }
-}
-void clear_fast_index(ct_list_data *clist_d)
-{
- PH_TRACE;
- elm_index_item_clear(clist_d->fast_index);
-}
-
-ct_person_list *find_info_in_list_by_id(Eina_List *check_list, int person_id)
-{
- PH_TRACE;
- Eina_List *l = NULL;
- void *v_person_info = NULL;
-
- EINA_LIST_FOREACH(check_list, l, v_person_info)
- {
- ct_person_list *person_info = (ct_person_list *) v_person_info;
- if (NULL != person_info && person_info->id == person_id)
- {
- return person_info;
- }
- }
- return NULL;
-}
-
-static void ctui_list_free_person_info(ct_person_list *person_info)
-{
- PH_TRACE;
-
- p_retm_if(!person_info, "person_info is NULL");
- eina_list_free(person_info->addressbook_id_list);
- free(person_info->img_path);
- free(person_info->display);
- free(person_info->display_index);
- free(person_info->number);
- free(person_info->status_str);
- if (person_info->number_list)
- {
- ctui_free_record_list(person_info->number_list);
- }
- if (person_info->email_list)
- {
- ctui_free_record_list(person_info->email_list);
- }
- if (person_info->contact)
- {
- contacts_record_destroy(person_info->contact, true);
- }
- free(person_info);
-}
-
-void ctui_list_free_contacts(Eina_List* list)
-{
- PH_TRACE;
-
- Eina_List* l;
- void *info;
- if (!list)
- {
- return;
- }
-
- EINA_LIST_FOREACH(list, l, info)
- {
- ct_person_list *person_info = (ct_person_list *) info;
- if (person_info)
- {
- ctui_list_free_person_info(person_info);
- }
- }
- eina_list_free(list);
-}
-
-void list_set_person_info(Eina_List* list, Eina_List ** list_search)
-{
- PH_TRACE;
- if (list == NULL || list_search == NULL)
- {
- return;
- }
-
- Eina_List* l;
- void *info;
-
- EINA_LIST_FOREACH(list, l, info)
- {
- ct_person_list *person_info_list = (ct_person_list *) info;
- if (person_info_list != NULL)
- {
- *list_search = eina_list_append(*list_search,(void *) person_info_list);
- }
- }
-}
-
-void ctui_list_free_index(Eina_List* list)
-{
- PH_TRACE;
- Eina_List* l;
- void *v_data;
-
- EINA_LIST_FOREACH(list, l, v_data)
- {
- ct_list_index_data *data = (ct_list_index_data *) v_data;
- if (data)
- {
- free(data);
- }
- }
- eina_list_free(list);
-}
-
-static inline int list_get_grp_person_id(Eina_List *list)
-{
- PH_TRACE;
- ct_person_list *person_info;
- if (NULL == list)
- return 0;
- person_info = (ct_person_list *) list->data;
- return person_info->id;
-}
-
-static contacts_filter_h list_create_filter_int(contacts_filter_h filter,
- const char *view_uri, int property_id, contacts_match_int_flag_e flag,
- int match_value)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- if (NULL == filter)
- {
- err = (contacts_error_e) contacts_filter_create(view_uri, &filter);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_filter_create() Failed(%d)", err);
- }
- else
- {
- err = (contacts_error_e) contacts_filter_add_operator(filter,
- CONTACTS_FILTER_OPERATOR_AND);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_add_operator() Failed(%d)", err);
- }
-
- err = (contacts_error_e) contacts_filter_add_int(filter, property_id, flag,
- match_value);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_add_int() Failed(%d)", err);
-
- return filter;
-}
-
-static contacts_filter_h list_create_filter_bool(contacts_filter_h filter,
- const char *view_uri, int property_id, contacts_match_int_flag_e flag,
- bool match_value)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- if (NULL == filter)
- {
- err = (contacts_error_e) contacts_filter_create(view_uri, &filter);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_filter_create() Failed(%d)", err);
- }
- else
- {
- err = (contacts_error_e) contacts_filter_add_operator(filter,
- CONTACTS_FILTER_OPERATOR_AND);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_add_operator() Failed(%d)", err);
- }
-
- err = (contacts_error_e) contacts_filter_add_bool(filter, property_id,
- match_value);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_add_int() Failed(%d)", err);
-
- return filter;
-}
-
-//TODO: requires decomposition
-int ct_list_get_contacts(ct_list_data *clist_d, Eina_List **list_out)
-{
- PH_TRACE;
- unsigned int count = 0;
- int person_id;
- int grp_person_id;
-
- unsigned int person_contact_projection[] = {
- _contacts_person_contact.person_id, _contacts_person_contact.status,
- _contacts_person_contact.display_name,
- _contacts_person_contact.display_name_index,
- _contacts_person_contact.addressbook_ids, };
- unsigned int person_grouprel_projection[] = {
- _contacts_person_grouprel.person_id,
- _contacts_person_grouprel.status,
- _contacts_person_grouprel.display_name,
- _contacts_person_grouprel.display_name_index,
- _contacts_person_grouprel.addressbook_ids, };
- unsigned int person_projection[] = { _contacts_person.id,
- _contacts_person.status, _contacts_person.display_name,
- _contacts_person.display_name_index,
- _contacts_person.addressbook_ids, };
-
- const char *view_uri = NULL;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_list_h list = NULL;
- contacts_query_h query = NULL;
- contacts_filter_h filter = NULL;
- contacts_filter_h filter2 = NULL;
-
- Eina_List *result = NULL;
-
- p_retvm_if(NULL == list_out, CONTACTS_ERROR_INTERNAL,
- "parameter(list_out) is NULL");
- *list_out = NULL;
-
- PH_DBG("clist_d->list_op : %d", clist_d->list_op);
- switch (clist_d->list_op)
- {
- case CT_GET_LIST_ALL_PERSON:
- view_uri = _contacts_person._uri;
- if (clist_d->search_str && *clist_d->search_str)
- {
- err = (contacts_error_e) contacts_db_search_records(
- _contacts_person._uri, clist_d->search_str, 0, 0,
- &list);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_search_records() Failed(%d)", err);
- }
- else
- {
- err = (contacts_error_e) contacts_db_get_all_records(
- _contacts_person._uri, 0, 0, &list);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_all_records() Failed(%d)", err);
- }
- break;
- case CT_GET_LIST_ALL_PERSON_HAD_NUMBER:
- view_uri = _contacts_person._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
- do
- {
- filter = list_create_filter_bool(filter, _contacts_person._uri,
- _contacts_person.has_phonenumber, CONTACTS_MATCH_EQUAL,
- true);
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_projection,
- sizeof(person_projection) / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
-
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- break;
- case CT_GET_LIST_ALL_PERSON_HAD_EMAIL:
- view_uri = _contacts_person._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_bool(filter, _contacts_person._uri,
- _contacts_person.has_email, CONTACTS_MATCH_EQUAL, true);
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_projection,
- sizeof(person_projection) / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- break;
-
- case CT_GET_LIST_ALL_PERSON_HAD_NUMBER_OR_EMAIL:
- view_uri = _contacts_person._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_bool(filter, _contacts_person._uri,
- _contacts_person.has_phonenumber, CONTACTS_MATCH_EQUAL,
- true);
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_filter_add_operator(
- filter, CONTACTS_FILTER_OPERATOR_OR)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_bool(
- filter, _contacts_person.has_email, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_projection,
- sizeof(person_projection) / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- break;
- case CT_GET_LIST_PERSON_OF_ADDRBOOK_ID:
- view_uri = _contacts_person_contact._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person_contact._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_int(NULL,
- _contacts_person_contact._uri,
- _contacts_person_contact.address_book_id,
- CONTACTS_MATCH_EQUAL, clist_d->base_ab);
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_distinct(
- query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_contact_projection,
- sizeof(person_contact_projection)
- / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- break;
-
- case CT_GET_LIST_PERSON_OF_WRITABLE_ADDRBOOK_ID:
- view_uri = _contacts_person_contact._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person_contact._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_int(NULL,
- _contacts_person_contact._uri,
- _contacts_person_contact.address_book_mode,
- CONTACTS_MATCH_EQUAL, CONTACTS_ADDRESS_BOOK_MODE_NONE);
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_distinct(
- query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_contact_projection,
- sizeof(person_contact_projection)
- / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- break;
-
- case CT_GET_LIST_PERSON_HAD_NUMBER_OF_ADDRBOOK_ID:
- view_uri = _contacts_person_contact._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person_contact._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_int(NULL,
- _contacts_person_contact._uri,
- _contacts_person_contact.address_book_id,
- CONTACTS_MATCH_EQUAL, clist_d->base_ab);
- filter = list_create_filter_bool(filter,
- _contacts_person_contact._uri,
- _contacts_person_contact.has_phonenumber,
- CONTACTS_MATCH_EQUAL, true);
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_distinct(
- query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_contact_projection,
- sizeof(person_contact_projection)
- / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- break;
- case CT_GET_LIST_PERSON_HAD_EMAIL_OF_ADDRBOOK_ID:
- view_uri = _contacts_person_contact._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person_contact._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_int(NULL,
- _contacts_person_contact._uri,
- _contacts_person_contact.address_book_id,
- CONTACTS_MATCH_EQUAL, clist_d->base_ab);
- filter = list_create_filter_bool(filter,
- _contacts_person_contact._uri,
- _contacts_person_contact.has_email,
- CONTACTS_MATCH_EQUAL, true);
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_distinct(
- query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_contact_projection,
- sizeof(person_contact_projection)
- / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
- break;
- case CT_GET_LIST_PERSON_HAD_NUMBER_OR_EMAIL_OF_ADDRBOOK_ID:
- view_uri = _contacts_person_contact._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person_contact._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_int(NULL,
- _contacts_person_contact._uri,
- _contacts_person_contact.address_book_id,
- CONTACTS_MATCH_EQUAL, clist_d->base_ab);
- filter2 = list_create_filter_bool(NULL,
- _contacts_person_contact._uri,
- _contacts_person_contact.has_phonenumber,
- CONTACTS_MATCH_EQUAL, true);
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_filter_add_operator(
- filter2, CONTACTS_FILTER_OPERATOR_OR)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_bool(
- filter2, _contacts_person_contact.has_email,
- true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_filter_add_operator(
- filter, CONTACTS_FILTER_OPERATOR_AND)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_filter(
- filter, filter2)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_contact_projection,
- sizeof(person_contact_projection)
- / sizeof(int))))
- break;
-
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
-
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
- contacts_filter_destroy(filter);
- contacts_filter_destroy(filter2);
- contacts_query_destroy(query);
-
- break;
- case CT_GET_LIST_PERSON_OF_GROUP_ID:
- view_uri = _contacts_person_grouprel._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person_grouprel._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_int(filter,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.group_id,
- CONTACTS_MATCH_EQUAL, clist_d->base_grp);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_distinct(
- query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_grouprel_projection,
- sizeof(person_grouprel_projection)
- / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- break;
-
- case CT_GET_LIST_PERSON_HAD_NUMBER_OF_GROUP_ID:
- view_uri = _contacts_person_grouprel._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person_grouprel._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_int(NULL,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.group_id,
- CONTACTS_MATCH_EQUAL, clist_d->base_grp);
- filter = list_create_filter_bool(filter,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.has_phonenumber,
- CONTACTS_MATCH_EQUAL, true);
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_distinct(
- query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_grouprel_projection,
- sizeof(person_grouprel_projection)
- / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- break;
- case CT_GET_LIST_PERSON_HAD_EMAIL_OF_GROUP_ID:
- view_uri = _contacts_person_grouprel._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person_grouprel._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_int(NULL,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.group_id,
- CONTACTS_MATCH_EQUAL, clist_d->base_grp);
- filter = list_create_filter_bool(filter,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.has_email,
- CONTACTS_MATCH_EQUAL, true);
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_distinct(
- query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_grouprel_projection,
- sizeof(person_grouprel_projection)
- / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- break;
-
- case CT_GET_LIST_PERSON_HAD_NUMBER_OR_EMAIL_OF_GROUP_ID:
- view_uri = _contacts_person_grouprel._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person_grouprel._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_int(NULL,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.group_id,
- CONTACTS_MATCH_EQUAL, clist_d->base_grp);
- filter2 = list_create_filter_bool(NULL,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.has_phonenumber,
- CONTACTS_MATCH_EQUAL, true);
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_filter_add_operator(
- filter2, CONTACTS_FILTER_OPERATOR_OR)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_bool(
- filter2, _contacts_person_grouprel.has_email,
- true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_filter_add_operator(
- filter, CONTACTS_FILTER_OPERATOR_AND)))
- break;
-
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_filter(
- filter, filter2)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_distinct(
- query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_grouprel_projection,
- sizeof(person_grouprel_projection)
- / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_filter_destroy(filter);
- contacts_filter_destroy(filter2);
- contacts_query_destroy(query);
-
- break;
-
- case CT_GET_LIST_PERSON_NOT_ASSIGNED_OF_ADDRBOOK_ID:
- view_uri = _contacts_person_grouprel._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person_grouprel._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_int(NULL,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.address_book_id,
- CONTACTS_MATCH_EQUAL, clist_d->base_ab);
- filter = list_create_filter_int(filter,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.group_id, CONTACTS_MATCH_NONE,
- 0);
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_distinct(
- query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_grouprel_projection,
- sizeof(person_grouprel_projection)
- / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
-
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
- break;
-
- case CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_NUMBER_OR_EMAIL_OF_ADDRBOOK_ID:
- view_uri = _contacts_person_grouprel._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person_grouprel._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_int(NULL,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.address_book_id,
- CONTACTS_MATCH_EQUAL, clist_d->base_ab);
- filter = list_create_filter_int(filter,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.group_id, CONTACTS_MATCH_NONE,
- 0);
- filter2 = list_create_filter_bool(NULL,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.has_phonenumber,
- CONTACTS_MATCH_EQUAL, true);
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_filter_add_operator(
- filter2, CONTACTS_FILTER_OPERATOR_OR)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_bool(
- filter2, _contacts_person_grouprel.has_email,
- true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_filter_add_operator(
- filter, CONTACTS_FILTER_OPERATOR_AND)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_filter(
- filter, filter2)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_distinct(
- query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_grouprel_projection,
- sizeof(person_grouprel_projection)
- / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_filter_destroy(filter);
- contacts_filter_destroy(filter2);
- contacts_query_destroy(query);
-
- break;
- case CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_EMAIL_OF_ADDRBOOK_ID:
- view_uri = _contacts_person_grouprel._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person_grouprel._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_int(NULL,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.address_book_id,
- CONTACTS_MATCH_EQUAL, clist_d->base_ab);
- filter = list_create_filter_int(filter,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.group_id, CONTACTS_MATCH_NONE,
- 0);
- filter = list_create_filter_bool(filter,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.has_email,
- CONTACTS_MATCH_EQUAL, true);
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_distinct(
- query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_grouprel_projection,
- sizeof(person_grouprel_projection)
- / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- break;
- case CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_NUMBER_OF_ADDRBOOK_ID:
- view_uri = _contacts_person_grouprel._uri;
-
- err = (contacts_error_e) contacts_query_create(
- _contacts_person_grouprel._uri, &query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- do
- {
- filter = list_create_filter_int(NULL,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.address_book_id,
- CONTACTS_MATCH_EQUAL, clist_d->base_ab);
- filter = list_create_filter_int(filter,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.group_id, CONTACTS_MATCH_NONE,
- 0);
- filter = list_create_filter_bool(filter,
- _contacts_person_grouprel._uri,
- _contacts_person_grouprel.has_phonenumber,
- CONTACTS_MATCH_EQUAL, true);
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(
- query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_distinct(
- query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_query_set_projection(
- query, person_grouprel_projection,
- sizeof(person_grouprel_projection)
- / sizeof(int))))
- break;
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_search_records_with_query(
- query, clist_d->search_str, 0, 0,
- &list)))
- break;
- }
- else
- {
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- }
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
- break;
- default:
- ERR("Invalid op");
- return CONTACTS_ERROR_INTERNAL;
- }
- PH_DBG("end cotnacts_db_get_list, start while");
-
- clist_d->cnt_list_total = 0;
-
- // group - add member
- p_retvm_if(NULL == list, CONTACTS_ERROR_INTERNAL, "list is NULL");
-
- err = (contacts_error_e) contacts_list_get_count(list, &count);
- p_retvm_if(CONTACTS_ERROR_NONE != err, CONTACTS_ERROR_INTERNAL,
- "contacts_list_get_count() Failed(%d)", err);
- p_retvm_if(0 == count, CONTACTS_ERROR_NO_DATA, "list is empty");
-
- while (err == (contacts_error_e) CONTACTS_ERROR_NONE)
- {
- ct_person_list *person_info;
- char *temp_addressbooks = NULL;
-
- if (0 == strcmp(_contacts_person_contact._uri, view_uri))
- err = (contacts_error_e) phone_cts_get_int_from_list(list,
- _contacts_person_contact.person_id, &person_id);
- else
- err = (contacts_error_e) phone_cts_get_int_from_list(list,
- _contacts_person.id, &person_id);
-
- if (person_id == clist_d->selected_person_id)
- {
- contacts_list_next(list);
- continue;
- }
-
- Eina_List *l = NULL;
- Eina_List *list_grp_person = NULL;
- if (clist_d->list_grp_person && *clist_d->list_grp_person)
- {
- list_grp_person = *clist_d->list_grp_person;
- }
- bool check = false;
- void *v_data = NULL;
-
- EINA_LIST_FOREACH(list_grp_person, l, v_data)
- {
- ct_person_list *data = (ct_person_list *) v_data;
- if (data)
- {
- grp_person_id = data->id;
- PH_DBG("add member : grp_person_id =%d,person_id =%d",
- grp_person_id, person_id);
- if (grp_person_id && grp_person_id == person_id)
- {
- contacts_list_next(list);
- check = true;
- break;
- }
- }
- else
- ERR("list_grp_person' data is null");
- }
- if (check)
- continue;
-
- person_info = (ct_person_list*) calloc(1, sizeof(ct_person_list));
- if (NULL == person_info)
- {
- ERR("calloc() return NULL");
- break;
- }
- person_info->id = person_id;
- if (0 == strcmp(_contacts_person_contact._uri, view_uri))
- {
- err = (contacts_error_e) phone_cts_get_str_from_list(list,
- _contacts_person_contact.status,
- &(person_info->status_str));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() Failed(%d)", err);
- err = (contacts_error_e) phone_cts_get_str_from_list(list,
- _contacts_person_contact.display_name,
- &(person_info->display));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() Failed(%d)", err);
- err = (contacts_error_e) phone_cts_get_str_from_list(list,
- _contacts_person_contact.display_name_index,
- &(person_info->display_index));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() Failed(%d)", err);
- err = (contacts_error_e) phone_cts_get_str_from_list(list,
- _contacts_person_contact.addressbook_ids,
- &temp_addressbooks);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() Failed(%d)", err);
- person_info->addressbook_id_list = ctui_get_addressbook_id_list(
- temp_addressbooks, " ");
- }
- else
- {
- err = (contacts_error_e) phone_cts_get_str_from_list(list,
- _contacts_person.status, &(person_info->status_str));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() Failed(%d)", err);
- err = (contacts_error_e) phone_cts_get_str_from_list(list,
- _contacts_person.display_name, &(person_info->display));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() Failed(%d)", err);
- err = (contacts_error_e) phone_cts_get_int_from_list(list,
- _contacts_person.link_count, &(person_info->link_count));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_int_from_list() Failed(%d)", err);
- err = (contacts_error_e) phone_cts_get_str_from_list(list,
- _contacts_person.display_name_index,
- &(person_info->display_index));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() Failed(%d)", err);
- err = (contacts_error_e) phone_cts_get_str_from_list(list,
- _contacts_person.addressbook_ids, &temp_addressbooks);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() Failed(%d)", err);
- person_info->addressbook_id_list = ctui_get_addressbook_id_list(
- temp_addressbooks, " ");
- err = (contacts_error_e) phone_cts_get_bool_from_list(list,
- _contacts_person.is_favorite, &person_info->is_favourite);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_bool_from_list() Failed(%d)", err);
- }
-
- result = eina_list_append(result, person_info);
- clist_d->cnt_list_total++;
- err = (contacts_error_e) contacts_list_next(list);
- }
- *list_out = result;
- if (CONTACTS_ERROR_NO_DATA != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- return err;
- }
- return 0;
-}
-
-static inline int list_check_utf8(char c)
-{
- PH_TRACE;
- if (c < 128)
- return 1;
- else if ((c & 0xe0) == 0xc0)
- return 2;
- else if ((c & 0xf0) == 0xe0)
- return 3;
- else if ((c & 0xf8) == 0xf0)
- return 4;
- else if ((c & 0xfc) == 0xf8)
- return 5;
- else if ((c & 0xfe) == 0xfc)
- return 6;
- else
- return CONTACTS_ERROR_INTERNAL;
-}
-
-void ct_list_init_account_data(ct_list_data *clist_d)
-{
- PH_TRACE;
- int i = 0;
- int addressbook_id = 0;
- bool addressbook_exist = false;
- ct_ab_map acc_types[CT_MAX_ADDRBOOK];
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_list_h list = NULL;
- char addressbook_name[PH_TEXT_MAX_LEN] = { 0, };
-
- addressbook_id = ctui_get_view_mode();
-
- err = (contacts_error_e) contacts_db_get_all_records(
- _contacts_address_book._uri, 0, 0, &list);
- while (CONTACTS_ERROR_NONE == err)
- {
- err = phone_cts_get_int_from_list(list, _contacts_address_book.id,
- &(acc_types[i].id));
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_int_from_list() Failed(%d)", err);
- break;
- }
- err = phone_cts_get_int_from_list(list,
- _contacts_address_book.account_id, &(acc_types[i].account_id));
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_int_from_list() Failed(%d)", err);
- break;
- }
-
- acc_types[i].icon_path = ctui_get_addressbook_icon_path(
- acc_types[i].id);
- PH_DBG("icon_path = %s", acc_types[i].icon_path);
- if (acc_types[i].id == addressbook_id)
- addressbook_exist = true;
-
- ctui_get_addressbook_name(acc_types[i].id, addressbook_name,
- sizeof(addressbook_name));
- acc_types[i].addressbook_name = strdup(addressbook_name);
-
- if (++i == sizeof(acc_types) / sizeof(*acc_types))
- break;
-
- err = (contacts_error_e) contacts_list_next(list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- break;
- }
- }
- err = (contacts_error_e) contacts_list_destroy(list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)",
- err);
-
- if (addressbook_exist == false)
- ctui_set_view_mode(-1);
-
- if (!clist_d->ug /*&& CT_GET_LIST_ALL_PERSON != clist_d->list_op*/)
- {
- addressbook_id = ctui_get_view_mode();
- if (addressbook_id == -1 && clist_d->list_op > CT_GET_LIST_ALL_PERSON)
- {
- clist_d->list_op = CT_GET_LIST_ALL_PERSON;
- clist_d->base_ab = -1;
- }
- }
-
- if (i == sizeof(acc_types) / sizeof(*acc_types))
- {
- ERR("addressbook are too many");
- i--;
- }
- clist_d->acc_types = (ct_ab_map *) realloc(clist_d->acc_types, i * sizeof(ct_ab_map));
- p_retm_if(NULL == clist_d->acc_types, "realloc() return NULL");
-
- memcpy(clist_d->acc_types, acc_types, i * sizeof(ct_ab_map));
- clist_d->acc_count = i;
-}
-
-void ct_list_get_addrbook_icon_path(ct_list_data *clist_d, int addressbook_id,
- char *dest, int dest_len)
-{
- PH_TRACE;
- int i = 0;
- bool not_found;
-
- p_retm_if(NULL == dest, "parameter(dest) is NULL");
- dest[0] = '\0';
- if (0 == addressbook_id)
- return;
- p_retm_if(NULL == clist_d->acc_types, "clist_d->acc_types is NULL");
-
- not_found = true;
-
- int count = clist_d->acc_count;
- for (i = 0; i < count; i++)
- {
- if (addressbook_id == clist_d->acc_types[i].account_id)
- {
- not_found = false;
- break;
- }
- }
- p_retm_if(not_found, "invalid id_ab(%d)", addressbook_id);
-
- if (clist_d->acc_types[i].icon_path && *clist_d->acc_types[i].icon_path)
- snprintf(dest, dest_len, "%s", clist_d->acc_types[i].icon_path);
-}
-
-static inline void list_clean_ecore_task(ct_list_data *clist_d)
-{
- PH_TRACE;
- if (clist_d->list_idler)
- {
- ecore_idler_del(clist_d->list_idler);
- clist_d->list_idler = NULL;
- }
-
-}
-
-static void list_searchbar_entry_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- p_retm_if(NULL == clist_d, "parameter(clist_d) is NULL");
-
- ctui_list_set_unsweep(clist_d);
-}
-
-static void list_searchbar_clicked_cb(void *data, Evas_Object *obj,
- const char *emission, const char *source)
-{
- PH_TRACE;
- ct_list_data *clist = static_cast<ct_list_data *>(data);
-
- if (clist == NULL)
- {
- return;
- }
- list_searchbar_entry_clicked_cb(clist, NULL, NULL);
-}
-
-static char *list_group_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- char *group_index = (char *) data;
- if (0 == strcmp(part, "elm.text") && group_index && *group_index)
- return strdup(group_index);
- else
- return NULL;
-}
-
-static Elm_Genlist_Item_Class group_index =
-{
- group_index.version,
- group_index.refcount,
- group_index.delete_me,
- group_index.item_style = "grouptitle",
- group_index.decorate_item_style,
- group_index.decorate_all_item_style,
- {group_index.func.text_get = list_group_label_get, },
-};
-
-static Elm_Object_Item *create_item_fast_index(ct_list_data *clist_d,ct_person_list *person_info)
-{
- PH_TRACE;
- if (person_info)
- {
- ct_list_index_data * index_data = (ct_list_index_data *) calloc(1, sizeof(ct_list_index_data));
- snprintf(index_data->index, sizeof(index_data->index), "%s", person_info->display_index);
- index_data->item = elm_index_item_append(clist_d->fast_index, index_data->index, NULL, NULL);
- clist_d->list_index = eina_list_append(clist_d->list_index, index_data);
- elm_index_level_go(clist_d->fast_index, 0);
- return index_data->item;
- }
- return NULL;
-}
-void create_fast_index_list_index(ct_list_data *clist_d, ct_person_list *person_info)
-{
- PH_TRACE;
- if (person_info)
- {
- char cur_index[10] = { 0, };
-
- if (!person_info->display)
- snprintf(cur_index, sizeof(cur_index), "#");
- else
- snprintf(cur_index, sizeof(cur_index), "%s",person_info->display_index);
-
- if (strcmp(clist_d->group_index, cur_index))
- {
- strcpy(clist_d->group_index, cur_index);
- Elm_Object_Item *item = elm_genlist_item_append(clist_d->genlist, &group_index, strdup(cur_index), NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- elm_genlist_item_select_mode_set(item,ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- snprintf(clist_d->group_index, sizeof(clist_d->group_index), "%s",cur_index);
- clist_d->group_item = item;
-
- Elm_Object_Item * item_index_data = create_item_fast_index(clist_d,person_info);
- elm_object_item_data_set(item_index_data, item);
- }
- }
-}
-static void list_append_item(ct_list_data *clist_d, ct_person_list *person_info)
-{
- PH_TRACE;
- Elm_Object_Item * item = NULL;
-
- if (CT_GET_LIST_VCARD != clist_d->list_op && !(clist_d->search_str && *clist_d->search_str))
- create_fast_index_list_index(clist_d, person_info);
-
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- bool has_phonenumber = false;
-
- if (!clist_d->vcard_path)
- {
- err = (contacts_error_e) contacts_db_get_record(_contacts_person._uri,
- person_info->id, &record);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
- err = (contacts_error_e) contacts_record_get_bool(record,
- _contacts_person.has_phonenumber, &has_phonenumber);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_bool() Failed(%d)", err);
- err = (contacts_error_e) contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- }
-
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (person_info->phone_number_found == false)
- item = elm_genlist_item_append(clist_d->genlist,
- &clist_d->itcs[CT_LIST_ITEM_SEARCH_NO_NUMBER], person_info,
- NULL, ELM_GENLIST_ITEM_NONE, clist_d->gl_sel,
- clist_d->gl_sel_data);
- else
- item = elm_genlist_item_append(clist_d->genlist,
- &clist_d->itcs[CT_LIST_ITEM_SEARCH], person_info, NULL,
- ELM_GENLIST_ITEM_NONE, clist_d->gl_sel,
- clist_d->gl_sel_data);
- }
- else
- {
-
- if (person_info->phone_number_found == false)
- {
- item = elm_genlist_item_append(clist_d->genlist,
- &clist_d->itcs[CT_LIST_ITEM_NO_NUMBER], person_info,
- clist_d->group_item, ELM_GENLIST_ITEM_NONE, clist_d->gl_sel,
- clist_d->gl_sel_data);
- }
- else
- {
- item = elm_genlist_item_append(clist_d->genlist,
- &clist_d->itcs[CT_LIST_ITEM], person_info,
- clist_d->group_item, ELM_GENLIST_ITEM_NONE, clist_d->gl_sel,
- clist_d->gl_sel_data);
- }
- }
- person_info->item = item;
-}
-
-#define N 20
-static Eina_Bool list_append_part(void *user_data)
-{
- PH_TRACE;
- int i = 0;
- Eina_List *cursor;
- ct_list_data *clist_d = (ct_list_data *) user_data;
- void *info;
-
- cursor = eina_list_nth_list(clist_d->list, clist_d->readed_n);
- EINA_LIST_FOREACH(cursor, cursor, info)
- {
- ct_person_list *person_info = (ct_person_list *) info;
- if (i++ == N)
- break;
- list_append_item(clist_d, person_info);
- }
- if (N < i)
- {
- clist_d->readed_n += N;
- return ECORE_CALLBACK_RENEW;
- }
- else
- {
- clist_d->list_idler = NULL;
- disable_count_item(clist_d);
- clist_d->list_idler = NULL;
- return ECORE_CALLBACK_CANCEL;
- }
-}
-
-static bool __list_get_addressbook_name(int addressbook_id, char *buf,
- int buf_size)
-{
- PH_TRACE;
- int addressbook_mode = CONTACTS_ADDRESS_BOOK_MODE_NONE;
- char *cur_ab;
- char cur_account_name[200] = { 0, };
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- p_retvm_if(buf == NULL, false, "out_name in null");
-
- ctui_get_account_name_by_address_book_id(addressbook_id, cur_account_name,
- sizeof(cur_account_name));
- if (addressbook_id > 0)
- {
- err = (contacts_error_e) contacts_db_get_record(
- _contacts_address_book._uri, addressbook_id, &record);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_db_get_record() Failed(%d)", err);
-
- err = (contacts_error_e) contacts_record_get_str_p(record,
- _contacts_address_book.name, &cur_ab);
- if (err != CONTACTS_ERROR_NONE)
- {
- err = (contacts_error_e) contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- return false;
- }
-
- err = (contacts_error_e) contacts_record_get_int(record,
- _contacts_address_book.mode, &addressbook_mode);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY == addressbook_mode)
- snprintf(buf, buf_size, "%s", cur_account_name);
- else
- snprintf(buf, buf_size, "%s %s", cur_account_name, cur_ab);
-
- err = (contacts_error_e) contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- }
- else
- {
- snprintf(buf, buf_size, "%s", T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE));
- }
-
- return true;
-}
-
-void ctui_list_handle_search(ct_list_data &clist_d)
-{
- PH_TRACE;
- int i = 0;
- int readed = 0;
- Eina_List *cursor;
- char group_title[PH_TEXT_MAX_LEN];
- char addressbook_name[PH_TEXT_MAX_LEN];
- void *info;
-
- clear_genlist_info(clist_d);
-
- if (clist_d.list_idler)
- {
- ecore_idler_del(clist_d.list_idler);
- clist_d.list_idler = NULL;
- }
-
- if (__list_get_addressbook_name(clist_d.base_ab, addressbook_name,
- sizeof(addressbook_name)) == true)
- snprintf(group_title, sizeof(group_title), "%s (%d)", addressbook_name,
- eina_list_count(clist_d.list));
- else
- snprintf(group_title, sizeof(group_title), "%s (%d)",
- S_(PH_SYS_BODY_CONTACTS), eina_list_count(clist_d.list));
- DBG("addressbook_name = %s,group_title = %s",addressbook_name,group_title);
- clist_d.search_group_item = elm_genlist_item_append(clist_d.genlist,
- &group_index, strdup(group_title), NULL, ELM_GENLIST_ITEM_GROUP,
- NULL, NULL);
- elm_genlist_item_select_mode_set(clist_d.search_group_item,
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- list_update_person_info_check_status(clist_d.list,clist_d.list_check_info);
- clist_d.cnt_checked = eina_list_count(clist_d.list_check_info);
-
- EINA_LIST_FOREACH(clist_d.list, cursor, info)
- {
- ct_person_list *person_info = (ct_person_list *) info;
-
- if ((clist_d.search_str && *clist_d.search_str))
- {
- std::string search_str(clist_d.search_str);
- person_info->phone_number_found = find_number_person_list(person_info,search_str);
- }
-
- if (i++ == N)
- break;
- list_append_item(&clist_d, person_info);
- readed++;
- }
- if (N < i)
- {
- clist_d.readed_n = readed;
- clist_d.list_idler = ecore_idler_add(list_append_part, &clist_d);
- }
- else
- {
- if (!(clist_d.search_str && *clist_d.search_str))
- disable_count_item(&clist_d);
- }
-}
-
-static void list_append_all(ct_list_data *clist_d)
-{
- PH_TRACE;
- int i = 0;
- Eina_List *cursor;
- void *info;
-
- if (clist_d->list_idler)
- {
- ecore_idler_del(clist_d->list_idler);
- clist_d->list_idler = NULL;
- }
-
- if (clist_d->base_ab > -1)
- {
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- Elm_Object_Item * item;
- int addressbook_mode;
- char title[400] = { 0, };
- char cur_account_name[200] = { 0, };
- char *cur_ab;
-
- ctui_get_account_name_by_address_book_id(clist_d->base_ab,
- cur_account_name, sizeof(cur_account_name));
- if (clist_d->base_ab > 0)
- {
- err = (contacts_error_e) contacts_db_get_record(
- _contacts_address_book._uri, clist_d->base_ab, &record);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
-
- err = (contacts_error_e) contacts_record_get_str_p(record,
- _contacts_address_book.name, &cur_ab);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- err = (contacts_error_e) contacts_record_get_int(record,
- _contacts_address_book.mode, &addressbook_mode);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY == addressbook_mode)
- snprintf(title, sizeof(title), "%s", cur_account_name);
- else
- snprintf(title, sizeof(title), "%s %s", cur_account_name,
- cur_ab);
-
- err = (contacts_error_e) contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- }
- else
- {
- snprintf(title, sizeof(title), "%s",
- T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE));
- }
-
- item = elm_genlist_item_append(clist_d->genlist, &group_index,
- strdup(title), NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- elm_genlist_item_select_mode_set(item,
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- }
- list_update_person_info_check_status(clist_d->list,clist_d->list_check_info);
- clist_d->cnt_checked = eina_list_count(clist_d->list_check_info);
- EINA_LIST_FOREACH(clist_d->list, cursor, info)
- {
- ct_person_list *person_info = (ct_person_list *) info;
- if (i++ == N)
- break;
- list_append_item(clist_d, person_info);
- }
- if (N < i)
- {
- clist_d->readed_n = N;
- clist_d->list_idler = ecore_idler_add(list_append_part, clist_d);
- }
- else
- disable_count_item(clist_d);
-}
-#undef N
-void clear_genlist_info(ct_list_data &clist_d)
-{
- elm_genlist_clear(clist_d.genlist);
- clear_fast_index(&clist_d);
- clist_d.group_index[0] = '\0';
- clist_d.group_item = NULL;
-}
-
-void ctui_list_refresh_genlist(ct_list_data *clist_d)
-{
- PH_TRACE;
- clear_genlist_info(*clist_d);
- list_append_all(clist_d);
-}
-
-static void remove_favorite_contacts(Eina_List **list)
-{
- PH_TRACE;
- Eina_List *l = NULL;
- void *info = NULL;
-
- if (list && *list)
- {
- EINA_LIST_FOREACH(*list, l, info)
- {
- ct_person_list *person_info = (ct_person_list *) info;
- if (person_info != NULL && person_info->is_favourite == EINA_TRUE)
- {
- *list = eina_list_remove(*list, (void *) person_info);
- free(person_info);
- }
- }
- }
-}
-
-static void list_update_person_info_check_status(Eina_List *list,
- Eina_List *list_check)
-{
- PH_TRACE;
- void *data = NULL;
- Eina_List *l = NULL;
- Eina_List *l_temp = NULL;
- void *info = NULL;
-
- p_retm_if(NULL == list, "parameter(list_person) is NULL");
- p_retm_if(NULL == list_check, "parameter(list_check) is NULL");
-
- EINA_LIST_FOREACH(list, l, info)
- {
- ct_person_list *person_search = (ct_person_list *) info;
-
- EINA_LIST_FOREACH(list_check, l_temp, data)
- {
- ct_person_list *person_info = (ct_person_list *) data;
- if (person_search != NULL && person_info != NULL && person_search->id == person_info->id)
- {
- person_search->checked = true;
- break;
- }
- }
- }
-}
-
-bool find_number_person_list(ct_person_list *person_info,const std::string &search_str)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- contacts_record_h record_number = NULL;
- int recort_id = 0;
- char *number = NULL;
- std::string number_display;
-
- if(person_info == NULL)
- {
- return false;
- }
-
- if(CONTACTS_ERROR_NONE == (contacts_error_e)contacts_db_get_record(_contacts_person._uri,person_info->id, &record))
- {
- if(CONTACTS_ERROR_NONE == (contacts_error_e)contacts_record_get_int(record, _contacts_person.display_contact_id, &recort_id))
- {
- contacts_record_destroy(record, true);
- record = NULL;
-
- if(CONTACTS_ERROR_NONE == (contacts_error_e)contacts_db_get_record(_contacts_contact._uri, recort_id, &record))
- {
- int index = 0;
- while (CONTACTS_ERROR_NONE == (contacts_error_e)contacts_record_get_child_record_at_p(record,_contacts_contact.number,index++, &record_number))
- {
- if(CONTACTS_ERROR_NONE == (contacts_error_e)contacts_record_get_str_p(record_number,_contacts_number.number, &number))
- {
- if(number != NULL)
- {
- number_display.assign(number);
- if(number_display.find(search_str) != std::string::npos)
- {
- person_info->number_display = strdup(number_display.c_str());
- contacts_record_destroy(record, true);
- record = NULL;
- return true;
- }
- }
- }
- }
- }
- contacts_record_destroy(record, true);
- record = NULL;
- }
- }
-
- return false;
-}
-
-static void list_searchbar_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *en;
- Evas_Object *sb = (Evas_Object *) data;
- ct_list_data *clist_d;
- char *search_str;
-
- clist_d = (ct_list_data *) evas_object_data_get(sb, "clist_d");
- p_retm_if(NULL == sb, "evas_object_data_get() return NULL");
-
- en = elm_object_part_content_get(sb, "elm.swallow.content");
- p_retm_if(NULL == en, "elm_object_part_content_get() return NULL");
-
- p_retm_if(NULL == clist_d->navi, "clist_d->navi() return NULL");
- ct_list_data *clist_favorite = (ct_list_data *) evas_object_data_get(
- clist_d->navi, "favor_list_d");
-
- if (!elm_entry_is_empty(en))
- elm_object_signal_emit(sb, "elm,state,guidetext,hide", "elm");
-
- if (elm_object_focus_get(sb))
- {
- if (elm_entry_is_empty(en))
- elm_object_signal_emit(sb, "elm,state,eraser,hide", "elm");
- else
- elm_object_signal_emit(sb, "elm,state,eraser,show", "elm");
- }
- else
- {
- if (elm_entry_is_empty(en))
- {
- elm_object_signal_emit(sb, "elm,state,guidetext,show", "elm");
- elm_object_signal_emit(sb, "elm,state,eraser,hide", "elm");
- }
- }
- search_str = ctui_entry_markup_to_utf8_without_spaces(elm_entry_entry_get(en));
- p_retm_if(NULL == search_str, "ctui_entry_markup_to_utf8_without_spaces() return NULL");
-
- if (strlen(search_str) > 0)
- {
- if (NULL != clist_d->select_all_layout)
- {
- elm_box_unpack(clist_d->box, clist_d->select_all_layout);
- evas_object_del(clist_d->select_all_layout);
- clist_d->select_all_layout = NULL;
- }
- }
- else
- {
- ctui_list_set_selectall(clist_d);
- }
- if (search_str && clist_d->search_str)
- {
- if (pre_search_str[0] == '\0' && search_str[0] == '\0')
- {
- ct_list_get_contacts(clist_d, &clist_d->list);
- if (clist_favorite && clist_favorite->list)
- {
- remove_favorite_contacts(&clist_d->list);
- }
- clist_d->search_str = NULL;
- elm_genlist_homogeneous_set(clist_d->genlist, EINA_TRUE);
- elm_genlist_mode_set(clist_d->genlist, ELM_LIST_SCROLL);
- ctui_list_refresh_genlist(clist_d);
- }
- else
- {
- if (0 == strcmp(search_str, clist_d->search_str))
- {
- free(search_str);
- return;
- }
- }
- }
- if ('\0' == search_str[0] && NULL == clist_d->search_str)
- {
- if (elm_genlist_decorate_mode_get(clist_d->genlist)&& clist_d->edit_sel_update)
- clist_d->edit_sel_update(clist_d);
- free(search_str);
- return;
- }
-
- free(clist_d->search_str);
- clist_d->search_str = search_str;
-
- if (strcmp(pre_search_str, search_str))
- {
- ct_list_get_contacts(clist_d, &clist_d->list);
- if (clist_favorite && clist_favorite->list)
- {
- remove_favorite_contacts(&clist_d->list);
- }
- if (*search_str)
- {
- elm_genlist_mode_set(clist_d->genlist, ELM_LIST_COMPRESS);
- ctui_list_handle_search(*clist_d);
- }
- else
- {
- elm_genlist_homogeneous_set(clist_d->genlist, EINA_TRUE);
- elm_genlist_mode_set(clist_d->genlist, ELM_LIST_SCROLL);
- ctui_list_refresh_genlist(clist_d);
- }
-
- }
-
- snprintf(pre_search_str, sizeof(pre_search_str), "%s", search_str);
-
- if (elm_genlist_decorate_mode_get(clist_d->genlist)
- && clist_d->edit_sel_update)
- clist_d->edit_sel_update(clist_d);
-
-}
-
-void list_searchbar_back_button_cb(void *data)
-{
- PH_TRACE;
- ct_list_data *clist = static_cast<ct_list_data *>(data);
- if (clist && clist->search_layout && clist->genlist)
- {
- Evas_Object *entry = elm_object_part_content_get(clist->search_layout,"elm.swallow.content");
- if (entry && clist->navi)
- {
- free(clist->search_str);
- clist->search_str = NULL;
- const char * text = elm_entry_entry_get(entry);
- if (text && *text)
- {
- elm_entry_entry_set(entry, NULL);
- }
- elm_object_focus_set(entry, EINA_FALSE);
- pre_search_str[0] = '\0';
- elm_genlist_homogeneous_set(clist->genlist, EINA_TRUE);
- elm_genlist_mode_set(clist->genlist, ELM_LIST_SCROLL);
- elm_object_focus_set(clist->genlist, EINA_TRUE);
- ct_list_get_contacts(clist, &clist->list);
- ct_list_data *clist_favorite = (ct_list_data *) evas_object_data_get(clist->navi,"favor_list_d");
- if (clist_favorite && clist_favorite->list)
- {
- remove_favorite_contacts(&clist->list);
- }
- ctui_list_refresh_genlist(clist);
- ctui_list_update_selection_info(clist);
- }
- }
-}
-
-void list_searchbar_data_set(void *data)
-{
- PH_TRACE;
- ct_list_data * pClistD = static_cast<ct_list_data *>(data);
- if (pClistD)
- {
- pClistD->widget_back_cb = list_searchbar_back_button_cb;
- }
-}
-
-static void list_searchbar_focused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
-
- if(data != NULL)
- {
- Evas_Object *pLayout = static_cast<Evas_Object *>(data);
- evas_object_smart_callback_add((Evas_Object *) evas_object_data_get(pLayout, "button_cancel"), CLICKED,ctui_list_searchbar_cancel_cb, pLayout);
- elm_object_focus_set(pLayout, EINA_TRUE);
- elm_object_signal_emit(pLayout, "elm,state,guidetext,hide","elm");
- elm_object_signal_emit(pLayout, "cancel,show", "");
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit(pLayout, "elm,state,eraser,hide","elm");
- else
- elm_object_signal_emit(pLayout, "elm,state,eraser,show","elm");
- list_searchbar_data_set(evas_object_data_get(pLayout, "clist_d"));
- }
-}
-
-static void list_searchbar_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
-
- if(data != NULL)
- {
- Evas_Object *pLayout = static_cast<Evas_Object *>(data);
- evas_object_smart_callback_del((Evas_Object *) evas_object_data_get(pLayout, "button_cancel"), CLICKED,ctui_list_searchbar_cancel_cb);
- if (elm_entry_is_empty(obj))
- {
- elm_object_signal_emit(pLayout, "elm,state,guidetext,show","elm");
- }
- else
- elm_object_signal_emit(pLayout, "elm,state,guidetext,hide","elm");
- elm_object_signal_emit(pLayout, "elm,state,eraser,hide","elm");
- elm_object_signal_emit(pLayout, "cancel,hide", "");
- }
-}
-
-int ctui_list_checked_cnt_get(Eina_List *list)
-{
- PH_TRACE;
- int cnt = 0;
- Eina_List *l;
- void *info;
-
- EINA_LIST_FOREACH(list, l, info)
- {
- ct_person_list *person_info = (ct_person_list *) info;
- if (NULL == person_info)
- continue;
- if (person_info->checked)
- cnt++;
- }
- return cnt;
-}
-
-void ctui_list_update_selection_info(void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- int checked_cnt = 0;
- char buf[PH_TEXT_SHORT_LEN];
-
- if (CT_LIST_MODE_EDIT != clist_d->list_mode)
- return;
-
- if (clist_d->ug_request && NULL == clist_d->select_all_layout)
- {
- checked_cnt = ctui_list_checked_cnt_get(clist_d->list);
- }
- else
- {
- Evas_Object *check = elm_object_part_content_get(
- clist_d->select_all_layout, "elm.icon");
- if (check)
- {
- if (0 != clist_d->cnt_list_total
- && clist_d->cnt_checked == clist_d->cnt_list_total)
- elm_check_state_set(check, EINA_TRUE);
- else if (0 == clist_d->cnt_list_total
- || clist_d->cnt_checked != clist_d->cnt_list_total)
- elm_check_state_set(check, EINA_FALSE);
- }
- checked_cnt = clist_d->cnt_checked;
- }
- if (0 == clist_d->cnt_list_total)
- {
- phone_hide_notify(clist_d->base_layout);
- ctui_navi_btn_disabled_set(clist_d->navi, EINA_TRUE);
- }
- else
- {
- if (0 == checked_cnt)
- {
- phone_show_notify(clist_d->base_layout,
- T_(CT_GET_TEXT_BASIC, CTTEXT_SELECT_CONTACTS));
- ctui_navi_btn_disabled_set(clist_d->navi, EINA_TRUE);
- }
- else
- {
- ctui_navi_btn_disabled_set(clist_d->navi, EINA_FALSE);
- if (clist_d->cnt_max_check)
- snprintf(buf, sizeof(buf), "%s (%d/%d)",
- S_(PH_SYS_POP_SELECTED), clist_d->cnt_checked,
- clist_d->cnt_max_check);
- else
- snprintf(buf, sizeof(buf), "%s (%d)", S_(PH_SYS_POP_SELECTED),
- clist_d->cnt_checked);
- phone_show_notify(clist_d->base_layout, buf);
- }
- }
-}
-
-void ctui_list_searchbar_cancel_cb(void *data, Evas_Object *obj,void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist = (ct_list_data *) evas_object_data_get((Evas_Object *) data, "clist_d");
- if (clist && clist->search_layout && clist->genlist)
- {
- Evas_Object *entry = elm_object_part_content_get(clist->search_layout,"elm.swallow.content");
- if (entry && clist->navi)
- {
- free(clist->search_str);
- clist->search_str = NULL;
- const char * text = elm_entry_entry_get(entry);
- if (text && *text)
- {
- elm_entry_entry_set(entry, NULL);
- }
- elm_object_focus_set(entry, EINA_FALSE);
- pre_search_str[0] = '\0';
- elm_genlist_homogeneous_set(clist->genlist, EINA_TRUE);
- elm_genlist_mode_set(clist->genlist, ELM_LIST_SCROLL);
- elm_object_focus_set(clist->genlist, EINA_TRUE);
- ct_list_get_contacts(clist, &clist->list);
- ct_list_data *clist_favorite = (ct_list_data *) evas_object_data_get(clist->navi,"favor_list_d");
- if (clist_favorite && clist_favorite->list)
- {
- remove_favorite_contacts(&clist->list);
- }
- ctui_list_refresh_genlist(clist);
- ctui_list_update_selection_info(clist);
- }
- }
-}
-
-static void list_searchbar_eraser_cb(void *data, Evas_Object *obj,
- const char *emission, const char *source)
-{
- PH_TRACE;
- elm_entry_entry_set((Evas_Object *) data, "");
- pre_search_str[0] = '\0';
- elm_entry_text_style_user_push((Evas_Object *) data, "DEFAULT='align=left font=Tizen:style=Thin text_class=tizen font_size=36 color=#5D61BC'");
- elm_entry_entry_set((Evas_Object *) data, T_(PH_GET_TEXT_BASIC,CTTEXT_ENTRY_SEARCH));
-}
-static bool message_mode_state(int ug_request, int list_mode)
-{
- PH_TRACE;
- bool state = (CT_LIST_MODE_EDIT == list_mode)
- || (CT_UG_REQUEST_CHECK == ug_request)
- || (CT_UG_REQUEST_CHECK_FOR_NUMBER == ug_request)
- || (CT_UG_REQUEST_CHECK_FOR_EMAIL == ug_request)
- || (CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == ug_request);
- return state;
-}
-
-void ctui_list_create_searchbar(Evas_Object* parent,
- ct_list_data *clist_d)
-{
- PH_TRACE;
-
- if (parent == NULL || clist_d == NULL)
- {
- return;
- }
- Evas_Object *pLayout_search = elm_layout_add(parent);
- if (pLayout_search == NULL)
- {
- return;
- }
- elm_layout_file_set(pLayout_search, CONTACTS_EDJ, "search_layout_list");
- evas_object_size_hint_weight_set(pLayout_search, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(pLayout_search, EVAS_HINT_FILL, EVAS_HINT_FILL);
- clist_d->searchbar = pLayout_search;
-
- Evas_Object *pLayout = elm_layout_add(pLayout_search);
- if (pLayout == NULL)
- {
- return;
- }
- if (message_mode_state(clist_d->ug_request, clist_d->list_mode))
- elm_object_part_content_set(pLayout_search,
- "add_button_hide_swall_search", pLayout);
- else
- elm_object_part_content_set(pLayout_search,
- "add_button_show_swall_search", pLayout);
- evas_object_data_set(pLayout, "clist_d", clist_d);
- evas_object_size_hint_weight_set(pLayout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(pLayout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_layout_theme_set(pLayout, "layout", "searchbar", "cancel_button");
- clist_d->search_layout = pLayout;
- evas_object_show(pLayout);
-
- Evas_Object * pSearchBar = ea_editfield_add(pLayout,EA_EDITFIELD_SEARCHBAR);
- if (pSearchBar != NULL)
- {
- elm_object_part_content_set(pLayout, "elm.swallow.content", pSearchBar);
- elm_object_domain_translatable_part_text_set(pSearchBar, "elm.guide", NULL, T_(PH_GET_TEXT_BASIC,CTTEXT_ENTRY_SEARCH));
- clist_d->m_Widget = pSearchBar;
- }
-
- Evas_Object *pCancelBtn = elm_button_add(pLayout);
- if (pCancelBtn != NULL)
- {
- elm_object_part_content_set(pLayout, "button_cancel", pCancelBtn);
- elm_object_style_set(pCancelBtn, "searchbar/default");
- elm_object_text_set(pCancelBtn, S_(PH_SYS_SK_CANCEL));
- }
-
- evas_object_smart_callback_add(pSearchBar, "focused",
- list_searchbar_focused_cb, pLayout);
- evas_object_smart_callback_add(pSearchBar, "unfocused",
- list_searchbar_unfocused_cb, pLayout);
- evas_object_smart_callback_add(pSearchBar, CHANGED,
- list_searchbar_changed_cb, pLayout);
- evas_object_smart_callback_add(pSearchBar, "preedit,changed",
- list_searchbar_changed_cb, pLayout);
- elm_object_signal_callback_add(pLayout, "elm,bg,clicked", "elm",
- list_searchbar_clicked_cb, clist_d);
- elm_object_signal_callback_add(pLayout, "elm,eraser,clicked", "elm",
- list_searchbar_eraser_cb, pSearchBar);
- evas_object_smart_callback_add(pCancelBtn, CLICKED,
- ctui_list_searchbar_cancel_cb, pLayout);
-
- elm_object_part_content_set(clist_d->layout, "searchbar_layout", pLayout_search);
- evas_object_show(pLayout_search);
- clist_d->searchbar = pLayout_search;
-}
-
-static Evas_Object* list_create_navi_content_genlist(Evas_Object* parent)
-{
- PH_TRACE;
- Evas_Object *genlist = elm_genlist_add(parent);
-
- elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_genlist_block_count_set(genlist, 20);
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
-
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- return genlist;
-}
-
-static void list_fast_delayed_changed(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- // called on a change but delayed in case multiple changes happen in a
- // short timespan
- elm_genlist_item_bring_in(
- (Elm_Object_Item *) elm_object_item_data_get(
- (const Elm_Object_Item *) event_info),
- ELM_GENLIST_ITEM_SCROLLTO_TOP);
-}
-
-static void list_fast_selected(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- // called on final select
- elm_genlist_item_bring_in(
- (Elm_Object_Item *) elm_object_item_data_get(
- (const Elm_Object_Item *) event_info),
- ELM_GENLIST_ITEM_SCROLLTO_TOP);
-}
-
-static void list_get_number_str(int id, char *buf, int buf_len)
-{
- PH_TRACE;
- contacts_record_h record_default_number;
- int err = phone_cts_get_default_number(id, &record_default_number);
- if (CONTACTS_ERROR_NONE == err)
- {
- char *number = NULL;
- contacts_record_get_str(record_default_number, _contacts_number.number, &number);
- {
- if (number && *number)
- {
- strncpy(buf, number, buf_len);
- }
- }
- free(number);
- err = contacts_record_destroy(record_default_number, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
- }
-}
-
-static void list_gl_sweep(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- assert(event_info);
- if (NULL != data && NULL != event_info)
- {
- ct_list_data *clist_d = static_cast<ct_list_data*>(data);
-
- Elm_Object_Item *item = static_cast<Elm_Object_Item*>(event_info);
- p_ret_if(!item);
- p_ret_if(CT_GET_LIST_VCARD == clist_d->list_op);
- p_ret_if(CT_LIST_MODE_EDIT == clist_d->list_mode);
-
- Elm_Genlist_Item_Type type = elm_genlist_item_type_get(item);
- p_ret_if(ELM_GENLIST_ITEM_GROUP == type);
- p_ret_if( &clist_d->itcs[CT_LIST_ITEM_COUNT] == elm_genlist_item_item_class_get(item));
-
- ct_person_list *person_info = NULL;
- person_info = static_cast<ct_person_list*>(elm_object_item_data_get(item));
- p_retm_if(NULL == person_info, "ct_person_list is null");
- if (!person_info->number_loaded)
- {
- char buf[PH_TEXT_MAX_LEN];
- buf[0] = '\0';
- list_get_number_str(person_info->id, buf, sizeof(buf));
- if (*buf)
- person_info->number = strdup(buf);
- person_info->number_loaded = true;
- }
-
- Elm_Genlist_Item_Class *itc = NULL;
- itc = (Elm_Genlist_Item_Class *) elm_genlist_item_item_class_get(item);
- p_retm_if(NULL == itc, "item class is null");
-
- if ((NULL == person_info->number || '\0' == *person_info->number) && strcmp(itc->decorate_item_style, clist_d->itcs[CT_LIST_ITEM].decorate_item_style))
- {
- if (clist_d->search_str && *clist_d->search_str)
- elm_genlist_item_item_class_update(item, &clist_d->itcs[CT_LIST_ITEM_SEARCH]);
- else
- elm_genlist_item_item_class_update(item, &clist_d->itcs[CT_LIST_ITEM]);
- }
- else if ((person_info->number && *person_info->number) && strcmp(itc->decorate_item_style, clist_d->itcs[CT_LIST_ITEM_NO_NUMBER].decorate_item_style))
- {
- if (clist_d->search_str && *clist_d->search_str)
- elm_genlist_item_item_class_update(item, &clist_d->itcs[CT_LIST_ITEM_SEARCH_NO_NUMBER]);
- else
- elm_genlist_item_item_class_update(item, &clist_d->itcs[CT_LIST_ITEM_NO_NUMBER]);
- }
-
- hide_fast_index(clist_d);
-
- // hide sweeped item
- Elm_Object_Item *lastItem = clist_d->last_sweep_item;
-
- if (NULL != lastItem)
- {
- elm_genlist_item_decorate_mode_set(lastItem, "slide", EINA_FALSE);
- elm_genlist_item_select_mode_set(lastItem, ELM_OBJECT_SELECT_MODE_DEFAULT);
- clist_d->last_sweep_item = NULL;
- }
-
- clist_d->last_sweep_item = item;
- elm_genlist_item_decorate_mode_set(item, "slide", EINA_TRUE);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_NONE);
- }
-}
-
-static void list_gl_unsweep(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data *clist_d = static_cast<ct_list_data*>(data);
- if (NULL != clist_d->last_sweep_item)
- {
- elm_genlist_item_decorate_mode_set(clist_d->last_sweep_item, "slide", EINA_FALSE);
- elm_genlist_item_select_mode_set(clist_d->last_sweep_item, ELM_OBJECT_SELECT_MODE_DEFAULT);
- show_fast_index(clist_d);
- clist_d->last_sweep_item = NULL;
- }
- }
-}
-
-void ctui_list_set_unsweep(ct_list_data *clist_d)
-{
- PH_TRACE;
- assert(clist_d);
- if (NULL != clist_d)
- {
- elm_genlist_item_decorate_mode_set(clist_d->last_sweep_item, "slide", EINA_FALSE);
- elm_genlist_item_select_mode_set(clist_d->last_sweep_item, ELM_OBJECT_SELECT_MODE_DEFAULT);
- show_fast_index(clist_d);
- }
-}
-
-void list_destroy_child_ug(void *data)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_list_data *pListData = static_cast<ct_list_data *>(data);
- ug_destroy(pListData->child_ug);
- pListData->child_ug = NULL;
-}
-
-Eina_Bool list_hide_popup_cb(void *data)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, ECORE_CALLBACK_CANCEL, "data is null");
- ct_list_data *pListData = static_cast<ct_list_data *>(data);
-
- if (pListData->popup)
- {
- evas_object_del(pListData->popup);
- pListData->popup = NULL;
- }
- return ECORE_CALLBACK_CANCEL;
-}
-
-char* list_get_person_name(int id)
-{
- p_retvm_if(NO_INIT >= id, NULL, "incorrect id");
- char* contact_name = NULL;
- contacts_record_h person = NULL;
-
- if (contacts_db_get_record(_contacts_person._uri, id, &person) == CONTACTS_ERROR_NONE)
- {
- if(contacts_record_get_str(person, _contacts_person.display_name, &contact_name) != CONTACTS_ERROR_NONE)
- {
- ERR("getting contact name failed");
- free(contact_name);
- contact_name = NULL;
- }
- contacts_record_destroy(person, true);
- }
- PH_DBG("contact_name: %s", contact_name);
- return contact_name;
-}
-
-void list_hide_popup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- list_hide_popup_cb(data);
-}
-
-void list_edit_item_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_list_data *pListData = static_cast<ct_list_data *>(data);
- list_hide_popup_cb(data);
- pListData->child_ug = phone_launch_contact_edit_ug(pListData->ug, pListData->personId,
- list_destroy_child_ug, pListData);
-}
-
-Elm_Genlist_Item_Class *list_create_class(const char *style, Elm_Gen_Item_Text_Get_Cb getText)
-{
- PH_TRACE;
- Elm_Genlist_Item_Class *itemClass = elm_genlist_item_class_new();
- p_retvm_if(NULL == itemClass, NULL, "itemClass is null");
-
- itemClass->item_style = style;
- itemClass->func.text_get = getText;
- itemClass->func.content_get = NULL;
- itemClass->func.state_get = NULL;
- itemClass->func.del = NULL;
- return itemClass;
-}
-
-char *list_get_item_text_cb(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, NULL, "data is null");
- return strdup((const char *) data);
-}
-
-bool list_make_vcard(ct_list_data &pListData, char *filePath, int length)
-{
- PH_TRACE;
- p_retvm_if((NULL == pListData.genlist), FALSE, "pListData->genlist is null");
-
- if (!ctui_list_make_vcard(pListData.personId, filePath, length))
- {
- ERR("detail_make_vcard() Failed");
- if (pListData.win)
- {
- phone_show_popup(pListData.win, T_(CT_GET_TEXT_ERR,
- CTTEXT_UNABLE_TO_SEND_NAME_CARDS), 1.5);
- }
- return FALSE;
- }
- return TRUE;
-}
-
-void list_send_namecard_via_msg(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_list_data *pListData = static_cast<ct_list_data *>(data);
- char filePath[FILENAME_MAX];
-
- list_hide_popup_cb(pListData);
- if(list_make_vcard(*pListData, filePath, FILENAME_MAX))
- {
- pListData->child_ug = ctui_msg_ug(pListData->ug, NULL,
- filePath, list_destroy_child_ug, pListData);
- }
-}
-
-void list_send_namecard_via_email(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_list_data *pListData = static_cast<ct_list_data *>(data);
- char filePath[FILENAME_MAX];
-
- list_hide_popup_cb(pListData);
- if (list_make_vcard(*pListData, filePath, FILENAME_MAX))
- {
- service_h service;
- Ecore_X_Window win_id = elm_win_xwindow_get(pListData->win);
- service_create(&service);
- service_set_operation(service, SERVICE_OPERATION_SEND);
- service_set_uri(service, filePath);
- service_set_app_id(service, EMAIL_COMPOSER_PKG);
- service_add_extra_data(service, SERVICE_DATA_SUBJECT, CONTACTS_NAME_CARD);
-
- service_set_window(service, win_id);
- service_send_launch_request(service, NULL, NULL);
- service_destroy(service);
- }
-}
-
-void list_send_namecard_via_bluetooth(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_list_data *pListData = static_cast<ct_list_data *>(data);
- char filePath[FILENAME_MAX];
-
- list_hide_popup_cb(pListData);
- if (list_make_vcard(*pListData, filePath, FILENAME_MAX))
- {
- pListData->child_ug = phone_launch_bluetooth_ug(pListData->ug,
- filePath, list_destroy_child_ug, pListData);
- }
-}
-
-void list_create_popup_with_cancel_button(ct_list_data &pListData, const char *label)
-{
- PH_TRACE;
-
- list_hide_popup_cb(&pListData);
-
- Evas_Object *pPopup = elm_popup_add(pListData.navi);
- p_retm_if(NULL == pPopup, "pPopup is null");
- p_retm_if(NULL == label, "label is null");
- pListData.popup = pPopup;
- elm_object_style_set(pPopup, "content_no_vhpad");
- elm_object_part_text_set(pPopup,TITLE_TEXT, label);
- evas_object_size_hint_weight_set(pPopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- Evas_Object *pCancelButton = elm_button_add(pPopup);
- p_retm_if(NULL == pCancelButton, "pCancelButton is null");
- elm_object_style_set(pCancelButton, "popup_button/default");
- elm_object_text_set(pCancelButton, S_(PH_SYS_SK_CANCEL));
- elm_object_part_content_set(pPopup, BUTTON1, pCancelButton);
- evas_object_smart_callback_add(pCancelButton, CLICKED, list_hide_popup_cb, &pListData);
-
- evas_object_show(pPopup);
-}
-
-void list_send_namecard_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_list_data *pListData = static_cast<ct_list_data *>(data);
-
- list_create_popup_with_cancel_button(*pListData, SEND_NAMECARD);
- Elm_Genlist_Item_Class *namecard_itc = list_create_class("1text/popup", list_get_item_text_cb);
-
- Evas_Object *pGenlist = elm_genlist_add(pListData->popup);
- p_retm_if(NULL == pGenlist, "pGenlist is null");
- evas_object_size_hint_weight_set(pGenlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(pGenlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- elm_genlist_item_append(pGenlist, namecard_itc, S_(PH_SYS_BODY_MESSAGE), NULL,
- ELM_GENLIST_ITEM_NONE, list_send_namecard_via_msg, pListData);
- elm_genlist_item_append(pGenlist, namecard_itc, S_(CT_SYS_BODY_EMAIL), NULL,
- ELM_GENLIST_ITEM_NONE, list_send_namecard_via_email, pListData);
- elm_genlist_item_append(pGenlist, namecard_itc, S_(CT_SYS_BODY_BLUETOOTH), NULL,
- ELM_GENLIST_ITEM_NONE, list_send_namecard_via_bluetooth, pListData);
-
- elm_object_content_set(pListData->popup, pGenlist);
-
- elm_genlist_item_class_free(namecard_itc);
-}
-
-void list_radio_check_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_list_data *pListData = static_cast<ct_list_data *>(data);
-
- int err = contacts_person_set_default_property(CONTACTS_PERSON_PROPERTY_NUMBER, pListData->personId,
- pListData->radioGroupValue);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_person_set_default_property() Failed(%d)", err);
-
- ecore_timer_add(POPUP_CLOSING_DELAY, list_hide_popup_cb, static_cast<void *>(pListData));
-}
-
-Evas_Object *list_create_radio_button(ct_list_data &pListData, contacts_record_h record,
- int defaultNumberId)
-{
- PH_TRACE;
-
- int numberId = 0;
- int type = 0;
- char *number = NULL;
- char buf[PH_TEXT_MAX_LEN + 1] = { 0, };
-
- contacts_record_h recordNumber = record;
-
- int err = contacts_record_get_int(recordNumber, _contacts_number.id, &numberId);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_get_int(recordNumber, _contacts_number.type, &type);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
-
- ctui_get_number_type_str(recordNumber, type, buf, (PH_TEXT_MAX_LEN + 1));
-
- err = contacts_record_get_str_p(recordNumber, _contacts_number.number, &number);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
-
- std::string numberAndType;
- numberAndType.append(number);
- numberAndType.append(" (");
- numberAndType.append(buf);
- numberAndType.append(")");
-
- Evas_Object *pRadio = elm_radio_add(pListData.popup);
- elm_object_text_set(pRadio, numberAndType.c_str());
- elm_radio_state_value_set(pRadio, numberId);
- elm_radio_value_pointer_set(pRadio, &pListData.radioGroupValue);
- evas_object_size_hint_weight_set(pRadio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(pRadio, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(pRadio);
- evas_object_smart_callback_add(pRadio, CHANGED, list_radio_check_cb, &pListData);
- return pRadio;
-}
-
-void list_default_number_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
-
- ct_list_data *pListData = static_cast<ct_list_data *>(data);
- contacts_record_h recordDefaultNumber = NULL;
- int defaultNumberId = 0;
- Eina_List *pCursor = NULL;
- void *pVRecordNumber = NULL;
- Evas_Object* pGroup = NULL;
-
- list_create_popup_with_cancel_button(*pListData, DEFAULT_NUMBER);
-
- Evas_Object *pScroller = elm_scroller_add(pListData->popup);
- elm_scroller_policy_set(pScroller, ELM_SCROLLER_POLICY_AUTO, ELM_SCROLLER_POLICY_AUTO);
- evas_object_show (pScroller);
-
- Evas_Object *pBox = elm_box_add(pScroller);
- evas_object_size_hint_weight_set(pBox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(pBox, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_win_resize_object_add(pListData->popup, pBox);
-
- int err = phone_cts_get_default_number(pListData->personId, &recordDefaultNumber);
- p_warn_if(CONTACTS_ERROR_NONE != err, "phone_cts_get_default_number() Failed(%d)", err);
-
- err = contacts_record_get_int(recordDefaultNumber, _contacts_number.id, &defaultNumberId);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_destroy(recordDefaultNumber, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
-
- Eina_List *pListNumber = static_cast<Eina_List *>( evas_object_data_get(
- pListData->genlist, NUMBER_LIST));
- EINA_LIST_FOREACH(pListNumber, pCursor, pVRecordNumber)
- {
-
- Evas_Object * pRadio = list_create_radio_button(*pListData, static_cast<contacts_record_h>(pVRecordNumber),
- defaultNumberId);
-
- elm_box_pack_end(pBox, pRadio);
- elm_radio_group_add(pRadio, pGroup);
-
- if (!pGroup)
- {
- pGroup = pRadio;
- elm_radio_value_set(pGroup, defaultNumberId);
- }
- }
-
- elm_object_content_set(pScroller, pBox);
- elm_object_content_set(pListData->popup, pScroller);
- evas_object_show(pBox);
-}
-
-/**
- * @brief Gets count of multiple child tables for contact record
- * @param[in] contact_record Handle to record
- * @return Count of records if success, max size_t value if failed
- */
-static size_t ct_get_field_count(contacts_record_h contact_record)
-{
- PH_TRACE;
- size_t count(0);
- size_t temp_count(0);
- unsigned int array_of_ids[] =
- {
- _contacts_contact.name,
- _contacts_contact.nickname,
- _contacts_contact.company,//company
- _contacts_contact.company,//job title
- _contacts_contact.number,
- _contacts_contact.email,
- _contacts_contact.address,
- _contacts_contact.messenger,
- _contacts_contact.url,
- _contacts_contact.relationship,
- _contacts_contact.event,
- _contacts_contact.note
- };
- if(contact_record)
- {
- size_t array_size = (sizeof(array_of_ids) / sizeof(unsigned int));
- for(size_t i = 0; i < array_size; ++i)
- {
- if(contacts_record_get_child_record_count(contact_record, array_of_ids[i], &temp_count)
- == CONTACTS_ERROR_NONE)
- {
- count += temp_count;
- }
- else
- {
- ERR("error getting child count");
- count = -1;
- break;
- }
- }
- }
- return count;
-}
-
-/**
- * @brief Convert date as integer to string
- * @remark The returned value must be destroyed with free by you
- * @param[in] formatter Represent format of the date
- * @param[in] date Date as integer
- * @return new string on success, otherwise NULL
- */
-static char* ct_convert_int_date_to_str(UDateFormat* formatter, int date)
-{
- PH_TRACE;
- char* result = NULL;
- if(formatter)
- {
- int day, month, year;
- day = date % 100;
- month = (date % 10000) / 100;
- year = date / 10000;
- result = phone_get_datetime_str(formatter, year, month, day);
- }
- return result;
-}
-
-/**
- * @brief Gets field "type" as string for multiple child tables
- * @remark If type is custom, function return value from field "label"
- * @remark The return value must not be destroyed by you
- * @param[in] child_record Child record of contact table
- * @param[in] type_field_id ID of field "type"
- * @param[in] label_field_id ID of field "label"
- * @param[in] table_type CT_GET_TEXT_NUM_TYPE, CT_GET_TEXT_EMAIL_TYPE etc
- * @return Type as string on success, otherwise NULL
- */
-static char* ct_get_type_as_str(contacts_record_h child_record, unsigned int type_field_id,
- unsigned int label_field_id, int table_type)
-{
- PH_TRACE;
- const int custom_type = 1;
- char* result = NULL;
- int temp_type = 0;
- bool is_custom_field(false);
- char* temp_label = NULL;
- if(child_record)
- {
- int type_of_field = 0;
- if(contacts_record_get_int(child_record, type_field_id, &type_of_field)
- == CONTACTS_ERROR_NONE)
- {
- switch(table_type)
- {
- case CT_GET_TEXT_NUM_TYPE:
- {
- for (temp_type = CTTEXT_TYPE_CUSTOM; temp_type <= CTTEXT_TYPE_OTHER; temp_type++)
- {
- if (type_of_field == phone_get_number_type_index(temp_type))
- break;
- }
- is_custom_field = (CONTACTS_NUMBER_TYPE_CUSTOM == type_of_field);
- break;
- }
- case CT_GET_TEXT_EMAIL_TYPE:
- {
- temp_type = ctui_get_email_type_index(type_of_field);
- is_custom_field = (custom_type == temp_type);
- break;
- }
- case CT_GET_TEXT_POSTAL_TYPE:
- {
- temp_type = phone_get_address_type_index(type_of_field);
- is_custom_field = (custom_type == temp_type);
- break;
- }
- case CT_GET_TEXT_WEBSITE_TYPE:
- {
- temp_type = phone_get_website_type_index(type_of_field);
- is_custom_field = (custom_type == temp_type);
- break;
- }
- case CT_GET_TEXT_IM_TYPE:
- {
- temp_type = type_of_field;
- is_custom_field = (CONTACTS_MESSENGER_TYPE_CUSTOM == temp_type);
- break;
- }
- case CT_GET_TEXT_RELATIONSHIP_TYPE:
- {
- temp_type = type_of_field;
- is_custom_field = (CTTEXT_REL_CUSTOM == temp_type);
- break;
- }
- case CT_GET_TEXT_EVENT_TYPE:
- {
- temp_type = type_of_field;
- is_custom_field = (CONTACTS_EVENT_TYPE_CUSTOM == temp_type);
- break;
- }
- default:
- {
- ERR("unknown type of table");
- return NULL;
- }
- }
- if( is_custom_field
- && (contacts_record_get_str_p(child_record, label_field_id, &temp_label) == CONTACTS_ERROR_NONE)
- && (temp_label)
- && (*temp_label))
- {
- result = temp_label;
- }
- else
- {
- result = (char*)T_(table_type, temp_type);
- }
- }
- }
- return result;
-}
-
-/**
- * @brief Gets string from one of child record of _contacts_contact table
- * @remark The returned value must be destroyed with free by you
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[in] child_table_id ID of child table. E.g. _contacts_contact.number
- * @param[in] record_index Index of record
- * @param[in] str_field_id ID of field. E.g. _contacts_number.number
- */
-static char* ct_get_str_from_child_record(ct_send_as_text_data* p_contact_text_data, unsigned int child_table_id,
- int record_index, unsigned int str_field_id)
-{
- PH_TRACE;
- char* temp_str = NULL;
- contacts_record_h child_record = NULL;
- if(p_contact_text_data && p_contact_text_data->contact_record)
- {
- if(contacts_record_get_child_record_at_p(p_contact_text_data->contact_record, child_table_id, record_index, &child_record)
- == CONTACTS_ERROR_NONE)
- {
- if(contacts_record_get_str(child_record, str_field_id, &temp_str)
- != CONTACTS_ERROR_NONE)
- {
- free(temp_str);
- temp_str = NULL;
- }
- }
- }
- return temp_str;
-}
-
-/**
- * @brief Gets event as string from _contacts_event
- * @remark The returned value must be destroyed with free by you
- * @remark Some parameters are not using. Function interface just match p_get_str_from_child_record
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[in] child_table_id Not using.
- * @param[in] record_index Index of record
- * @param[in] field_id Not using.
- */
-static char* ct_get_event_from_child_record(ct_send_as_text_data* p_contact_text_data, unsigned int child_table_id,
- int record_index, unsigned int field_id)
-{
- PH_TRACE;
- char* result = NULL;
- contacts_record_h child_record = NULL;
- if(p_contact_text_data)
- {
- if(contacts_record_get_child_record_at_p(p_contact_text_data->contact_record, _contacts_contact.event, record_index, &child_record)
- == CONTACTS_ERROR_NONE)
- {
- int temp_date = 0;
- if(contacts_record_get_int(child_record, _contacts_event.date, &temp_date)
- == CONTACTS_ERROR_NONE)
- {
- if(p_contact_text_data->formatter)
- {
- result = ct_convert_int_date_to_str(p_contact_text_data->formatter, temp_date);
- }
- }
- }
- }
- return result;
-}
-
-/**
- * @brief Gets address as string from _contacts_address
- * @remark The returned value must be destroyed with free by you
- * @remark Some parameters are not using. Function interface just match p_get_str_from_child_record
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[in] child_table_id Not using.
- * @param[in] record_index Index of record
- * @param[in] field_id Not using.
- */
-static char* ct_get_address_from_child_record(ct_send_as_text_data* p_contact_text_data, unsigned int child_table_id,
-int record_index, unsigned int field_id)
-{
- PH_TRACE;
- char* result = NULL;
- char* code = NULL;
- char* extended = NULL;
- char* postbox = NULL;
- char* street = NULL;
- char* locality = NULL;
- char* region = NULL;
- char* country = NULL;
- contacts_record_h child_record = NULL;
- if(p_contact_text_data)
- {
- if(contacts_record_get_child_record_at_p(p_contact_text_data->contact_record, _contacts_contact.address, record_index, &child_record)
- == CONTACTS_ERROR_NONE)
- {
- if( contacts_record_get_str_p(child_record, _contacts_address.postal_code, &code) == CONTACTS_ERROR_NONE
- && contacts_record_get_str_p(child_record, _contacts_address.extended, &extended) == CONTACTS_ERROR_NONE
- && contacts_record_get_str_p(child_record, _contacts_address.postbox, &postbox) == CONTACTS_ERROR_NONE
- && contacts_record_get_str_p(child_record, _contacts_address.street, &street) == CONTACTS_ERROR_NONE
- && contacts_record_get_str_p(child_record, _contacts_address.locality, &locality) == CONTACTS_ERROR_NONE
- && contacts_record_get_str_p(child_record, _contacts_address.region, &region) == CONTACTS_ERROR_NONE
- && contacts_record_get_str_p(child_record, _contacts_address.country, &country) == CONTACTS_ERROR_NONE)
- {
- size_t size = SAFE_STRLEN(code) + SAFE_STRLEN(extended) + SAFE_STRLEN(postbox) + SAFE_STRLEN(street)
- + SAFE_STRLEN(locality) + SAFE_STRLEN(region) + SAFE_STRLEN(country);
- if(size > 0)
- {
- ++size;
- result = (char*)calloc(size, sizeof(char));
- snprintf(result, size, "%s%s%s%s%s%s%s%s%s%s%s%s%s",
- SAFE_STR(code), STR_BLANK(code, extended), STR_BLANK(extended, postbox),
- STR_BLANK(postbox, street), STR_BLANK(street, locality), STR_BLANK(locality, region), STR_BLANK(region, country));
- }
- }
- }
- }
- return result;
-}
-
-/**
- * @brief Fill contact data to @a p_text_as_data
- * @param[in] child_table_id ID of child table. E.g. _contacts_contact.number
- * @param[in] field_id ID of field. E.g. _contacts_number.number
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[in] str_getter Function receives the string data from the @a field_id field
- * @param[out] p_current_index Current index of string with data in @a p_text_as_data structure
- * return true if success, otherwise false
- */
-static bool ct_fill_info_field_to_text_data(unsigned int child_table_id, unsigned int field_id,
- ct_send_as_text_data* p_contact_text_data, p_get_str_from_child_record str_getter, size_t* p_current_index)
-{
- PH_TRACE;
- bool result(false);
- char* temp_str = NULL;
- unsigned int child_count = 0;
- if(p_contact_text_data && str_getter)
- {
- if(contacts_record_get_child_record_count(p_contact_text_data->contact_record, child_table_id, &child_count)
- == CONTACTS_ERROR_NONE)
- {
- if(0 == child_count)
- {
- result = true;
- }
- else
- {
- for(int i = 0; i < (int)child_count; ++i)
- {
- temp_str = (*str_getter)(p_contact_text_data, child_table_id, i, field_id);
- if(temp_str && (*p_current_index < p_contact_text_data->fields_count))
- {
- p_contact_text_data->strings_of_data[*p_current_index] = temp_str;
- ++(*p_current_index);
- result = true;
- }
- else
- {
- free(temp_str);
- result = false;
- break;
- }
- }
- }
- }
- }
- return result;
-}
-
-/**
- * @brief Fill names of "type" fields to @a p_text_as_data
- * @param[in] child_table_id ID of child table. E.g. _contacts_contact.number
- * @param[in] type_field_id ID of field "type"
- * @param[in] label_field_id ID of field "label"
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[in] kind_of_table CT_GET_TEXT_NUM_TYPE, CT_GET_TEXT_EMAIL_TYPE etc
- * @param[out] p_current_index Current index of string with names in @a p_text_as_data structure
- * return true if success, otherwise false
- */
-static bool ct_fill_name_for_text_data(unsigned int child_table_id, unsigned int type_field_id,
- unsigned int label_field_id, ct_send_as_text_data* p_contact_text_data,
- int kind_of_table, size_t* p_current_index)
-{
- PH_TRACE;
- bool result(false);
- char* temp_str = NULL;
- unsigned int child_count = 0;
- contacts_record_h child_record = NULL;
- if(p_contact_text_data && p_current_index)
- {
- if(contacts_record_get_child_record_count(p_contact_text_data->contact_record, child_table_id, &child_count)
- == CONTACTS_ERROR_NONE)
- {
- if(0 == child_count)
- {
- result = true;
- }
- else
- {
- for(int i = 0; i < (int)child_count; ++i)
- {
- if(contacts_record_get_child_record_at_p(p_contact_text_data->contact_record, child_table_id, i, &child_record)
- == CONTACTS_ERROR_NONE)
- {
- temp_str = ct_get_type_as_str(child_record, type_field_id, label_field_id, kind_of_table);
- if(temp_str && (*p_current_index < p_contact_text_data->fields_count))
- {
- p_contact_text_data->field_names[*p_current_index] = strdup(temp_str);
- ++(*p_current_index);
- result = true;
- }
- else
- {
- result = false;
- break;
- }
- }
- }
- }
- }
- }
- return result;
-}
-
-/**
- * @brief Fill name of contact to @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[out] p_current_name_index Current index of string with name of type
- * @param[out] p_current_data_index Current index of string with info
- * @return true if success, otherwise false
- */
-static bool ct_fill_display_name(ct_send_as_text_data* p_contact_text_data, size_t* p_current_name_index, size_t* p_current_data_index)
-{
- PH_TRACE;
- if(p_contact_text_data && p_current_name_index && p_current_data_index)
- {
- char* temp_str = NULL;
- if(contacts_record_get_str_p(p_contact_text_data->contact_record, _contacts_contact.display_name, &temp_str)
- == CONTACTS_ERROR_NONE)
- {
- p_contact_text_data->strings_of_data[(*p_current_data_index)++] = strdup(temp_str);
- }
- if(*p_current_data_index > *p_current_name_index)
- {
- p_contact_text_data->field_names[(*p_current_name_index)++] = strdup(S_(CT_SYS_BODY_NAME));
- }
- }
- return *p_current_name_index == *p_current_data_index;
-}
-
-/**
- * @brief Fill nickname of contact to @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[out] p_current_name_index Current index of string with name of type
- * @param[out] p_current_data_index Current index of string with info
- * @return true if success, otherwise false
- */
-static bool ct_fill_nickname(ct_send_as_text_data* p_contact_text_data, size_t* p_current_name_index, size_t* p_current_data_index)
-{
- PH_TRACE;
- if(p_contact_text_data && p_current_name_index && p_current_data_index)
- {
- ct_fill_info_field_to_text_data(_contacts_contact.nickname, _contacts_nickname.name,
- p_contact_text_data, ct_get_str_from_child_record, p_current_data_index);
- if(*p_current_data_index > *p_current_name_index)
- {
- p_contact_text_data->field_names[(*p_current_name_index)++] = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_NICKNAME));
- }
- }
- return *p_current_name_index == *p_current_data_index;
-}
-
-/**
- * @brief Fill contact company name to @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[out] p_current_name_index Current index of string with name of type
- * @param[out] p_current_data_index Current index of string with info
- * @return true if success, otherwise false
- */
-static bool ct_fill_company(ct_send_as_text_data* p_contact_text_data, size_t* p_current_name_index, size_t* p_current_data_index)
-{
- PH_TRACE;
- if(p_contact_text_data && p_current_name_index && p_current_data_index)
- {
- ct_fill_info_field_to_text_data(_contacts_contact.company, _contacts_company.name,
- p_contact_text_data, ct_get_str_from_child_record, p_current_data_index);
- if(*p_current_data_index > *p_current_name_index)
- {
- p_contact_text_data->field_names[(*p_current_name_index)++] = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_COMPANY));
- }
- }
- return *p_current_name_index == *p_current_data_index;
-}
-
-/**
- * @brief Fill job title of contact to @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[out] p_current_name_index Current index of string with name of type
- * @param[out] p_current_data_index Current index of string with info
- * @return true if success, otherwise false
- */
-static bool ct_fill_job_title(ct_send_as_text_data* p_contact_text_data, size_t* p_current_name_index, size_t* p_current_data_index)
-{
- PH_TRACE;
- if(p_contact_text_data && p_current_name_index && p_current_data_index)
- {
- ct_fill_info_field_to_text_data(_contacts_contact.company, _contacts_company.job_title,
- p_contact_text_data, ct_get_str_from_child_record, p_current_data_index);
- if(*p_current_data_index > *p_current_name_index)
- {
- p_contact_text_data->field_names[(*p_current_name_index)++] = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_JOB_TITLE));
- }
- }
- return *p_current_name_index == *p_current_data_index;
-}
-
-/**
- * @brief Fill numbers of contact to @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[out] p_current_name_index Current index of string with name of type
- * @param[out] p_current_data_index Current index of string with info
- * @return true if success, otherwise false
- */
-static bool ct_fill_number(ct_send_as_text_data* p_contact_text_data, size_t* p_current_name_index, size_t* p_current_data_index)
-{
- PH_TRACE;
- if(p_contact_text_data && p_current_name_index && p_current_data_index)
- {
- ct_fill_name_for_text_data(_contacts_contact.number, _contacts_number.type, _contacts_number.label,
- p_contact_text_data, CT_GET_TEXT_NUM_TYPE, p_current_name_index);
- ct_fill_info_field_to_text_data(_contacts_contact.number, _contacts_number.number,
- p_contact_text_data, ct_get_str_from_child_record, p_current_data_index);
- }
- return *p_current_name_index == *p_current_data_index;
-}
-
-/**
- * @brief Fill mails of contact to @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[out] p_current_name_index Current index of string with name of type
- * @param[out] p_current_data_index Current index of string with info
- * @return true if success, otherwise false
- */
-static bool ct_fill_email(ct_send_as_text_data* p_contact_text_data, size_t* p_current_name_index, size_t* p_current_data_index)
-{
- PH_TRACE;
- if(p_contact_text_data && p_current_name_index && p_current_data_index)
- {
- ct_fill_name_for_text_data(_contacts_contact.email, _contacts_email.type, _contacts_email.label,
- p_contact_text_data, CT_GET_TEXT_EMAIL_TYPE, p_current_name_index);
- ct_fill_info_field_to_text_data(_contacts_contact.email, _contacts_email.email,
- p_contact_text_data, ct_get_str_from_child_record, p_current_data_index);
- }
- return *p_current_name_index == *p_current_data_index;
-}
-
-/**
- * @brief Fill addresses of contact to @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[out] p_current_name_index Current index of string with name of type
- * @param[out] p_current_data_index Current index of string with info
- * @return true if success, otherwise false
- */
-static bool ct_fill_address(ct_send_as_text_data* p_contact_text_data, size_t* p_current_name_index, size_t* p_current_data_index)
-{
- PH_TRACE;
- if(p_contact_text_data && p_current_name_index && p_current_data_index)
- {
- ct_fill_name_for_text_data(_contacts_contact.address, _contacts_address.type, _contacts_address.label,
- p_contact_text_data, CT_GET_TEXT_POSTAL_TYPE, p_current_name_index);
- ct_fill_info_field_to_text_data(_contacts_contact.address, 0,
- p_contact_text_data, ct_get_address_from_child_record, p_current_data_index);
- }
- return *p_current_name_index == *p_current_data_index;
-}
-
-/**
- * @brief Fill instant messengers of contact to @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[out] p_current_name_index Current index of string with name of type
- * @param[out] p_current_data_index Current index of string with info
- * @return true if success, otherwise false
- */
-static bool ct_fill_instant_messenger(ct_send_as_text_data* p_contact_text_data, size_t* p_current_name_index, size_t* p_current_data_index)
-{
- PH_TRACE;
- if(p_contact_text_data && p_current_name_index && p_current_data_index)
- {
- ct_fill_name_for_text_data(_contacts_contact.messenger, _contacts_messenger.type, _contacts_messenger.label,
- p_contact_text_data, CT_GET_TEXT_IM_TYPE, p_current_name_index);
- ct_fill_info_field_to_text_data(_contacts_contact.messenger, _contacts_messenger.im_id,
- p_contact_text_data, ct_get_str_from_child_record, p_current_data_index);
- }
- return *p_current_name_index == *p_current_data_index;
-}
-
-/**
- * @brief Fill websites of contact to @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[out] p_current_name_index Current index of string with name of type
- * @param[out] p_current_data_index Current index of string with info
- * @return true if success, otherwise false
- */
-static bool ct_fill_website(ct_send_as_text_data* p_contact_text_data, size_t* p_current_name_index, size_t* p_current_data_index)
-{
- PH_TRACE;
- if(p_contact_text_data && p_current_name_index && p_current_data_index)
- {
- ct_fill_name_for_text_data(_contacts_contact.url, _contacts_url.type, _contacts_url.label,
- p_contact_text_data, CT_GET_TEXT_WEBSITE_TYPE, p_current_name_index);
- ct_fill_info_field_to_text_data(_contacts_contact.url, _contacts_url.url,
- p_contact_text_data, ct_get_str_from_child_record, p_current_data_index);
- }
- return *p_current_name_index == *p_current_data_index;
-}
-
-/**
- * @brief Fill relationships of contact to @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[out] p_current_name_index Current index of string with name of type
- * @param[out] p_current_data_index Current index of string with info
- * @return true if success, otherwise false
- */
-static bool ct_fill_relationship(ct_send_as_text_data* p_contact_text_data, size_t* p_current_name_index, size_t* p_current_data_index)
-{
- PH_TRACE;
- if(p_contact_text_data && p_current_name_index && p_current_data_index)
- {
- ct_fill_name_for_text_data(_contacts_contact.relationship, _contacts_relationship.type, _contacts_relationship.label,
- p_contact_text_data, CT_GET_TEXT_RELATIONSHIP_TYPE, p_current_name_index);
- ct_fill_info_field_to_text_data(_contacts_contact.relationship, _contacts_relationship.name,
- p_contact_text_data, ct_get_str_from_child_record, p_current_data_index);
- }
- return *p_current_name_index == *p_current_data_index;
-}
-
-/**
- * @brief Fill events of contact to @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[out] p_current_name_index Current index of string with name of type
- * @param[out] p_current_data_index Current index of string with info
- * @return true if success, otherwise false
- */
-static bool ct_fill_event(ct_send_as_text_data* p_contact_text_data, size_t* p_current_name_index, size_t* p_current_data_index)
-{
- PH_TRACE;
- if(p_contact_text_data && p_current_name_index && p_current_data_index)
- {
- ct_fill_name_for_text_data(_contacts_contact.event, _contacts_event.type, _contacts_event.label,
- p_contact_text_data, CT_GET_TEXT_EVENT_TYPE, p_current_name_index);
- ct_fill_info_field_to_text_data(_contacts_contact.event, 0,
- p_contact_text_data, ct_get_event_from_child_record, p_current_data_index);
- }
- return *p_current_name_index == *p_current_data_index;
-}
-
-/**
- * @brief Fill note of contact to @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @param[out] p_current_name_index Current index of string with name of type
- * @param[out] p_current_data_index Current index of string with info
- * @return true if success, otherwise false
- */
-static bool ct_fill_note(ct_send_as_text_data* p_contact_text_data, size_t* p_current_name_index, size_t* p_current_data_index)
-{
- PH_TRACE;
- if(p_contact_text_data && p_current_name_index && p_current_data_index)
- {
- ct_fill_info_field_to_text_data(_contacts_contact.note, _contacts_note.note,
- p_contact_text_data, ct_get_str_from_child_record, p_current_data_index);
- if(*p_current_data_index > *p_current_name_index)
- {
- p_contact_text_data->field_names[(*p_current_name_index)++] = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_NOTE));
- }
- }
- return *p_current_name_index == *p_current_data_index;
-}
-
-/**
- * @brief Fill contact information as text to @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * return true if at least one field filled, otherwise false
- */
-static bool ct_fill_as_text(ct_send_as_text_data* p_contact_text_data)
-{
- PH_TRACE;
- p_retvm_if(NULL == p_contact_text_data, false, "p_contact_text_data is null");
- size_t temp_name_index(0);
- size_t temp_data_index(0);
- size_t current_name_index(0);
- size_t current_data_index(0);
- ct_fill_function* fill_functions[] =
- {
- ct_fill_display_name,
- ct_fill_nickname,
- ct_fill_company,
- ct_fill_job_title,
- ct_fill_number,
- ct_fill_email,
- ct_fill_address,
- ct_fill_instant_messenger,
- ct_fill_website,
- ct_fill_relationship,
- ct_fill_event,
- ct_fill_note
- };
- size_t functions_count = (sizeof(fill_functions) / sizeof(ct_fill_function*));
- for(size_t i = 0; i < functions_count; ++i)
- {
- temp_name_index = current_name_index;
- temp_data_index = current_data_index;
- if((*fill_functions[i])(p_contact_text_data, &temp_name_index, &temp_data_index))
- {
- current_name_index = temp_name_index;
- current_data_index = temp_data_index;
- }
- }
- return (p_contact_text_data->fields_count > 0);
-}
-
-/**
- * @brief Gets contact record
- * @param[in] id ID of contact
- * @return handle to record if success, otherwise false
- */
-static contacts_record_h ct_get_contact_record_by_id(unsigned int id)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- if(contacts_db_get_record(_contacts_contact._uri, id, &record)
- != CONTACTS_ERROR_NONE)
- {
- ERR("error getting contact record");
- record = NULL;
- }
- return record;
-}
-
-/**
- * @brief Free array of strings and assign a NULL value to @a ptr
- * @param[in] ptr Pointer to array of arrays
- * @param[in] size Size of array
- */
-static void ct_free_array_of_strings(char** ptr, size_t size)
-{
- PH_TRACE;
- for(size_t i = 0; i < size; ++i)
- {
- free(ptr[i]);
- }
- free(ptr);
-}
-
-/**
- * @brief Destroy all data in @a p_text_as_data structure
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- */
-static void ct_clear_contacts_text_data(ct_send_as_text_data* p_contact_text_data)
-{
- PH_TRACE;
- p_retm_if(NULL == p_contact_text_data, "p_contact_text_data is null");
- p_contact_text_data->contact_id = 0;
- if(p_contact_text_data->contact_record)
- {
- if(contacts_record_destroy(p_contact_text_data->contact_record, true) != CONTACTS_ERROR_NONE)
- {
- ERR("Freeing contact_record failed");
- }
- p_contact_text_data->contact_record = NULL;
- }
- ct_free_array_of_strings(p_contact_text_data->field_names, p_contact_text_data->fields_count);
- p_contact_text_data->field_names = NULL;
- ct_free_array_of_strings(p_contact_text_data->strings_of_data, p_contact_text_data->fields_count);
- p_contact_text_data->strings_of_data = NULL;
- free(p_contact_text_data->checked_items);
- p_contact_text_data->checked_items = NULL;
- phone_destroy_confirm_popup_data(p_contact_text_data->p_popup_data);
- p_contact_text_data->p_popup_data = NULL;
- if(p_contact_text_data->genlist)
- {
- if(p_contact_text_data->box)
- {
- elm_box_unpack(p_contact_text_data->box, p_contact_text_data->genlist);
- }
- elm_genlist_clear(p_contact_text_data->genlist);
- evas_object_del(p_contact_text_data->genlist);
- p_contact_text_data->genlist = NULL;
- }
- if(p_contact_text_data->genlist_item_class)
- {
- elm_genlist_item_class_free(p_contact_text_data->genlist_item_class);
- p_contact_text_data->genlist_item_class = NULL;
- }
- if(p_contact_text_data->select_all_layout)
- {
- if(p_contact_text_data->box)
- {
- elm_box_unpack(p_contact_text_data->box, p_contact_text_data->select_all_layout);
- }
- evas_object_del(p_contact_text_data->select_all_layout);
- p_contact_text_data->select_all_layout = NULL;
- }
- if(p_contact_text_data->box)
- {
- evas_object_del(p_contact_text_data->box);
- p_contact_text_data->box = NULL;
- }
- if(p_contact_text_data->formatter)
- {
- udat_close(p_contact_text_data->formatter);
- p_contact_text_data->formatter = NULL;
- }
- p_contact_text_data->fields_count = 0;
- p_contact_text_data->ug = NULL;
- p_contact_text_data->child_ug = NULL;
-}
-
-void ct_destroy_contact_as_text_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "p_popup is null");
- ct_clear_contacts_text_data((ct_send_as_text_data*)data);
-}
-
-/**
- * @brief Merge two arrays of strings in one string
- * @remark return value must be destroy with free by you
- * @param[in] lhs Left hand side array of strings
- * @param[in] rhs Right hand side array of strings
- * @param[in] array_size Size of each array
- * @param[in] separator Separator between each merged strings (optional)
- * @param[in] string_picking_pattern Array of boolean values to pick certain strings (optional)
- * @return merged string on success, otherwise NULL
- */
-static char* ct_merge_two_arrays_of_strings(char** lhs, char** rhs, size_t arrays_size,
- const char* separator = NULL, bool* string_picking_pattern = NULL)
-{
- PH_TRACE;
- char* result = NULL;
- p_retvm_if(!lhs || !rhs, NULL, "some of arrays is NULL");
- size_t size_to_reserve(0);
- for(size_t i = 0; i < arrays_size; ++i)
- {
- if( (!string_picking_pattern)
- || (string_picking_pattern && string_picking_pattern[i]))
- {
- size_t temp_size = SAFE_STRLEN(lhs[i]) + SAFE_STRLEN(rhs[i]) + SAFE_STRLEN(separator);
- if(temp_size > 0)
- {
- size_to_reserve += (temp_size + strlen("\n"));
- }
- }
- }
- if(size_to_reserve > 0)
- {
- ++size_to_reserve;
- result = (char*)calloc(size_to_reserve, sizeof(char));
- for(size_t i = 0; i < arrays_size; ++i)
- {
- if( (!string_picking_pattern)
- || (string_picking_pattern && string_picking_pattern[i]))
- {
- if(lhs[i] && rhs[i])
- {
- strcat(result, lhs[i]);
- if(separator)
- {
- strcat(result, separator);
- }
- strcat(result, rhs[i]);
- strcat(result, "\n");
- }
- }
- }
- }
- return result;
-}
-
-void ct_destroy_ug_cb(void* data)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ui_gadget_h* ug = (ui_gadget_h*)data;
- p_retm_if(NULL == *ug, "ug is null");
- ug_destroy(*ug);
- *ug = NULL;
-}
-
-void ct_send_contact_as_text_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- const char* separator = " ";
- p_retm_if(NULL == data, "data is null");
- ct_send_as_text_data* p_contact_text_data = (ct_send_as_text_data*)data;
- p_retm_if(NULL == p_contact_text_data->p_popup_data->popup, "popup is null");
-
- char* message_text = ct_merge_two_arrays_of_strings(p_contact_text_data->field_names, p_contact_text_data->strings_of_data,
- p_contact_text_data->fields_count, separator, p_contact_text_data->checked_items);
- p_contact_text_data->child_ug = ctui_predefined_body_msg_ug(p_contact_text_data->ug, NULL, 0, message_text,
- ct_destroy_ug_cb, &p_contact_text_data->child_ug);
- free(message_text);
-
- ct_destroy_contact_as_text_cb(p_contact_text_data, NULL, NULL);
-}
-
-/**
- * @brief Create and initiate ct_confirm_popup_data structure
- * @remark return value must be destroy with phone_destroy_confirm_popup_data by you
- * @param[in] parent Parent for popup
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @return pointer to newly created ct_confirm_popup_data structure if success, otherwise NULL
- */
-static ct_confirm_popup_data* ct_create_popup_data_for_send_contact_as_text(Evas_Object* parent, ct_send_as_text_data* p_contact_text_data)
-{
- PH_TRACE;
- bool isOk(false);
- ct_confirm_popup_data* inner_popup_as_data = NULL;
- inner_popup_as_data = (ct_confirm_popup_data*)calloc(1, sizeof(ct_confirm_popup_data));
- if(p_contact_text_data && inner_popup_as_data)
- {
- inner_popup_as_data->parent = parent;
- inner_popup_as_data->popup = NULL;
- inner_popup_as_data->button1 = NULL;
- inner_popup_as_data->button2 = NULL;
- inner_popup_as_data->popup_label = phone_get_contact_name(p_contact_text_data->contact_id);
- inner_popup_as_data->button1_label = strdup(S_(PH_SYS_SK_OK));
- inner_popup_as_data->button2_label = strdup(S_(PH_SYS_SK_CANCEL));
- if( inner_popup_as_data->popup_label
- && inner_popup_as_data->button1_label
- && inner_popup_as_data->button2_label)
- {
- inner_popup_as_data->button1_cb = ct_send_contact_as_text_cb;
- inner_popup_as_data->button2_cb = ct_destroy_contact_as_text_cb;
- inner_popup_as_data->button1_data = p_contact_text_data;
- inner_popup_as_data->button2_data = p_contact_text_data;
- isOk = true;
- }
- }
- if(!isOk)
- {
- phone_destroy_confirm_popup_data(inner_popup_as_data);
- }
- return inner_popup_as_data;
-}
-
-static char* ct_get_text_as_data_item_text_cb(void* data, Evas_Object* obj, const char* part)
-{
- PH_TRACE;
- char* result = NULL;
- p_retvm_if(NULL == data, NULL, "invalid data");
- ct_send_as_text_with_additional_info* p_additional_info = (ct_send_as_text_with_additional_info*)data;
- p_retvm_if(NULL == p_additional_info->p_contact_text_data, NULL, "text as data is null");
- p_retvm_if(NULL == p_additional_info->p_contact_text_data->field_names, NULL, "names is null");
- p_retvm_if(NULL == p_additional_info->p_contact_text_data->strings_of_data, NULL, "strings of data is null");
- p_retvm_if(p_additional_info->p_contact_text_data->fields_count < p_additional_info->current_index, NULL, "incorrect current index");
- if(0 == strcmp(part, "elm.text.1"))
- {
- result = strdup(p_additional_info->p_contact_text_data->strings_of_data[p_additional_info->current_index]);
- }
- else if(0 == strcmp(part, "elm.text.2"))
- {
- result = strdup(p_additional_info->p_contact_text_data->field_names[p_additional_info->current_index]);
- }
- return result;
-}
-
-static Evas_Object* ct_get_text_as_data_item_content_cb(void* data, Evas_Object* obj,
- const char* part)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, NULL, "data is null");
- ct_send_as_text_with_additional_info* p_additional_info = (ct_send_as_text_with_additional_info*)data;
- p_retvm_if(NULL == p_additional_info->p_contact_text_data, NULL, "text as data is null");
- p_retvm_if(NULL == p_additional_info->p_contact_text_data->checked_items, NULL, "checked items is null");
- p_retvm_if(NULL == obj, NULL, "item is null");
- Eina_Bool checked = p_additional_info->p_contact_text_data->checked_items[p_additional_info->current_index];
- Evas_Object *check = NULL;
-
- if(0 == strcmp(part, "elm.edit.icon.1"))
- {
- check = elm_check_add(obj);
- if(check)
- {
- evas_object_propagate_events_set(check, EINA_TRUE);
- p_retvm_if(NULL == check, NULL, "elm_check_add() return NULL");
- elm_check_state_pointer_set(check, &checked);
- }
- }
- return check;
-}
-
-void ct_data_deletion_func_cb(void *data, Evas_Object *obj)
-{
- PH_TRACE;
- free(data);
-}
-
-void ct_contact_as_text_select_all_cb(void *data, Eina_Bool checked)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_send_as_text_data* p_contact_text_data = (ct_send_as_text_data*)data;
- p_retm_if(NULL == p_contact_text_data->checked_items, "checked items is null");
- p_retm_if(NULL == p_contact_text_data->genlist, "genlist is null");
- for(size_t i = 0; i < p_contact_text_data->fields_count; ++i)
- {
- p_contact_text_data->checked_items[i] = checked;
- }
- elm_genlist_realized_items_update(p_contact_text_data->genlist);
- if( p_contact_text_data->p_popup_data
- && p_contact_text_data->p_popup_data->button1)
- {
- elm_object_disabled_set(p_contact_text_data->p_popup_data->button1, !checked);
- }
-}
-
-/**
- * @brief Initialise popup for ct_send_as_text_data structure
- * @param[in] parent Parent for popup
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @return true if success, otherwise false
- */
-static bool ct_init_popup_for_contact_text_data(Evas_Object* parent, ct_send_as_text_data* p_contact_text_data)
-{
- PH_TRACE;
- bool result(false);
- p_retvm_if(NULL == parent, false, "parent is null");
- p_retvm_if(NULL == p_contact_text_data, false, "text data is null");
- ct_confirm_popup_data* p_popup_data = ct_create_popup_data_for_send_contact_as_text(parent, p_contact_text_data);
- if(p_popup_data)
- {
- if(phone_fill_confirm_popup_data(p_popup_data))
- {
- elm_object_disabled_set(p_popup_data->button1, EINA_TRUE);
- p_contact_text_data->genlist_item_class = phone_create_item_class("2text.3/popup",
- NULL, "edit_default",
- ct_get_text_as_data_item_text_cb, ct_get_text_as_data_item_content_cb, NULL, ct_data_deletion_func_cb);
- if(p_contact_text_data->genlist_item_class)
- {
- p_contact_text_data->box = elm_box_add(p_popup_data->popup);
- if(p_contact_text_data->box)
- {
- elm_object_style_set(p_popup_data->popup, "content_no_vhpad");
- elm_object_content_set(p_popup_data->popup,
- p_contact_text_data->box);
- p_contact_text_data->select_all_layout = phone_create_select_all(p_contact_text_data->box,
- S_(PH_SYS_BODY_SELECT_ALL), ct_contact_as_text_select_all_cb, p_contact_text_data);
- if(p_contact_text_data->select_all_layout)
- {
- evas_object_size_hint_align_set(p_contact_text_data->select_all_layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_box_pack_end(p_contact_text_data->box, p_contact_text_data->select_all_layout);
- p_contact_text_data->genlist = elm_genlist_add(p_contact_text_data->box);
- if(p_contact_text_data->genlist)
- {
- evas_object_size_hint_weight_set(p_contact_text_data->genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(p_contact_text_data->genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_box_pack_end(p_contact_text_data->box, p_contact_text_data->genlist);
- evas_object_show(p_contact_text_data->box);
- evas_object_show(p_contact_text_data->select_all_layout);
- evas_object_show(p_contact_text_data->genlist);
- p_contact_text_data->p_popup_data = p_popup_data;
- result = true;
- }
- }
- }
- }
- }
- }
- if(!result)
- {
- ERR("ct_init_visual_part_for_text_as_data failed");
- }
- return result;
-}
-
-/**
- * @brief Initialise @a p_text_as_data structure
- * @remark returned @a p_text_as_data structure must be destroyed with ct_clear_contacts_text_data by you
- * @param[in] id ID of contact
- * @param[in] parent Parent for popup
- * @param[in] current_ug Current user gadget
- * @param[out] p_contact_text_data Pointer to structure with data of contact
- * return true if success, otherwise false
- */
-static bool ct_init_text_as_data(int id, Evas_Object* parent, ui_gadget_h current_ug, ct_send_as_text_data** p_contact_text_data)
-{
- PH_TRACE;
- bool result(false);
- ct_send_as_text_data* inner_contact_text_data = NULL;
- inner_contact_text_data = (ct_send_as_text_data*)calloc(1, sizeof(ct_send_as_text_data));
- inner_contact_text_data->contact_id = id;
- if(inner_contact_text_data)
- {
- inner_contact_text_data->contact_record = ct_get_contact_record_by_id(id);
- if(inner_contact_text_data->contact_record)
- {
- inner_contact_text_data->fields_count = ct_get_field_count(inner_contact_text_data->contact_record);
- if(inner_contact_text_data->fields_count > 0)
- {
- inner_contact_text_data->field_names = (char**)calloc(inner_contact_text_data->fields_count, sizeof(char*));
- inner_contact_text_data->strings_of_data = (char**)calloc(inner_contact_text_data->fields_count, sizeof(char*));
- inner_contact_text_data->checked_items = (bool*) calloc(inner_contact_text_data->fields_count, sizeof(bool));
- if( inner_contact_text_data->field_names
- && inner_contact_text_data->strings_of_data
- && inner_contact_text_data->checked_items)
- {
- inner_contact_text_data->formatter = phone_init_time_formatter();
- if(inner_contact_text_data->formatter)
- {
- if(parent)
- {
- if(ct_init_popup_for_contact_text_data(parent, inner_contact_text_data))
- {
- inner_contact_text_data->ug = current_ug;
- inner_contact_text_data->child_ug = NULL;
- result = true;
- }
- }
- }
- }
- }
- }
- }
- if(result)
- {
- if(*p_contact_text_data)
- {
- free(*p_contact_text_data);
- }
- *p_contact_text_data = inner_contact_text_data;
- }
- else
- {
- ERR("Initialising text_as_data failed");
- ct_clear_contacts_text_data(inner_contact_text_data);
- }
- return result;
-}
-
-/**
- * @brief Concatenate @a lhs and @a rhs and return a newly allocated string
- * @remark Returned value must be destroyed with free by you
- * @param[in] lhs Lhs string
- * @param[in] rhs Rhs string
- * @param[in] separator Separator between strings (optional)
- *
- */
-static char* ct_concatenate_strings(const char* lhs, const char* rhs, const char* separator = NULL)
-{
- PH_TRACE;
- char* result = NULL;
- p_retvm_if(!lhs || !rhs, NULL, "some of strings is NULL");
- size_t strings_size = strlen(lhs) + strlen(rhs) + SAFE_STRLEN(separator);
- if(strings_size > 0)
- {
- ++strings_size;
- result = (char*)calloc(strings_size, sizeof(char));
- strcpy(result, lhs);
- if(separator)
- {
- strcat(result, separator);
- }
- strcat(result, rhs);
- }
- return result;
-}
-
-/**
- * @brief Checks whether any item checked
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @return true if any item checked, otherwise false
- */
-static bool ct_is_any_contact_item_checked(ct_send_as_text_data* p_contact_text_data)
-{
- PH_TRACE;
- p_retvm_if(NULL == p_contact_text_data, false, "text data is null");
- bool result(false);
- for(size_t i = 0; i < p_contact_text_data->fields_count; ++i)
- {
- result = p_contact_text_data->checked_items[i];
- if(result)
- {
- break;
- }
- }
- return result;
-}
-
-/**
- * @brief Checks whether all item checked
- * @param[in] p_contact_text_data Pointer to structure with data of contact
- * @return true if all item checked, otherwise false
- */
-static bool ct_is_all_contact_item_checked(ct_send_as_text_data* p_contact_text_data)
-{
- PH_TRACE;
- p_retvm_if(NULL == p_contact_text_data, false, "text data is null");
- bool result(false);
- for(size_t i = 0; i < p_contact_text_data->fields_count; ++i)
- {
- result = p_contact_text_data->checked_items[i];
- if(!result)
- {
- break;
- }
- }
- return result;
-}
-
-/**
- * @brief Update state of @a select_all_layout
- * @param[in] select_all_layout Layout with check and label
- * @param[in] checked New state for check in @a select_all_layout
- */
-static void ct_update_select_all_state(Evas_Object* select_all_layout, bool checked)
-{
- if (select_all_layout)
- {
- Evas_Object *check = elm_object_part_content_get(select_all_layout, "elm.icon");
- if (check)
- {
- elm_check_state_set(check, checked);
- }
- }
-}
-
-void ct_send_as_text_genlist_item_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- p_retm_if(NULL == event_info, "event_info is NULL");
- Elm_Object_Item* item = (Elm_Object_Item*)event_info;
- ct_send_as_text_with_additional_info* p_additional_info =
- (ct_send_as_text_with_additional_info*)data;
- p_retm_if(NULL == p_additional_info->p_contact_text_data, "text data is null");
- p_retm_if(p_additional_info->p_contact_text_data->fields_count
- < p_additional_info->current_index, "incorrect current index");
- p_retm_if(NULL == p_additional_info->p_contact_text_data->select_all_layout, "select all layout is null");
-
- if( p_additional_info->p_contact_text_data
- && p_additional_info->p_contact_text_data->fields_count > p_additional_info->current_index
- && p_additional_info->p_contact_text_data->checked_items)
- {
- p_additional_info->p_contact_text_data->checked_items[p_additional_info->current_index] =
- !p_additional_info->p_contact_text_data->checked_items[p_additional_info->current_index];
- }
- elm_genlist_item_selected_set(item, EINA_FALSE);
- elm_genlist_item_fields_update(item, "elm.edit.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
-
- bool select_all_checked = ct_is_all_contact_item_checked(p_additional_info->p_contact_text_data);
- ct_update_select_all_state(p_additional_info->p_contact_text_data->select_all_layout, select_all_checked);
- bool is_any_item_checked = ct_is_any_contact_item_checked(p_additional_info->p_contact_text_data);
- if( p_additional_info->p_contact_text_data->p_popup_data
- && p_additional_info->p_contact_text_data->p_popup_data->button1)
- {
- elm_object_disabled_set(p_additional_info->p_contact_text_data->p_popup_data->button1, !is_any_item_checked);
- }
-}
-
-static bool ct_fill_genlist(ct_send_as_text_data* p_contact_text_data)
-{
- PH_TRACE;
- p_retvm_if(NULL == p_contact_text_data, false, "p_text_as_data is null");
- bool result(false);
- if(p_contact_text_data->genlist && p_contact_text_data->genlist_item_class)
- {
- for(size_t i = 0; i < p_contact_text_data->fields_count; ++i)
- {
- ct_send_as_text_with_additional_info* p_send_as_text_additional_info =
- (ct_send_as_text_with_additional_info*)malloc(sizeof(ct_send_as_text_with_additional_info));
- if(p_send_as_text_additional_info)
- {
- p_send_as_text_additional_info->current_index = i;
- p_send_as_text_additional_info->p_contact_text_data = p_contact_text_data;
-
- result = (elm_genlist_item_append(p_contact_text_data->genlist, p_contact_text_data->genlist_item_class,
- p_send_as_text_additional_info, NULL, ELM_GENLIST_ITEM_NONE,
- ct_send_as_text_genlist_item_cb, p_send_as_text_additional_info) != NULL);
- if(!result)
- {
- break;
- }
- }
- }
- }
- return result;
-}
-
-void ct_process_send_contact_as_text(int contact_id, int person_id, Evas_Object* navi, ui_gadget_h ug, ui_gadget_h* p_child_ug)
-{
- PH_TRACE;
- p_retm_if(NULL == p_child_ug, "p_child_ug is null");
- if(*p_child_ug)
- {
- ct_destroy_ug_cb(p_child_ug);
- }
- ct_send_as_text_data* p_contact_text_data = NULL;
- if(ct_init_text_as_data(contact_id, navi, ug, &p_contact_text_data))
- {
- if(ct_fill_as_text(p_contact_text_data))
- {
- if(p_contact_text_data->fields_count == 1)
- {
-
- const char* separator = " ";
- char* message_text = ct_concatenate_strings(p_contact_text_data->field_names[0], p_contact_text_data->strings_of_data[0], separator);
- *p_child_ug = ctui_predefined_body_msg_ug(ug, NULL, person_id, message_text,
- ct_destroy_ug_cb, p_child_ug);
- free(message_text);
- }
- else
- {
- if(p_contact_text_data->p_popup_data && p_contact_text_data->p_popup_data->popup)
- {
- evas_object_show(p_contact_text_data->p_popup_data->popup);
- ct_fill_genlist(p_contact_text_data);
- elm_genlist_decorate_mode_set(p_contact_text_data->genlist, EINA_TRUE);
- }
- }
- }
- }
-}
-
-void list_send_contact_as_text_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_list_data *clist_d = (ct_list_data *) data;
- ct_person_list *person_info = (ct_person_list *) evas_object_data_get(
- clist_d->popup, PERSON_INFO);
-
- list_hide_popup_cb(clist_d);
- p_retm_if(NULL == person_info, "person_info is NULL");
-
- int contact_id = phone_get_contact_id_by_person_id(person_info->id);
- ct_process_send_contact_as_text(contact_id, person_info->id, clist_d->navi, clist_d->ug, &clist_d->child_ug);
-}
-
-bool ct_list_str_to_bool(const std::string& strVal)
-{
- PH_TRACE;
- return !(strVal == "0");
-}
-
-std::string ct_list_bool_to_str(bool bVal)
-{
- PH_TRACE;
- return bVal == false ? "0" : "1";
-}
-
-bool ct_list_insert_extension(contacts_record_h extensionRec,
- unsigned int extensionField, int contactId, const std::string& strValue)
-{
- PH_TRACE;
- bool result(false);
- if (contacts_record_set_str(extensionRec, extensionField, strValue.c_str())
- == CONTACTS_ERROR_NONE)
- {
- if (contacts_record_set_int(extensionRec,
- _contacts_extension.contact_id, contactId)
- == CONTACTS_ERROR_NONE)
- {
- int extId(0);
- if (contacts_db_insert_record(extensionRec, &extId)
- == CONTACTS_ERROR_NONE)
- {
- result = true;
- }
- }
- }
- return result;
-}
-
-bool ct_list_toggle_blocked(contacts_record_h contactRec,
- contacts_record_h extensionRec)
-{
- PH_TRACE;
- bool result(false);
- if (contacts_record_get_child_record_at_p(contactRec,
- _contacts_contact.extension, 0, &extensionRec)
- == CONTACTS_ERROR_NONE)
- {
- char* strIsBlocked = NULL;
- if (contacts_record_get_str(extensionRec, _contacts_extension.data2,
- &strIsBlocked) == CONTACTS_ERROR_NONE)
- {
- bool bIsBlocked = ct_list_str_to_bool(strIsBlocked);
- std::string newStrVal = ct_list_bool_to_str(!bIsBlocked);
- if (contacts_record_set_str(extensionRec, _contacts_extension.data2,
- newStrVal.c_str()) == CONTACTS_ERROR_NONE)
- {
- if (contacts_db_update_record(contactRec)
- == CONTACTS_ERROR_NONE)
- {
- result = true;
- }
- }
- }
- if (strIsBlocked)
- {
- free(strIsBlocked);
- }
- }
- return result;
-}
-
-void list_block_contact_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_list_data *clist_d = (ct_list_data *) data;
- ct_person_list *person_info = (ct_person_list *) evas_object_data_get(
- clist_d->popup, PERSON_INFO);
-
- list_hide_popup_cb(clist_d);
- p_retm_if(NULL == person_info, "person_info is NULL");
-
- clist_d->popup = phone_create_block_contact_popup(clist_d->navi, phone_get_contact_id_by_person_id(clist_d->personId));
-}
-
-static void list_toggle_favorite_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
-
- ct_list_data *clist_d = (ct_list_data *) data;
- ct_person_list *person_info = (ct_person_list *) evas_object_data_get(
- clist_d->popup, PERSON_INFO);
- contacts_record_h person_record = NULL;
-
- list_hide_popup_cb(clist_d);
- p_retm_if(NULL == person_info, "person_info is NULL");
-
- int err = contacts_db_get_record(_contacts_person._uri, person_info->id, &person_record);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
-
- err = contacts_record_set_bool(person_record, _contacts_person.is_favorite,
- !person_info->is_favourite);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_bool() Failed(%d)", err);
-
- err = contacts_db_update_record(person_record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_record() Failed(%d)", err);
-
- if(CONTACTS_ERROR_NONE == err)
- {
- person_info->is_favourite = !person_info->is_favourite;
- phone_show_tickernoti(T_(CT_GET_TEXT_BASE_OP, person_info->is_favourite ?
- CTTEXT_ADDED_TO_FAVOURITES : CTTEXT_REMOVED_FROM_FAVOURITES));
- }
- else
- {
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
- }
-
- err = contacts_record_destroy(person_record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-}
-
-static void list_link_contacts_sel_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- p_retm_if(NULL == event_info, "event_info is NULL");
-
- ct_list_data *clist_d = (ct_list_data *) data;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- ct_person_list *person_info = (ct_person_list *) elm_object_item_data_get(item);
- bool success = false;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- if(person_info)
- {
- int err = contacts_person_link_person(clist_d->personId, person_info->id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_person_link_person() Failed(%d)", err);
- success = CONTACTS_ERROR_NONE == err;
- }
-
- phone_show_tickernoti(S_(success ?
- CT_SYS_POP_SUCCESS : PH_SYS_POP_FAILED));
- elm_naviframe_item_pop(clist_d->navi);
-}
-
-static void list_link_contacts_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_list_data *clist_d = (ct_list_data *) data;
- ct_person_list *person_info = (ct_person_list *) evas_object_data_get(
- clist_d->popup, PERSON_INFO);
-
- list_hide_popup_cb(clist_d);
- p_retm_if(NULL == person_info, "person_info is NULL");
-
- ctui_create_list_single_select_view(clist_d->win, clist_d->navi,
- list_link_contacts_sel_cb, clist_d, person_info->id);
-}
-
-static void ct_group_assign_result_cb(void *data)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_person_list *person_info = (ct_person_list *) data;
- int err = contacts_db_update_record(person_info->contact);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_record() Failed(%d)", err);
-}
-
-static void list_add_to_group_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_list_data *clist_d = (ct_list_data *) data;
- ct_person_list *person_info = (ct_person_list *) evas_object_data_get(
- clist_d->popup, PERSON_INFO);
-
- list_hide_popup_cb(clist_d);
- p_retm_if(NULL == person_info, "person_info is NULL");
-
- if(!person_info->contact)
- {
- int contact_id = phone_get_contact_id_by_person_id(person_info->id);
- int err = contacts_db_get_record(_contacts_contact._uri, contact_id,
- &person_info->contact);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
- }
-
- clist_d->popup = ct_group_assign_popup_create(clist_d->win, clist_d->navi,
- person_info->contact, ct_group_assign_result_cb, person_info);
-}
-
-void list_create_longpressed_popup(ct_person_list *person_info, ct_list_data *clist_d)
-{
- PH_TRACE;
- p_retm_if(NULL == clist_d, "clist_d is null");
- list_create_popup_with_cancel_button(*clist_d, person_info->display);
-
- Evas_Object *genlist = elm_genlist_add(clist_d->popup);
- p_retm_if(NULL == genlist, "genlist is null");
- Elm_Genlist_Item_Class *longpress_item_class = list_create_class("1text/popup",
- list_get_item_text_cb);
-
- if (!person_info->number_list)
- {
- Eina_List *contact_list = ctui_person_get_contact_list(person_info->id);
- person_info->number_list = ctui_person_get_number_list(contact_list);
- eina_list_free(contact_list);
- }
-
- unsigned number_count = eina_list_count(person_info->number_list);
- evas_object_data_set(clist_d->popup, PERSON_INFO, person_info);
- evas_object_data_set(clist_d->genlist, NUMBER_LIST, person_info->number_list);
-
- //Edit
- elm_genlist_item_append(genlist, longpress_item_class,
- S_(PH_SYS_SK_EDIT),
- NULL, ELM_GENLIST_ITEM_NONE, list_edit_item_cb, clist_d);
-
- //Add to group
- elm_genlist_item_append(genlist, longpress_item_class,
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_ADD_TO_GROUP),
- NULL, ELM_GENLIST_ITEM_NONE, list_add_to_group_cb, clist_d);
-
- //Add to favourites
- elm_genlist_item_append(genlist, longpress_item_class,
- T_(CT_GET_TEXT_BASE_OP, person_info->is_favourite ?
- CTTEXT_REMOVE_FROM_FAVOURITES : CTTEXT_ADD_TO_FAVOURITES),
- NULL, ELM_GENLIST_ITEM_NONE, list_toggle_favorite_cb, clist_d);
-
- //Link contact
- elm_genlist_item_append(genlist, longpress_item_class,
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_LINK_CONTACTS),
- NULL, ELM_GENLIST_ITEM_NONE, list_link_contacts_cb, clist_d);
-
- if (number_count > 0)
- {
- //Block contact
- elm_genlist_item_append(genlist, longpress_item_class,
- T_(PH_GET_TEXT_BASIC, PHTEXT_EDIT_BLOCK_CONTACT),
- NULL, ELM_GENLIST_ITEM_NONE,
- list_block_contact_cb, clist_d);
-
- //Default number
- if (number_count > 1)
- {
- elm_genlist_item_append(genlist, longpress_item_class,
- T_(PH_GET_TEXT_BASIC, PHTEXT_DEFAULT_NUMBER),
- NULL, ELM_GENLIST_ITEM_NONE,
- list_default_number_cb, clist_d);
- }
-
- //Send namecard
- elm_genlist_item_append(genlist, longpress_item_class,
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_SEND_NAME_CARD),
- NULL, ELM_GENLIST_ITEM_NONE,
- list_send_namecard_cb, clist_d);
-
- //Send contact as text
- elm_genlist_item_append(genlist, longpress_item_class,
- T_(PH_GET_TEXT_BASIC, PHTEXT_SEND_CONTACTC_AS_TEXT),
- NULL, ELM_GENLIST_ITEM_NONE,
- list_send_contact_as_text_cb, clist_d);
- }
-
- elm_object_content_set(clist_d->popup, genlist);
-
- elm_genlist_item_class_free(longpress_item_class);
-}
-
-void list_gl_longpressed(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- p_retm_if(NULL == event_info, "event_info is null");
-
- ct_list_data *clist_d = (ct_list_data *) data;
- ct_person_list *person_info = (ct_person_list *)
- elm_object_item_data_get((Elm_Object_Item *) event_info);
- p_retm_if(NULL == person_info, "person_info is null");
-
- if(NULL == clist_d->last_sweep_item)
- {
- clist_d->personId = person_info->id;
- list_create_longpressed_popup(person_info, clist_d);
- }
-}
-
-void list_gl_scroll_start_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == obj, "obj is null");
- evas_object_smart_callback_del(obj, LONGPRESSED, list_gl_longpressed);
-}
-void list_gl_scroll_end_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == obj, "obj is null");
- p_retm_if(NULL == data, "data is null");
- ct_list_data *pListData = static_cast<ct_list_data *>(data);
- evas_object_smart_callback_add(obj, LONGPRESSED, list_gl_longpressed,
- pListData);
-}
-
-static void update_list_searchbar(ct_list_data &clist_d)
-{
- PH_TRACE;
- phone_set_searchbar_add_button_visible(clist_d,
- !message_mode_state(clist_d.ug_request, clist_d.list_mode));
-}
-
-static Evas_Object* list_create_contact_list(Evas_Object *parent,
- ct_list_data *clist_d)
-{
- PH_TRACE;
- if (clist_d == NULL || parent == NULL)
- {
- return NULL;
- }
-
- elm_win_conformant_set(clist_d->win, EINA_TRUE);
-
- if(!clist_d->layout)
- {
- Evas_Object *layout = elm_layout_add(parent);
- if (CT_GET_LIST_VCARD == clist_d->list_op)
- elm_layout_file_set(layout, CONTACTS_EDJ, "genlist_no_searchbar");
- else
- elm_layout_file_set(layout, CONTACTS_EDJ, "genlist");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- clist_d->layout = layout;
- }
-
- if (CT_GET_LIST_VCARD != clist_d->list_op)
- {
- if(clist_d->searchbar)
- {
- update_list_searchbar(*clist_d);
- }
- else
- {
- ctui_list_create_searchbar(clist_d->layout, clist_d);
- }
- }
-
- clist_d->box = elm_box_add(clist_d->layout);
- evas_object_size_hint_weight_set(clist_d->box, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_show(clist_d->box);
- elm_object_part_content_set(clist_d->layout, "content", clist_d->box);
-
- // Create genlist
- Evas_Object *genlist = list_create_navi_content_genlist(clist_d->box);
- evas_object_show(genlist);
- elm_object_theme_set(genlist, clist_d->th);
-
- evas_object_smart_callback_add(genlist, "drag,start,right", list_gl_sweep,
- clist_d);
- evas_object_smart_callback_add(genlist, "drag,start,left", list_gl_unsweep,
- clist_d);
- evas_object_smart_callback_add(genlist, "drag,start,up", list_gl_unsweep,
- clist_d);
- evas_object_smart_callback_add(genlist, "drag,start,down", list_gl_unsweep,
- clist_d);
- evas_object_smart_callback_add(genlist, SCROLL_DRAG_START,
- list_gl_scroll_start_cb, clist_d);
- evas_object_smart_callback_add(genlist, SCROLL_DRAG_STOP,
- list_gl_scroll_end_cb, clist_d);
- evas_object_smart_callback_add(genlist, LONGPRESSED, list_gl_longpressed,
- clist_d);
-
- clist_d->genlist = genlist;
-
- elm_box_pack_end(clist_d->box, genlist);
- evas_object_data_set(genlist, "clist_d", clist_d);
- elm_object_focus_set(genlist, EINA_TRUE);
-
- if (CT_GET_LIST_VCARD != clist_d->list_op)
- {
- // Create fast scroll
- Evas_Object *fast_index = elm_index_add(clist_d->layout);
- elm_object_part_content_set(clist_d->layout, "fastscroll", fast_index);
- evas_object_show(fast_index);
- clist_d->fast_index = fast_index;
- evas_object_smart_callback_add(fast_index, "delay,changed",
- list_fast_delayed_changed, fast_index);
- evas_object_smart_callback_add(fast_index, "selected",
- list_fast_selected, NULL);
- elm_index_level_go(fast_index, 0);
- }
-
- // Genlist item append
- pre_search_str[0] = '\0';
-
- evas_object_show(clist_d->layout);
-
- return clist_d->layout;
-}
-
-static void list_resize_contact_view(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *scroller;
- Evas_Object *box;
- ct_list_data *clist_d = (ct_list_data *) data;
- int changed_rotate = elm_win_rotation_get(clist_d->win);
-
- if (clist_d->list || clist_d->search_str)
- return;
-
- if (clist_d->current_rotate != changed_rotate)
- clist_d->current_rotate = changed_rotate;
- else
- return;
-
- if (0 == changed_rotate || 180 == changed_rotate)
- {
- scroller = elm_object_part_content_get(clist_d->content_layout,
- "elm.swallow.content");
- p_retm_if(NULL == scroller,
- "elm_object_part_content_get() return NULL");
- box = elm_object_content_get(scroller);
- p_retm_if(NULL == box, "elm_object_content_get() return NULL");
- elm_box_unpack(box, clist_d->nocontent);
- p_retm_if(NULL == clist_d->nocontent, "elm_box_unpack() return NULL");
- evas_object_size_hint_weight_set(clist_d->nocontent, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(clist_d->nocontent, EVAS_HINT_FILL,
- 0.2);
- elm_box_pack_end(box, clist_d->nocontent);
- elm_object_content_set(scroller, box);
- evas_object_size_hint_min_set(box, 720, 650);
- elm_object_part_content_set(clist_d->content_layout,
- "elm.swallow.content", scroller);
- }
- else
- {
- scroller = elm_object_part_content_get(clist_d->content_layout,
- "elm.swallow.content");
- p_retm_if(NULL == scroller,
- "elm_object_part_content_get() return NULL");
- box = elm_object_content_get(scroller);
- p_retm_if(NULL == box, "elm_object_content_get() return NULL");
- elm_box_unpack(box, clist_d->nocontent);
- p_retm_if(NULL == clist_d->nocontent, "elm_box_unpack() return NULL");
- evas_object_size_hint_weight_set(clist_d->nocontent, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(clist_d->nocontent, EVAS_HINT_FILL,
- 0.0);
- elm_box_pack_end(box, clist_d->nocontent);
- elm_object_content_set(scroller, box);
- evas_object_size_hint_min_set(box, 720, 650);
- elm_object_part_content_set(clist_d->content_layout,
- "elm.swallow.content", scroller);
- }
-
-}
-void create_no_content_layout(ct_list_data *clist_d, Evas_Object *parent)
-{
- PH_TRACE;
- if(clist_d && parent)
- {
- elm_win_conformant_set(clist_d->win, EINA_TRUE);
- Evas_Object *layout_search = elm_layout_add(parent);
- elm_layout_file_set(layout_search, CONTACTS_EDJ, "genlist");
- evas_object_size_hint_weight_set(layout_search, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- clist_d->layout = layout_search;
-
- ctui_list_create_searchbar(layout_search, clist_d);
- elm_object_part_content_set(parent, "elm.swallow.content",
- layout_search);
- elm_object_disabled_set(clist_d->searchbar, EINA_TRUE);
-
- char buf[PH_TEXT_MAX_LEN] = { 0, };
- Evas_Object * base = elm_layout_add(layout_search);
- evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(base, EVAS_HINT_FILL, 0.2);
- elm_layout_file_set(base, NOCONTENT_LAYOUT_EDJ, "nocontent_layout");
- snprintf(buf, sizeof(buf), "%s<br>%s",
- T_(CT_GET_TEXT_ERR, CTTEXT_NO_CONTACTS),
- T_(CT_GET_TEXT_ERR, CTTEXT_NO_CONTACTS_HELP_TEXT));
- elm_object_part_text_set(base, "elm.text", buf);
- evas_object_show(base);
- clist_d->nocontent = base;
- clist_d->current_rotate = elm_win_rotation_get(clist_d->win);
-
- elm_object_part_content_set(clist_d->layout, "content", base);
-
- clear_genlist_info(*clist_d);
- clist_d->list = NULL;
- }
-}
-
-static void list_fill_contact_view(Evas_Object *parent, ct_list_data &clist_d)
-{
- PH_TRACE;
- Evas_Object *content = NULL;
-
- if (clist_d.list || clist_d.search_str)
- {
- if (NULL == clist_d.genlist)
- {
- content = list_create_contact_list(parent, &clist_d);
- list_append_all(&clist_d);
-
- if (CT_LIST_MODE_EDIT == clist_d.list_mode)
- ctui_list_edit_mode_start(&clist_d);
- elm_object_part_content_set(parent, "elm.swallow.content", content);
- }
- else
- {
- if (clist_d.search_str && *clist_d.search_str)
- ctui_list_handle_search(clist_d);
- else
- ctui_list_refresh_genlist(&clist_d);
- }
- evas_object_smart_callback_del(clist_d.win, "wm,rotation,changed",
- list_resize_contact_view);
- }
- else
- {
- clist_d.list_mode = CT_LIST_MODE_DEFAULT;
- create_no_content_layout(&clist_d, parent);
- }
-}
-
-API Eina_Bool ctui_list_genlist_update(void *data)
-{
- PH_TRACE;
- char buf[PH_TEXT_MAX_LEN + 1];
- Evas_Object *content;
- ct_list_data *clist_d = (ct_list_data *) data;
- if(!clist_d)
- {
- return ECORE_CALLBACK_CANCEL;
- }
-
- if (clist_d->update_timer)
- {
- ecore_timer_del(clist_d->update_timer);
- clist_d->update_timer = NULL;
- }
-
- p_retvm_if(NULL == clist_d->navi_item, ECORE_CALLBACK_CANCEL,
- "navi_item is NULL");
-
- ctui_list_free_contacts(clist_d->list);
- clist_d->list = NULL;
- ct_list_get_contacts(clist_d, &clist_d->list);
-
- if (CT_LIST_IN_MULTI_TAB != clist_d->tab_mode
- && CT_UG_REQUEST_SELECT_PERSON <= clist_d->ug_request)
- {
- snprintf(buf, sizeof(buf), "%s (%d)", clist_d->title,
- clist_d->cnt_list_total);
- elm_object_item_text_set(clist_d->navi_item, buf);
- }
-
- content = clist_d->content_layout;
- list_fill_contact_view(content, *clist_d);
- if (clist_d->list_navi_item_update_fn)
- clist_d->list_navi_item_update_fn(clist_d);
-
- clist_d->update_timer = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-void ct_list_clear_pdata(ct_list_data *clist_d)
-{
- PH_TRACE;
- p_ret_if(NULL == clist_d);
- p_ret_if(NULL == clist_d->p_info);
-
- clist_d->p_info->alive = false;
- pthread_join(clist_d->p_info->thread, NULL);
-
- ecore_timer_del(clist_d->p_info->timer);
-
- if (clist_d->popup)
- {
- evas_object_del(clist_d->popup);
- clist_d->popup = NULL;
- }
-
- free(clist_d->p_info);
- clist_d->p_info = NULL;
-}
-
-static void list_addrbook_changed(const char *view_uri, void *user_data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) user_data;
- ct_list_init_account_data(clist_d);
- ctui_list_lazy_update(_contacts_person._uri, clist_d);
-}
-
-static void list_set_group_index_item(Eina_List *list_index,
- const char *cur_index, Elm_Object_Item *cur_item)
-{
- PH_TRACE;
- Eina_List* l;
- void *v_data;
-
- EINA_LIST_FOREACH(list_index, l, v_data)
- {
- ct_list_index_data *data = (ct_list_index_data *) v_data;
- if (0 == strcmp(cur_index, data->index))
- {
- //PH_DBG("list_append_item - %s mapping to %s", data->index, cur_index);
- elm_object_item_data_set(data->item, cur_item);
- break;
- }
- }
-}
-
-static Elm_Object_Item* list_genlist_update_group_item_get(
- ct_list_data *clist_d, Elm_Object_Item *item, const char *cur_index)
-{
- PH_TRACE;
- int cmp;
- char *item_index;
- Elm_Object_Item *next_item;
- Elm_Object_Item *item_ret;
-
- if (NULL == item)
- {
- item_ret = elm_genlist_item_append(clist_d->genlist, &group_index,
- strdup(cur_index), NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- elm_genlist_item_select_mode_set(item_ret,
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- list_set_group_index_item(clist_d->list_index, cur_index, item_ret);
- return item_ret;
- }
- if (ELM_GENLIST_ITEM_GROUP != elm_genlist_item_type_get(item))
- {
- next_item = elm_genlist_item_next_get(item);
- item_ret = list_genlist_update_group_item_get(clist_d, next_item,
- cur_index);
- elm_object_item_del(item);
- return item_ret;
- }
-
- item_index = (char *) elm_object_item_data_get(item);
- cmp = strcmp(item_index, cur_index);
-
- if (0 == cmp)
- {
- return item;
- }
- else if (0 < cmp)
- {
- item_ret = elm_genlist_item_insert_before(clist_d->genlist,
- &group_index, strdup(cur_index), NULL, item,
- ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- elm_genlist_item_select_mode_set(item_ret,
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- list_set_group_index_item(clist_d->list_index, cur_index, item_ret);
- return item_ret;
- }
- else
- {
- next_item = elm_genlist_item_next_get(item);
- item_ret = list_genlist_update_group_item_get(clist_d, next_item,
- cur_index);
- elm_object_item_del(item);
- return item_ret;
- }
-}
-
-static void ct_list_update_checked_contacts(ct_list_data* contactListData)
-{
- PH_TRACE;
- p_retm_if(contactListData == NULL, "contact person is NULL");
- p_retm_if(contactListData->list == NULL, "contact person list is NULL");
- p_retm_if(contactListData->list_check_info == NULL,
- "contact person list_check is NULL");
-
- Eina_List* tempList = NULL;
- void* tempData = NULL;
- EINA_LIST_FOREACH(contactListData->list, tempList, tempData)
- {
- if (tempData)
- {
- ct_person_list* personList = static_cast<ct_person_list*>(tempData);
- ct_person_list* personInfo = find_info_in_list_by_id(
- contactListData->list_check_info, personList->id);
- if (personInfo)
- {
- personList->checked = personInfo->checked;
- }
- }
- }
-}
-void disable_count_item(ct_list_data *clist_d)
-{
- PH_TRACE;
- if (clist_d)
- {
- if (EINA_FALSE == elm_genlist_decorate_mode_get(clist_d->genlist))
- {
- clist_d->count_item = elm_genlist_item_append(clist_d->genlist,
- &clist_d->itcs[CT_LIST_ITEM_COUNT],
- (void *) clist_d->cnt_list_total, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_object_item_disabled_set(clist_d->count_item, EINA_TRUE);
- }
- }
-}
-
-static void ctui_list_refresh_searchbar(ct_list_data *clist_d, Eina_List *list_new)
-{
- PH_TRACE;
- if(clist_d && clist_d->searchbar)
- {
- if ((!list_new && !clist_d->search_str) || NULL == clist_d->genlist)
- {
- elm_object_disabled_set(clist_d->searchbar, EINA_TRUE);
- }
- else
- {
- elm_object_disabled_set(clist_d->searchbar, EINA_FALSE);
- }
- }
-}
-
-static Eina_Bool list_genlist_update(void *data)
-{
- PH_TRACE;
- int ret;
- char buf[PH_TEXT_MAX_LEN] = { 0, };
- char group_letter[10] __attribute__ ((unused)) = { 0, };
- Eina_List *list_new;
- Eina_List *l;
- Elm_Object_Item *item_cur = NULL;
- Elm_Object_Item *item_second = NULL;
- ct_person_list *person_info;
- ct_list_data *clist_d = (ct_list_data *) data;
- void * info;
-
- if (clist_d->list_idler)
- {
- ecore_idler_del(clist_d->list_idler);
- clist_d->list_idler = NULL;
- }
-
- if (clist_d->update_timer)
- {
- ecore_timer_del(clist_d->update_timer);
- clist_d->update_timer = NULL;
- }
-
- p_retvm_if(NULL == clist_d->navi_item, ECORE_CALLBACK_CANCEL,
- "navi_item is NULL");
-
- list_new = NULL;
- ret = ct_list_get_contacts(clist_d, &list_new);
- if (0 != ret && ret != CONTACTS_ERROR_NO_DATA)
- {
- ERR("ct_list_get_contacts() Failed(%d)", ret);
- ctui_list_free_contacts(list_new);
- clist_d->need_update = true;
- return ECORE_CALLBACK_CANCEL;
- }
-
- ctui_list_refresh_searchbar(clist_d, list_new);
-
- if (!list_new && !clist_d->search_str)
- {
- update_list_searchbar(*clist_d);
- clear_genlist_info(*clist_d);
- }
- else
- {
- Evas_Object *content = NULL;
- content = list_create_contact_list(clist_d->content_layout, clist_d);
- if (CT_LIST_MODE_EDIT == clist_d->list_mode)
- ctui_list_edit_mode_start(clist_d);
- elm_object_part_content_set(clist_d->content_layout, "elm.swallow.content", content);
- ctui_list_set_unsweep(clist_d);
-
- if (clist_d->count_item)
- elm_object_item_del(clist_d->count_item);
-
- evas_object_smart_callback_del(clist_d->win, "wm,rotation,changed",
- list_resize_contact_view);
-
- show_fast_index(clist_d);
-
- clist_d->group_index[0] = '\0';
- clist_d->group_item = NULL;
-
- item_cur = elm_genlist_first_item_get(clist_d->genlist);
- if (item_cur)
- item_second = elm_genlist_item_next_get(item_cur);
- else
- {
- if (clist_d->base_ab > -1)
- {
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- Elm_Object_Item * item;
- int addressbook_mode;
- char title[400] = { 0, };
- char cur_account_name[200] = { 0, };
- char *cur_ab;
-
- ctui_get_account_name_by_address_book_id(clist_d->base_ab,
- cur_account_name, sizeof(cur_account_name));
- if (clist_d->base_ab > 0)
- {
- err = (contacts_error_e) contacts_db_get_record(
- _contacts_address_book._uri, clist_d->base_ab,
- &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
-
- do
- {
- if (CONTACTS_ERROR_NONE!= (err =(contacts_error_e) contacts_record_get_str_p(record,_contacts_address_book.name, &cur_ab)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err =
- (contacts_error_e) contacts_record_get_int(
- record,
- _contacts_address_book.mode,
- &addressbook_mode)))
- break;
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_value() Failed(%d)", err);
-
- err = (contacts_error_e) contacts_record_destroy(record,
- true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY == addressbook_mode)
- snprintf(title, sizeof(title), "%s", cur_account_name);
- else
- snprintf(title, sizeof(title), "%s %s",
- cur_account_name, cur_ab);
- }
- else
- {
- snprintf(title, sizeof(title), "%s",
- T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE));
- }
-
- item = elm_genlist_item_append(clist_d->genlist, &group_index,
- strdup(title), NULL, ELM_GENLIST_ITEM_GROUP, NULL,
- NULL);
- elm_genlist_item_select_mode_set(item,
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- }
- }
-
- group_letter[0] = '\0';
-
- if (ELM_GENLIST_ITEM_GROUP == elm_genlist_item_type_get(item_second))
- item_cur = item_second;
-
- if (clist_d->search_str && *clist_d->search_str)
- item_cur = elm_genlist_item_next_get(clist_d->search_group_item);
-
- ctui_list_free_index(clist_d->list_index);
- clist_d->list_index = NULL;
- clear_fast_index(clist_d);
- elm_genlist_clear(clist_d->genlist);
-
- EINA_LIST_FOREACH(list_new, l, info)
- {
- person_info = (ct_person_list *) info;
- if(person_info)
- list_append_item(clist_d, person_info);
- }
-
- if (clist_d->search_str && *clist_d->search_str)
- {
- if (clist_d->search_group_item)
- {
- char group_title[PH_TEXT_MAX_LEN];
- snprintf(group_title, sizeof(group_title), "%s (%d)", S_(PH_SYS_BODY_CONTACTS), eina_list_count(list_new));
- elm_object_item_data_set(clist_d->search_group_item,
- strdup(group_title));
- elm_genlist_item_update(clist_d->search_group_item);
- }
- }
-
- if (CT_LIST_IN_MULTI_TAB != clist_d->tab_mode
- && CT_UG_REQUEST_SELECT_PERSON <= clist_d->ug_request)
- {
- snprintf(buf, sizeof(buf), "%s (%d)", clist_d->title, clist_d->cnt_list_total);
- elm_object_item_text_set(clist_d->navi_item, buf);
- }
- }
-
- ctui_list_free_contacts(clist_d->list);
- clist_d->list = list_new;
-
- ct_list_update_checked_contacts(clist_d);
-
- if (clist_d->genlist)
- {
- elm_genlist_realized_items_update(clist_d->genlist);
- if (!(clist_d->search_str && *clist_d->search_str))
- disable_count_item(clist_d);
- }
- if (clist_d->list_navi_item_update_fn)
- clist_d->list_navi_item_update_fn(clist_d);
-
- if (clist_d->base_grp)
- ctui_list_navi_set(CT_LIST_MODE_DEFAULT, clist_d);
-
- if (clist_d->genlist)
- elm_object_focus_set(clist_d->genlist, EINA_TRUE);
-
- return ECORE_CALLBACK_CANCEL;
-}
-
-static Eina_Bool list_genlist_update_queue_timer_cb(void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- p_retvm_if(NULL == clist_d, ECORE_CALLBACK_CANCEL,
- "parameter(clist_d) is NULL");
-
- if (clist_d->need_update)
- {
- clist_d->need_update = false;
- list_genlist_update(clist_d);
- return ECORE_CALLBACK_RENEW;
- }
- clist_d->update_queue_timer = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-void ctui_list_lazy_update(const char *view_uri, void *data)
-{
- PH_TRACE;
- int ui_updated;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- if (clist_d->updating)
- return;
- PH_DBG("ctui_list_lazy_update");
- if (clist_d->update_timer)
- {
- ecore_timer_del(clist_d->update_timer);
- clist_d->update_timer = NULL;
- }
-
- PH_DBG("is_background = %d", clist_d->is_background);
-
- if (clist_d->is_background)
- {
- clist_d->need_update = false;
- clist_d->update_timer = ecore_timer_add(3.0, list_genlist_update,
- clist_d);
- return;
- }
-
- ui_updated = (int) evas_object_data_del(clist_d->navi, "ct_list_update_ui");
- if (0 == ui_updated && clist_d->update_queue_timer)
- {
- clist_d->need_update = true;
- }
- else
- {
- list_genlist_update(clist_d);
- clist_d->update_queue_timer = ecore_timer_add(1.0,
- list_genlist_update_queue_timer_cb, clist_d);
- p_warn_if(NULL == clist_d->update_queue_timer,
- "ecore_timer_add() return NULL");
- }
-}
-
-static void list_view_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int i;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- ct_list_clear_pdata(clist_d);
- list_clean_ecore_task(clist_d);
-
- // TODO: Fixme BS when destroy a contact ug
- if (clist_d->genlist)
- {
- evas_object_del(clist_d->genlist);
- clist_d->genlist = NULL;
- }
-
- evas_object_smart_callback_del(clist_d->win, "wm,rotation,changed",
- list_resize_contact_view);
-
- if (CT_GET_LIST_PERSON_OF_GROUP_ID == clist_d->list_op)
- {
- err = (contacts_error_e) contacts_db_remove_changed_cb(
- _contacts_contact._uri, ctui_list_lazy_update, clist_d);
- p_warn_if(CONTACTS_ERROR_NONE,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
- }
-
- // if (clist_d->gl_sel_data != clist_d) - 1. Input > Relationship, 2. Details > Link
- if (CT_GET_LIST_VCARD != clist_d->list_op
- && clist_d->gl_sel_data == clist_d)
- {
- err = (contacts_error_e) contacts_db_remove_changed_cb(
- _contacts_person._uri, ctui_list_lazy_update, clist_d);
- p_warn_if(CONTACTS_ERROR_NONE,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
-
- err = (contacts_error_e) contacts_db_remove_changed_cb(
- _contacts_address_book._uri, list_addrbook_changed, clist_d);
- p_warn_if(CONTACTS_ERROR_NONE,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
-
- }
-
- if (clist_d->list)
- {
- if (clist_d->list_grp_person)
- {
- Eina_List* l = NULL;
- void *info = NULL;
- EINA_LIST_FOREACH(clist_d->list, l, info)
- {
- ct_person_list *person_info = (ct_person_list *) info;
- if (person_info)
- {
- if (!person_info->is_in_group)
- {
- ctui_list_free_person_info(person_info);
- }
- }
- }
- }
- else
- {
- ctui_list_free_contacts(clist_d->list);
- clist_d->list = NULL;
- }
- }
- if (clist_d->list_check_info)
- {
- ctui_list_free_contacts(clist_d->list_check_info);
- clist_d->list_check_info = NULL;
- }
- if (clist_d->list_index)
- {
- ctui_list_free_index(clist_d->list_index);
- clist_d->list_index = NULL;
- }
-
- if (clist_d->update_timer)
- {
- ecore_timer_del(clist_d->update_timer);
- clist_d->update_timer = NULL;
- }
-
- if (clist_d->update_queue_timer)
- {
- ecore_timer_del(clist_d->update_queue_timer);
- clist_d->update_queue_timer = NULL;
- }
-
- if (clist_d->popup)
- {
- evas_object_del(clist_d->popup);
- clist_d->popup = NULL;
- }
-
- if (clist_d->nocontent)
- {
- evas_object_del(clist_d->nocontent);
- clist_d->nocontent = NULL;
- }
-
- if (clist_d->th)
- {
- elm_theme_extension_del(clist_d->th, CONTACTS_EDJ);
- elm_theme_free(clist_d->th);
- clist_d->th = NULL;
- }
-
- if (clist_d->child_ug)
- {
- ug_destroy(clist_d->child_ug);
- clist_d->child_ug = NULL;
- }
-
- evas_object_data_del(clist_d->navi, "gadd_list_d");
- evas_object_data_del(clist_d->navi, "favor_list_d");
-
- if (clist_d->acc_types)
- {
- int count = clist_d->acc_count;
- for (i = 0; i < count; i++)
- free(clist_d->acc_types[i].icon_path);
- free(clist_d->acc_types);
- clist_d->acc_types = NULL;
- }
-
- if (clist_d->search_str)
- {
- free(clist_d->search_str);
- clist_d->search_str = NULL;
- }
- if (clist_d->sub_title)
- {
- free(clist_d->sub_title);
- clist_d->sub_title = NULL;
- }
- if (clist_d->title)
- {
- free(clist_d->title);
- clist_d->title = NULL;
- }
-
- if (!clist_d->ug)
- {
- PH_DBG("no ug");
- free(clist_d);
- }
- else
- {
- PH_DBG("view destroy called earlier than ug destroy");
- clist_d->ug = NULL;
- }
-}
-
-char* ctui_list_get_highlight_text(ct_list_data *clist_d, const char *src)
-{
- PH_TRACE;
- char display[PH_TEXT_MAX_LEN] = { 0, };
- p_retvm_if(NULL == clist_d, NULL, "parameter(clist_d) is NULL");
-
- if (NULL == clist_d->search_str || '\0' == clist_d->search_str[0])
- {
- return elm_entry_utf8_to_markup(src);
- }
-
- int len_search = strlen(clist_d->search_str);
- char *pos = (char *) strcasestr(src, clist_d->search_str);
-
- if (0 < pos)
- {
- char first[PH_TEXT_MAX_LEN] = { 0 };
- char middle[PH_TEXT_MAX_LEN] = { 0 };
-
- snprintf(first, (int) (pos - src) + 1, "%s", src);
- snprintf(middle, len_search + 1, "%s", (char *) pos);
-
- char *first_markup = elm_entry_utf8_to_markup(first);
- char *midle_markup = elm_entry_utf8_to_markup(middle);
- char *end_murkup = elm_entry_utf8_to_markup((char *) (pos + len_search));
- snprintf(display, sizeof(display), "%s<match>%s</>%s", first_markup,
- midle_markup, end_murkup);
- free(first_markup);
- free(midle_markup);
- free(end_murkup);
- return strdup(display);
- }
- return elm_entry_utf8_to_markup(src);
-}
-
-char* ct_list_gl_label_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- ct_person_list *person_info = (ct_person_list *) data;
- p_retvm_if(NULL == person_info, NULL, "The parameter(data) is NULL");
- p_retvm_if(NULL == part, NULL, "The parameter(data) is NULL");
-
- if (0 == strcmp(part, "elm.text.2"))
- {
- if (person_info->number_display && *person_info->number_display)
- {
- ct_list_data *clist_d = (ct_list_data *) evas_object_data_get(obj,
- "clist_d");
- p_retvm_if(NULL == clist_d, strdup(person_info->number_display),
- "evas_object_data_get() return NULL");
- return ctui_list_get_highlight_text(clist_d,
- person_info->number_display);
- }
- }
- if (0 == strcmp(part, "elm.text.1") || 0 == strcmp(part, "elm.text"))
- {
- ct_list_data *clist_d = (ct_list_data *) evas_object_data_get(obj,
- "clist_d");
- p_retvm_if(NULL == clist_d, strdup(person_info->display),
- "evas_object_data_get() return NULL");
- return ctui_list_get_highlight_text(clist_d, person_info->display);
- }
- else
- return strdup(T_(CT_GET_TEXT_ERR, CTTEXT_NONAME));
-
- return NULL;
-}
-
-char* ct_list_count_gl_label_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- char buf[PH_TEXT_SHORT_LEN];
- int count = (int) data;
- if (count == 1)
- return strdup(T_(CT_GET_TEXT_BASIC,CTTEXT_1_CONTACT));
- else
- {
- snprintf(buf, sizeof(buf), T_(CT_GET_TEXT_BASIC, CTTEXT_COUNT_CONTACTS),
- count);
- return strdup(buf);
- }
-}
-
-Evas_Object* ct_list_create_contact_layout(ct_list_data *clist_d)
-{
- PH_TRACE;
- Elm_Theme *th = NULL;
- Evas_Object *base = NULL;
- Evas_Object *layout = NULL;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- if(clist_d)
- {
- th = elm_theme_new();
- elm_theme_ref_set(th, NULL);
- elm_theme_extension_add(th, LIST_THEME_EDJ);
- clist_d->th = th;
-
- base = elm_layout_add(clist_d->navi);
- p_retvm_if(NULL == base, NULL, "elm_layout_add() return NULL");
- elm_layout_file_set(base, SELECTION_INFO_EDJ, "selectioninfo_layout");
-
- layout = phone_create_base_layout(base, true);
- clist_d->content_layout = layout;
- elm_object_part_content_set(base, "contents", layout);
- list_fill_contact_view(layout, *clist_d);
-
- // if (clist_d->gl_sel_data != clist_d) - 1. Input > Relationship, 2. Details > Link
- if (CT_GET_LIST_VCARD != clist_d->list_op
- && clist_d->gl_sel_data == clist_d)
- {
- err = (contacts_error_e) contacts_db_add_changed_cb(
- _contacts_person._uri, ctui_list_lazy_update, clist_d);
-
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_add_changed_cb() Failed(%d)", err);
-
- err = (contacts_error_e) contacts_db_add_changed_cb(
- _contacts_address_book._uri, list_addrbook_changed,
- clist_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_add_changed_cb() Failed(%d)", err);
-
- if (CT_GET_LIST_PERSON_OF_GROUP_ID == clist_d->list_op)
- {
- err = (contacts_error_e) contacts_db_add_changed_cb(
- _contacts_contact._uri, ctui_list_lazy_update, clist_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_add_changed_cb() Failed(%d)", err);
- }
- }
- evas_object_event_callback_add(base, EVAS_CALLBACK_DEL,
- list_view_delete_cb, clist_d);
- }
-
- PH_DBG("##### [TSP_TEST] lauching contact application #####");
- return base;
-}
diff --git a/lib/common/include/Contact.h b/lib/common/include/Contact.h
deleted file mode 100644
index 9d95d71..0000000
--- a/lib/common/include/Contact.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __COMMON_CONTACT_H__
-#define __COMMON_CONTACT_H__
-
-#include <string>
-
-namespace Common
-{
- /*
- * @brief Common interface for contact
- */
- class Contact
- {
- public:
- virtual ~Contact() { }
-
- /*
- * @return Contact's name as it is displayed in Contact list
- */
- virtual const std::string & getName() const = 0;
-
- /*
- * @return Default phone number
- */
- virtual const std::string & getNumber() const = 0;
-
- /*
- * @return Contact image path
- */
- virtual const std::string & getImagePath() const = 0;
- };
-}
-
-#endif /* __COMMON_CONTACT_H__ */
diff --git a/lib/common/include/Front.h b/lib/common/include/Front.h
deleted file mode 100644
index 1978b37..0000000
--- a/lib/common/include/Front.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __COMMON_FRONT_H__
-#define __COMMON_FRONT_H__
-
-#include <Elementary.h>
-#include "NonCopyable.h"
-
-namespace Common
-{
- /*
- * \par Description:
- * Members for legacy front views (ph-front and ct-front).
- */
- struct Front : public Utils::NonCopyable
- {
- Evas_Object *win;
- Evas_Object *navi;
- Evas_Object *layout;
- void *ug;
- char *ug_data;
- int ug_request;
- int cnt_max;
- Ecore_Idler *idler;
- Ecore_Timer *timer;
-
- Front();
- };
-}
-
-#endif /* __COMMON_FRONT_H__ */
diff --git a/lib/common/include/View.h b/lib/common/include/View.h
deleted file mode 100644
index 38d182e..0000000
--- a/lib/common/include/View.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __COMMON_VIEW_H__
-#define __COMMON_VIEW_H__
-
-#include <string>
-
-#include "ViewData.h"
-
-namespace Common
-{
- /*
- * \par Description:
- * View is a base class for all views that can be pushed into ViewManager (see ViewManager.h).
- * Views can have several mode (normal, selection, etc...).
- * Concrete views should be designed according to the State pattern with each mode as a state.
- */
-
-
- class View : public ViewData
- {
- public:
- View();
- /*
- * @param title Title for a view to be displayed in naviframe item header.
- */
- View(const char *title);
- virtual ~View();
-
- /*
- * \par Description:
- * Creates view basic layout.
- * Any derived class that overrides this method should call
- * base method as well before performing its own initialization.
- *
- * @param parent Parent for the main view's layout
- * @return true on success, false otherwise
- */
- virtual bool initialize(Evas_Object *parent);
-
- /*
- * @return View title.
- */
- const std::string & getTitle() const;
-
- /*
- * @return Main view layout.
- */
- Evas_Object * getContent() const;
-
- /*
- * \par Description:
- * Receives the Back-button event from ViewManager and dispatches it to the current State.
- *
- * @return true if handled, false for default processing by ViewManager
- */
- bool onBack();
-
- /*
- * \par Description:
- * Receives the Menu-button event from ViewManager and dispatches it to the current State.
- */
- void onMenu();
-
- public:
- /*
- * Back and Menu strategies for the current State.
- * In the future should be replaced with a State object.
- */
- void(*back_cb)(void *);
- void(*menu_cb)(void *);
- void(*widget_back_cb)(void *);
-
- protected:
- std::string m_Title;
- Evas_Object *m_Parent;
- Evas_Object *m_Content;
- };
-}
-
-#endif /* __COMMON_VIEW_H__ */
diff --git a/lib/common/include/ViewData.h b/lib/common/include/ViewData.h
deleted file mode 100644
index 3973d30..0000000
--- a/lib/common/include/ViewData.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __COMMON_VIEW_DATA_H__
-#define __COMMON_VIEW_DATA_H__
-
-#include <Elementary.h>
-#include "NonCopyable.h"
-
-typedef struct ui_gadget_s *ui_gadget_h;
-
-namespace Common
-{
- /*
- * \par Description:
- * Members for legacy code support.
- * Any new views shouldn't use these members.
- */
- struct ViewData : public Utils::NonCopyable
- {
- Evas_Object *win;
- Evas_Object *navi;
- Evas_Object *layout;
- Evas_Object *popup;
- Evas_Object *m_Menu;
- Evas_Object *m_ContextMenu;
- Evas_Object *m_Widget;
- Elm_Object_Item *navi_item;
- Elm_Theme *th;
- ui_gadget_h ug;
- ui_gadget_h child_ug;
-
- ViewData();
- };
-}
-
-#endif /* __COMMON_VIEW_DATA_H__ */
diff --git a/lib/common/include/ViewManager.h b/lib/common/include/ViewManager.h
deleted file mode 100644
index a69b62a..0000000
--- a/lib/common/include/ViewManager.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __COMMON_VIEW_MANAGER_H__
-#define __COMMON_VIEW_MANAGER_H__
-
-#include "Front.h"
-
-namespace Common
-{
- class View;
-
- /*
- * \par Description:
- * ViewManager is a wrapper around naviframe and a manager of View objects.
- * Views should be pushed into ViewManager.
- * Views that create other Views should push them into ViewManager.
- */
- class ViewManager : public Front
- {
- public:
- ViewManager();
- virtual ~ViewManager();
-
- /*
- * @param win Parent window object
- * @param parent Parent layout for ViewManager
- */
- bool initialize(Evas_Object *win, Evas_Object *parent);
-
- /*
- * @return Base layout
- */
- Evas_Object * getContent() const;
-
- /*
- * \par Description:
- * Pushes view's layout to the internal naviframe.
- * The method uses view->getTitle and view->getContent
- * to get title and layout for a new naviframe item.
- */
- void push(View &view);
-
- /*
- * \par Description:
- * Deletes the topmost item of internal naviframe.
- */
- void pop();
-
- /*
- * \par Description:
- * Hardware keys handlers.
- * Dispatch key events to concrete Views and performs default processing if necessary.
- * TODO: move to private section once naviframe creation is moved to ViewManager class.
- */
- static void onBack(void *data, Evas_Object *obj, void *event);
- static void onMenu(void *data, Evas_Object *obj, void *event);
-
- private:
- Evas_Object *m_Layout;
-
- static void onViewDestroy(void *data, Evas *e, Evas_Object *obj, void *event_info);
- };
-
- /*
- * TabbedView is a wrapper around tab bar and tabs.
- * In the future TabbedView should be decoupled from the ViewManager and should inherit from View.
- * TabbedView should be pushed into ViewManager as a first View.
- * TabbedView itself should contain other Views as its tabs.
- */
- template <int TabCount>
- class TabbedView : public Common::ViewManager
- {
- public:
- Evas_Object *tabbar;
- Evas_Object *sub_view[TabCount];
- Elm_Object_Item *item[TabCount];
- bool view_visible[TabCount];
- int select_tab;
-
- TabbedView()
- : tabbar(0), select_tab(0)
- {
- memset(sub_view, 0, sizeof(sub_view));
- memset(item, 0, sizeof(item));
- memset(view_visible, 0, sizeof(view_visible));
- }
- };
-}
-
-#endif /* __COMMON_VIEW_MANAGER_H__ */
diff --git a/lib/common/include/ct-group-assign-popup.h b/lib/common/include/ct-group-assign-popup.h
deleted file mode 100644
index e05d670..0000000
--- a/lib/common/include/ct-group-assign-popup.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CONTACTS_ASSIGN_GROUP_POPUP_H__
-#define __CONTACTS_ASSIGN_GROUP_POPUP_H__
-
-#include <contacts.h>
-#include <Elementary.h>
-
-typedef void (*ct_assign_result_cb)(void *data);
-
-/**
- * @brief Create assign group popup for contact
- * @param[in] win Applicaton window
- * @param[in] navi Main naviframe
- * @param[out] contact _contacts_contact record to assign groups
- * @param[in] assign_cb Called when groups are assigned
- * @param[in] assign_cb_data Data to pass to assign_cb
- * @return popup on success, otherwise NULL
- */
-Evas_Object * ct_group_assign_popup_create(Evas_Object *win, Evas_Object *navi,
- contacts_record_h contact, ct_assign_result_cb assign_cb, void *assign_cb_data);
-
-#endif /* CT_ASSIGN_GROUP_POPUP_H_ */
diff --git a/lib/common/include/ct-group.h b/lib/common/include/ct-group.h
deleted file mode 100755
index a43aa3d..0000000
--- a/lib/common/include/ct-group.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CT_GROUP_H__
-#define __CT_GROUP_H__
-
-Evas_Object* phone_create_group_view(ph_view_info *view_info);
-Evas_Object* phone_create_group_view_ug(ui_gadget_h ug, Evas_Object *parent,
- int ug_request);
-void phone_group_set_navi(Evas_Object *layout);
-void phone_group_view_reset(Evas_Object *base);
-void phone_group_view_language_changed(Evas_Object *navi);
-void phone_group_set_background(Evas_Object *obj, bool is_background);
-void phone_group_email_result_cb(void *data, int *list, int cnt);
-void phone_group_message_result_cb(void *data, int *list, int cnt);
-
-#endif /* __CT_GROUP_H__ */
diff --git a/lib/common/include/ct-list-view-common.h b/lib/common/include/ct-list-view-common.h
deleted file mode 100644
index 9bde245..0000000
--- a/lib/common/include/ct-list-view-common.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-* Copyright 2012-2013 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-/**
-* @file ct-list-view-common.h
-* @author Sergei Kobec (s.kobec@samsung.com)
-* @date Created Mar 27, 2014 14:10
-*/
-
-#ifndef __CT_LIS_VIEW_COMMON_H__
-#define __CT_LIS_VIEW_COMMON_H__
-
-/**
- * @brief Starts process of sending contact as text
- * @param[in] contact_id ID of contact
- * @param[in] person_id ID of person
- * @param[in] navi Naviframe
- * @param[in] ug Current user gadget
- * @param[out] p_child_ug Child user gadget (in this case for message composer)
- */
-void ct_process_send_contact_as_text(int contact_id, int person_id, Evas_Object* navi, ui_gadget_h ug, ui_gadget_h* p_child_ug);
-
-#endif//__CT_LIS_VIEW_COMMON_H__
diff --git a/lib/common/include/phone-common.h b/lib/common/include/phone-common.h
deleted file mode 100755
index 3fbb06d..0000000
--- a/lib/common/include/phone-common.h
+++ /dev/null
@@ -1,1181 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_COMMON_H__
-#define __PHONE_COMMON_H__
-
-#include <time.h>
-#include <libintl.h>
-#include <ui-gadget.h>
-#include <contacts.h>
-#include <unicode/udat.h>
-#include <bundle.h>
-#include "phone-ug.h"
-#include "phone-path.h"
-#include "phone-text.h"
-#include "contacts-ug.h"
-#include "View.h"
-
-extern "C" int appcore_set_open_cb(int (*cb) (void *), void *data);
-
-#if !defined(LOCALEDIR)
-# define LOCALEDIR "/usr/ug/res/locale"
-#endif
-
-#ifndef STRLEN
-#define STRLEN(str) (((str) == NULL) ? 0: strlen(str))
-#endif
-
-#define PH_TEXT_MAX_LEN 1024
-#define PH_TEXT_SHORT_LEN 256
-#define CT_EDITFIELD_MAX_CHAR 1000
-#define PH_BLOCK_MSG_MAX_LEN 40
-
-#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
-#define CONTACTS_LIST_FOREACH(list, record) \
- for(bool success = (contacts_list_get_current_record_p(list, &record) == CONTACTS_ERROR_NONE); \
- success; \
- success = ( \
- (contacts_list_next(list) == CONTACTS_ERROR_NONE) \
- && (contacts_list_get_current_record_p(list, &record) == CONTACTS_ERROR_NONE) \
- ) \
- )
-
-#define MSG_COMPOSER_UG "msg-composer-efl"
-#define MYFILES_UG "myfile-efl"
-#define VIBRATION_UG "setting-profile-efl"
-#define ACCOUNT_UG "setting-myaccount-efl"
-#define IMG_VIEWER_UG "image-viewer-efl"
-#define GALLERY_UG "gallery-efl"
-#define BLUETOOTH_UG "setting-bluetooth-efl"
-#define WIFI_DIRECT_UG "fileshare-efl"
-#define CALL_SETTINGS_UG "setting-call-efl"
-#define CONTACTS_SETTINGS_UG "contacts-settings-efl"
-
-#define EMAIL_COMPOSER_PKG "email-composer-efl"
-#define VOICECALL_PKG "org.tizen.call"
-#define VIDEOCALL_PKG "org.tizen.vtmain"
-#define DIALER_PKG "org.tizen.phone"
-#define CONTACTS_VIEWER_PKG "org.tizen.contacts-viewer"
-#define BROWSER_UI_PKG "org.tizen.browser"
-
-#define SETTING_MFC_PATH "/opt/usr/ug/data/ug-phone/mfc_option"
-#define VIEW_MODE_PATH "/opt/usr/ug/data/ug-phone/view_mode"
-
-#define CT_OPERATION_SOCIAL_ADD "http://tizen.org/appcontrol/operation/social/add"
-#define CT_OPERATION_SOCIAL_EDIT "http://tizen.org/appcontrol/operation/social/edit"
-#define CT_OPERATION_SOCIAL_CHOOSE "http://tizen.org/appcontrol/operation/social/choose"
-#define CT_OPERATION_SOCIAL_PICK "http://tizen.org/appcontrol/operation/social/pick"
-#define CT_OPERATION_SOCIAL_VIEW "http://tizen.org/appcontrol/operation/social/view"
-#define CT_OPERATION_VIEW "http://tizen.org/appcontrol/operation/view"
-
-#define CT_OPERATION_ITEM_TYPE "http://tizen.org/appcontrol/data/social/item_type"
-#define CT_OPERATION_PHONE "http://tizen.org/appcontrol/data/social/phone"
-#define CT_OPERATION_EMAIL "http://tizen.org/appcontrol/data/social/email"
-#define CT_OPERATION_URL "http://tizen.org/appcontrol/data/social/url"
-#define CT_OPERATION_ITEM_ID "http://tizen.org/appcontrol/data/social/item_id"
-#define CT_OPERATION_RESULT_TYPE "http://tizen.org/appcontrol/data/social/result_type"
-#define CT_OPERATION_PATH "http://tizen.org/appcontrol/data/path"
-#define CT_OPERATION_RETURN_RESULT "http://tizen.org/appcontrol/data/social/return_result"
-#define CT_OPERATION_SELECTION_MODE "http://tizen.org/appcontrol/data/selection_mode"
-
-#define CT_OPERATION_ITEM_TYPE_PERSON "person"
-#define CT_OPERATION_ITEM_TYPE_CONTACT "contact"
-#define CT_OPERATION_SELECTION_MODE_SINGLE "single"
-#define CT_OPERATION_SELECTION_MODE_MULTIPLE "multiple"
-#define CT_OPERATION_RESULT_TYPE_PHONE "phone"
-#define CT_OPERATION_RESULT_TYPE_EMAIL "email"
-#define CT_OPERATION_RESULT_TYPE_ITEM_ID "item_id"
-#define CT_OPERATION_RESULT_TYPE_VCARD "vcard"
-
-#define CT_GROUP_INDEX_TODAY -1
-#define CT_GROUP_INDEX_YESTERDAY -2
-
-#define TITLE_TEXT "title,text"
-#define BUTTON1 "button1"
-#define BUTTON2 "button2"
-#define CLICKED "clicked"
-
-const int incorrectId(-1);
-const int notRelatedToContactId(0);
-
-typedef enum date_style
-{
- PH_LOG_TIME_ONLY,
- PH_LOG_DATE_ONLY,
-} date_style;
-
-typedef enum
-{
- LOG_TYPE_CALL = 0,
- LOG_TYPE_VIDEO_CALL,
- LOG_TYPE_SMS_MESSAGE,
- LOG_TYPE_MMS_MESSAGE,
- LOG_TYPE_MAX
-} Log_Type;
-
-typedef enum
-{
- LOG_ACTION_DIALLED = 0,
- LOG_ACTION_MISSED,
- LOG_ACTION_RECEIVED,
- LOG_ACTION_REJECTED,
- LOG_ACTION_BLOCKED,
- LOG_ACTION_MAX
-} Log_Action;
-
-enum
-{
- CTTEXT_TYPE_CUSTOM,
- CTTEXT_TYPE_MOBILE,
- CTTEXT_TYPE_HOME,
- CTTEXT_TYPE_WORK,
- CTTEXT_TYPE_FAX_HOME,
- CTTEXT_TYPE_FAX_WORK,
- CTTEXT_TYPE_ASSISTANT,
- CTTEXT_TYPE_PAGER,
- CTTEXT_TYPE_OTHER,
- CTTEXT_TYPE_TELEPHONE,
- CTTEXT_TYPE_FAX,
- CTTEXT_TYPE_CAR,
- CTTEXT_TYPE_HOME2,
- CTTEXT_TYPE_WORK2,
- CTTEXT_TYPE_COMPANY_MAIN,
- CTTEXT_TYPE_RADIO,
-};
-//CT_GET_TEXT_NUM_TYPE
-
-enum
-{
- CT_VIEW_DETAIL,
- CT_VIEW_INPUT,
- CT_VIEW_ETC,
-};
-
-enum
-{
- CT_LIST_NORMAL = 0x00,
- CT_LIST_NORMAL_CONTACT = 0x01,
- CT_LIST_NORMAL_FAVORITE = 0x02,
- CT_LIST_NORMAL_MEMBER = 0x03,
- CT_LIST_NORMAL_SDN = 0x04,
-
- CT_LIST_SINGLE = 0x30,
- CT_LIST_SINGLE_LINK = 0x31,
- CT_LIST_SINGLE_RELATION = 0x32,
-
- CT_LIST_SINGLE_UG = 0x50,
-
- CT_LIST_MULTI = 0x70,
- CT_LIST_MULTI_DELETE = 0x71,
- CT_LIST_MULTI_ADD_MEMBER = 0x72,
- CT_LIST_MULTI_REMOVE_MEMBER = 0x73,
- CT_LIST_MULTI_ADD_FAVORITE = 0x74,
- CT_LIST_MULTI_REMOVE_FAVORITE = 0x75,
- CT_LIST_MULTI_EXPORT_TO_SIM = 0x76,
- CT_LIST_MULTI_EXPORT_TO_VCARD = 0x77,
- CT_LIST_MULTI_IMPORT_FROM_SIM = 0x78,
- CT_LIST_MULTI_IMPORT_FROM_VCARD = 0x79,
- CT_LIST_MULTI_RECIPIENT_MESSAGE_INGROUP = 0x7A,
- CT_LIST_MULTI_RECIPIENT_EMAIL_INGROUP = 0x7B,
- CT_LIST_MULTI_SHARE_MESSAGE = 0x7C,
- CT_LIST_MULTI_SHARE_EMAIL = 0x7D,
- CT_LIST_MULTI_SHARE_BT = 0x7E,
- CT_LIST_MULTI_REORDER_FAVORITE = 0x7F,
-
- CT_LIST_MULTI_UG = 0xA0,
-};
-
-enum
-{
- CTUG_MSG_INVALID = 0,
- CTUG_MSG_KEY_END = 1,
-};
-
-struct opq_msg_svc_s;
-typedef struct opq_msg_svc_s* msg_handle_t;
-
-typedef void* PTHREAD_FN;
-
-/**
- * A callback that used by filling list-control specified inside of passed data-param.
- * @param data that contains a reference to list-control to be filled
- * @param list a list of contact-id in contacts-db
- * @param cnt is a size of list.
- */
-typedef void (*ct_select_result_cb)(void *data, int *list, int cnt);
-
-typedef void (*ct_contact_add_cb)(Evas_Object *win, Evas_Object *navi, int cnt);
-typedef void (*ct_change_name_cb)(void *data, char *str);
-typedef void (*selectall_changed_cb)(void *data, Eina_Bool checked);
-typedef void (*ct_list_navi_item_update_fn)(void *data);
-typedef void (*ct_group_rename_update_cb)(void *data, bool changed);
-typedef void (*ct_person_changed_cb)(void *data);
-typedef void (*ct_group_input_result_cb)(int grp_id, void *data, bool changed);
-
-typedef struct
-{
- Evas_Object *win;
- Evas_Object *navi;
- ui_gadget_h ug;
- int ug_request;
- int ug_cnt_max;
- char *ug_data; // update contact info
-} ph_view_info;
-
-typedef struct
-{
- int cnt;
- int cnt_checked_total;
- int result;
- bool alive;
- bool completed;
- bool without_cancel_btn;
- pthread_t thread;
- Ecore_Timer *timer;
- Evas_Object *layout;
- Evas_Object *progressbar;
- Evas_Object *popup;
-
- int *update_ids;
- contacts_list_h update_list;
- bool next_job;
-} ph_progress_info;
-
-typedef struct
-{
- char *plog_display;
- char *plog_img_path;
- char *plog_number;
-
- int id;
- int plog_ct_id;
- int plog_num_type;
- int plog_log_time;
- int plog_log_type;
- int plog_duration;
-
- int grouped_count;
- Eina_Bool checked; //for check genlist
- int group_index; //it's used as group index value.
- int group_base_id;
- Elm_Object_Item *item;
-
-} ph_log_info;
-
-typedef struct
-{
- int id;
- char *img_path;
- char *display;
- char *number;
- char* numtype_label;
- int number_type;
- char *normal_name;
-} ph_contact_d;
-
-typedef struct
-{
- int person_id;
- int id_ret;
- int id_ret_type;
- char *display;
- char *img_path;
- char *number;
- bool img_loaded;
- bool number_loaded;
- Eina_List *contact_list;
- Eina_List *number_list;
- Eina_List *email_list;
-
- Eina_Bool checked;
- Elm_Object_Item *item;
-} ph_favor_info;
-
-typedef struct
-{
- char *display;
- char *img_path;
- char *ph_number;
- char *numtype_label;
- int number_type;
- int contact_id;
- int dial_number;
- Eina_Bool is_checked;
-} ph_speeddial_info;
-
-struct ug_priv_data
-{
- void (*result_cb)(void*, void*);
- void (*destroy_cb)(void*);
- void *cb_param;
-};
-
-typedef struct
-{
- int position;
- int skipped_count;
- char index[10];
- char prev_index[4];
- Elm_Object_Item *item;
-} ct_list_index_data;
-
-typedef struct
-{
- void *user_data;
- Evas_Smart_Cb cb;
- char *icon_path;
-} ctr_btn_info;
-
-typedef struct
-{
- Evas_Object *win;
- Evas_Object *entry;
- Elm_Object_Item *navi_it;
- Elm_Object_Item *btn_op;
- char *name_old;
- void *info;
- ct_group_rename_update_cb result_cb;
- void *fn_data;
-} ct_group_edit_data;
-
-typedef struct
-{
- int id;
- char *icon_path;
- char *addressbook_name;
- int account_id;
-} ct_ab_map;
-
-typedef struct
-{
- void *person;
- contacts_record_h contact;
- Elm_Object_Item *item;
- bool img_loaded;
- bool number_loaded;
- Eina_Bool checked;
- char *img_path;
- char *number;
- char *number_display;
- char *display;
- char *status_str;
- char *display_index;
- int id;
- int id_ret;
- int id_ret_type;
- int link_count;
- bool is_in_group;
- bool is_favourite;
- bool phone_number_found;
- int mode_ab;
- Eina_List *addressbook_id_list;
-
- Eina_List *number_list;
- Eina_List *email_list;
-} ct_person_list;
-
-typedef struct : public Common::View
-{
- Evas_Object *box;
- Evas_Object *base_layout;
- Evas_Object *content_layout;
- Evas_Object *search_layout;
- Evas_Object *nocontent;
- Evas_Object *searchbar;
- Evas_Object *genlist;
- Evas_Object *fast_index;
- Evas_Object *select_all_layout;
- Elm_Object_Item *count_item;
- Elm_Object_Item *last_sweep_item;
- Elm_Object_Item *search_group_item;
- Evas_Object *ctrl_button;
-
- Elm_Genlist_Item_Class itcs[5];
- void (*gl_sel)(void *data, Evas_Object *obj, void *event_info);
- void *gl_sel_data;
- void (*edit_sel_update)(void *data);
-
- char group_index[4];
- Elm_Object_Item *group_item;
-
- char *ug_data;
- service_h service_operation;
-
- bool updating;
- bool is_background;
- bool need_update;
- int list_mode; //will be removed.
- int view_id;
- int tab_mode;
- int ug_request;
- int list_op;
- int base_ab;
- int base_ab_mode;
- int base_grp;
- int readed_n;
- int selected_person_id;
- int cnt_list_total;
- int cnt_checked;
- int cnt_max_check;
- int cnt_import_total;
- int cnt_import;
- char *title;
- char *sub_title;
- char *search_str;
- contacts_name_display_order_e order_display;
- int acc_count;
- ct_ab_map *acc_types;
-
- ct_list_navi_item_update_fn list_navi_item_update_fn;
-
- contacts_list_h import_list;
- contacts_list_h update_add_list;
- contacts_list_h update_delete_list;
- Eina_List *list;
- Eina_List *list_index;
- Eina_List *list_check_info;
- Eina_List **list_grp_person;
- Eina_List *list_delete_records;
- Eina_List *list_import_records;
-
- Ecore_Idler *list_idler;
- Ecore_Timer *update_timer;
- Ecore_Timer *update_queue_timer;
-
- int idx_vcard;
- const char *vcard_path;
-
- ph_progress_info *p_info;
- ct_select_result_cb select_result_cb;
- ct_contact_add_cb contact_add_cb;
- void *select_result_cb_data;
-
- int current_rotate;
- int radioGroupValue;
- int personId;
-} ct_list_data;
-
-typedef struct : public Common::View
-{
- Elm_Object_Item *titem;
- Elm_Object_Item *prev_navi_item;
- Evas_Object *ctrl_button;
- Evas_Object *layout_link;
- Elm_Object_Item *base_info_item;
- Elm_Object_Item *base_item;
- Elm_Object_Item *util_item;
- Elm_Object_Item *number_util_item;
-
- Evas_Object *genlist;
- Evas_Object *genlist_link;
- Ecore_Idler *idler;
-
- Elm_Object_Item *link_item;
- Elm_Object_Item *group_item;
- Elm_Object_Item *ringtone_item;
- Elm_Object_Item *vibration_item;
-
- int order_display;
-
- Eina_List *list_number;
- Eina_List *list_email;
- Eina_List *list_postal;
- Eina_List *list_relationship;
- Eina_List *list_event;
- Eina_List *list_messenger;
- Eina_List *list_website;
- Eina_List *list_nickname;
- Eina_List *list_note;
-
- bool updated;
- bool updating;
- bool is_shortcut;
- bool has_detail;
- bool has_input;
- bool ug_detail;
- bool has_number;
- int touch_x;
- int touch_y;
- int base_grp;
- int base_ab;
- int base_ab_mode;
- int view_mode;
- char *base_ab_name;
- char* vcard_path;
- int ug_request;
- int view_create_version;
- service_h service_operation;
-
- int person_id;
- contacts_record_h person;
- contacts_record_h contact;
- Eina_List *list_contacts;
- Eina_List *list_activity;
- Eina_List *list_unlink;
-
- void *prev_view_data;
- UDateFormat* formatter;
- Evas_Object *genlist_unlink;
- ph_progress_info *p_info;
- bool only_input;
- bool view_destroying;
-
- bool touch_block;
-
-} ct_detail_data;
-
-typedef struct : public Common::View
-{
- Evas_Object *noc;
- Evas_Object *scroller;
- Evas_Object *history_genlist;
- Evas_Object *ctrl_button;
- Evas_Object* select_all_layout;
- Elm_Object_Item *select_all_item;
- Eina_List *list;
- Ecore_Idler *idler;
- int person_id;
- int list_count;
- int pre_date_type;
- UDateFormat* hformatter[5];
- UDateFormat* formatter;
- int cnt_checked;
- int view_mode;
- bool updated;
- bool updating;
- ph_progress_info *p_info;
-} ct_history_data;
-
-typedef struct
-{
- Elm_Theme *th;
- Evas_Object *win;
- Evas_Object *navi;
- Evas_Object *layout;
- Evas_Object *activity_genlist;
- Evas_Object *ctrl_button;
- Elm_Object_Item *navi_item;
- Eina_List *list;
- int person_id;
- int pre_date_type;
- UDateFormat* hformatter[5];
- UDateFormat* formatter;
- ct_ab_map *acc_types;
- int acc_cnt;
-} ct_activity_data;
-
-typedef struct : public Common::View
-{
- Evas_Object *box;
- Evas_Object *scroller;
- Evas_Object *save_button;
- Elm_Object_Item *pre_item;
- Ecore_Event_Handler* win_prop_change;
-
- bool add_job_title;
- bool add_department;
- bool add_organization;
-
- Evas_Object *ly_image;
- Evas_Object *ly_basic_info;
- Evas_Object *ly_basic_info_middle_name;
- Evas_Object *ly_basic_info_last_name;
- Evas_Object *ly_basic_info_suffix;
- Evas_Object *ly_basic_info_nickname;
- Evas_Object *ly_basic_info_job_title;
- Evas_Object *ly_basic_info_department;
- Evas_Object *ly_basic_info_company;
- Evas_Object *ly_number_first;
- Evas_Object *ly_number_last;
- Evas_Object *ly_number_default;
- Evas_Object *ly_number_set_default_separator_before;
- Evas_Object *ly_number_set_default;
- Evas_Object *ly_number_set_default_separator_after;
- Evas_Object *ly_number_base;
- Evas_Object *ly_email_first;
- Evas_Object *ly_email_last;
- Evas_Object *ly_email_default;
- Evas_Object *ly_email_set_default;
- Evas_Object *ly_email_base;
- Evas_Object *ly_addr_first;
- Evas_Object *ly_addr_last;
-
- Evas_Object *ly_seperator_more;
- Evas_Object *ly_seperator_basic_info;
- Evas_Object *ly_messenger_first;
- Evas_Object *ly_messenger_last;
- Evas_Object *ly_url_first;
- Evas_Object *ly_url_last;
- Evas_Object *ly_relationship_first;
- Evas_Object *ly_relationship_last;
- Evas_Object *ly_event_first;
- Evas_Object *ly_event_last;
- Evas_Object *ly_note;
-
- Evas_Object *ly_group;
- Evas_Object *ly_ringtone;
- Evas_Object *ly_vibration;
- Evas_Object *ly_address_book;
- Evas_Object *ly_moreinfo;
-
- bool saved;
- Eina_Bool save_disable;
- int view_create_ver;
- int cnt_addr;
- int cnt_num;
- int idx_append;
-
- int base_ab;
- int base_ab_mode;
- char *name_old;
- char *base_ab_name;
-
- int contact_id;
- contacts_record_h contact;
- ct_detail_data *cdetail_d;
-
- bool camera_service_launched;
- ui_gadget_h crop_ug;
- bool keypad_on;
-} ct_input_data;
-
-typedef struct
-{
- Evas_Object *ly_content;
- contacts_record_h record;
- Evas_Object *data;
- const char *view_uri;
-} ct_input_typed_data;
-
-typedef enum
-{
- CT_AB_POPUP_TYPE_INPUT_VIEW,
- CT_AB_POPUP_TYPE_GINPUT_VIEW,
- CT_AB_POPUP_TYPE_LIST_VIEW,
-} ct_addrbook_popup_type;
-
-typedef struct
-{
- int id;
- int mode;
- char *name;
- bool all_contacts_item;
- Elm_Object_Item *item;
-} ct_ab_popup_data;
-
-typedef struct
-{
- Evas_Object* parent;
- Evas_Object* popup;
- Evas_Object* button1;
- Evas_Object* button2;
- char* popup_label;
- char* button1_label;
- char* button2_label;
- Evas_Smart_Cb button1_cb;
- Evas_Smart_Cb button2_cb;
- void* button1_data;
- void* button2_data;
-} ct_confirm_popup_data;
-
-typedef struct
-{
- int contact_id;
- contacts_record_h contact_record;
- char** field_names;
- char** strings_of_data;
- bool* checked_items;
-
- ct_confirm_popup_data* p_popup_data;
- Evas_Object* box;
- Evas_Object* select_all_layout;
- Evas_Object* genlist;
- Elm_Genlist_Item_Class* genlist_item_class;
-
- UDateFormat* formatter;
- size_t fields_count;
-
- ui_gadget_h ug;
- ui_gadget_h child_ug;
-} ct_send_as_text_data;
-
-typedef struct
-{
- size_t current_index;
- ct_send_as_text_data* p_contact_text_data;
-} ct_send_as_text_with_additional_info;
-
-typedef struct
-{
- ct_confirm_popup_data* p_popup_data;
- msg_handle_t msg_handle;
-
- int contact_id;
-
- Evas_Object* genlist;
-
- //Previous values
- bool is_blocked_calls;
- bool is_blocked_messages;
- //Values related to check boxes
- bool block_calls;
- bool block_messages;
-} ct_contact_block_data;
-
-typedef struct
-{
- const char* item_caption;
- bool* is_checked;
-} ct_contact_block_item_data;
-
-/**
- * Typedef for function that add/delete number to/from spam list for messages
- */
-typedef bool (*number_handler_for_spam_messages)(msg_handle_t msg_handle, const char* number);
-
-/**
- * Typedef for functions that gets string from any child record of _contacts_contact
- */
-typedef char* p_get_str_from_child_record(ct_send_as_text_data* p_text_as_data, unsigned int child_table_id,
- int record_index, unsigned int str_field_id);
-
-/**
- * Typedef for functions that fill numbers, mails... etc. of contact
- */
-typedef bool ct_fill_function(ct_send_as_text_data* p_text_as_data,
- size_t* current_name_index, size_t* current_data_index);
-
-void phone_free_contacts(Eina_List *list);
-Eina_List * phone_load_speeddial_data(int *ref_count);
-void phone_free_speeddial_data(Eina_List *list);
-char *phone_get_voice_mail_number(void);
-int speed_set_speeddial(int spdial_num, int number_id);
-
-ui_gadget_h phone_launch_msg_composer_ug(ui_gadget_h parent_ug, char *data, int msg_id,
- void (*destroy_cb)(void*), void *cb_param);
-ui_gadget_h phone_launch_contact_list_ug(ui_gadget_h parent_ug, int request,
- void (*result_cb)(void*, void*), void (*destroy_cb)(void*),
- void *cb_param);
-ui_gadget_h phone_launch_contact_detail_ug(ui_gadget_h parent_ug, int contact_index,
- void (*destroy_cb)(void*), void *cb_param);
-ui_gadget_h phone_launch_contact_add_list_edit_ug(ui_gadget_h parent_ug, char *data,
- void (*destroy_cb)(void*), void *cb_param);
-
-/**
- * @brief launch contact edit UI gadget
- * @param[in] parent_ug parent's UI gadget.
- * @param[in] data person id.
- * @param[in] destroy_cb callback for destroying UI gadget.
- * @param[in] cb_param data for destroy_cb.
- * @return The pointer of UI gadget
- */
-ui_gadget_h phone_launch_contact_edit_ug(ui_gadget_h parent_ug, int data,
- void (*destroy_cb)(void *), void *cb_param);
-
-/**
- * @brief launch bluetooth UI gadget
- * @param[in] parent_ug parent's UI gadget.
- * @param[in] attach path of the file which will be attached.
- * @param[in] destroy_cb callback for destroying UI gadget.
- * @param[in] cb_param data for destroy_cb.
- * @return The pointer of UI gadget
- */
-ui_gadget_h phone_launch_bluetooth_ug(ui_gadget_h parent_ug, const char *attach,
- void (*destroy_cb)(void *), void *cb_param);
-
-ui_gadget_h phone_image_crop_ug(ui_gadget_h parent, const char *photo,
- struct ug_cbs *cbs);
-ui_gadget_h ctui_msg_ug(ui_gadget_h parent, const char *number,
- const char *attach, void (*destroy_cb)(void*), void *cb_param);
-ui_gadget_h ctui_predefined_body_msg_ug(ui_gadget_h parent, const char *number, const int idx,
- const char *attach, void (*destroy_cb)(void*), void *cb_param);
-ui_gadget_h ctui_account_ug(ui_gadget_h data, Evas_Object *obj, void *event_info,
- void (*destroy_cb)(void*), void *cb_param);
-ui_gadget_h phone_launch_settings_ug(ui_gadget_h parent_ug, const char* ug_name,
- void (*destroy_cb)(void*), void *cb_param);
-
-void ug_common_destroy_cb(ui_gadget_h ug, void *priv);
-void ug_common_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv);
-void ctui_destroy_child_ug(void *data);
-
-void phone_launch_voice_call(const int id, const char* number);
-
-Evas_Object *phone_create_base_layout(Evas_Object *parent, bool is_fullview);
-Evas_Object *phone_show_popup(Evas_Object *parent, const char *desc,
- double timeout);
-Evas_Object *phone_create_confirm_popup(Evas_Object **popup, Evas_Object *win,
- const char* description,
- void (*btn_clicked_cb)(void *, Evas_Object *, void *), void *cb_data);
-Evas_Object *phone_create_list_sweep_btn(Evas_Object *parent, const char *fullpath);
-Evas_Object *phone_create_bg(Evas_Object *parent);
-Evas_Object *phone_create_icon_with_img(Evas_Object *parent, const char *full_path);
-Evas_Object *phone_create_navi_btn(Evas_Object *parent, const char *style);
-
-/**
- * Set visibility of add_button && searchbar.
- * * @param[in] clist_d Value to get searchbar && add_button.
- * @param[in] visible state of visibility.
- * */
-void phone_set_searchbar_add_button_visible(ct_list_data &clist_d, bool visible);
-
-Evas_Object *phone_progressbar_popup(Evas_Object *parent,
- ph_progress_info *p_info, const char *title);
-Evas_Object *phone_get_notify(Evas_Object *parent);
-void phone_show_notify(Evas_Object *parent, const char *msg);
-void phone_hide_notify(Evas_Object *parent);
-void phone_show_tickernoti(const char *);
-void phone_navi_item_reset(Elm_Object_Item *item, void *data);
-void phone_set_view_info(ph_view_info *view_info, Evas_Object *win,
- Evas_Object *navi, void *ug, int ug_request, int cnt_max,
- char *ug_data);
-
-void phone_service_reply_simple(service_h service, service_result_e result);
-void phone_list_ug_return_ids(ui_gadget_h ug, int *result_list, int cnt,
- const char *bd_key);
-void phone_list_ug_return_values(service_h service, int *result_list, int cnt,
- const char *result_type);
-void phone_list_ug_return_number_email_ids(ui_gadget_h ug,
- int *result_number_list, int number_list_count, int *result_email_list,
- int email_list_count);
-void phone_ug_return_id(ui_gadget_h ug, int ct_id, int num_id, int email_id);
-void phone_ug_return_value(service_h service, int ct_id, int num_id,
- int email_id, int result_id);
-void phone_ug_return_vcard(ui_gadget_h ug, int ct_id, char *vcard);
-void phone_ug_operation_return_vcard(service_h service, int ct_id, char *vcard);
-Evas_Object* phone_create_nocontents(Evas_Object *parent, const char* label);
-void phone_toolbar_disabled_item_append(Evas_Object *toolbar, int cnt);
-
-char* ctui_get_addressbook_icon_path(int addressbook_id);
-const char* ctui_get_default_contact_img(int view_type);
-void ctui_get_number_type_str(contacts_record_h record, int CTS_NUMBER_type,
- char *dest, int dest_len);
-void ctui_ld_to_dd(ct_list_data *clist_d, ct_detail_data *cdetail_d);
-
-Evas_Object* ctui_addrbook_popup(Evas_Object *parent, Evas_Smart_Cb item_sel_cb,
- void *sel_cb_data, ct_addrbook_popup_type ab_type);
-void ctui_entry_limit_size_set(Evas_Object *entry);
-Evas_Object* ctui_create_btn(Evas_Object *parent, const char *label);
-void ctui_genlist_append_separator_10px(Evas_Object *genlist);
-void ctui_genlist_append_separator_20px(Evas_Object *genlist);
-void ctui_navi_btn_disabled_set(Evas_Object *navi, Eina_Bool disabled);
-char* ctui_entry_markup_to_utf8(const char *s);
-char* ctui_entry_markup_to_utf8_without_spaces(const char *s);
-void ctui_entry_entry_set(Evas_Object *entry, const char *s);
-Evas_Object* ctui_create_editfield(Evas_Object *parent, const char *title,
- const char *guide, bool multiline);
-void ctui_genlist_append_separator_20px_with_line(Evas_Object *genlist);
-void ctui_genlist_append_separator_8px_with_line(Evas_Object *genlist);
-void ctui_list_ug_hide_cb(void *data, Evas_Object *obj, void *event_info);
-Evas_Object* phone_create_select_all(Evas_Object *box,
- const char *selectall_text, selectall_changed_cb cb, void *cb_data);
-void ctui_list_free_contacts(Eina_List* list);
-void ctui_list_refresh_genlist(ct_list_data *clist_d);
-void ctui_list_handle_search(ct_list_data *clist_d);
-int phone_detail_log_is_call_ing_type(int type);
-int phone_detail_log_is_mms_type(int type);
-int phone_detail_log_is_sms_type(int type);
-int phone_detail_log_is_email_type(int type);
-char* phone_detail_log_get_icon_type(int log_type);
-char* phone_detail_log_get_duration_from_number(int number);
-void phone_detail_log_init_time_format(void);
-void phone_detail_log_generate_date_format(UDateFormat **formatter);
-char* phone_detail_log_get_icon_path_with_action(int log_type);
-char* phone_detail_log_get_date(UDateFormat ** formatter, int log_time);
-char* phone_detail_log_get_time(UDateFormat ** formatter, int log_time);
-int phone_detail_log_get_date_type(int log_time, int log_duration);
-void phone_detail_log_delete_date_format(UDateFormat **formatter);
-int phone_detail_log_get_phonenumber_type(int CTS_NUMBER_type);
-char *ph_log_util_get_formatted_date(UDateFormat **formatter, int log_time,
- date_style style);
-void ct_list_clear_pdata(ct_list_data *clist_d);
-void phone_move_ctxpopup(Evas_Object *popup, Evas_Object *item);
-void phone_resize_notify(Evas_Object *parent, int rotate);
-void ctui_get_addressbook_name(int addressbook_id, char *dest, int dest_len);
-Eina_List* ctui_person_get_writable_contact_list(int person_id);
-Eina_List* ctui_person_get_number_list(Eina_List *contact_list);
-Eina_List* ctui_person_get_email_list(Eina_List *contact_list);
-Eina_List* ctui_person_get_contact_list(int person_id);
-void ctui_free_record_list(Eina_List *contact_list);
-int ctui_get_email_type_index(int type);
-int ctui_get_mfc_option(void);
-ct_person_list *find_info_in_list_by_id(Eina_List *check_list,int person_id);
-
-int ctui_get_view_mode(void);
-void ctui_set_view_mode(int addressbook_id);
-
-contacts_error_e phone_cts_get_list(const char *view_uri, int property_id,
- int match_value, contacts_list_h *out_list);
-void phone_cts_free_list(contacts_list_h list);
-contacts_error_e phone_cts_get_int_from_list(contacts_list_h list,
- int property_id, int *out_int);
-contacts_error_e phone_cts_get_str_from_list(contacts_list_h list,
- int property_id, char **out_str);
-contacts_error_e phone_cts_get_bool_from_list(contacts_list_h list,
- int property_id, bool *out_bool);
-contacts_error_e phone_cts_get_default_number(int person_id,
- contacts_record_h *record_clone);
-contacts_error_e phone_cts_get_default_email(int person_id,
- contacts_record_h *record_clone);
-void ctui_get_account_name_by_address_book_id(int address_book_id, char *dest,
- int dest_len);
-bool ctui_list_make_vcard(int contactid, char *path, int path_length);
-void ctui_list_lazy_update(const char *view_uri, void *data);
-char* ctui_list_get_highlight_text(ct_list_data *clist_d, const char *src);
-Evas_Object *phone_create_toolbar_btn(Evas_Object *parent, const char *text,
- Evas_Smart_Cb func, void *data);
-void ctui_input_data_popup_hide_cb(void *data, Evas_Object *obj, void *event_info);
-void ctui_detail_data_popup_hide_cb(void *data, Evas_Object *obj, void *event_info);
-void create_no_content_layout(ct_list_data *clist_d,Evas_Object *parent);
-
-int ctui_list_checked_cnt_get(Eina_List *list);
-void ctui_list_update_selection_info(void *data);
-void ctui_list_set_unsweep(ct_list_data *clist_d);
-
-/**
- * Removes badge if current package(DIALER_PKG) has it.
- * @return true if badge exists, false otherwise.
- * */
-bool removeBadge();
-
-/**
- * Checks if badge exists for current package(DIALER_PKG)
- * @return true if badge exists false otherwise
- * */
-bool hasBadge();
-
-inline bool is_unknown_contact(const char *pPhoneNumber)
-{
- return (NULL == pPhoneNumber || '\0' == pPhoneNumber[0]);
-}
-
-contacts_record_h ctui_get_record_image(contacts_record_h record_contact);
-
-int ctui_get_addressbook_id_by_index(Eina_List *list, unsigned int index);
-Eina_List* ctui_get_addressbook_id_list(const char *ori_string,
- const char *sep);
-void ctui_list_edit_navi_pop(void *data, Evas_Object *obj, void *event_info);
-int ctui_get_addressbook_id(char* addressbook_name);
-
-void ctui_create_contacts_error_popup(Evas_Object *parent, int err);
-
-void create_emergency_contacts_group();
-
-bool has_emergency_contacts();
-
-void ctui_list_searchbar_cancel_cb(void *data, Evas_Object *obj,
- void *event_info);
-
-/**
- * Create searchbar.
- * * @param[in] parent Layout to create searchbar.
- * @param[in] clist_d Value to keep searchbar.
- * */
-void ctui_list_create_searchbar(Evas_Object* parent,
- ct_list_data *clist_d);
-
-/**
- * @brief Convert string to bool
- * @param[in] strVal Value to be converted
- * @return Bool value
- */
-bool ct_list_str_to_bool(const std::string& strVal);
-
-/**
- * @brief Convert bool to string
- * @param[in] bVal Value to be converted
- * @return String value
- */
-std::string ct_list_bool_to_str(bool bVal);
-
-/**
- * @brief Insert a record in _contacts_extension table
- * @param[in] extensionRec Record associated to table
- * @param[in] extensionField Field to set the @a strValue
- * @param[in] contactId Id of contact with that need to be associated
- * @param[in] strValue String value that assigned
- * @return True if success, otherwise false
- */
-bool ct_list_insert_extension(contacts_record_h extensionRec, unsigned int extensionField, int contactId,
- const std::string& strValue);
-
-/**
- * @brief Updates a record in _contacts_extension table
- * @param[in] contactRec Record associated to _contacts_contact table
- * @param[in] extensionRec Record associated to _contacts_extension table
- * @return true if success, otherwise false
- */
-bool ct_list_toggle_blocked(contacts_record_h contactRec, contacts_record_h extensionRec);
-
-/**
- * @brief Convert string to uppercase
- * @param[in] str Incoming string
- * @return Uppercased string
- */
-std::string ct_make_uppercase_string(const std::string& str);
-
-/**
- * @brief Gets extension id related to @a contactId
- * @param contactId Id of contact
- * @return ID of extension related to @a contactId if exist, otherwise -1
- */
-int phone_get_extension_id(int contactId);
-
-/**
- * @brief Provides information if contact blocked or not base on id
- * @param[in] contact_id Id of contact
- * @return true if contact is blocked, otherwise false
- */
-bool phone_is_blocked_contact_for_calls(int contact_id);
-
-/**
- * @brief Gets list of records
- * @remarks If function returns true @a list must be destroyed with contacts_list_destroy() by you.
- * @tparam FilterFieldType Type of field for filter
- * @param[in] tableUri Uri to table to which the request is made
- * @param[in] filterField Field by the value which the search is conducted
- * @param[in] filterVal Value of filtered field
- * @param[out] list List of records that satisfy the query
- * @return true if success, otherwise false.
- */
-template < typename FilterFieldType>
-bool get_records_list(const std::string& tableUri, unsigned int filterField,
- FilterFieldType filterVal, contacts_list_h* list);
-
-/**
- * @brief This function makes blocked/unblocked contact
- * @param[in] contactId ID of contact
- * @return true if success, otherwise false
- */
-bool phone_toggle_blocked_contact_for_calls(int contactId);
-
-/**
- * @brief This function copy @a number to dialing screen
- * @param[in] number Tel. number
- * @return true if success, otherwise false
- */
-bool phone_copy_to_dialing_screen(const std::string& number);
-
-/**
- * @brief Gets date and time as string
- * @remark return value must be destroyed with free by you
- * @param[in] formatter Formatter of date and time
- * @param[in] year Year
- * @param[in] month Month
- * @param[in] day Day
- * @return date and time as string
- */
-char* phone_get_datetime_str(UDateFormat* formatter, int year, int month, int day);
-
-/**
- * @brief Initiatialise date and time formatter
- * @return formatter
- */
-UDateFormat* phone_init_time_formatter(void);
-
-/**
- * @brief Gets index of address types for localisation strings
- * @param[in] type Index of type
- * @return Index for localisation
- */
-int phone_get_address_type_index(int type);
-
-/**
- * @brief Gets index of website types for localisation strings
- * @param[in] type Index of type
- * @return Index for localisation
- */
-int phone_get_website_type_index(int type);
-
-/**
- * @brief Gets index of number types for localisation strings
- * @param[in] type Index of type
- * @return Index for localisation
- */
-int phone_get_number_type_index(int ct_num_type);
-
-/**
- * @brief Destroy @a ct_confirm_popup_data structure
- * @param[in] p_popup_data Popup data
- */
-void phone_destroy_confirm_popup_data(ct_confirm_popup_data* p_popup_data);
-
-/**
- * @brief Fill @a ct_confirm_popup_data structure
- * @param[in] p_popup_data Popup data
- * @return true if success, otherwise false
- */
-bool phone_fill_confirm_popup_data(ct_confirm_popup_data* p_popup_data);
-
-/**
- * @brief Gets contact ID by person ID
- * @param[in] personId ID of person
- * @return ID of contact on success, otherwise 0
- */
-int phone_get_contact_id_by_person_id(int personId);
-
-/**
- * @brief Get group localized name
- * @param[in] group_record _contacts_group view record
- * @return Group name or localized name for one of the default groups
- */
-const char * phone_get_group_name(contacts_record_h group_record);
-
-/**
- * @brief Add button to popup
- * @remarks Added button automatically hides popup when clicked so you don't
- * need to hide it in your callback and create callbacks for cancel buttons.
- * @param[in] popup Popup widget
- * @param[in] text Button text
- * @param[in] func Button click callback
- * @param[in] data Data to pass to func
- * @return true button on success, otherwise NULL
- */
-Evas_Object * phone_popup_add_button(Evas_Object *popup, const char *text,
- Evas_Smart_Cb func, void *data);
-
-/**
- * @brief Get contact name by ID
- * @remark return value must be destroy with free by you
- * @param[in] id Contact ID
- * @return contact name on success, otherwise false
- */
-char* phone_get_contact_name(int id);
-
-/**
- * @brief Create new class for genlist item
- * @remark return value must be destroyed with elm_genlist_item_class_free by you
- * @param[in] style Style of item
- * @param[in] decorate_style Style of item if item in decorate mode
- * @param[in] decoreate_all_style Style of item if genlist in decorate mode
- * @param[in] get_text Text fetching function for genlist item
- * @param[in] get_content Content fetching function for genlist item
- * @param[in] get_state State fetching function for genlist item
- * @param[in] del_func Deletion function for genlist item
- * @return new genlist item class if success, otherwise false
- */
-Elm_Genlist_Item_Class* phone_create_item_class(const char* style, const char* decorate_style, const char* decorate_all_style,
- Elm_Gen_Item_Text_Get_Cb get_text, Elm_Gen_Item_Content_Get_Cb get_content,
- Elm_Gen_Item_State_Get_Cb get_state, Elm_Gen_Item_Del_Cb del_func);
-
-/**
- *@brief Create block contact confirm popup
- *@param[in] parent Parent layout
- *@param[in] contact_id Contact ID
- *@return popup
- */
-Evas_Object* phone_create_block_contact_popup(Evas_Object* parent, int contact_id);
-#endif //__PHONE_COMMON_H__
diff --git a/lib/common/include/phone-path.h b/lib/common/include/phone-path.h
deleted file mode 100755
index 7fdaed5..0000000
--- a/lib/common/include/phone-path.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_PATH_H__
-#define __PHONE_PATH_H__
-
-#if !defined(IMGDIR)
-# define IMGDIR "/usr/ug/res/images/ug-"PACKAGE
-#endif
-
-#if !defined(EDJDIR)
-# define EDJDIR "/usr/ug/res/edje/ug-"PACKAGE
-#endif
-
-#if !defined(UGDATAIDR)
-# define UGDATAIDR "/opt/usr/ug/data/ug-"PACKAGE
-#endif
-
-#define PROGRESS_EDJ EDJDIR"/progress.edj"
-#define DIALER_EDJ EDJDIR"/dialer.edj"
-#define DIALER_THEME_EDJ EDJDIR"/dialer_theme.edj"
-#define LOGDETAIL_THEME_EDJ EDJDIR"/logdetail_theme.edj"
-#define SPEEDDIAL_THEME_EDJ EDJDIR"/speeddial_theme.edj"
-#define CONTACTS_EDJ EDJDIR"/contacts.edj"
-#define FAVORITES_THEME_EDJ EDJDIR"/favorites_theme.edj"
-#define GROUP_THEME_EDJ EDJDIR"/group_theme.edj"
-#define CONTACT_BUTTON_THEME_EDJ EDJDIR"/contact_button.edj"
-#define IMAGE_LAYOUT_EDJ EDJDIR"/image_layout.edj"
-#define LIST_THEME_EDJ EDJDIR"/list_theme.edj"
-#define DETAIL_THEME_EDJ EDJDIR"/detail_theme.edj"
-#define SELECTION_INFO_EDJ EDJDIR"/selectioninfo.edj"
-#define NOCONTENT_LAYOUT_EDJ EDJDIR"/nocontent_layout.edj"
-#define LOG_ITEM_ICON_EDJ EDJDIR"/log_item_icon.edj"
-
-#define IMG_DEFAULT IMGDIR"/caller_ID_default_70x70_man.png"
-#define IMG_VOICEMAIL_ICON IMGDIR"/C01-5_icon_voicecall.png"
-
-#define IMG_ALL_BLOCKED_ICON IMGDIR"/C01-4_icon_Blocked.png"
-#define IMG_CALL_BLOCKED_ICON IMGDIR"/C01-4_icon_call_blocked.png"
-#define IMG_MESSAGE_BLOCKED_ICON IMGDIR"/C01-4_icon_message_blocked.png"
-#define IMG_MESSAGE_ICON IMGDIR"/C02_icon_message.png"
-
-
-#define PH_IMG_ICON_DIALER IMGDIR"/01_controlbar_icon_dialer.png"
-#define PH_IMG_ICON_CONTACTS IMGDIR"/01_controlbar_icon_contacts.png"
-#define PH_IMG_ICON_LOGS IMGDIR"/01_controlbar_icon_logs.png"
-#define PH_IMG_ICON_GROUP IMGDIR"/01_controlbar_icon_groups.png"
-#define PH_IMG_ICON_FAVORITE IMGDIR"/01_controlbar_icon_favorite.png"
-#define PH_IMG_ICON_DONE IMGDIR"/01_controlbar_icon_save.png"
-#define PH_IMG_ICON_EDIT IMGDIR"/01_controlbar_icon_edit.png"
-#define PH_IMG_ICON_ADD IMGDIR"/01_controlbar_icon_create.png"
-#define PH_IMG_ICON_MORE IMGDIR"/01_controlbar_icon_more.png"
-#define PH_IMG_ICON_PHONE IMGDIR"/phone.png"
-#define PH_IMG_ICON_CALL IMGDIR"/C02_button_icon_call.png"
-#define PH_IMG_ICON_CALL_PRESS IMGDIR"/C02_button_icon_call_press.png"
-#define PH_IMG_ICON_CALL_DIM IMGDIR"/C02_button_icon_call_dim.png"
-#define PH_IMG_ICON_MESSAGE IMGDIR"/C02_button_icon_message.png"
-#define PH_IMG_ICON_MESSAGE_PRESS IMGDIR"/C02_button_icon_message_press.png"
-#define PH_IMG_ICON_MESSAGE_DIM IMGDIR"/C02_button_icon_messagedim.png"
-#define PH_IMG_ICON_VIDEOCALL IMGDIR"/C02_button_icon_videocall.png"
-#define PH_IMG_ICON_VIDEOCALL_PRESS IMGDIR"/C02_button_icon_videocall_press.png"
-#define PH_IMG_ICON_VIDEOCALL_DIM IMGDIR"/C02_button_icon_videocall_call_dim.png"
-#define PH_IMG_ICON_CHAT_ON IMGDIR"/C02_icon_chat_on.png"
-#define PH_IMG_ICON_FILETRANSFER IMGDIR"/C02_icon_filetransfer.png"
-
-#define PH_IMG_CIRCLE_ICON_CALL IMGDIR"/C02_circle_icon_call.png"
-#define PH_IMG_ICON_CALL_PRESSED IMGDIR"/C02_circle_icon_call_press.png"
-#define PH_IMG_ICON_SMS IMGDIR"/C02_circle_icon_sms.png"
-#define PH_IMG_ICON_SMS_PRESSED IMGDIR"/C02_circle_icon_sms_press.png"
-#define PH_IMG_ICON_VCALL IMGDIR"/C02_circle_icon_vt-call.png"
-#define PH_IMG_ICON_VCALL_PRESSED IMGDIR"/C02_circle_icon_vt-call_press.png"
-
-#define PH_IMG_ICON_LOGTYPE_MISSED IMGDIR"/C01-4_controlbar_icon_missed_call.png"
-#define PH_IMG_ICON_LOGTYPE_ALL IMGDIR"/C01-4_controlbar_icon_all.png"
-#define PH_IMG_ICON_CREATE_CONTACT IMGDIR"/C01-4_controlbar_icon_create.png"
-#define PH_IMG_ICON_DELETE IMGDIR"/C02_button_icon_delete.png"
-#define PH_IMG_ICON_SET_BLOCK IMGDIR"/C01-4_controlbar_icon_view_block.png"
-#define PH_IMG_ICON_VIEW_CONTACT IMGDIR"/C01-4_controlbar_icon_view_contacts.png"
-
-#define CTUI_IMG_ICON_ADD_ACCOUNTS IMGDIR"/01_controlbar_icon_add_account.png"
-#define CTUI_IMG_ICON_ADD_FAVORITE IMGDIR"/01_controlbar_icon_add-to-bookmarks.png"
-#define CTUI_IMG_ICON_CREATE_GROUP IMGDIR"/01_controlbar_icon_exchangs_register.png"
-#define CTUI_IMG_ICON_ADD_TO_CONTACTS IMGDIR"/01_controlbar_icon_add_to_contact.png"
-#define CTUI_IMG_ICON_CLOSE IMGDIR"/01_controlbar_icon_close.png"
-#define CTUI_IMG_ICON_EXPAND_OPENED IMGDIR"/00_button_icon_expand_opened.png"
-#define CTUI_IMG_ICON_EXPAND_CLOSED IMGDIR"/00_button_icon_expand_closed.png"
-#define CTUI_IMG_ICON_VIEW IMGDIR"/01_controlbar_icon_bluetooth_preview.png"
-#define CTUI_IMG_ICON_RESET IMGDIR"/C02_icon_reset.png"
-#define CTUI_IMG_ICON_ADD_GROUP IMGDIR"/C02_icon_add_group.png"
-#define CTUI_IMG_ICON_FAVORITE IMGDIR"/C02_favorite_icon.png"
-#define CTUI_IMG_ICON_CIRCLE IMGDIR"/C02_circle_button.png"
-#define CTUI_IMG_ICON_CIRCLE_PRESSED IMGDIR"/C02_circle_button_press.png"
-#define CTUI_IMG_ICON_CALL IMGDIR"/C02_circle_icon_call.png"
-#define CTUI_IMG_ICON_CALL_PRESSED IMGDIR"/C02_circle_icon_call_press.png"
-#define CTUI_IMG_ICON_SMS IMGDIR"/C02_circle_icon_sms.png"
-#define CTUI_IMG_ICON_SMS_PRESSED IMGDIR"/C02_circle_icon_sms_press.png"
-#define CTUI_IMG_ICON_VCALL IMGDIR"/C02_circle_icon_vt-call.png"
-#define CTUI_IMG_ICON_VCALL_PRESSED IMGDIR"/C02_circle_icon_vt-call_press.png"
-#define CTUI_IMG_ICON_PREVIOUS IMGDIR"/01_controlbar_icon_previous.png"
-#define CTUI_IMG_ICON_NEXT IMGDIR"/01_controlbar_icon_next.png"
-
-#define CTUI_IMG_ICON_EMAIL IMGDIR"/email.png"
-#define CTUI_IMG_ICON_MESSAGE IMGDIR"/message.png"
-#define CTUI_IMG_ICON_MESSAGE_PRESS IMGDIR"/C01-3_icon_message_press.png"
-
-#define CTUI_IMG_CHECK IMGDIR"/00_check_checking.png"
-#define CTUI_IMG_DEFAULT_PHOTO_SMALL IMGDIR"/caller_ID_default_96x96.png"
-#define CTUI_IMG_DEFAULT_PHOTO_BIG IMGDIR"/caller_ID_default_128x128.png"
-#define CTUI_IMG_PHOTO_EDIT IMGDIR"/caller_ID_edit.png"
-#define CTUI_IMG_INPUT_PLUS IMGDIR"/00_button_plus.png"
-#define CTUI_IMG_INPUT_GALLERY IMGDIR"/C02_caller_id_icon_gallery.png"
-#define CTUI_IMG_INPUT_GALLERY_PRESSED IMGDIR"/C02_caller_id_icon_gallery_press.png"
-#define CTUI_IMG_INPUT_CAMERA IMGDIR"/C02_caller_id_icon_camera.png"
-#define CTUI_IMG_INPUT_CAMERA_PRESSED IMGDIR"/C02_caller_id_icon_camera_press.png"
-
-#define CTUI_IMG_ACC_PHONE IMGDIR"/C02_account_00.png"
-#define CTUI_IMG_ACC_GOOGLE IMGDIR"/C02_account_01.png"
-#define CTUI_IMG_ACC_FACEBOOK IMGDIR"/C02_account_02.png"
-#define CTUI_IMG_ACC_YAHOO IMGDIR"/C02_account_03.png"
-#define CTUI_IMG_ACC_EXCHANGE IMGDIR"/C02_account_04.png"
-#define CTUI_IMG_ACC_DEFAULT IMGDIR"/C02_account_default.png"
-#define CTUI_IMG_ACC_RCS IMGDIR"/C04_icon_joyn.png"
-#define CTUI_IMG_ACC_SIM IMGDIR"/C02_account_sim.png"
-#endif //__PHONE_PATH_H__
diff --git a/lib/common/include/phone-text.h b/lib/common/include/phone-text.h
deleted file mode 100755
index d782b1f..0000000
--- a/lib/common/include/phone-text.h
+++ /dev/null
@@ -1,382 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_TEXT_H__
-#define __PHONE_TEXT_H__
-
-#include <libintl.h>
-
-#define gettext_noop(String) (String)
-#define N_(String) gettext_noop (String)
-
-enum
-{
- PHTEXT_KEYPAD,
- PHTEXT_FAVORITES,
- PHTEXT_SPEEDDIAL,
- PHTEXT_VOICE_MAIL,
- PHTEXT_LOGS,
- PHTEXT_SPEED_DIAL_REQUEST,
- PHTEXT_REQUEST_FAIL,
- PHTEXT_REQUEST_SUCCESS,
- PHTEXT_EMERGENCY_CALL,
- PHTEXT_NO_LOGS,
- PHTEXT_NO_FAVORITES,
- PHTEXT_NOT_EXIST_MESSAGE,
- PHTEXT_EXCEED_NUM_MAX_LENGTH,
- PHTEXT_DELETING_LOGS,
- PHTEXT_DELETING_FAVORITES,
- PHTEXT_INITIALIZING,
- PHTEXT_SOUND_OFF,
- PHTEXT_SOUND_ON,
- PHTEXT_PREVIOUS_SCREEN_ABB,
- PHTEXT_BACK_TO_CALL,
- PHTEXT_INCOMMING_CALL,
- PHTEXT_OUTGOING_CALL,
- PHTEXT_MISSED_CALL,
- PHTEXT_SENT_MESSAGE,
- PHTEXT_RECEIVED_MESSAGE,
- PHTEXT_REJECTED_CALL_ABB,
- PHTEXT_BLOCKED_CALL_ABB,
- PHTEXT_EDIT_NUMBER_BEFORE_CALL,
- PHTEXT_ADD_TO_CONTACTS,
- PHTEXT_SETTINGS,
- PHTEXT_CALL_DURATION,
- PHTEXT_EDIT_BLOCK_CONTACT,
- PHTEXT_EDIT_SEND_NUMBER,
- PHTEXT_EDIT_COPY_TO_DIALING_SCREEN,
- PHTEXT_UNSAVED,
- PHTEXT_CONTACTS_MENU_CONTACTS_TO_DISPLAY,
- PHTEXT_CONTACTS_MENU_SETTINGS,
- PHTEXT_CONTACTS_POP_DELETE,
- PHTEXT_CONTACTS_POP_CONTACTS,
- PHTEXT_CONTACTS_BUTTON_DELETE,
- PHTEXT_CONTACTS_BUTTON_CANCEL,
- PHTEXT_LOGS_DURATION_RESET,
- PHTEXT_LOGS_DURATION_LAST,
- PHTEXT_LOGS_DURATION_DIALED,
- PHTEXT_LOGS_DURATION_RECEIVED,
- PHTEXT_LOGS_DURATION_ALL,
- PHTEXT_DELETING_N_LOGS,
- CTTEXT_ENTRY_SEARCH,
- CTTEXT_REMOVE,
- CTTEXT_CREATE_CONTACT,
- PHTEXT_CHANGE_ORDER,
- PHTEXT_MESSAGE,
- PHTEXT_EMAIL,
- PHTEXT_DEFAULT_NUMBER,
- PHTEXT_SEND_CONTACTC_AS_TEXT,
- PHTEXT_CALLS,
- PHTEXT_MESSAGES,
- PHTEXT_SEPARATE_CONTACTS,
- PHTEXT_LINK_CONTACTS_WITH,
- PHTEXT_SEPARATE_CONTACTS_FROM,
- PHTEXT_SEND_EMAIL,
- PHTEXT_SEND_MESSAGE,
- PHTEXT_SEND_MESSAGE_EMAIL,
- PHTEXT_IMPORT_EXPORT,
- PHTEXT_ACCOUNTS
-};
-//PH_GET_TEXT_BASIC
-enum
-{
- CTTEXT_ALL_CONTACTS,
- CTTEXT_NOT_ASSIGNED,
- CTTEXT_SDN,
- CTTEXT_PHONE,
- CTTEXT_GROUP,
- CTTEXT_DEFAULT,
- CTTEXT_RINGTONE,
- CTTEXT_URL,
- CTTEXT_INSTANT_MESSENGER,
- CTTEXT_EMAIL,
- CTTEXT_NUMBER,
- CTTEXT_NOTE,
- CTTEXT_POSTAL_ADDRESS,
- CTTEXT_DETAILS,
- CTTEXT_COMPANY,
- CTTEXT_ORDER_DISPLAY_NAME,
- CTTEXT_OWN_NUMBER,
- CTTEXT_FIRSTNAME,
- CTTEXT_LASTNAME,
- CTTEXT_MIDDLE,
- CTTEXT_SUFFIX,
- CTTEXT_NICKNAME,
- CTTEXT_SELECT_EXPORT_ADDRBOOK,
- CTTEXT_SELECT_CONTACTS,
- CTTEXT_POSTAL_CODE,
- CTTEXT_COUNTRY,
- CTTEXT_PROVINCE,
- CTTEXT_CITY,
- CTTEXT_STREET,
- CTTEXT_SAVED_IN,
- CTTEXT_MOST_FREQUENT_CONTACTS,
- CTTEXT_COPIED,
- CTTEXT_EXPORTED,
- CTTEXT_DELETING_CONTACTS,
- CTTEXT_MOVING_CONTACTS,
- CTTEXT_COPYING_CONTACTS,
- CTTEXT_IMPORTING_SIM_CONTACTS,
- CTTEXT_IMPORTING_SD_CONTACTS,
- CTTEXT_EXPORTING_CONTACTS_TO,
- CTTEXT_VCARD_CONTACTS,
- CTTEXT_LOADING_VCARD,
- CTTEXT_IMPORTED,
- CTTEXT_NA,
- CTTEXT_ALL_LINKED_CONTACTS,
- CTTEXT_LINKED_CONTACTS,
- CTTEXT_MORE_INFORMATION,
- CTTEXT_JOB_TITLE,
- CTTEXT_DEPARTMENT,
- CTTEXT_GROUP_NAME,
- CTTEXT_ADD_ACCOUNT,
- CTTEXT_ADDING_MEMBERS_TO_GROUP,
- CTTEXT_VIEW,
- CTTEXT_VIEW_BY,
- CTTEXT_COUNT_CONTACTS,
- CTTEXT_RENAME,
- CTTEXT_RELATIONSHIP,
- CTTEXT_NO_HISTORIES,
- CTTEXT_NO_ACTIVITIES,
- CTTEXT_ADDING_ING,
- CTTEXT_CUSTOM,
- CTTEXT_ADDITIONAL_INFO,
- CTTEXT_PO_BOX,
- CTTEXT_STATE,
- CTTEXT_FRIENDS,
- CTTEXT_FAMILY,
- CTTEXT_CO_WORKERS,
- CTTEXT_EMERGENCY_CONTACTS,
- CTTEXT_WORK,
- CTTEXT_VIBRATION_PATTERN,
- CTTEXT_SET_DEFAULT,
- CTTEXT_EVENT,
- CTTEXT_SHARE_CONTACT_INFO,
- CTTEXT_1_CONTACT,
- CTTEXT_WI_FI_DIRECT,
- CTTEXT_EXPORT_TO_SIM_CARD,
- CTTEXT_INFO,
- CTTEXT_HISTORY,
- CTTEXT_ACTIVITIES,
- CTTEXT_GROUP_MESSAGE,
- CTTEXT_GROUP_EMAIL,
- CTTEXT_ORGANIZATION,
- CTTEXT_MY_PHONE,
- CTTEXT_RINGTONES,
- CTTEXT_MY_FILES
-};
-//CT_GET_TEXT_BASIC
-
-enum
-{
- CTTEXT_NONAME,
- CTTEXT_INVALID_EMAIL,
- CTTEXT_SAVE_FAIL,
- CTTEXT_ERR_DB_LOCKED,
- CTTEXT_ADD_FAIL_EXIST,
- CTTEXT_ALREADY_EXIST,
- CTTEXT_NO_GROUP,
- CTTEXT_NO_NUMBER,
- CTTEXT_NO_EMAIL,
- CTTEXT_NO_CONTACTS,
- CTTEXT_IMPORT_SIM_NO_DATA,
- CTTEXT_EXCEED_LIMIT,
- CTTEXT_DATA_NOT_EXIST,
- CTTEXT_INVALID_NUMBER,
- CTTEXT_SIM_MEMORY_FULL,
- CTTEXT_NO_CONTACTS_HELP_TEXT,
- CTTEXT_NO_HISTORIES_HELP_TEXT,
- CTTEXT_UNABLE_TO_SEND_NAME_CARDS
-};
-//CT_GET_TEXT_ERR
-
-enum
-{
- PHTEXT_SELECT_LOGS,
- PHTEXT_SELECT_SPEED_DIAL_CONTACTS,
- PHTEXT_UNBLOCK,
- PHTEXT_CHANGE_CONTACT,
- PHTEXT_ADD_PAUSE,
- PHTEXT_ADD_WAIT,
- PHTEXT_MISSED,
- PHTEXT_EXIT
-};
-// PH_GET_TEXT_BASE_OP
-
-enum
-{
- PHTEXT_BODY_SUNDAY,
- PHTEXT_BODY_MONDAY,
- PHTEXT_BODY_TUESDAY,
- PHTEXT_BODY_WEDNESDAY,
- PHTEXT_BODY_THURSDAY,
- PHTEXT_BODY_FRIDAY,
- PHTEXT_BODY_SATURDAY
-};
-// PH_GET_TEXT_DAY
-
-enum
-{
- CTTEXT_SET_DEFAULT_NUMBER,
- CTTEXT_SET_DEFAULT_EMAIL,
- CTTEXT_IMAGE,
- CTTEXT_TAKE_A_PHOTO,
- CTTEXT_DELETE_PHOTO,
- CTTEXT_ADD_TO_HOME,
- CTTEXT_SAVE_CONTACT_TO,
- CTTEXT_SAVE_TO,
- CTTEXT_IMPORT_SIM_CONTACTS,
- CTTEXT_FIRSTLAST,
- CTTEXT_LASTFIRST,
- CTTEXT_SHOW,
- CTTEXT_HIDE,
- CTTEXT_SEND_NAME_CARD,
- CTTEXT_CREATE_GROUP,
- CTTEXT_SELECT_GROUP,
- CTTEXT_EXPORT_CONTACTS,
- CTTEXT_IMPORT_CONTACTS,
- CTTEXT_LINK_CONTACTS,
- CTTEXT_UNLINK,
- CTTEXT_ALL_LINKED_CONTACTS_WILL_BE_DELETED,
- CTTEXT_ADD_TO_FAVOURITES,
- CTTEXT_EDIT_GROUP,
- CTTEXT_ADD_MEMBER,
- CTTEXT_ADD_TO_GROUP,
- CTTEXT_ADDED_TO_FAVOURITES,
- CTTEXT_REMOVE_FROM_FAVOURITES,
- CTTEXT_REMOVED_FROM_FAVOURITES
-};
-//CT_GET_TEXT_BASE_OP
-
-enum
-{
- CTTEXT_REL_NONE,
- CTTEXT_REL_ASSISTANT,
- CTTEXT_REL_BROTHER,
- CTTEXT_REL_CHILD,
- CTTEXT_REL_DOMESTIC_PARTNER,
- CTTEXT_REL_FATHER,
- CTTEXT_REL_FRIEND,
- CTTEXT_REL_MANAGER,
- CTTEXT_REL_MOTHER,
- CTTEXT_REL_PARENT,
- CTTEXT_REL_PARTNER,
- CTTEXT_REL_REFERRED_BY,
- CTTEXT_REL_RELATIVE,
- CTTEXT_REL_SISTER,
- CTTEXT_REL_SPOUSE,
- CTTEXT_REL_CUSTOM
-};
-//CT_GET_TEXT_RELATIONSHIP_TYPE
-
-enum
-{
- CTTEXT_VIBRATION_DEFAULT,
- CTTEXT_VIBRATION_HEARTBEAT,
- CTTEXT_VIBRATION_JINGLEBELL,
- CTTEXT_VIBRATION_TICKTOCK,
- CTTEXT_VIBRATION_WALTZ,
- CTTEXT_VIBRATION_ZIGZIGZIG,
- CTTEXT_VIBRATION_MAX
-};
-//CT_GET_TEXT_VIBRATION
-
-enum
-{
- PH_GET_TEXT_BASIC,
- PH_GET_TEXT_BASE_OP,
- PH_GET_TEXT_DAY,
- CT_GET_TEXT_BASIC,
- CT_GET_TEXT_ERR,
- CT_GET_TEXT_BASE_OP,
- CT_GET_TEXT_NUM_TYPE,
- CT_GET_TEXT_EMAIL_TYPE,
- CT_GET_TEXT_WEBSITE_TYPE,
- CT_GET_TEXT_POSTAL_TYPE,
- CT_GET_TEXT_EVENT_TYPE,
- CT_GET_TEXT_IM_TYPE,
- CT_GET_TEXT_MONTH,
- CT_GET_TEXT_RELATIONSHIP_TYPE,
- CT_GET_TEXT_VIBRATION
-};
-
-const char* phone_get_text(int op, int type);
-#define T_(op, type) phone_get_text(op, type)
-
-enum
-{
- PH_SYS_SK_OK,
- CT_SYS_SK_SAVE,
- CT_SYS_SK_DONE,
- PH_SYS_SK_EDIT,
- PH_SYS_SK_DELETE,
- PH_SYS_SK_CANCEL,
- PH_SYS_SK3_BLOCK,
- PH_SYS_SK_NO,
- PH_SYS_SK_YES,
- CT_SYS_SK_ADD,
- CT_SYS_SK_MORE,
- CT_SYS_SK_NEXT,
- PH_SYS_BODY_CALL,
- PH_SYS_BODY_MESSAGE,
- PH_SYS_BODY_VIDEO_CALL,
- PH_SYS_BODY_UNKNOWN,
- PH_SYS_BODY_SELECT_ALL,
- PH_SYS_BODY_CONTACTS,
- PH_SYS_BODY_DETAILS,
- PH_SYS_BODY_REMOVE,
- PH_SYS_BODY_TODAY,
- PH_SYS_BODY_YESTERDAY,
- PH_SYS_BODY_PREVIOUS,
- PH_SYS_BODY_NONAME,
- CT_SYS_BODY_CREATE,
- CT_SYS_BODY_MOVE,
- CT_SYS_BODY_COPY,
- CT_SYS_BODY_PHONE,
- CT_SYS_BODY_SEARCH,
- CT_SYS_BODY_BLUETOOTH,
- CT_SYS_BODY_EMAIL,
- CT_SYS_BODY_SIM,
- CT_SYS_BODY_MEMORYCARD,
- CT_SYS_BODY_NAME,
- PH_SYS_BODY_ALL,
- PH_SYS_POP_FAIL,
- PH_SYS_POP_FAILED,
- PH_SYS_POP_CLOSE,
- PH_SYS_POP_REMOVED,
- PH_SYS_POP_DELETED,
- PH_SYS_POP_INCORRECT_PASSWORD,
- PH_SYS_POP_ALREDY_EXISTS,
- PH_SYS_POP_SELECTED,
- CT_SYS_POP_SUCCESS,
- CT_SYS_POP_ERROR,
- CT_SYS_POP_MOVED,
- CT_SYS_POP_ADDED,
- CT_SYS_POP_NOT_ENOUGH_MEMORY,
- CT_SYS_POP_NOTHING_SELECTED,
- CT_SYS_POP_FILE_NOT_FOUND,
- CT_SYS_POP_ADDRESS,
- PH_SYS_OPT_ADD_TO_CONTACTS,
- PH_SYS_BODY_SELECTED_DATA_NOT_FOUND,
- PH_SYS_POP_DELETE_Q,
- CT_SYS_SK_SET,
- CT_SYS_SK_RESET,
-};
-
-const char* phone_get_system_string(int type);
-#define S_(text) phone_get_system_string(text)
-
-#endif //__PHONE_TEXT_H__
diff --git a/lib/common/include/phone.h b/lib/common/include/phone.h
deleted file mode 100755
index 9c57375..0000000
--- a/lib/common/include/phone.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_APP_H__
-#define __PHONE_APP_H__
-
-#include <Elementary.h>
-#include <assert.h>
-
-#ifndef API
-#define API __attribute__ ((visibility("default")))
-#endif
-
-#if !defined(PACKAGE)
-# define PACKAGE "phone"
-#endif
-
-#define PHONE_PKG "org.tizen.phone"
-
-#define _EDJ(obj) (Evas_Object *)elm_layout_edje_get(obj)
-
-#define PH_DLOG_OUT
-#define PH_DEBUGGING
-
-#ifdef PH_DLOG_OUT
-#define LOG_TAG "PHONE"
-#include <dlog.h>
-#define DLOG(prio, fmt, arg...) ALOG(prio, LOG_TAG, fmt, ##arg)
-#define INFO(fmt, arg...) ALOGI(fmt, ##arg)
-#define ERR(fmt, arg...) ALOGE(fmt, ##arg)
-#define DBG(fmt, arg...) ALOGD(fmt, ##arg)
-#else //PH_DLOG_OUT
-#define PRT(prio, fmt, arg...) \
- do { fprintf((prio?stderr:stdout), "[Phone]" fmt"\n", ##arg); } while (0)
-#define INFO(fmt, arg...) PRT(0, fmt, ##arg)
-#define ERR(fmt, arg...) PRT(1, "%s :" fmt, __FUNCTION__, ##arg)
-#define DBG(fmt, arg...) \
- do { \
- printf("\x1b[105;37m[Phone]\x1b[0m(%s)" fmt "\n", __FUNCTION__, ##arg); \
- } while (0)
-#endif //PH_DLOG_OUT
-#ifdef PH_DEBUGGING
-#include "Tracer.h"
-#define PH_TRACE Utils::Tracer tracer(LOG_TAG, __MODULE__, __LINE__, __FUNCTION__)
-#define PH_FN_CALL DBG(">>>>>>>> called")
-#define PH_FN_END DBG("<<<<<<<< ended")
-#define PH_DBG(fmt, arg...) DBG(fmt, ##arg)
-#else /* PH_DEBUGGING */
-#define PH_TRACE
-#define PH_FN_CALL
-#define PH_FN_END
-#define PH_DBG(...)
-#endif /* PH_DEBUGGING */
-
-#define check_if(expr, then) \
-assert(!(expr)); \
-if(expr) \
-{ \
- then; \
-}
-
-#define p_warn_if(expr, fmt, arg...) do { \
- if (expr) { \
- ERR(fmt, ##arg); \
- } \
-} while (0)
-#define p_ret_if(expr) do { \
- if (expr) { \
- ERR("(%s)", #expr); \
- return; \
- } \
-} while (0)
-#define p_retv_if(expr, val) do { \
- if (expr) { \
- ERR("(%s)", #expr); \
- return (val); \
- } \
-} while (0)
-#define p_retm_if_free(expr, fmt, free_val, arg...) do { \
- if (expr) { \
- ERR(fmt, ##arg); \
- free(*free_val); \
- *free_val = NULL; \
- return; \
- } \
-} while (0)
-#define p_retm_if(expr, fmt, arg...) do { \
- if (expr) { \
- ERR(fmt, ##arg); \
- return; \
- } \
-} while (0)
-#define p_retvm_if(expr, val, fmt, arg...) do { \
- if (expr) { \
- ERR(fmt, ##arg); \
- return (val); \
- } \
-} while (0)
-
-#define SAFE_STRLEN(str) ((str)?strlen(str):strlen(""))
-#define SAFE_STR(src) ((src)?src:"")
-#define STR_BLANK(str, src) (str && src)?" ":"", SAFE_STR(src)
-#define SAFE_STRDUP(src) ((src)?strdup(src):NULL)
-#define FREEandSTRDUP(dest, src) \
- do{ \
- free(dest); dest=NULL;\
- if (src) dest = strdup(src); \
- }while(false)
-
-#endif //__PHONE_APP_H__
diff --git a/lib/common/ph-common.cpp b/lib/common/ph-common.cpp
deleted file mode 100755
index 23951dc..0000000
--- a/lib/common/ph-common.cpp
+++ /dev/null
@@ -1,3667 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <app.h>
-#include <fcntl.h>
-#include <ui-gadget-module.h>
-#include <account-types.h>
-#include <syspopup_caller.h>
-#include <account.h>
-#include <notification.h>
-#include <cctype>
-#include <algorithm>
-#include <unicode/ustring.h>
-#include <unicode/udatpg.h>
-#include <msg.h>
-#include <msg_types.h>
-
-#include "phone.h"
-#include "phone-common.h"
-
-#include <badge.h>
-
-#define CT_CBAR_ITEM_MAX 4
-#define LAUNCH_TYPE "launch-type"
-#define SEND "send"
-#define EMERGENCY "emergency"
-#define FILES "files"
-#define FILECOUNT 1
-#define DEF_MAX_FILTER_LEN (40)
-#define DEF_BUF_LEN (512)
-#define CALL_APP "org.tizen.call"
-
-std::string ct_make_uppercase_string(const std::string& inputStr)
-{
- std::string retStr;
- retStr.reserve(inputStr.size());
- std::transform(inputStr.begin(), inputStr.end(), std::back_inserter(retStr), toupper);
- return retStr;
-}
-
-/**
- * @brief Overloaded function for adding string filter
- * @param filter DB filter handle
- * @param filterField Link to field
- * @param strVal The string value to which filtering is performed
- * @return Returns true if filter was added, otherwise false
- */
-bool add_filter_field(contacts_filter_h filter, unsigned int filterField, const std::string& strVal)
-{
- PH_TRACE;
- return (contacts_filter_add_str(filter, filterField, CONTACTS_MATCH_ENDSWITH, strVal.c_str()) == CONTACTS_ERROR_NONE);
-}
-
-/**
- * @brief Overloaded function for adding integer filter
- * @param filter DB filter handle
- * @param filterField Link to field
- * @param intVal The integer value to which filtering is performed
- * @return Returns true if filter was added, otherwise false
- */
-bool add_filter_field(contacts_filter_h filter, unsigned int filterField, int intVal)
-{
- PH_TRACE;
- return (contacts_filter_add_int(filter, filterField, CONTACTS_MATCH_EQUAL, intVal) == CONTACTS_ERROR_NONE);
-}
-
-template < typename FilterFieldType>
-bool get_records_list(const std::string& tableUri, unsigned int filterField,
- FilterFieldType filterVal, contacts_list_h* list)
-{
- PH_TRACE;
- contacts_query_h query = NULL;
- contacts_filter_h filter = NULL;
- contacts_list_h innerList = NULL;
- bool result(false);
-
- if(contacts_query_create(tableUri.c_str(), &query) == CONTACTS_ERROR_NONE)
- {
- if(contacts_filter_create(tableUri.c_str(), &filter) == CONTACTS_ERROR_NONE)
- {
- if(add_filter_field(filter, filterField, filterVal))
- {
- if(contacts_query_set_filter(query, filter) == CONTACTS_ERROR_NONE)
- {
- if(contacts_db_get_records_with_query(query, 0, 0, &innerList) == CONTACTS_ERROR_NONE)
- {
- unsigned int count(0);
- contacts_list_get_count(innerList, &count);
- if(count > 0)
- {
- result = true;
- }
- }
- }
- }
- }
- }
- result &= contacts_query_destroy(query) == CONTACTS_ERROR_NONE;
- result &= contacts_filter_destroy(filter) == CONTACTS_ERROR_NONE;
- if(result)
- {
- if(*list)
- {
- contacts_list_destroy(*list, true);
- }
- *list = innerList;
- }
- else
- {
- contacts_list_destroy(innerList, true);
- ERR("List of records is not obtained");
- }
-
- return result;
-}
-
-bool phone_toggle_blocked_contact_for_calls(int contactId)
-{
- PH_TRACE;
- bool result(false);
- if (contactId > notRelatedToContactId)
- {
- contacts_list_h recList = NULL;
- if (get_records_list(_contacts_contact._uri, _contacts_contact.id, contactId, &recList))
- {
- contacts_record_h contactRec = NULL;
- contacts_record_h extensionRec = NULL;
- if (contacts_list_get_current_record_p(recList, &contactRec) == CONTACTS_ERROR_NONE)
- {
- if (contacts_record_create(_contacts_extension._uri, &extensionRec) == CONTACTS_ERROR_NONE)
- {
- unsigned int extensionsCount(0);
- if (contacts_record_get_child_record_count(contactRec, _contacts_contact.extension, &extensionsCount)
- == CONTACTS_ERROR_NONE)
- {
- DBG("Extensions count: %u", extensionsCount);
- if (0 == extensionsCount)
- {
- result = ct_list_insert_extension(extensionRec, _contacts_extension.data2, contactId, ct_list_bool_to_str(true));
- if (!result)
- {
- ERR("Extension is not inserted");
- }
- }
- else
- {
- result = ct_list_toggle_blocked(contactRec, extensionRec);
- if (!result)
- {
- ERR("Extension is not updated");
- }
- }
- }
- if (contacts_record_destroy(extensionRec, true)
- != CONTACTS_ERROR_NONE)
- {
- ERR("Record is not destroyed");
- }
- }
- }
- if (contacts_list_destroy(recList, true) != CONTACTS_ERROR_NONE)
- {
- ERR("List is not destroyed");
- }
- }
- }
- return result;
-}
-
-int phone_get_extension_id(int contactId)
-{
- PH_TRACE;
- int result(incorrectId);
- contacts_list_h recList = NULL;
- if(get_records_list(_contacts_contact._uri, _contacts_contact.id, contactId, &recList))
- {
- contacts_record_h contactRec = NULL;
- if(contacts_list_get_current_record_p(recList, &contactRec) == CONTACTS_ERROR_NONE)
- {
- unsigned int extensionsCount(0);
- if(contacts_record_get_child_record_count(contactRec, _contacts_contact.extension, &extensionsCount)
- == CONTACTS_ERROR_NONE)
- {
- if(extensionsCount > 0)
- {
- contacts_record_h extensionRec = NULL;
- if(contacts_record_get_child_record_at_p(contactRec, _contacts_contact.extension,
- 0, &extensionRec) == CONTACTS_ERROR_NONE)
- {
- int extensionId(incorrectId);
- if(contacts_record_get_int(extensionRec, _contacts_extension.id,
- &extensionId) == CONTACTS_ERROR_NONE)
- {
- result = extensionId;
- }
- }
- }
- }
- }
- if(contacts_list_destroy(recList, true)
- != CONTACTS_ERROR_NONE)
- {
- ERR("List is not destroyed");
- }
- }
- return result;
-}
-
-bool phone_is_blocked_contact_for_calls(int contactId)
-{
- PH_TRACE;
- bool result(false);
- int extensionId = phone_get_extension_id(contactId);
- if(extensionId > -1)
- {
- contacts_list_h extensionList = NULL;
- if(get_records_list(_contacts_extension._uri, _contacts_extension.id, extensionId, &extensionList))
- {
- contacts_record_h extensionRecord = NULL;
- if(contacts_list_get_current_record_p(extensionList, &extensionRecord)
- == CONTACTS_ERROR_NONE)
- {
- char* isBlocked = NULL;
- if(contacts_record_get_str(extensionRecord, _contacts_extension.data2, &isBlocked)
- == CONTACTS_ERROR_NONE)
- {
- result = ct_list_str_to_bool(isBlocked);
- }
- free(isBlocked);
- }
- contacts_list_destroy(extensionList, true);
- }
- }
- return result;
-}
-
-static void progress_popup_cancel_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- bool *is_alive = (bool *) data;
- *is_alive = false;
-}
-
-void phone_free_contacts(Eina_List *list)
-{
- PH_TRACE;
- Eina_List *l;
- void *v_cd;
-
- p_retm_if(NULL == list, "list is NULL");
-
- EINA_LIST_FOREACH(list, l, v_cd)
- {
- ph_contact_d *cd = (ph_contact_d *) v_cd;
- if (NULL == cd)
- continue;
-
- free(cd->display);
- free(cd->img_path);
- free(cd->number);
- free(cd);
- }
- eina_list_free(list);
-}
-
-void ctui_list_edit_navi_pop(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int cnt_checked;
- int person_count = 0;
- int number_count = 0;
- int email_count = 0;
- int *result_list_number = NULL;
- int *result_list_email = NULL;
- int *result_list_person = NULL;
- Eina_List *l;
- ct_list_data *clist_d = (ct_list_data *) data;
- void *info;
-
- cnt_checked = ctui_list_checked_cnt_get(clist_d->list);
-
- PH_DBG("clist_d->ug_request %d count %d", clist_d->ug_request, cnt_checked);
- if (CT_UG_REQUEST_CHECK_FOR_NUMBER == clist_d->ug_request)
- result_list_number = (int *) calloc(cnt_checked, sizeof(int));
- else if (CT_UG_REQUEST_CHECK_FOR_EMAIL == clist_d->ug_request)
- result_list_email = (int *) calloc(cnt_checked, sizeof(int));
- else if (CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == clist_d->ug_request)
- {
- result_list_number = (int *) calloc(cnt_checked, sizeof(int));
- result_list_email = (int *) calloc(cnt_checked, sizeof(int));
- }
- else
- result_list_person = (int *) calloc(cnt_checked, sizeof(int));
-
- EINA_LIST_FOREACH(clist_d->list, l, info)
- {
- ct_person_list *person_info = (ct_person_list *) info;
- if (NULL == person_info || !person_info->checked)
- continue;
- if (1 == person_info->id_ret_type)
- result_list_number[number_count++] = person_info->id_ret;
- else if (2 == person_info->id_ret_type)
- result_list_email[email_count++] = person_info->id_ret;
- else
- result_list_person[person_count++] = person_info->id;
- }
-
- // setting - import,export / group-view - message,email,chaton,calendar
- if (clist_d->select_result_cb)
- { // called by setting view - check person_info
- if (0 < cnt_checked)
- {
- if (result_list_number)
- clist_d->select_result_cb(clist_d->select_result_cb_data,
- result_list_number, number_count);
- else if (result_list_email)
- clist_d->select_result_cb(clist_d->select_result_cb_data,
- result_list_email, email_count);
- else
- clist_d->select_result_cb(clist_d->select_result_cb_data,
- result_list_person, person_count);
- }
- }
- if (result_list_person)
- free(result_list_person);
- if (result_list_number)
- free(result_list_number);
- if (result_list_email)
- free(result_list_email);
-}
-
-void ug_common_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
-{
- PH_TRACE;
- Evas_Object *base;
-
- if (!ug)
- return;
-
- base = (Evas_Object *) ug_get_layout(ug);
- if (!base)
- {
- ERR("ug_get_layout() return NULL");
- ug_destroy(ug);
- return;
- }
- evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(base);
-}
-
-void ug_common_destroy_cb(ui_gadget_h ug, void *priv)
-{
- PH_TRACE;
- struct ug_priv_data *priv_data;
-
- p_retm_if(NULL == ug, "ug is NULL");
- ug_destroy(ug);
-
- p_retm_if(NULL == priv, "priv is NULL");
-
- priv_data = (struct ug_priv_data *) priv;
-
- if (priv_data->destroy_cb)
- priv_data->destroy_cb(priv_data->cb_param);
-
- free(priv);
-
-}
-
-ui_gadget_h phone_image_crop_ug(ui_gadget_h parent, const char *photo,
- struct ug_cbs *cbs)
-{
- PH_TRACE;
- ui_gadget_h ug;
-
- service_h service;
-
- service_create(&service);
- service_add_extra_data(service, "Path", photo);
- service_add_extra_data(service, "View Mode", "SETAS");
- service_add_extra_data(service, "Setas type", "CallerID");
- service_add_extra_data(service, "Area Size", "100");
-
- cbs->layout_cb = ug_common_layout_cb;
-
- ug = ug_create(parent, IMG_VIEWER_UG, UG_MODE_FULLVIEW, service, cbs);
- p_warn_if(NULL == ug, "ug_create() Failed");
-
- service_destroy(service);
-
- return ug;
-}
-
-ui_gadget_h phone_launch_msg_composer_ug(ui_gadget_h parent_ug, char *number, int msg_id,
- void (*destroy_cb)(void*), void *cb_param)
-{
- PH_TRACE;
- ui_gadget_h ug;
- struct ug_cbs cbs = { 0 };
- struct ug_priv_data *priv_data;
- service_h service;
- char ret[PH_TEXT_MAX_LEN] = { 0 };
-
- priv_data = (ug_priv_data *) calloc(1, sizeof(struct ug_priv_data));
- p_retvm_if(NULL == priv_data, NULL, "calloc is failed");
- priv_data->destroy_cb = destroy_cb;
- priv_data->cb_param = cb_param;
-
- service_create(&service);
- if (number && *number)
- service_add_extra_data(service, "TO", (char*) number);
- else if (msg_id)
- {
- service_add_extra_data(service, "type", "msg_id");
- snprintf(ret, sizeof(ret), "%d", msg_id);
- service_add_extra_data(service, "msgId", ret);
- }
-
- cbs.priv = priv_data;
- cbs.layout_cb = ug_common_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = ug_common_destroy_cb;
-
- ug = ug_create((ui_gadget_h) parent_ug, MSG_COMPOSER_UG, UG_MODE_FULLVIEW, service, &cbs);
- service_destroy(service);
-
- if (ug == NULL)
- {
- free(priv_data);
- ERR("%s ug_create is failed", MSG_COMPOSER_UG);
- }
- return ug;
-}
-
-ui_gadget_h phone_launch_contact_detail_ug(ui_gadget_h parent_ug, int contact_index,
- void (*destroy_cb)(void*), void *cb_param)
-{
- PH_TRACE;
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- struct ug_cbs cbs = { 0 };
- service_h service;
- ui_gadget_h ug;
- struct ug_priv_data *priv_data;
-
- priv_data = (ug_priv_data *) calloc(1, sizeof(struct ug_priv_data));
- p_retvm_if(NULL == priv_data, NULL, "calloc is failed");
- priv_data->destroy_cb = destroy_cb;
- priv_data->cb_param = cb_param;
-
- service_create(&service);
-
- snprintf(buf, sizeof(buf), "%d", contact_index);
- service_add_extra_data(service, CT_UG_BUNDLE_ID, buf);
- snprintf(buf, sizeof(buf), "%d", CT_UG_REQUEST_DETAIL);
- service_add_extra_data(service, CT_UG_BUNDLE_TYPE, buf);
-
- cbs.priv = priv_data;
- cbs.layout_cb = ug_common_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = ug_common_destroy_cb;
-
- ug = ug_create((ui_gadget_h) parent_ug, UG_CONTACTS_DETAILS, UG_MODE_FULLVIEW, service,
- &cbs);
- service_destroy(service);
-
- if (NULL == ug)
- {
- free(priv_data);
- ERR("%s ug_create fail", UG_CONTACTS_DETAILS);
- }
- return ug;
-}
-
-ui_gadget_h phone_launch_contact_add_list_edit_ug(ui_gadget_h parent_ug, char *data,
- void (*destroy_cb)(void *), void *cb_param)
-{
- PH_TRACE;
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- struct ug_cbs cbs = { 0 };
- struct ug_priv_data *priv_data;
- ui_gadget_h ug;
- service_h service;
-
- priv_data = (ug_priv_data *) calloc(1, sizeof(struct ug_priv_data));
- p_retvm_if(NULL == priv_data, NULL, "calloc is failed");
- priv_data->destroy_cb = destroy_cb;
- priv_data->cb_param = cb_param;
-
- service_create(&service);
-
- snprintf(buf, sizeof(buf), "%d", CT_UG_REQUEST_UPDATE_WITH_NUM);
- service_add_extra_data(service, CT_UG_BUNDLE_TYPE, buf);
- snprintf(buf, sizeof(buf), "%s", data);
- service_add_extra_data(service, CT_UG_BUNDLE_NUM, buf);
- PH_DBG("number %s", buf);
-
- cbs.priv = priv_data;
- cbs.layout_cb = ug_common_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = ug_common_destroy_cb;
-
- ug = ug_create((ui_gadget_h) parent_ug, UG_CONTACTS_LIST, UG_MODE_FULLVIEW, service,
- &cbs);
- service_destroy(service);
- if (NULL == ug)
- {
- free(priv_data);
- ERR("%s ug_create fail", UG_CONTACTS_LIST);
- }
- return ug;
-}
-
-ui_gadget_h phone_launch_contact_edit_ug(ui_gadget_h parent_ug, int data,
- void (*destroy_cb)(void *), void *cb_param)
-{
- PH_TRACE;
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- struct ug_cbs cbs = { 0 };
- service_h service;
-
- struct ug_priv_data *priv_data = (ug_priv_data *) calloc(1, sizeof(struct ug_priv_data));
- p_retvm_if(NULL == priv_data, NULL, "calloc is failed");
- priv_data->destroy_cb = destroy_cb;
- priv_data->cb_param = cb_param;
-
- service_create(&service);
-
- snprintf(buf, PH_TEXT_MAX_LEN, "%d", CT_UG_REQUEST_EDIT);
- service_add_extra_data(service, CT_UG_BUNDLE_TYPE, buf);
- snprintf(buf, PH_TEXT_MAX_LEN, "%d", data);
- service_add_extra_data(service, CT_UG_BUNDLE_ID, buf);
-
- cbs.priv = priv_data;
- cbs.layout_cb = ug_common_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = ug_common_destroy_cb;
-
- ui_gadget_h ug = ug_create((ui_gadget_h) parent_ug, UG_CONTACTS_DETAILS, UG_MODE_FULLVIEW, service,
- &cbs);
- service_destroy(service);
- if (NULL == ug)
- {
- free(priv_data);
- ERR("%s ug_create fail", UG_CONTACTS_DETAILS);
- }
- return ug;
-}
-
-ui_gadget_h phone_launch_bluetooth_ug(ui_gadget_h parent_ug, const char *attach,
- void (*destroy_cb)(void *), void *cb_param)
-{
- PH_TRACE;
- service_h service;
- struct ug_cbs cbs = { 0 };
-
- struct ug_priv_data *priv_data = (ug_priv_data *) calloc(1, sizeof(struct ug_priv_data));
- p_retvm_if(NULL == priv_data, NULL, "calloc is failed");
- priv_data->destroy_cb = destroy_cb;
- priv_data->cb_param = cb_param;
-
- service_create(&service);
- service_add_extra_data(service, LAUNCH_TYPE, SEND);
- service_add_extra_data_array(service, FILES, &attach, FILECOUNT);
-
- cbs.priv = priv_data;
- cbs.layout_cb = ug_common_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = ug_common_destroy_cb;
-
- ui_gadget_h ug = ug_create((ui_gadget_h) parent_ug, BLUETOOTH_UG,
- UG_MODE_FULLVIEW, service, &cbs);
-
- service_destroy(service);
- if (NULL == ug)
- {
- free(priv_data);
- ERR("%s ug_create fail", UG_CONTACTS_DETAILS);
- }
- return ug;
-}
-
-static void ug_contact_list_result_cb(ui_gadget_h ug, service_h service,
- void *priv)
-{
- PH_TRACE;
- char *temp_p = NULL;
- struct ug_priv_data *priv_data = (ug_priv_data *) priv;
- int id;
- p_retm_if(NULL == priv, "private data is NULL");
-
- service_get_extra_data(service, "id", &temp_p);
- id = atoi(temp_p);
- free(temp_p);
- if (priv_data->result_cb)
- priv_data->result_cb(priv_data->cb_param, (void*) &id);
-}
-
-ui_gadget_h phone_launch_contact_list_ug(ui_gadget_h parent_ug, int request,
- void (*result_cb)(void*, void*), void (*destroy_cb)(void*),
- void*cb_param)
-{
- PH_TRACE;
- char ug_request[PH_TEXT_MAX_LEN] = { 0 };
- struct ug_priv_data *priv_data;
- ui_gadget_h ug;
- struct ug_cbs cbs = { 0 };
- service_h service;
-
- priv_data = (ug_priv_data *) calloc(1, sizeof(struct ug_priv_data));
- p_retvm_if(NULL == priv_data, NULL, "calloc is failed");
- priv_data->destroy_cb = destroy_cb;
- priv_data->result_cb = result_cb;
- priv_data->cb_param = cb_param;
-
- service_create(&service);
-
- snprintf(ug_request, sizeof(ug_request), "%d", request);
- service_add_extra_data(service, CT_UG_BUNDLE_TYPE, ug_request);
-
- cbs.priv = priv_data;
- cbs.layout_cb = ug_common_layout_cb;
- cbs.destroy_cb = ug_common_destroy_cb;
- cbs.result_cb = ug_contact_list_result_cb;
-
- ug = ug_create((ui_gadget_h) parent_ug, UG_CONTACTS_LIST, UG_MODE_FULLVIEW, service,
- &cbs);
- service_destroy(service);
- if (NULL == ug)
- {
- free(priv_data);
- ERR("%s ug_create fail", UG_CONTACTS_LIST);
- }
- return ug;
-}
-
-Evas_Object* phone_create_list_sweep_btn(Evas_Object *parent, const char *fullpath)
-{
- PH_TRACE;
- Evas_Object *btn;
- Evas_Object *icon;
-
- btn = elm_button_add(parent);
- p_retvm_if(NULL == btn, NULL, "elm_button_add() return NULL");
-
- icon = elm_icon_add(btn);
- p_retvm_if(NULL == icon, NULL, "phone_create_icon_with_img() return NULL");
-
- elm_image_file_set(icon, fullpath, NULL);
- elm_image_resizable_set(icon, EINA_FALSE, EINA_FALSE);
- elm_object_part_content_set(btn, "icon", icon);
-
- return btn;
-}
-
-void phone_resize_notify(Evas_Object *parent, int rotate)
-{
- PH_TRACE;
- Evas_Object *notify;
- Evas_Object *layout;
- const char *msg;
- p_retm_if(NULL == parent, "parent is NULL");
- notify = phone_get_notify(parent);
- layout = elm_object_content_get(notify);
- msg = edje_object_part_text_get(_EDJ(layout), "elm.text");
-
- elm_layout_theme_set(layout, "standard", "selectioninfo", "center_text");
-
- if (msg && *msg)
- edje_object_part_text_set(_EDJ(layout), "elm.text", msg);
-}
-
-Evas_Object * phone_get_notify(Evas_Object *parent)
-{
- PH_TRACE;
- Evas_Object *notify;
-
- notify = (Evas_Object *) evas_object_data_get(parent, "notify");
- if (NULL == notify)
- {
- Evas_Object *info_layout;
- notify = phone_create_base_layout(parent, false);
- elm_object_part_content_set(parent, "selectioninfo", notify);
- info_layout = elm_layout_add(parent);
- elm_object_part_content_set(notify, "elm.swallow.content", info_layout);
- elm_layout_theme_set(info_layout, "standard", "selectioninfo",
- "center_text");
- evas_object_data_set(parent, "notify", notify);
- }
- evas_object_show(notify);
- return notify;
-}
-
-void phone_show_tickernoti(const char *msg)
-{
- PH_TRACE;
- int err = notification_status_message_post(msg);
- p_retm_if(NOTIFICATION_ERROR_NONE != err,
- "notification_status_message_post is failed");
-}
-
-void phone_show_notify(Evas_Object *parent, const char *msg)
-{
- PH_TRACE;
- Evas_Object *selectioninfo;
- Evas_Object *notify;
-
- notify = phone_get_notify(parent);
- selectioninfo = elm_object_part_content_get(notify, "elm.swallow.content");
- elm_object_part_text_set(selectioninfo, "elm.text", msg);
- elm_object_signal_emit(parent, "show,selection,info", "elm");
- evas_object_show(selectioninfo);
-}
-
-void phone_hide_notify(Evas_Object *parent)
-{
- PH_TRACE;
- Evas_Object *selectioninfo;
- Evas_Object *notify;
-
- notify = (Evas_Object *) evas_object_data_get(parent, "notify");
- selectioninfo = elm_object_part_content_get(notify, "elm.swallow.content");
- elm_object_signal_emit(parent, "hide,selection,info", "elm");
- evas_object_hide(notify);
- evas_object_hide(selectioninfo);
-}
-
-static void popup_cancel_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- Evas_Object **popup = (Evas_Object **) data;
- evas_object_del(*popup);
- *popup = NULL;
-}
-void ctui_detail_data_popup_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- if(cdetail_d && cdetail_d->popup)
- {
- evas_object_del(cdetail_d->popup);
- cdetail_d->popup = NULL;
- }
-}
-
-void ctui_input_data_popup_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- if(cinput_d && cinput_d->popup)
- {
- evas_object_del(cinput_d->popup);
- cinput_d->popup = NULL;
- }
-}
-
-Evas_Object *phone_show_popup(Evas_Object *parent, const char *desc,
- double timeout)
-{
- PH_TRACE;
- Evas_Object *popup;
-
- popup = (Evas_Object *) evas_object_data_get(parent, "popup");
- if (NULL == popup)
- {
- popup = elm_popup_add(parent);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_smart_callback_add(popup, "block,clicked",
- ctui_input_data_popup_hide_cb, NULL);
- evas_object_show(popup);
- }
- elm_object_text_set(popup, desc);
- elm_popup_timeout_set(popup, timeout);
- return popup;
-}
-
-Evas_Object* phone_create_confirm_popup(Evas_Object **popup, Evas_Object *win,
- const char* description,
- void (*btn_clicked_cb)(void *, Evas_Object *, void *), void *cb_data)
-{
- PH_TRACE;
- Evas_Object *btn1, *btn2;
- *popup = elm_popup_add(win);
- evas_object_size_hint_weight_set(*popup, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_object_text_set(*popup, description);
-
- btn1 = elm_button_add(*popup);
- elm_object_text_set(btn1, S_(PH_SYS_SK_YES));
- elm_object_part_content_set(*popup, "button1", btn1);
- elm_object_style_set(btn1, "popup_button/default");
- evas_object_smart_callback_add(btn1, "clicked", btn_clicked_cb, cb_data);
-
- btn2 = elm_button_add(*popup);
- elm_object_text_set(btn2, S_(PH_SYS_SK_NO));
- elm_object_part_content_set(*popup, "button2", btn2);
- elm_object_style_set(btn2, "popup_button/default");
- evas_object_smart_callback_add(btn2, "clicked", popup_cancel_btn_cb,
- &(*popup));
-
- evas_object_show(*popup);
-
- return btn1;
-}
-
-void phone_launch_voice_call(const int person_id, const char* number)
-{
- PH_TRACE;
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- service_h service;
- int ret;
-
- ret = service_create(&service);
- p_retm_if(SERVICE_ERROR_NONE != ret, "service_create() Failed(%d)", ret);
-
- service_set_operation(service, SERVICE_OPERATION_CALL);
- snprintf(buf, sizeof(buf), "tel:%s", number);
- service_set_uri(service, buf);
- service_set_app_id(service, CALL_APP);
-
- if (0 < person_id)
- {
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- snprintf(buf, sizeof(buf), "%d", person_id);
- service_add_extra_data(service, "ctindex", buf);
-
- }
- ret = service_send_launch_request(service, NULL, NULL);
- if(ret != SERVICE_ERROR_NONE)
- {
- ERR("service_send_launch_request failed: %x", ret);
- }
- service_destroy(service);
-}
-
-ui_gadget_h phone_launch_settings_ug(ui_gadget_h parent_ug, const char* ug_name,
- void (*destroy_cb)(void*), void *cb_param)
-{
- PH_TRACE;
- ug_priv_data *priv_data = static_cast<ug_priv_data *>(calloc(1, sizeof(struct ug_priv_data)));
- check_if(!priv_data, return NULL);
-
- priv_data->destroy_cb = destroy_cb;
- priv_data->cb_param = cb_param;
-
- service_h service;
- int result = service_create(&service);
-
- if(SERVICE_ERROR_NONE != result)
- {
- free(priv_data);
- ERR("service_create failed");
- return NULL;
- }
-
- ug_cbs cbs = { 0 };
- cbs.priv = priv_data;
- cbs.layout_cb = ug_common_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = ug_common_destroy_cb;
-
- ui_gadget_h ug = ug_create(parent_ug, ug_name, UG_MODE_FULLVIEW, service, &cbs);
-
- service_destroy(service);
-
- if (NULL == ug)
- {
- free(priv_data);
- ERR("%s ug_create fail", CALL_SETTINGS_UG);
- }
-
- return ug;
-}
-
-Evas_Object* phone_create_base_layout(Evas_Object *parent, bool is_fullview)
-{
- PH_TRACE;
- Evas_Object *base;
-
- base = elm_layout_add(parent);
- p_retvm_if(NULL == base, NULL, "elm_layout_add() Failed");
- if (is_fullview)
- elm_layout_theme_set(base, "layout", "application", "default");
- else
- elm_layout_theme_set(base, "layout", "application", "noindicator");
- evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- return base;
-}
-
-Evas_Object* phone_create_bg(Evas_Object *parent)
-{
- PH_TRACE;
- Evas_Object *bg;
-
- bg = elm_bg_add(parent);
- p_retvm_if(NULL == bg, NULL, "elm_bg_add() return NULL");
-
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_content_set(parent, "elm.swallow.bg", bg);
-
- return bg;
-}
-
-Evas_Object* phone_progressbar_popup(Evas_Object *parent,
- ph_progress_info *p_info, const char *title)
-{
- PH_TRACE;
- Evas_Object *popup;
- Evas_Object *layout;
- Evas_Object *label;
- Evas_Object *progressbar;
- Evas_Object *btn;
-
- popup = elm_popup_add(parent);
- p_retvm_if(NULL == popup, NULL, "elm_popup_add() return NULL");
-
- layout = elm_layout_add(popup);
- p_retvm_if(NULL == layout, NULL, "elm_layout_add() return NULL");
- elm_layout_file_set(layout, PROGRESS_EDJ, "popup_center_text_progressview");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- p_info->layout = layout;
-
- label = elm_label_add(popup);
- p_retvm_if(NULL == label, NULL, "elm_label_add() return NULL");
- elm_object_style_set(label, "popup/progressview");
- elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
- elm_object_text_set(label, title);
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(label);
-
- progressbar = elm_progressbar_add(popup);
- p_retvm_if(NULL == progressbar, NULL, "elm_progressbar_add() return NULL");
- p_info->progressbar = progressbar;
-
- if (0 < p_info->cnt_checked_total)
- {
- elm_object_style_set(progressbar, "list_progress");
- elm_progressbar_value_set(progressbar, 0.0);
- }
- else
- {
- elm_object_style_set(progressbar, "pending_list");
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- }
-
- evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_show(progressbar);
-
- elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
- elm_object_part_content_set(layout, "elm.swallow.content", label);
- elm_object_part_content_set(layout, "elm.swallow.end", progressbar);
- evas_object_show(layout);
- elm_object_content_set(popup, layout);
-
- if (false == p_info->without_cancel_btn)
- {
- btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_SK_CANCEL));
- elm_object_part_content_set(popup, "button1", btn);
- elm_object_style_set(btn, "popup_button/default");
- evas_object_smart_callback_add(btn, "clicked", progress_popup_cancel_cb,
- &p_info->alive);
- }
- evas_object_show(popup);
- return popup;
-}
-
-void phone_navi_item_reset(Elm_Object_Item *item, void *data)
-{
- PH_TRACE;
- assert(item);
- Common::View *view = static_cast<Common::View *>(data);
-
- if (item && view)
- {
- elm_object_item_data_set(item, view);
- view->back_cb = NULL;
- view->menu_cb = NULL;
- }
-}
-
-Evas_Object *phone_create_icon_with_img(Evas_Object *parent, const char *full_path)
-{
- PH_TRACE;
- Evas_Object *ic = elm_icon_add(parent);
- p_retvm_if(NULL == ic, NULL, "elm_icon_add() return NULL");
- elm_image_file_set(ic, full_path, NULL);
- elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE);
- evas_object_image_smooth_scale_set(ic, EINA_FALSE);
- return ic;
-}
-
-contacts_error_e phone_cts_get_list(const char *view_uri, int property_id,
- int match_value, contacts_list_h *out_list)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_filter_h filter = NULL;
- contacts_query_h query = NULL;
-
- p_retvm_if(NULL == out_list, CONTACTS_ERROR_INVALID_PARAMETER,
- "parameter(out_list) is NULL");
-
- unsigned int person_grouprel_projection[] = {
- _contacts_person_grouprel.person_id,
- _contacts_person_grouprel.status,
- _contacts_person_grouprel.display_name,
- _contacts_person_grouprel.display_name_index,
- _contacts_person_grouprel.addressbook_ids,
- _contacts_person_grouprel.image_thumbnail_path,
- _contacts_person_grouprel.link_count, };
-
- err = (contacts_error_e) contacts_filter_create(view_uri, &filter);
- p_retvm_if(CONTACTS_ERROR_NONE != err, err,
- "contactcs_filter_create() Failed(%d)", err);
-
- do
- {
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_int(filter, property_id,
- CONTACTS_MATCH_EQUAL, match_value)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_create(view_uri, &query)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_filter(query, filter)))
- break;
-
- if (0 == strcmp(view_uri, _contacts_person_grouprel._uri))
- {
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_distinct(query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_query_set_projection(query,
- person_grouprel_projection,
- sizeof(person_grouprel_projection) / sizeof(int))))
- break;
- }
-
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_db_get_records_with_query(query, 0, 0,
- out_list)))
- break;
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- return CONTACTS_ERROR_NONE;
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)",
- err);
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- return err;
-}
-
-void phone_cts_free_list(contacts_list_h list)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- err = (contacts_error_e) contacts_list_destroy(list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)",
- err);
-}
-
-contacts_error_e phone_cts_get_int_from_list(contacts_list_h list,
- int property_id, int *out_int)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- p_retvm_if(NULL == out_int, CONTACTS_ERROR_INVALID_PARAMETER,
- "parameter(out_int) is NULL");
- p_retvm_if(NULL == list, CONTACTS_ERROR_INVALID_PARAMETER,
- "parameter(list) is NULL");
-
- err = (contacts_error_e) contacts_list_get_current_record_p(list, &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- return err;
- }
-
- err = (contacts_error_e) contacts_record_get_int(record, property_id, out_int);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- return err;
- }
-
- return CONTACTS_ERROR_NONE;
-}
-
-contacts_error_e phone_cts_get_str_from_list(contacts_list_h list,
- int property_id, char **out_str)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- p_retvm_if(NULL == out_str, CONTACTS_ERROR_INVALID_PARAMETER,
- "parameter(out_int) is NULL");
- p_retvm_if(NULL == list, CONTACTS_ERROR_INVALID_PARAMETER,
- "parameter(list) is NULL");
-
- err = (contacts_error_e) contacts_list_get_current_record_p(list, &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- return err;
- }
-
- err = (contacts_error_e) contacts_record_get_str(record, property_id, out_str);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_str() Failed(%d)", err);
- return err;
- }
-
- return CONTACTS_ERROR_NONE;
-}
-
-contacts_error_e phone_cts_get_bool_from_list(contacts_list_h list,
- int property_id, bool *out_bool)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- p_retvm_if(NULL == out_bool, CONTACTS_ERROR_INVALID_PARAMETER,
- "parameter(out_bool) is NULL");
- p_retvm_if(NULL == list, CONTACTS_ERROR_INVALID_PARAMETER,
- "parameter(list) is NULL");
-
- err = (contacts_error_e) contacts_list_get_current_record_p(list, &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- return err;
- }
-
- err = (contacts_error_e) contacts_record_get_bool(record, property_id, out_bool);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_bool() Failed(%d)", err);
- return err;
- }
-
- return CONTACTS_ERROR_NONE;
-}
-
-char* ctui_get_addressbook_icon_path(int addressbook_id)
-{
- PH_TRACE;
- int ret;
- int account_id;
- char *icon_path;
- char *addressbook_name = NULL;
- account_h account;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- err = (contacts_error_e) contacts_db_get_record(_contacts_address_book._uri, addressbook_id,
- &record);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "phone_cts_get_list() Failed(%d)", err);
-
- err = (contacts_error_e) contacts_record_get_int(record, _contacts_address_book.account_id,
- &account_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- err = (contacts_error_e) contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- return NULL;
- }
- err = (contacts_error_e) contacts_record_get_str_p(record, _contacts_address_book.name,
- &addressbook_name);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- err = (contacts_error_e) contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- return NULL;
- }
-
- if (0 == account_id)
- {
- return SAFE_STRDUP(CTUI_IMG_ACC_PHONE);
- }
-
- ret = account_connect();
- p_retvm_if(ACCOUNT_ERROR_NONE != ret, NULL, "account_connect() Failed(%d)",
- ret);
-
- account = NULL;
- ret = account_create(&account);
- p_retvm_if(ACCOUNT_ERROR_NONE != ret, false, "account_create() Failed(%d)",
- ret);
-
- ret = account_query_account_by_account_id(account_id, &account);
- if (ACCOUNT_ERROR_NONE != ret)
- {
- ERR("account_query_account_by_account_id() Failed(%d)", ret);
- account_destroy(account);
- account_disconnect();
- return NULL;
- }
- p_retvm_if(ACCOUNT_ERROR_NONE != ret, NULL,
- "account_query_account_by_account_id() Failed(%d)", ret);
-
- ret = account_get_icon_path(account, &icon_path);
- if (ACCOUNT_ERROR_NONE != ret)
- {
- ERR("account_get_icon_path() Failed(%d)", ret);
- account_destroy(account);
- account_disconnect();
- return NULL;
- }
- account_destroy(account);
- account_disconnect();
-
- return icon_path;
-}
-
-Evas_Object* phone_create_navi_btn(Evas_Object *parent, const char *style)
-{
- PH_TRACE;
- Evas_Object *btn;
-
- btn = elm_button_add(parent);
- elm_object_style_set(btn, style);
- evas_object_show(btn);
-
- return btn;
-}
-
-void phone_set_view_info(ph_view_info *view_info, Evas_Object *win,
- Evas_Object *navi, void *ug, int ug_request, int cnt_max, char *ug_data)
-{
- PH_TRACE;
- view_info->win = win;
- view_info->navi = navi;
- view_info->ug = (ui_gadget_h) ug;
- view_info->ug_request = ug_request;
- view_info->ug_cnt_max = cnt_max;
- view_info->ug_data = ug_data;
-}
-
-void phone_list_ug_return_ids(ui_gadget_h ug, int *result_list, int cnt,
- const char *bd_key)
-{
- PH_TRACE;
- gchar *encoded_str;
- service_h service;
-
- service_create(&service);
-
- if (result_list)
- {
- encoded_str = g_base64_encode((guchar *) result_list,
- cnt * sizeof(int));
- service_add_extra_data(service, bd_key, encoded_str);
- g_free(encoded_str);
- }
-
- ug_send_result(ug, service);
-
- service_destroy(service);
-}
-
-void phone_list_ug_return_values(service_h service, int *result_list, int cnt,
- const char *result_type)
-{
- PH_TRACE;
- service_h reply;
- int ct_ret;
- int i = 0, j = 0;
- char **result_array = NULL;
- service_result_e result = SERVICE_RESULT_SUCCEEDED;
-
- p_retm_if(result_list == NULL || cnt < 1 || result_type == NULL,
- "invalid input param");
-
- service_create(&reply);
- result_array = (char **) calloc(cnt, sizeof(char *));
-
- if (strcmp(CT_OPERATION_RESULT_TYPE_PHONE, result_type) == 0)
- {
- for (i = 0; i < cnt; i++)
- {
- contacts_record_h number_record = NULL;
- char *number = NULL;
- ct_ret = contacts_db_get_record(_contacts_number._uri,
- result_list[i], &number_record);
- if (ct_ret != CONTACTS_ERROR_NONE)
- {
- ERR("contacts_db_get_record number failed id %d",
- result_list[i]);
- continue;
- }
-
- contacts_record_get_str_p(number_record, _contacts_number.number,
- &number);
- result_array[i] = strdup(number);
- PH_DBG("number %s", result_array[i]);
- contacts_record_destroy(number_record, TRUE);
- }
-
- service_add_extra_data_array(reply, CT_OPERATION_PHONE,
- (const char **) result_array, cnt);
- }
- else if (strcmp(CT_OPERATION_RESULT_TYPE_EMAIL, result_type) == 0)
- {
- for (i = 0; i < cnt; i++)
- {
- contacts_record_h email_record = NULL;
- char *email = NULL;
- ct_ret = contacts_db_get_record(_contacts_email._uri,
- result_list[i], &email_record);
- if (ct_ret != CONTACTS_ERROR_NONE)
- {
- ERR("contacts_db_get_record email faile id %d", result_list[i]);
- continue;
- }
-
- contacts_record_get_str_p(email_record, _contacts_email.email,
- &email);
- result_array[i] = strdup(email);
- PH_DBG("email %s", result_array[i]);
- contacts_record_destroy(email_record, TRUE);
- }
-
- service_add_extra_data_array(reply, CT_OPERATION_EMAIL,
- (const char **) result_array, cnt);
-
- }
- else if (strcmp(CT_OPERATION_RESULT_TYPE_ITEM_ID, result_type) == 0)
- {
- for (i = 0; i < cnt; i++)
- {
- char buf[4];
- snprintf(buf, sizeof(buf), "%d", result_list[i]);
- result_array[i] = strdup(buf);
- PH_DBG("person id %s", result_array[i]);
- }
-
- service_add_extra_data_array(reply, CT_OPERATION_ITEM_ID,
- (const char **) result_array, cnt);
-
- }
- else
- {
- ERR("wrong result type %s", result_type);
- result = SERVICE_RESULT_FAILED;
- }
-
- service_reply_to_launch_request(reply, service, result);
- service_destroy(reply);
-
- for (j = 0; j < i; j++)
- {
- free(result_array[j]);
- }
- free(result_array);
-}
-
-void phone_service_reply_simple(service_h service, service_result_e result)
-{
- PH_TRACE;
- service_h reply;
- service_create(&reply);
- service_reply_to_launch_request(reply, service, result);
- service_destroy(reply);
-}
-
-void phone_list_ug_return_number_email_ids(ui_gadget_h ug,
- int *result_number_list, int number_list_count, int *result_email_list,
- int email_list_count)
-{
- PH_TRACE;
- gchar *encoded_str;
- service_h service;
- service_create(&service);
-
- if (result_number_list && number_list_count)
- {
- encoded_str = g_base64_encode((guchar *) result_number_list,
- number_list_count * sizeof(int));
- service_add_extra_data(service, CT_UG_BUNDLE_RESULT_NUMBER_ID_LIST,
- encoded_str);
- g_free(encoded_str);
- }
-
- if (result_email_list && email_list_count)
- {
- encoded_str = g_base64_encode((guchar *) result_email_list,
- email_list_count * sizeof(int));
- service_add_extra_data(service, CT_UG_BUNDLE_RESULT_EMAIL_ID_LIST,
- encoded_str);
- g_free(encoded_str);
- }
-
- ug_send_result(ug, service);
- service_destroy(service);
-}
-
-#define CT_UG_BUNDLE_RESULT_ID "id"
-#define CT_UG_BUNDLE_RESULT_VCARD "vcard"
-
-void phone_ug_return_id(ui_gadget_h ug, int ct_id, int num_id, int email_id)
-{
- PH_TRACE;
- service_h service;
- char buf[16];
-
- service_create(&service);
-
- if (ct_id)
- {
- snprintf(buf, sizeof(buf), "%d", ct_id);
- service_add_extra_data(service, CT_UG_BUNDLE_RESULT_ID, buf);
- service_add_extra_data(service, CT_UG_BUNDLE_RESULT_PERSON_ID, buf);
- }
-
- if (num_id)
- {
- snprintf(buf, sizeof(buf), "%d", num_id);
- service_remove_extra_data(service, CT_UG_BUNDLE_RESULT_ID);
- service_add_extra_data(service, CT_UG_BUNDLE_RESULT_ID, buf);
- service_add_extra_data(service, CT_UG_BUNDLE_RESULT_NUMBER_ID, buf);
- }
-
- if (email_id)
- {
- snprintf(buf, sizeof(buf), "%d", email_id);
- service_remove_extra_data(service, CT_UG_BUNDLE_RESULT_ID);
- service_add_extra_data(service, CT_UG_BUNDLE_RESULT_ID, buf);
- service_add_extra_data(service, CT_UG_BUNDLE_RESULT_EMAIL_ID, buf);
- }
-
- PH_DBG("ct_id =%d, num_id=%d,email_id=%d", ct_id, num_id, email_id);
- ug_send_result(ug, service);
-
- service_destroy(service);
-}
-
-void phone_ug_return_value(service_h service, int person_id, int num_id,
- int email_id, int result_id)
-{
- PH_TRACE;
- service_h reply;
- char buf[16];
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h number_record = NULL;
- contacts_record_h email_record = NULL;
-
- service_create(&reply);
-
- if (person_id)
- {
- char **result_array = NULL;
- result_array = (char **) calloc(1, sizeof(char *));
-
- snprintf(buf, sizeof(buf), "%d", person_id);
- PH_DBG("person id %s", buf);
-
- result_array[0] = strdup(buf);
- service_add_extra_data_array(reply, CT_OPERATION_ITEM_ID,
- (const char **) result_array, 1);
-
- service_reply_to_launch_request(reply, service,
- SERVICE_RESULT_SUCCEEDED);
-
- service_destroy(reply);
-
- free(result_array[0]);
- free(result_array);
-
- return;
- }
-
- if (num_id)
- {
- const char *number = NULL;
- char **result_array = NULL;
- result_array = (char **) calloc(1, sizeof(char *));
-
- err = (contacts_error_e) contacts_db_get_record(_contacts_number._uri, num_id,
- &number_record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
-
- err = (contacts_error_e) contacts_record_get_str_p(number_record, _contacts_number.number,
- (char**) &number);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- PH_DBG("number=%d", number);
-
- result_array[0] = strdup(number);
- service_add_extra_data_array(reply, CT_OPERATION_RESULT_TYPE_PHONE,
- (const char **) result_array, 1);
-
- service_reply_to_launch_request(reply, service,
- SERVICE_RESULT_SUCCEEDED);
-
- err = (contacts_error_e) contacts_record_destroy(number_record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- service_destroy(reply);
-
- free(result_array[0]);
- free(result_array);
-
- return;
- }
-
- if (email_id)
- {
- const char *email = NULL;
- char **result_array = NULL;
- result_array = (char **) calloc(1, sizeof(char *));
-
- err = (contacts_error_e) contacts_db_get_record(_contacts_email._uri, email_id,
- &email_record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
-
- err = (contacts_error_e) contacts_record_get_str_p(email_record, _contacts_email.email,
- (char**) &email);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- PH_DBG("email=%d", email);
-
- result_array[0] = strdup(email);
- service_add_extra_data_array(reply, CT_OPERATION_RESULT_TYPE_EMAIL,
- (const char **) result_array, 1);
-
- service_reply_to_launch_request(reply, service,
- SERVICE_RESULT_SUCCEEDED);
-
- err = (contacts_error_e) contacts_record_destroy(email_record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- service_destroy(reply);
-
- free(result_array[0]);
- free(result_array);
-
- return;
- }
-
- if (result_id)
- {
- snprintf(buf, sizeof(buf), "%d", person_id);
- PH_DBG("person id %s", buf);
-
- service_add_extra_data(reply, CT_OPERATION_ITEM_ID, buf);
-
- service_reply_to_launch_request(reply, service,
- SERVICE_RESULT_SUCCEEDED);
-
- service_destroy(reply);
-
- return;
- }
-
-}
-
-void phone_ug_operation_return_vcard(service_h service, int ct_id, char *vcard)
-{
- PH_TRACE;
- service_h reply;
-
- service_create(&reply);
-
- if (vcard)
- {
- service_add_extra_data(reply, CT_OPERATION_PATH, vcard);
- }
-
- service_reply_to_launch_request(reply, service, SERVICE_RESULT_SUCCEEDED);
-
- service_destroy(reply);
-}
-
-void phone_ug_return_vcard(ui_gadget_h ug, int ct_id, char *vcard)
-{
- PH_TRACE;
- service_h service;
- char buf[16];
-
- service_create(&service);
-
- if (ct_id)
- {
- snprintf(buf, sizeof(buf), "%d", ct_id);
- service_add_extra_data(service, CT_UG_BUNDLE_RESULT_ID, buf);
- }
-
- if (vcard)
- {
- service_add_extra_data(service, CT_UG_BUNDLE_RESULT_VCARD, vcard);
- }
-
- ug_send_result(ug, service);
-
- service_destroy(service);
-}
-
-static void editfield_exceed_string_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- phone_show_tickernoti(T_(CT_GET_TEXT_ERR, CTTEXT_EXCEED_LIMIT));
-}
-
-static void editfield_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit((Evas_Object *) data, "elm,state,guidetext,hide", "elm");
-
- if (elm_object_focus_get((Evas_Object *) data))
- {
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit((Evas_Object *) data, "elm,state,eraser,hide", "elm");
- else
- elm_object_signal_emit((Evas_Object *) data, "elm,state,eraser,show", "elm");
- }
-}
-static void editfield_focused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- if (!elm_entry_is_empty(obj))
- elm_object_signal_emit((Evas_Object *) data, "elm,state,eraser,show", "elm");
- elm_object_signal_emit((Evas_Object *) data, "elm,state,guidetext,hide", "elm");
-}
-
-static void editfield_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- if (elm_entry_is_empty(obj))
- elm_object_signal_emit((Evas_Object *) data, "elm,state,guidetext,show", "elm");
- elm_object_signal_emit((Evas_Object *) data, "elm,state,eraser,hide", "elm");
-}
-
-static void editfield_eraser_clicked_cb(void *data, Evas_Object *obj,
- const char *emission, const char *source)
-{
- PH_TRACE;
- elm_entry_entry_set((Evas_Object *) data, "");
-}
-
-Evas_Object* ctui_create_editfield(Evas_Object *parent, const char *title,
- const char *guide, bool multiline)
-{
- PH_TRACE;
- Evas_Object *layout, *entry;
-
- layout = elm_layout_add(parent);
- if (title && *title)
- {
- elm_layout_theme_set(layout, "layout", "editfield", "title");
- elm_object_part_text_set(layout, "elm.text", title);
- }
- else
- elm_layout_theme_set(layout, "layout", "editfield", "default");
-
- if (guide && *guide)
- elm_object_part_text_set(layout, "elm.guidetext", guide);
-
- entry = elm_entry_add(parent);
- if (!multiline)
- {
- elm_entry_scrollable_set(entry, EINA_TRUE);
- elm_entry_single_line_set(entry, EINA_TRUE);
- }
- ctui_entry_limit_size_set(entry);
- elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
- evas_object_smart_callback_add(entry, "changed", editfield_changed_cb,
- layout);
- evas_object_smart_callback_add(entry, "preedit,changed",
- editfield_changed_cb, layout);
- evas_object_smart_callback_add(entry, "focused", editfield_focused_cb,
- layout);
- evas_object_smart_callback_add(entry, "unfocused", editfield_unfocused_cb,
- layout);
- evas_object_smart_callback_add(entry, "maxlength,reached",
- editfield_exceed_string_cb, layout);
- elm_object_part_content_set(layout, "elm.swallow.content", entry);
- elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm",
- editfield_eraser_clicked_cb, entry);
- return layout;
-}
-
-// This function is used in Contact view, Group view
-ui_gadget_h ctui_account_ug(void *data, Evas_Object *obj, void *event_info,
- void (*destroy_cb)(void*), void *cb_param)
-{
- PH_TRACE;
- struct ug_cbs cbs = { 0 };
- ui_gadget_h ug;
- service_h service;
- struct ug_priv_data *priv_data;
-
- priv_data = (ug_priv_data *) calloc(1, sizeof(struct ug_priv_data));
- p_retvm_if(NULL == priv_data, NULL, "calloc is failed");
- priv_data->destroy_cb = destroy_cb;
- priv_data->cb_param = cb_param;
-
- service_create(&service);
- service_add_extra_data(service, "mode", "account_list");
- service_add_extra_data(service, "capability_filter",
- ACCOUNT_SUPPORTS_CAPABILITY_CONTACT);
-
- cbs.layout_cb = ug_common_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = ug_common_destroy_cb;
- cbs.priv = priv_data;
-
- ug = ug_create((ui_gadget_h) data, ACCOUNT_UG, UG_MODE_FULLVIEW, service, &cbs);
- p_warn_if(NULL == ug, "ug_create() Failed");
-
- service_destroy(service);
- return ug;
-}
-
-Evas_Object* phone_create_nocontents(Evas_Object *parent, const char* label)
-{
- PH_TRACE;
- Evas_Object *layout;
-
- layout = elm_layout_add(parent);
- p_retvm_if(NULL == layout, NULL, "elm_layout_add() return NULL");
-
- elm_layout_theme_set(layout, "layout", "nocontents", "full");
- elm_object_part_text_set(layout, "elm.text", label);
-
- return layout;
-}
-
-void ctui_genlist_append_separator_20px_with_line(Evas_Object *genlist)
-{
- PH_TRACE;
- static Elm_Genlist_Item_Class itc;
- itc.item_style = "dialogue/separator/21/with_line";
-
- Elm_Object_Item *item;
- item = elm_genlist_item_append(genlist, &itc, NULL, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-}
-
-void ctui_genlist_append_separator_8px_with_line(Evas_Object *genlist)
-{
- static Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
- itc->item_style = "dialogue/separator/2";
- elm_genlist_item_append(genlist, itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-}
-
-void phone_toolbar_disabled_item_append(Evas_Object *toolbar, int cnt)
-{
- PH_TRACE;
- int i;
- Elm_Object_Item * item;
- for (i = 0; i < cnt; i++)
- {
- item = elm_toolbar_item_append(toolbar, NULL, NULL, NULL, NULL);
- elm_object_item_disabled_set(item, EINA_TRUE);
- }
-}
-
-int ctui_get_mfc_option(void)
-{
- PH_TRACE;
- int fd;
- int size;
- char buf[PH_TEXT_SHORT_LEN];
-
- fd = open(SETTING_MFC_PATH, O_RDONLY);
- if (fd < 0)
- {
- ERR("Open(%s) O_RDONLY Failed", SETTING_MFC_PATH);
- fd = open(SETTING_MFC_PATH, O_WRONLY | O_CREAT | O_TRUNC, 0644);
- p_retvm_if(fd < 0, 0, "Open(%s) Failed", SETTING_MFC_PATH);
- if (-1 == write(fd, "0", 1))
- ERR("write()... Failed(%s)", strerror(errno));
- }
- size = read(fd, buf, sizeof(buf));
- close(fd);
- if (0 < size)
- return atoi(buf);
- else
- return 0;
-}
-
-static void genlist_selectall_mouseup_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int x, y, w, h;
- Eina_Bool is_checked;
- Evas_Object *check;
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *) event_info;
- void *cb_data;
- selectall_changed_cb changed_cb = (selectall_changed_cb) data;
-
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
- return;
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- if (ev->output.y < y || y + h < ev->output.y)
- return;
-
- p_retm_if(NULL == changed_cb, "changed_cb is NULL");
-
- check = elm_object_part_content_get(obj, "elm.icon");
- p_retm_if(NULL == check, "elm_object_part_content_get() return NULL");
-
- cb_data = evas_object_data_get(check, "cb_data");
- p_retm_if(NULL == cb_data, "cb_data is NULL");
-
- is_checked = !elm_check_state_get(check);
- elm_check_state_set(check, is_checked);
-
- changed_cb(cb_data, is_checked);
-}
-
-static void genlist_selectall_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Eina_Bool is_checked;
- void *cb_data;
- selectall_changed_cb changed_cb = (selectall_changed_cb) data;
- p_retm_if(NULL == changed_cb, "changed_cb is NULL");
-
- cb_data = evas_object_data_get(obj, "cb_data");
- p_retm_if(NULL == cb_data, "cb_data is NULL");
-
- is_checked = elm_check_state_get(obj);
- changed_cb(cb_data, is_checked);
-}
-
-Evas_Object* phone_create_select_all(Evas_Object *parent,
- const char *selectall_text, selectall_changed_cb changed_cb,
- void *cb_data)
-{
- PH_TRACE;
- Evas_Object *layout;
- Evas_Object *check;
-
- p_retvm_if(NULL == parent, NULL, "parameter(parent) is NULL");
-
- layout = elm_layout_add(parent);
- p_retvm_if(NULL == layout, NULL, "elm_layout_add() return NULL");
- elm_layout_theme_set(layout, "genlist", "item", "select_all/default");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_UP,
- genlist_selectall_mouseup_cb, (const void *) changed_cb);
-
- check = elm_check_add(layout);
- p_retvm_if(NULL == check, NULL, "elm_check_add() return NULL");
- evas_object_propagate_events_set(check, EINA_FALSE);
- elm_object_part_content_set(layout, "elm.icon", check);
- evas_object_smart_callback_add(check, "changed",
- genlist_selectall_changed_cb, (const void *) changed_cb);
- evas_object_data_set(check, "cb_data", cb_data);
-
- elm_object_part_text_set(layout, "elm.text", selectall_text);
- evas_object_show(layout);
-
- return layout;
-}
-
-void phone_move_ctxpopup(Evas_Object *popup, Evas_Object *item)
-{
- PH_TRACE;
- int x, y, w, h;
- int pos_x;
- int pos_y;
- p_retm_if(NULL == popup, "parameter(popup) is NULL");
- p_retm_if(NULL == item, "parameter(item) is NULL");
-
- evas_object_geometry_get(item, &x, &y, &w, &h);
-
- pos_x = x + (Evas_Coord) w / 2;
- pos_y = y + (Evas_Coord) h / 2;
-
- evas_object_move(popup, pos_x, pos_y);
-}
-
-void ctui_get_addressbook_name(int addressbook_id, char *dest, int dest_len)
-{
- PH_TRACE;
- char *display_name = NULL;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- p_retm_if(NULL == dest, "parameter(dest) is NULL");
- dest[0] = '\0';
-
- if (addressbook_id <= 0)
- {
- snprintf(dest, dest_len, "%s", T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE));
- return;
- }
-
- err = (contacts_error_e) contacts_db_get_record(_contacts_address_book._uri,
- addressbook_id, &record);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)",
- err);
-
- err = (contacts_error_e) contacts_record_get_str_p(record,
- _contacts_address_book.name, &display_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (display_name && *display_name)
- snprintf(dest, dest_len, "%s", display_name);
-
- err = (contacts_error_e) contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-}
-
-void ctui_get_account_name_by_address_book_id(int address_book_id, char *dest,
- int dest_len)
-{
- PH_TRACE;
- int ret;
- int account_id;
- char *domain_name;
- account_h account;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- err = (contacts_error_e) contacts_db_get_record(_contacts_address_book._uri,
- address_book_id, &record);
- p_retm_if(CONTACTS_ERROR_NONE != err, "phone_cts_get_list() Failed(%d)",
- err);
-
- err = (contacts_error_e) contacts_record_get_int(record,
- _contacts_address_book.account_id, &account_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- err = (contacts_error_e) contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- return;
- }
-
- err = (contacts_error_e) contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- if (0 == account_id)
- return;
-
- ret = account_connect();
- p_retm_if(ACCOUNT_ERROR_NONE != ret, "account_connect() Failed(%d)", ret);
-
- account = NULL;
- ret = account_create(&account);
- if (ACCOUNT_ERROR_NONE != ret)
- {
- ERR("account_create() Failed(%d)", ret);
- account_disconnect();
- return;
- }
-
- ret = account_query_account_by_account_id(account_id, &account);
- if (ACCOUNT_ERROR_NONE != ret)
- {
- ERR("account_query_account_by_account_id() Failed(%d)", ret);
- account_destroy(account);
- account_disconnect();
- return;
- }
-
- ret = account_get_domain_name(account, &domain_name);
- if (ACCOUNT_ERROR_NONE != ret)
- {
- ERR("account_get_display_name() Failed(%d)", ret);
- account_destroy(account);
- account_disconnect();
- return;
- }
- PH_DBG("domain_name = %s", domain_name);
-
- account_destroy(account);
- account_disconnect();
-
- if (domain_name && *domain_name)
- snprintf(dest, dest_len, "%s", domain_name);
-
- free(domain_name);
-}
-
-// TODO: Fixme
-Eina_List* ctui_person_get_writable_contact_list(int person_id)
-{
- PH_TRACE;
- int addressbook_id;
- int addressbook_mode;
- Eina_List *list_contact_record = NULL;
-
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_list_h list_contact = NULL;
- contacts_record_h record_addressbook = NULL;
- contacts_record_h record_contact = NULL;
- contacts_record_h record_contact_clone = NULL;
-
- p_retvm_if(person_id <= 0, NULL, "Invalid parameter(%d)", person_id);
-
- err = phone_cts_get_list(_contacts_contact._uri,
- _contacts_contact.person_id, person_id, &list_contact);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "phone_cts_get_list() Failed(%d)", err);
-
- while (CONTACTS_ERROR_NONE == err)
- {
- err = phone_cts_get_int_from_list(list_contact,
- _contacts_contact.address_book_id, &addressbook_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_int_from_list() Failed(%d)", err);
- break;
- }
-
- err = (contacts_error_e) contacts_db_get_record(
- _contacts_address_book._uri, addressbook_id,
- &record_addressbook);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_record() Failed(%d)", err);
- break;
- }
-
- err = (contacts_error_e) contacts_record_get_int(record_addressbook,
- _contacts_address_book.mode, &addressbook_mode);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_int_from_list() Failed(%d)", err);
- err = (contacts_error_e) contacts_record_destroy(record_addressbook,
- true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- break;
- }
-
- err = (contacts_error_e) contacts_record_destroy(record_addressbook,
- true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY == addressbook_mode)
- {
- err = (contacts_error_e) contacts_list_next(list_contact);
- continue;
- }
-
- err = (contacts_error_e) contacts_list_get_current_record_p(
- list_contact, &record_contact);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- break;
- }
-
- err = (contacts_error_e) contacts_record_clone(record_contact,
- &record_contact_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_clone() Failed(%d)", err);
- break;
- }
-
- list_contact_record = eina_list_append(list_contact_record,
- record_contact_clone);
-
- err = (contacts_error_e) contacts_list_next(list_contact);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- break;
- }
- }
- phone_cts_free_list(list_contact);
-
- return list_contact_record;
-}
-
-static bool __phone_list_is_email_exist(Eina_List *list, char *email_address)
-{
- PH_TRACE;
- Eina_List *l;
- char *email_address_temp;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- void *v_record_temp = NULL;
-
- EINA_LIST_FOREACH(list, l, v_record_temp)
- {
- contacts_record_h record_temp = (contacts_record_h) v_record_temp;
- if (NULL == record_temp)
- continue;
-
- err = (contacts_error_e) contacts_record_get_str_p(record_temp,
- _contacts_email.email, &email_address_temp);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (NULL == email_address_temp)
- continue;
-
- if (0 == strcmp(email_address_temp, email_address))
- return true;
- }
- return false;
-}
-
-Eina_List* ctui_person_get_email_list(Eina_List *contact_list)
-{
- PH_TRACE;
- Eina_Bool checkduplicate = false;
- int index = 0;
- char *email_address;
- Eina_List *l;
- Eina_List *list_email_record = NULL;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record_email = NULL;
- contacts_record_h record_clone = NULL;
- void *v_record = NULL;
-
- EINA_LIST_FOREACH(contact_list, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- index = 0;
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record,
- _contacts_contact.email, index++, &record_email))
- {
- err = (contacts_error_e) contacts_record_get_str_p(record_email,
- _contacts_email.email, &email_address);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_str_from_list() Failed(%d)", err);
- break;
- }
- if (checkduplicate)
- {
- if (__phone_list_is_email_exist(list_email_record,
- email_address))
- {
- ERR(
- "__phone_list_is_email_exist() return true (email address = %s",
- email_address);
- continue;
- }
- }
- err = (contacts_error_e) contacts_record_clone(record_email,
- &record_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- break;
- }
- list_email_record = eina_list_append(list_email_record,
- record_clone);
- }
- checkduplicate = true;
- }
- return list_email_record;
-}
-
-static bool __phone_list_is_number_exist(Eina_List *list, char *number_str)
-{
- PH_TRACE;
- Eina_List *l;
- char *number_str_temp;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- void *v_record_temp = NULL;
-
- EINA_LIST_FOREACH(list, l, v_record_temp)
- {
- contacts_record_h record_temp = (contacts_record_h) v_record_temp;
- if (NULL == record_temp)
- continue;
-
- err = (contacts_error_e) contacts_record_get_str_p(record_temp,
- _contacts_number.number, &number_str_temp);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (NULL == number_str_temp)
- continue;
-
- if (0 == strcmp(number_str_temp, number_str))
- return true;
- }
- return false;
-}
-
-Eina_List* ctui_person_get_number_list(Eina_List *contact_list)
-{
- PH_TRACE;
- Eina_Bool checkduplicate = false;
- int index = 0;
- char *number_str;
- Eina_List *l;
- Eina_List *list_number_record = NULL;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record_number = NULL;
- contacts_record_h record_clone = NULL;
- void *v_record = NULL;
-
- EINA_LIST_FOREACH(contact_list, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- index = 0;
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record,
- _contacts_contact.number, index++, &record_number))
- {
- err = (contacts_error_e) contacts_record_get_str_p(record_number,
- _contacts_number.number, &number_str);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_str_from_list() Failed(%d)", err);
- break;
- }
- if (checkduplicate)
- {
- if (__phone_list_is_number_exist(list_number_record,
- number_str))
- {
- ERR(
- "__phone_list_is_number_exist() return true (number = %s",
- number_str);
- continue;
- }
- }
- err = (contacts_error_e) contacts_record_clone(record_number,
- &record_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- break;
- }
- list_number_record = eina_list_append(list_number_record,
- record_clone);
- }
- checkduplicate = true;
- }
- return list_number_record;
-}
-
-Eina_List* ctui_person_get_contact_list(int person_id)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record_contact = NULL;
- contacts_record_h record_contact_clone = NULL;
- contacts_list_h list_contacts = NULL;
- Eina_List *list_contact_records = NULL;
-
- err = phone_cts_get_list(_contacts_contact._uri,
- _contacts_contact.person_id, person_id, &list_contacts);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "phone_cts_get_list() Failed(%d)", err);
-
- while (err == CONTACTS_ERROR_NONE)
- {
- err = (contacts_error_e) contacts_list_get_current_record_p(
- list_contacts, &record_contact);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- break;
- }
-
- err = (contacts_error_e) contacts_record_clone(record_contact,
- &record_contact_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_clone() Failed(%d)", err);
- break;
- }
-
- list_contact_records = eina_list_append(list_contact_records,
- record_contact_clone);
-
- err = (contacts_error_e) contacts_list_next(list_contacts);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)",
- err);
- }
- phone_cts_free_list(list_contacts);
-
- return list_contact_records;
-}
-
-void ctui_free_record_list(Eina_List *contact_list)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- void *v_record = NULL;
- p_retm_if(NULL == contact_list, "contact_list is NULL");
-
- EINA_LIST_FREE(contact_list, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- if (NULL == record)
- continue;
- err = (contacts_error_e) contacts_record_destroy(record, true);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_destroy() Failed(%d)", err);
- continue;
- }
- }
-}
-
-// TODO: Fixme
-int ctui_get_email_type_index(int type)
-{
- PH_TRACE;
- switch (type)
- {
- case CONTACTS_EMAIL_TYPE_CUSTOM:
- return 1;
- case CONTACTS_EMAIL_TYPE_HOME:
- return 2;
- case CONTACTS_EMAIL_TYPE_WORK:
- return 3;
- default:
- return 0;
- }
-}
-
-int ctui_get_view_mode(void)
-{
- PH_TRACE;
- int fd;
- int size;
- char buf[PH_TEXT_SHORT_LEN];
-
- fd = open(VIEW_MODE_PATH, O_RDONLY);
- if (fd < 0)
- {
- ctui_set_view_mode(-1);
- PH_DBG("Open(%s) Failed so create new", VIEW_MODE_PATH);
- return -1;
- }
- size = read(fd, buf, sizeof(buf));
- close(fd);
- if (0 < size)
- return atoi(buf);
- else
- return -1;
-}
-
-void ctui_set_view_mode(int addressbook_id)
-{
- PH_TRACE;
- int fd;
- char buf[PH_TEXT_SHORT_LEN] = { 0 };
-
- fd = open(VIEW_MODE_PATH, O_WRONLY | O_CREAT | O_TRUNC, 0644);
- p_retm_if(fd < 0, "Open(%s) Failed", VIEW_MODE_PATH);
- snprintf(buf, sizeof(buf), "%d", addressbook_id);
- if (-1 == write(fd, buf, strlen(buf)))
- ERR("write()... Failed(%s)", strerror(errno));
- close(fd);
-}
-
-contacts_error_e phone_cts_get_default_number(int person_id,
- contacts_record_h *record_clone)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- contacts_list_h list = NULL;
- contacts_filter_h filter = NULL;
- contacts_query_h query = NULL;
-
- p_retvm_if(NULL == record_clone, CONTACTS_ERROR_INVALID_PARAMETER,
- "parameter(record_clone) is NULL");
-
- err = (contacts_error_e) contacts_query_create(_contacts_person_number._uri,
- &query);
- p_retvm_if(CONTACTS_ERROR_NONE != err, err,
- "contacts_query_create() Failed(%d)", err);
-
- err = (contacts_error_e) contacts_filter_create(
- _contacts_person_number._uri, &filter);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_filter_create() Failed(%d)", err);
- contacts_query_destroy(query);
- return err;
- }
-
- do
- {
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_int(filter,
- _contacts_person_number.person_id, CONTACTS_MATCH_EQUAL,
- person_id)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_operator(
- filter, CONTACTS_FILTER_OPERATOR_AND)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_bool(filter,
- _contacts_person_number.is_primary_default, true)))
- break;
- if (CONTACTS_ERROR_NONE != (err =
- (contacts_error_e) contacts_query_set_filter(query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_list_get_current_record_p(
- list, &record)))
- break;
- if (CONTACTS_ERROR_NONE != (err =
- (contacts_error_e) contacts_record_clone(record, record_clone)))
- break;
-
- contacts_query_destroy(query);
- contacts_filter_destroy(filter);
- contacts_list_destroy(list, true);
-
- return CONTACTS_ERROR_NONE;
- }
- while (0);
-
- contacts_query_destroy(query);
- contacts_filter_destroy(filter);
- if (list)
- contacts_list_destroy(list, true);
-
- return err;
-}
-
-contacts_error_e phone_cts_get_default_email(int person_id,
- contacts_record_h *record_clone)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- contacts_list_h list = NULL;
- contacts_filter_h filter = NULL;
- contacts_query_h query = NULL;
-
- p_retvm_if(NULL == record_clone, CONTACTS_ERROR_INVALID_PARAMETER,
- "parameter(record_clone) is NULL");
-
- err = (contacts_error_e) contacts_query_create(_contacts_person_email._uri,
- &query);
- p_retvm_if(CONTACTS_ERROR_NONE != err, err,
- "contacts_query_create() Failed(%d)", err);
-
- err = (contacts_error_e) contacts_filter_create(_contacts_person_email._uri,
- &filter);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_filter_create() Failed(%d)", err);
- contacts_query_destroy(query);
- return err;
- }
-
- do
- {
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_int(filter,
- _contacts_person_email.person_id, CONTACTS_MATCH_EQUAL,
- person_id)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_operator(
- filter, CONTACTS_FILTER_OPERATOR_AND)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_bool(filter,
- _contacts_person_email.is_primary_default, true)))
- break;
- if (CONTACTS_ERROR_NONE != (err =
- (contacts_error_e) contacts_query_set_filter(query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, &list)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_list_get_current_record_p(
- list, &record)))
- break;
- if (CONTACTS_ERROR_NONE != (err =
- (contacts_error_e) contacts_record_clone(record, record_clone)))
- break;
-
- contacts_query_destroy(query);
- contacts_filter_destroy(filter);
- contacts_list_destroy(list, true);
-
- return CONTACTS_ERROR_NONE;
- }
- while (0);
-
- contacts_query_destroy(query);
- contacts_filter_destroy(filter);
-
- if (list)
- contacts_list_destroy(list, true);
- return err;
-}
-
-bool ctui_list_make_vcard(int person_id, char *path, int path_length)
-{
- PH_TRACE;
- int fd;
- char *display = NULL;
- char *vcard = NULL;
- contacts_record_h record = NULL;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- err = (contacts_error_e) contacts_db_get_record(_contacts_person._uri,
- person_id, &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_record() Failed(%d)", err);
- return false;
- }
-
- err = (contacts_error_e) contacts_record_get_str_p(record,
- _contacts_person.display_name, &display);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (display && *display)
- snprintf(path, path_length, "%s/%s.vcf", UGDATAIDR, display);
- else
- snprintf(path, path_length, "%s/%s.vcf", UGDATAIDR,
- T_(CT_GET_TEXT_ERR, CTTEXT_NONAME));
-
- err = (contacts_error_e) contacts_vcard_make_from_person(record, &vcard);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_vcard_make_from_person() Failed(%d)", err);
- err = (contacts_error_e) contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- return false;
- }
-
- fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
-
- if (-1 == write(fd, vcard, strlen(vcard)))
- {
- ERR("write()... Failed(%s)", strerror(errno));
- free(vcard);
- return false;
- }
- free(vcard);
- return true;
-}
-
-int ctui_get_addressbook_id_by_index(Eina_List *list, unsigned int index)
-{
- PH_TRACE;
- p_retvm_if(NULL == list, -1, "list is NULL");
- void *addressbook_id;
-
- if (eina_list_count(list) <= index)
- {
- ERR("index is bigger than count");
- return -1;
- }
-
- addressbook_id = eina_list_nth(list, index);
-
- return (int) addressbook_id;
-}
-
-Eina_List* ctui_get_addressbook_id_list(const char *ori_string, const char *sep)
-{
- PH_TRACE;
- Eina_List *e_list = NULL;
- char *p = NULL;
- char *copy_string;
- char *save_p;
-
- if (!ori_string)
- {
- PH_DBG("Input string is NULL");
- return NULL;
- }
-
- copy_string = SAFE_STRDUP(ori_string);
-
- if (copy_string)
- {
- p = strtok_r(copy_string, sep, &save_p);
-
- while (p)
- {
- int id = atoi(p);
- if (eina_list_data_find(e_list, (void*) id) == NULL)
- e_list = eina_list_append(e_list, (void*) id);
-
- p = strtok_r(NULL, sep, &save_p);
- }
-
- free(copy_string);
- }
-
- return e_list;
-}
-
-Eina_List* __make_tokenize_list(const char *ori_string, const char *sep)
-{
- PH_TRACE;
- Eina_List *e_list = NULL;
- char *p = NULL;
- char *copy_string;
- char *save_p;
-
- if (!ori_string)
- {
- PH_DBG("Input string is NULL");
- return NULL;
- }
-
- copy_string = SAFE_STRDUP(ori_string);
-
- if (copy_string)
- {
- p = strtok_r(copy_string, sep, &save_p);
-
- if (p)
- PH_DBG("list item = %s", p);
-
- while (p)
- {
- char *c = SAFE_STRDUP(p);
-
- e_list = eina_list_append(e_list, c);
-
- p = strtok_r(NULL, sep, &save_p);
-
- if (p)
- PH_DBG("list item = %s", p);
- }
-
- free(copy_string);
- }
-
- return e_list;
-}
-
-contacts_record_h ctui_get_record_image(contacts_record_h record_contact)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- p_retvm_if(NULL == record_contact, NULL,
- "parameter(record_contact) is NULL");
-
- err = (contacts_error_e) contacts_record_get_child_record_at_p(
- record_contact, _contacts_contact.image, 0, &record);
- if (NULL != record)
- return record;
-
- err = (contacts_error_e) contacts_record_create(_contacts_image._uri,
- &record);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_record_create() Failed(%d)", err);
-
- err = (contacts_error_e) contacts_record_add_child_record(record_contact,
- _contacts_contact.image, record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_add_child_record() Failed(%d)", err);
-
- return record;
-}
-
-Evas_Object *phone_create_toolbar_btn(Evas_Object *parent, const char *text,
- Evas_Smart_Cb func, void *data)
-{
- PH_TRACE;
- const Evas_Coord height = 100;
- if (!parent || !data)
- {
- return NULL;
- }
- Evas_Object *btn = elm_button_add(parent);
- if (!btn)
- {
- return NULL;
- }
- evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_style_set(btn, "naviframe/toolbar/default");
- elm_object_text_set(btn, text);
- evas_object_size_hint_min_set(btn, 0, height);
- evas_object_size_hint_max_set(btn, 999999, height);
- evas_object_smart_callback_add(btn, "clicked", func, data);
- evas_object_show(btn);
- return btn;
-}
-
-int ctui_get_addressbook_id(char* addressbook_name)
-{
- PH_TRACE;
- PH_DBG("addressbook_name = %s", addressbook_name);
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_filter_h filter = NULL;
- contacts_query_h query = NULL;
- contacts_list_h list = NULL;
- contacts_record_h record = NULL;
- unsigned int count = 0;
- int addressbook_id = -1; //0 is phone addressbook id
-
- err = (contacts_error_e) contacts_filter_create(_contacts_address_book._uri,
- &filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contactcs_filter_create() Failed(%d)", err);
-
- err = (contacts_error_e) contacts_filter_add_str(filter,
- _contacts_address_book.name, CONTACTS_MATCH_FULLSTRING,
- addressbook_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_add_str() Failed(%d)", err);
- err = (contacts_error_e) contacts_query_create(_contacts_address_book._uri,
- &query);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)",
- err);
- err = (contacts_error_e) contacts_query_set_filter(query, filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_set_filter() Failed(%d)", err);
- err = (contacts_error_e) contacts_db_get_records_with_query(query, 0, 0,
- &list);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_records_with_query() Failed(%d)", err);
-
- if (list != NULL)
- {
- err = (contacts_error_e) contacts_list_get_count(list, &count);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_get_count() Failed(%d)", err);
- PH_DBG("count = %d", count);
- if (count > 0)
- {
- err = (contacts_error_e) contacts_list_get_current_record_p(list,
- &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_get_current_record_p() Failed(%d)", err);
- contacts_record_get_int(record, _contacts_address_book.id,
- &addressbook_id);
- err = (contacts_error_e) contacts_list_destroy(list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_destroy() Failed(%d)", err);
- }
- }
- err = (contacts_error_e) contacts_filter_destroy(filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_destroy() Failed(%d)", err);
- err = (contacts_error_e) contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_query_destroy() Failed(%d)",
- err);
-
- PH_DBG("addressbook id = %d", addressbook_id);
- return addressbook_id;
-
-}
-
-void ctui_create_contacts_error_popup(Evas_Object *parent, int err)
-{
- PH_TRACE;
- p_retm_if(CONTACTS_ERROR_NONE == err,
- "ctui_create_contacts_error_popup no errer");
- p_retm_if(NULL == parent,
- "ctui_create_contacts_error_popup parent is null");
-
- ERR("ctui_create_contacts_error_popup() err(%d)", err);
- switch (err)
- {
- case CONTACTS_ERROR_DB:
- phone_show_popup(parent, T_(CT_GET_TEXT_ERR, CTTEXT_ERR_DB_LOCKED),
- 1.5);
- break;
- case CONTACTS_ERROR_FILE_NO_SPACE:
- phone_show_popup(parent, S_(CT_SYS_POP_NOT_ENOUGH_MEMORY), 1.5);
- break;
- default:
- phone_show_popup(parent, S_(PH_SYS_POP_FAILED), 1.5);
- break;
- }
-
- return;
-}
-
-bool hasBadge()
-{
- PH_TRACE;
- bool badgeExists(false);
- badge_error_e badgeRes = badge_is_existing(DIALER_PKG, &badgeExists);
- p_warn_if(BADGE_ERROR_NONE != badgeRes, "badge_is_existing is failed(%d)", badgeRes);
- if (badgeRes != BADGE_ERROR_NONE)
- {
- badgeExists = false;
- }
-
- return badgeExists;
-}
-
-bool removeBadge()
-{
- PH_TRACE;
- bool shouldRemove(hasBadge());
- if (shouldRemove)
- {
- badge_remove(DIALER_PKG);
- }
-
- return shouldRemove;
-}
-
-void phone_set_searchbar_add_button_visible(ct_list_data &clist_d, bool visible)
-{
- PH_TRACE;
- Evas_Object * add_button = (Evas_Object *) evas_object_data_get(clist_d.searchbar, "add_button");
- if(add_button)
- {
- if(visible)
- {
- elm_object_part_content_set(clist_d.searchbar, "add_button_show_swall_search", clist_d.search_layout);
- elm_object_part_content_set(clist_d.searchbar,"button_add",add_button);
- }
- else
- {
- elm_object_part_content_set(clist_d.searchbar, "add_button_hide_swall_search", clist_d.search_layout);
- elm_object_part_content_unset(clist_d.searchbar, "button_add");
- evas_object_hide(add_button);
- }
- }
-}
-
-bool phone_copy_to_dialing_screen(const std::string& number)
-{
- PH_TRACE;
- bool result(false);
- service_h service = NULL;
- std::string uri = "tel:" + number;
-
- if(service_create(&service) == SERVICE_ERROR_NONE)
- {
- if( service_set_package(service, DIALER_PKG) == SERVICE_ERROR_NONE
- && service_set_operation(service,
- "http://tizen.org/appcontrol/operation/dial") == SERVICE_ERROR_NONE
- && service_set_uri(service, uri.c_str()) == SERVICE_ERROR_NONE)
- {
- if( service_send_launch_request(service, NULL, NULL) == SERVICE_ERROR_NONE)
- {
- result = (service_destroy(service) == SERVICE_ERROR_NONE);
- }
- }
- }
- return result;
-}
-
-char* phone_get_datetime_str(UDateFormat* formatter, int year, int month,
- int day)
-{
- PH_TRACE;
- time_t timer;
- struct tm stime;
- char *ret_str = NULL;
- char formatted_str[PH_TEXT_SHORT_LEN];
- int32_t formattedCapacity;
- UChar formatted[PH_TEXT_SHORT_LEN];
- UErrorCode status = U_ZERO_ERROR;
- if(formatter)
- {
- memset(&stime, 0, sizeof(struct tm));
- stime.tm_year = year - 1900;
- stime.tm_mon = month - 1;
- stime.tm_mday = day;
- timer = mktime(&stime);
-
- formattedCapacity = (int32_t)(sizeof(formatted) / sizeof((formatted)[0]));
- udat_format(formatter, (UDate) timer * 1000, formatted, formattedCapacity,
- NULL, &status);
- p_retvm_if(U_FAILURE(status), NULL, "udat_format() Failed()");
-
- u_austrcpy(formatted_str, formatted);
- ret_str = strdup(formatted_str);
- }
-
- return ret_str;
-}
-
-// TODO: Fixme
-int phone_get_address_type_index(int type)
-{
- PH_TRACE;
- switch (type)
- {
- case CONTACTS_ADDRESS_TYPE_CUSTOM:
- return 1;
- case CONTACTS_ADDRESS_TYPE_HOME:
- return 2;
- case CONTACTS_ADDRESS_TYPE_WORK:
- return 3;
- default:
- return 0;
- }
-}
-
-// TODO: Fixme
-int phone_get_website_type_index(int type)
-{
- PH_TRACE;
- switch (type)
- {
- case CONTACTS_URL_TYPE_CUSTOM:
- return 1;
- case CONTACTS_URL_TYPE_HOME:
- return 2;
- case CONTACTS_URL_TYPE_WORK:
- return 3;
- default:
- return 0;
- }
-}
-
-int phone_get_number_type_index(int ct_num_type)
-{
- PH_TRACE;
- int ret_type;
-
- switch (ct_num_type)
- {
- case CTTEXT_TYPE_MOBILE:
- ret_type = CONTACTS_NUMBER_TYPE_CELL;
- break;
- case CTTEXT_TYPE_HOME:
- ret_type = CONTACTS_NUMBER_TYPE_VOICE | CONTACTS_NUMBER_TYPE_HOME;
- break;
- case CTTEXT_TYPE_HOME2:
- ret_type = CONTACTS_NUMBER_TYPE_CELL | CONTACTS_NUMBER_TYPE_HOME;
- break;
- case CTTEXT_TYPE_WORK:
- ret_type = CONTACTS_NUMBER_TYPE_VOICE | CONTACTS_NUMBER_TYPE_WORK;
- break;
- case CTTEXT_TYPE_WORK2:
- ret_type = CONTACTS_NUMBER_TYPE_CELL | CONTACTS_NUMBER_TYPE_WORK;
- break;
- case CTTEXT_TYPE_FAX_HOME:
- ret_type = CONTACTS_NUMBER_TYPE_FAX | CONTACTS_NUMBER_TYPE_HOME;
- break;
- case CTTEXT_TYPE_FAX_WORK:
- ret_type = CONTACTS_NUMBER_TYPE_FAX | CONTACTS_NUMBER_TYPE_WORK;
- break;
- case CTTEXT_TYPE_ASSISTANT:
- ret_type = CONTACTS_NUMBER_TYPE_ASSISTANT;
- break;
- case CTTEXT_TYPE_PAGER:
- ret_type = CONTACTS_NUMBER_TYPE_PAGER;
- break;
- case CTTEXT_TYPE_CAR:
- ret_type = CONTACTS_NUMBER_TYPE_CAR;
- break;
- case CTTEXT_TYPE_CUSTOM:
- ret_type = CONTACTS_NUMBER_TYPE_CUSTOM;
- break;
- case CTTEXT_TYPE_OTHER:
- default:
- ret_type = CONTACTS_NUMBER_TYPE_OTHER;
- break;
- }
-
- return ret_type;
-}
-
-UDateFormat* phone_init_time_formatter(void)
-{
- PH_TRACE;
- UChar pattern[PH_TEXT_SHORT_LEN] = {0,};
- UChar customSkeleton[PH_TEXT_SHORT_LEN] = {0,};
- UDateFormat *formatter = NULL;
- UErrorCode status = U_ZERO_ERROR;
-
- u_uastrncpy(customSkeleton, UDAT_YEAR_MONTH_DAY,
- strlen(UDAT_YEAR_MONTH_DAY));
-
- const char *locale = uloc_getDefault();
- p_retvm_if(NULL == locale, NULL, "uloc_getDefault() return NULL");
-
- UDateTimePatternGenerator *generator = udatpg_open(locale, &status);
- p_retvm_if(U_FAILURE(status), NULL, "udatpg_open() Failed()");
-
- int32_t pattern_capacity = (int32_t)(sizeof(pattern) / sizeof((pattern)[0]));
- udatpg_getBestPattern(generator, customSkeleton, 6, pattern,
- pattern_capacity, &status);
-
- if (!U_FAILURE(status))
- formatter = udat_open(UDAT_IGNORE, UDAT_IGNORE, locale, NULL, -1,
- pattern, -1, &status);
-
- udatpg_close(generator);
- return formatter;
-}
-
-void phone_destroy_confirm_popup_data(ct_confirm_popup_data* p_popup_data)
-{
- PH_TRACE;
- p_retm_if(NULL == p_popup_data, "popup data is null");
- p_popup_data->parent = NULL;
- evas_object_del(p_popup_data->button1);
- p_popup_data->button1 = NULL;
- evas_object_del(p_popup_data->button2);
- p_popup_data->button2 = NULL;
- free(p_popup_data->popup_label);
- p_popup_data->popup_label = NULL;
- free(p_popup_data->button1_label);
- p_popup_data->button1_label = NULL;
- free(p_popup_data->button2_label);
- p_popup_data->button2_label = NULL;
- p_popup_data->button1_cb = NULL;
- p_popup_data->button2_cb = NULL;
- p_popup_data->button1_data = NULL;
- p_popup_data->button2_data = NULL;
- evas_object_del(p_popup_data->popup);
- p_popup_data->popup = NULL;
-}
-
-bool phone_fill_confirm_popup_data(ct_confirm_popup_data* p_popup_data)
-{
- PH_TRACE;
- p_retvm_if(NULL == p_popup_data, false, "pointer to popup data is null");
- p_retvm_if(NULL == p_popup_data->parent, false, "parent is null");
-
- Evas_Object *p_popup = elm_popup_add(p_popup_data->parent);
- p_retvm_if(NULL == p_popup, NULL, "p_popup is null");
- elm_object_part_text_set(p_popup,TITLE_TEXT, p_popup_data->popup_label);
- evas_object_size_hint_weight_set(p_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- Evas_Object *p_ok_button = elm_button_add(p_popup);
- p_retvm_if(NULL == p_ok_button, NULL, "p_cancel_button is null");
- elm_object_text_set(p_ok_button, p_popup_data->button1_label);
- elm_object_part_content_set(p_popup, BUTTON1, p_ok_button);
- elm_object_style_set(p_ok_button, "popup_button/default");
- evas_object_smart_callback_add(p_ok_button, CLICKED, p_popup_data->button1_cb, p_popup_data->button1_data);
-
- Evas_Object *p_cancel_button = elm_button_add(p_popup);
- p_retvm_if(NULL == p_cancel_button, NULL, "p_cancel_button is null");
- elm_object_text_set(p_cancel_button, p_popup_data->button2_label);
- elm_object_part_content_set(p_popup, BUTTON2, p_cancel_button);
- elm_object_style_set(p_cancel_button, "popup_button/default");
- evas_object_smart_callback_add(p_cancel_button, CLICKED, p_popup_data->button2_cb, p_popup_data->button2_data);
-
- bool result = (p_popup && p_ok_button && p_cancel_button);
- if(result)
- {
- p_popup_data->popup = p_popup;
- p_popup_data->button1 = p_ok_button;
- p_popup_data->button2 = p_cancel_button;
- }
- return result;
-}
-
-int phone_get_contact_id_by_person_id(int personId)
-{
- PH_TRACE;
- int retId(0);
- contacts_list_h tempList= NULL;
- if(get_records_list(_contacts_contact._uri, _contacts_contact.person_id, personId, &tempList))
- {
- contacts_record_h tempRecord = NULL;
- if(contacts_list_get_current_record_p(tempList, &tempRecord)
- == CONTACTS_ERROR_NONE)
- {
- if(contacts_record_get_int(tempRecord, _contacts_contact.id, &retId)
- != CONTACTS_ERROR_NONE)
- {
- ERR("error getting contact ID");
- }
- }
- }
- contacts_list_destroy(tempList, true);
- return retId;
-}
-
-const char * phone_get_group_name(contacts_record_h group_record)
-{
- char *system_id = NULL;
- int err = contacts_record_get_str_p(group_record, _contacts_group.extra_data, &system_id);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() is Failed(%d)");
-
- if (system_id)
- {
- const char *name = NULL;
- if (strcmp(system_id, "friends") == 0)
- name = T_(CT_GET_TEXT_BASIC, CTTEXT_FRIENDS);
- else if (strcmp(system_id, "family") == 0)
- name = T_(CT_GET_TEXT_BASIC, CTTEXT_FAMILY);
- else if (strcmp(system_id, "coworkers") == 0)
- name = T_(CT_GET_TEXT_BASIC, CTTEXT_CO_WORKERS);
- else if (strcmp(system_id, "emergency") == 0)
- name = T_(CT_GET_TEXT_BASIC, CTTEXT_EMERGENCY_CONTACTS);
- else
- name = T_(CT_GET_TEXT_ERR, CTTEXT_NONAME);
-
- return name;
- }
- else
- {
- char *name = NULL;
- err = contacts_record_get_str_p(group_record, _contacts_group.name, &name);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL, "contacts_record_get_str_p() is Failed(%d)");
- return name;
- }
-}
-
-bool has_emergency_contacts()
-{
- PH_TRACE;
- int ret = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- contacts_list_h group_list = NULL;
-
- phone_cts_get_list(_contacts_group._uri, _contacts_group.address_book_id, 0, &group_list);
- CONTACTS_LIST_FOREACH(group_list, record)
- {
- char* group_name = NULL;
- ret = contacts_record_get_str_p(record, _contacts_group.extra_data, &group_name);
- if (group_name != NULL)
- {
- if (CONTACTS_ERROR_NONE == ret)
- {
- if (strcmp(group_name, EMERGENCY) == 0)
- {
- phone_cts_free_list(group_list);
- return true;
- }
- }
- }
- }
- phone_cts_free_list(group_list);
- return false;
-}
-
-void create_emergency_contacts_group()
-{
- PH_TRACE;
- contacts_record_h group_record = NULL;
- int id_grp = 0;
-
- int ret = contacts_record_create(_contacts_group._uri, &group_record);
- if (CONTACTS_ERROR_NONE == ret)
- {
- ret = contacts_record_set_str(group_record, _contacts_group.name, EMERGENCY);
- ret = contacts_record_set_str(group_record, _contacts_group.extra_data, EMERGENCY);
- if (CONTACTS_ERROR_NONE == ret)
- {
- ret = contacts_db_insert_record(group_record, &id_grp);
- }
- ret = contacts_record_destroy(group_record, true);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_record_destroy() Failed(%d)");
- }
-}
-
-static void phone_popup_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- if(data)
- {
- evas_object_hide((Evas_Object *) data);
- }
-}
-
-Evas_Object * phone_popup_add_button(Evas_Object *popup, const char *text, Evas_Smart_Cb func, void *data)
-{
- static const char *button_parts[] =
- {
- "button1",
- "button2",
- "button3",
- NULL
- };
- const char **part = button_parts;
- Evas_Object *button = NULL;
-
- while(*part && elm_object_part_content_get(popup, *part))
- {
- ++part;
- }
-
- p_retvm_if(NULL == part, NULL, "No empty button parts left");
-
- button = elm_button_add(popup);
- p_retvm_if(NULL == button, NULL, "Failed to create button");
- elm_object_style_set(button, "popup_button/default");
- elm_object_text_set(button, text);
- elm_object_part_content_set(popup, *part, button);
- evas_object_smart_callback_add(button, "clicked", phone_popup_hide_cb, popup);
- evas_object_smart_callback_add(button, "clicked", func, data);
-
- return button;
-}
-
-char* phone_get_contact_name(int id)
-{
- p_retvm_if(0 >= id, NULL, "incorrect id");
- char* contact_name = NULL;
- contacts_record_h contact = NULL;
-
- if (contacts_db_get_record(_contacts_contact._uri, id, &contact) == CONTACTS_ERROR_NONE)
- {
- if(contacts_record_get_str(contact, _contacts_contact.display_name, &contact_name) != CONTACTS_ERROR_NONE)
- {
- ERR("getting contact name failed");
- free(contact_name);
- contact_name = NULL;
- }
- contacts_record_destroy(contact, true);
- }
- PH_DBG("contact_name: %s", contact_name);
- return contact_name;
-}
-
-Elm_Genlist_Item_Class* phone_create_item_class(const char* style, const char* decorate_style, const char* decorate_all_style,
- Elm_Gen_Item_Text_Get_Cb get_text, Elm_Gen_Item_Content_Get_Cb get_content,
- Elm_Gen_Item_State_Get_Cb get_state, Elm_Gen_Item_Del_Cb del_func)
-{
- PH_TRACE;
- Elm_Genlist_Item_Class *item_class = elm_genlist_item_class_new();
- p_retvm_if(NULL == item_class, NULL, "item_class is null");
-
- item_class->item_style = style;
- item_class->decorate_item_style = decorate_style;
- item_class->decorate_all_item_style = decorate_all_style;
- item_class->func.text_get = get_text;
- item_class->func.content_get = get_content;
- item_class->func.state_get = get_state;
- item_class->func.del = del_func;
- return item_class;
-}
-
-static void phone_hide_block_contact_popup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_contact_block_data* p_block_contact_data = (ct_contact_block_data*)data;
- p_retm_if(NULL == p_block_contact_data->p_popup_data, "popup data is null");
- p_retm_if(NULL == p_block_contact_data->p_popup_data->popup, "popup is null");
- evas_object_hide(p_block_contact_data->p_popup_data->popup);
-}
-
-
-void phone_destroy_block_contact_popup_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_contact_block_data* p_block_contact_data = (ct_contact_block_data*)data;
-
- if(p_block_contact_data->p_popup_data)
- {
- phone_destroy_confirm_popup_data(p_block_contact_data->p_popup_data);
- p_block_contact_data->p_popup_data = NULL;
- }
- if(p_block_contact_data->msg_handle)
- {
- msg_close_msg_handle(&p_block_contact_data->msg_handle);
- p_block_contact_data->msg_handle = NULL;
- }
- p_block_contact_data->contact_id = 0;
- free(p_block_contact_data);
-}
-
-bool phone_check_number_in_spam_for_messages(msg_handle_t msg_handle, const char *number)
-{
- PH_TRACE;
- p_retvm_if(NULL == msg_handle, false, "msgHandle is NULL");
- p_retvm_if(NULL == number, false, "address is NULL");
- bool result(false);
- msg_struct_list_s filter_list = {0,};
-
- if(msg_get_filter_list(msg_handle, &filter_list) == MSG_SUCCESS)
- {
- if (filter_list.nCount == 0)
- {
- result = false;
- }
- else
- {
- int i = 0;
- int filter_type = -1;
- char filter_address[DEF_BUF_LEN] = {0,};
- for (i = 0; i < filter_list.nCount; ++i)
- {
- msg_get_int_value(filter_list.msg_struct_info[i], MSG_FILTER_TYPE_INT, &filter_type);
- if (filter_type == MSG_FILTER_BY_ADDRESS_SAME)
- {
- msg_get_str_value(filter_list.msg_struct_info[i], MSG_FILTER_VALUE_STR, filter_address, sizeof(filter_address));
- if (strncmp(filter_address, number, sizeof(filter_address)) == 0)
- {
- result = true;
- break;
- }
- }
- }
- }
- }
-
- msg_release_list_struct(&filter_list);
- return result;
-}
-
-bool phone_add_number_to_spam_for_messages(msg_handle_t msg_handle, const char* number)
-{
- PH_TRACE;
- p_retvm_if(NULL == msg_handle, false, "msgHandle is null");
- p_retvm_if(NULL == number, false, "number is null");
- bool result(false);
- msg_error_t err = MSG_SUCCESS;
- msg_struct_t filter = msg_create_struct(MSG_STRUCT_FILTER);
-
- msg_set_int_value(filter, MSG_FILTER_TYPE_INT, MSG_FILTER_BY_ADDRESS_SAME);
- msg_set_str_value(filter, MSG_FILTER_VALUE_STR, (char *)number, DEF_MAX_FILTER_LEN);
- msg_set_filter_operation(msg_handle, true);
-
- err = msg_add_filter(msg_handle, filter);
- if (err != MSG_SUCCESS)
- {
- ERR("failed to add filter");
- msg_release_struct(&filter);
- }
- else
- {
- result = true;
- }
-
- if (filter)
- {
- msg_release_struct(&filter);
- }
- return result;
-}
-
-bool phone_delete_number_from_spam_for_messages(msg_handle_t msg_handle, const char* number)
-{
- PH_TRACE;
- bool result(false);
- p_retvm_if(NULL == msg_handle, false, "msgHandle is NULL");
- p_retvm_if(NULL == number, false, "number is NULL");
-
- msg_struct_list_s filter_list = {0,};
-
- if(msg_get_filter_list(msg_handle, &filter_list) == MSG_SUCCESS)
- {
-
- if (filter_list.nCount > 0)
- {
- int i = 0;
- int filter_type = -1;
- int filter_id = -1;
- char filter_address[DEF_BUF_LEN] = {0,};
-
- for (i = 0; i < filter_list.nCount; ++i)
- {
- msg_get_int_value(filter_list.msg_struct_info[i], MSG_FILTER_TYPE_INT, &filter_type);
- if (filter_type == MSG_FILTER_BY_ADDRESS_SAME)
- {
- msg_get_str_value(filter_list.msg_struct_info[i], MSG_FILTER_VALUE_STR, filter_address, sizeof(filter_address));
- if (strncmp(filter_address, number, sizeof(filter_address)) == 0)
- {
- msg_get_int_value(filter_list.msg_struct_info[i], MSG_FILTER_ID_INT, &filter_id);
- break;
- }
- }
- }
- if (filter_id != -1)
- {
- msg_delete_filter(msg_handle, filter_id);
- result = true;
- }
- }
- }
- msg_release_list_struct(&filter_list);
- return result;
-}
-
-bool phone_handle_contact_for_spam_messages(ct_contact_block_data* p_block_contact_data, number_handler_for_spam_messages handler_function)
-{
- PH_TRACE;
- p_retvm_if(NULL == handler_function, false, "func handler is null");
- bool result(false);
- contacts_list_h number_list = NULL;
- if(get_records_list(_contacts_number._uri, _contacts_number.contact_id,
- p_block_contact_data->contact_id, &number_list))
- {
- contacts_record_h record = NULL;
- CONTACTS_LIST_FOREACH(number_list, record)
- {
- char* number = NULL;
- if(contacts_record_get_str_p(record, _contacts_number.number, &number) == CONTACTS_ERROR_NONE)
- {
- if(handler_function(p_block_contact_data->msg_handle, number))
- {
- result = true;
- }
- else
- {
- ERR("number is not blocked/unblocked");
- break;
- }
- }
- }
- }
- contacts_list_destroy(number_list, true);
- return result;
-}
-
-static void phone_handle_blocking_contact_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_contact_block_data* p_block_contact_data = (ct_contact_block_data*)data;
-
- if(p_block_contact_data->block_calls != phone_is_blocked_contact_for_calls(p_block_contact_data->contact_id))
- {
- if(!phone_toggle_blocked_contact_for_calls(p_block_contact_data->contact_id))
- {
- ERR("Contact is not blocked/unblocked");
- }
- }
-
- if(p_block_contact_data->block_messages)
- {
- phone_handle_contact_for_spam_messages(p_block_contact_data, phone_add_number_to_spam_for_messages);
- }
- else
- {
- phone_handle_contact_for_spam_messages(p_block_contact_data, phone_delete_number_from_spam_for_messages);
- }
- evas_object_hide(p_block_contact_data->p_popup_data->popup);
-}
-
-static ct_confirm_popup_data* phone_create_block_confirm_popup(Evas_Object* parent, int contact_id, void* data)
-{
- PH_TRACE;
- ct_confirm_popup_data* inner_popup_as_data = NULL;
- inner_popup_as_data = (ct_confirm_popup_data*)calloc(1, sizeof(ct_confirm_popup_data));
- inner_popup_as_data->parent = parent;
- inner_popup_as_data->popup = NULL;
- inner_popup_as_data->button1 = NULL;
- inner_popup_as_data->button2 = NULL;
- inner_popup_as_data->popup_label = phone_get_contact_name(contact_id);
- inner_popup_as_data->button1_label = strdup(S_(PH_SYS_SK_OK));
- inner_popup_as_data->button2_label = strdup(S_(PH_SYS_SK_CANCEL));
- inner_popup_as_data->button1_cb = phone_handle_blocking_contact_cb;
- inner_popup_as_data->button2_cb = phone_hide_block_contact_popup_cb;
- inner_popup_as_data->button1_data = data;
- inner_popup_as_data->button2_data = data;
- return inner_popup_as_data;
-}
-
-static char* phone_block_popup_genlist_item_text_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, NULL, "data is null");
- ct_contact_block_item_data* p_block_item_data = (ct_contact_block_item_data*)data;
- return strdup(p_block_item_data->item_caption);
-}
-
-bool phone_check_contact_in_spam_for_messages(msg_handle_t msg_handle, int contact_id)
-{
- PH_TRACE;
- bool result(false);
- contacts_list_h number_list = NULL;
- if(get_records_list(_contacts_number._uri, _contacts_number.contact_id,
- contact_id, &number_list))
- {
- contacts_record_h record = NULL;
- CONTACTS_LIST_FOREACH(number_list, record)
- {
- char* number = NULL;
- if(contacts_record_get_str_p(record, _contacts_number.number, &number) == CONTACTS_ERROR_NONE)
- {
- if(phone_check_number_in_spam_for_messages(msg_handle, number))
- {
- result = true;
- break;
- }
- }
- }
- }
- contacts_list_destroy(number_list, true);
- return result;
-}
-
-static bool phone_contact_block_is_any_changes(ct_contact_block_data* p_block_contact_data)
-{
- PH_TRACE;
- p_retvm_if(NULL == p_block_contact_data, false, "data is null");
- return (p_block_contact_data->is_blocked_calls != p_block_contact_data->block_calls)
- || (p_block_contact_data->is_blocked_messages != p_block_contact_data->block_messages);
-}
-
-static void phone_block_popup_check(Elm_Object_Item* item, ct_contact_block_data* p_block_contact_data, bool* p_bool_value)
-{
- PH_TRACE;
- p_retm_if(NULL == item, "item is null");
- *p_bool_value = !(*p_bool_value);
- elm_object_disabled_set(p_block_contact_data->p_popup_data->button1,
- !phone_contact_block_is_any_changes(p_block_contact_data));
- elm_genlist_item_selected_set(item, EINA_FALSE);
- Evas_Object* check = elm_object_item_part_content_get(item, "elm.icon");
- if(check)
- {
- elm_check_state_set(check, *p_bool_value);
- }
-}
-
-static void phone_block_check_calls_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_contact_block_data* p_block_contact_data = (ct_contact_block_data*)data;
- phone_block_popup_check((Elm_Object_Item*)event_info, p_block_contact_data, &p_block_contact_data->block_calls);
-}
-
-static void phone_block_check_messages_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_contact_block_data* p_block_contact_data = (ct_contact_block_data*)data;
- phone_block_popup_check((Elm_Object_Item*)event_info, p_block_contact_data, &p_block_contact_data->block_messages);
-}
-
-static Evas_Object* phone_block_popup_genlist_item_content_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, NULL, "data is null");
- ct_contact_block_item_data* p_block_additional_data = (ct_contact_block_item_data*)data;
- DBG("part: %s", part);
- Evas_Object* check = elm_check_add(obj);
- if(check)
- {
- evas_object_propagate_events_set(check, EINA_TRUE);
- elm_check_state_set(check, *p_block_additional_data->is_checked);
- }
- return check;
-}
-
-void phone_block_popup_item_deleter(void *data, Evas_Object *obj)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_contact_block_item_data* p_block_item_data = (ct_contact_block_item_data*)data;
- free(p_block_item_data);
-}
-
-Evas_Object* phone_create_block_contact_popup(Evas_Object* parent, int contact_id)
-{
- PH_TRACE;
- p_retvm_if(NULL == parent, NULL, "parent is null");
- p_retvm_if(contact_id < 1, NULL, "bad contact id");
- Evas_Object* result = NULL;
- ct_contact_block_data* p_block_contact_data = (ct_contact_block_data*)calloc(1, sizeof(ct_contact_block_data));
- p_block_contact_data->contact_id = contact_id;
- p_block_contact_data->p_popup_data = phone_create_block_confirm_popup(parent, contact_id, p_block_contact_data);
- if(p_block_contact_data->p_popup_data)
- {
- if(msg_open_msg_handle(&p_block_contact_data->msg_handle) == MSG_SUCCESS)
- {
- if(phone_fill_confirm_popup_data(p_block_contact_data->p_popup_data))
- {
- elm_object_style_set(p_block_contact_data->p_popup_data->popup, "content_no_vhpad");
- elm_object_disabled_set(p_block_contact_data->p_popup_data->button1, EINA_TRUE);
- Elm_Genlist_Item_Class* genlist_item_class = phone_create_item_class("1text.1icon.3/popup",
- NULL, NULL, phone_block_popup_genlist_item_text_get, phone_block_popup_genlist_item_content_get, NULL, phone_block_popup_item_deleter);
- p_block_contact_data->genlist = elm_genlist_add(p_block_contact_data->p_popup_data->popup);
- if(p_block_contact_data->genlist)
- {
- elm_object_content_set(p_block_contact_data->p_popup_data->popup, p_block_contact_data->genlist);
- evas_object_size_hint_weight_set(p_block_contact_data->genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(p_block_contact_data->genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- ct_contact_block_item_data* p_call_block_data =
- (ct_contact_block_item_data*)malloc(sizeof(ct_contact_block_item_data));
- p_call_block_data->item_caption = T_(PH_GET_TEXT_BASIC, PHTEXT_CALLS);
- p_call_block_data->is_checked = &p_block_contact_data->block_calls;
- elm_genlist_item_append(p_block_contact_data->genlist, genlist_item_class,
- p_call_block_data, NULL, ELM_GENLIST_ITEM_NONE,
- phone_block_check_calls_changed_cb, p_block_contact_data);
-
- ct_contact_block_item_data* p_message_block_data =
- (ct_contact_block_item_data*)malloc(sizeof(ct_contact_block_item_data));
- p_message_block_data->item_caption = T_(PH_GET_TEXT_BASIC, PHTEXT_MESSAGES);
- p_message_block_data->is_checked = &p_block_contact_data->block_messages;
- elm_genlist_item_append(p_block_contact_data->genlist, genlist_item_class,
- p_message_block_data, NULL, ELM_GENLIST_ITEM_NONE,
- phone_block_check_messages_changed_cb, p_block_contact_data);
-
- evas_object_show(p_block_contact_data->p_popup_data->popup);
- evas_object_show(p_block_contact_data->genlist);
-
- p_block_contact_data->is_blocked_calls =
- phone_is_blocked_contact_for_calls(p_block_contact_data->contact_id);
- p_block_contact_data->is_blocked_messages =
- phone_check_contact_in_spam_for_messages(p_block_contact_data->msg_handle,
- p_block_contact_data->contact_id);
- p_block_contact_data->block_calls = p_block_contact_data->is_blocked_calls;
- p_block_contact_data->block_messages = p_block_contact_data->is_blocked_messages;
-
- evas_object_event_callback_add(p_block_contact_data->p_popup_data->popup, EVAS_CALLBACK_DEL,
- phone_destroy_block_contact_popup_cb, p_block_contact_data);
-
- result = p_block_contact_data->p_popup_data->popup;
- }
- elm_genlist_item_class_free(genlist_item_class);
- }
- }
- }
- return result;
-}
diff --git a/lib/common/ph-detail-log.cpp b/lib/common/ph-detail-log.cpp
deleted file mode 100755
index b7a1f41..0000000
--- a/lib/common/ph-detail-log.cpp
+++ /dev/null
@@ -1,530 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "phone.h"
-#include <unicode/udat.h>
-#include <unicode/udatpg.h>
-#include <unicode/ucal.h>
-#include <unicode/ustring.h>
-#include <vconf.h>
-#include <vconf-keys.h>
-#include <runtime_info.h>
-#include <string>
-
-#include "phone-common.h"
-
-enum
-{
- LOG_FORMAT_TIME_12 = 0,
- LOG_FORMAT_TIME_24,
- LOG_FORMAT_DATE,
- LOG_FORMAT_MAX,
-};
-
-static const char *date_time_format[] = { "hm", "Hm", "yMMMdd", "yMMMddhm",
- "yMMMddHm", };
-
-static std::string m_img_logtype_tbl[LOG_TYPE_MAX] = {
- IMGDIR"/C01-4_list_icon_call.png", IMGDIR"/C01-4_list_icon_vt-call.png",
- IMGDIR"/C01-4_list_icon_sms.png", IMGDIR"/C01-4_list_icon_mms.png" };
-
-static std::string m_img_logaction_tbl[LOG_ACTION_MAX] = {
- IMGDIR"/C01-4_icon_dialed.png", IMGDIR"/C01-4_icon_missed-call.png",
- IMGDIR"/C01-4_icon_received.png", IMGDIR"/C01-4_icon_rejected.png",
- IMGDIR"/C01-4_icon_Blocked(Auto-rejected).png" };
-
-static bool is_24hour_enabled = false;
-
-int phone_detail_log_is_call_ing_type(int type)
-{
- PH_TRACE;
- switch (type)
- {
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING:
- case CONTACTS_PLOG_TYPE_VOICE_OUTGOING:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING:
- case CONTACTS_PLOG_TYPE_VIDEO_OUTGOING:
- return TRUE;
- default:
- return FALSE;
- }
-}
-
-static int detail_log_is_voice_call_type(int type)
-{
- PH_TRACE;
- switch (type)
- {
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING:
- case CONTACTS_PLOG_TYPE_VOICE_OUTGOING:
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN:
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_SEEN:
- case CONTACTS_PLOG_TYPE_VOICE_REJECT:
- case CONTACTS_PLOG_TYPE_VOICE_BLOCKED:
- return TRUE;
- default:
- return FALSE;
- }
-}
-
-int phone_detail_log_is_mms_type(int type)
-{
- PH_TRACE;
- if (type == CONTACTS_PLOG_TYPE_MMS_INCOMMING
- || type == CONTACTS_PLOG_TYPE_MMS_OUTGOING
- || type == CONTACTS_PLOG_TYPE_MMS_BLOCKED)
- return TRUE;
- else
- return FALSE;
-}
-
-int phone_detail_log_is_sms_type(int type)
-{
- PH_TRACE;
- if (type == CONTACTS_PLOG_TYPE_SMS_INCOMMING
- || type == CONTACTS_PLOG_TYPE_SMS_OUTGOING
- || type == CONTACTS_PLOG_TYPE_SMS_BLOCKED)
- return TRUE;
- else
- return FALSE;
-}
-
-int phone_detail_log_is_email_type(int type)
-{
- PH_TRACE;
- if (type == CONTACTS_PLOG_TYPE_EMAIL_RECEIVED
- || type == CONTACTS_PLOG_TYPE_EMAIL_SENT)
- return TRUE;
- else
- return FALSE;
-}
-
-static int detail_log_is_video_call_type(int type)
-{
- PH_TRACE;
- switch (type)
- {
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING:
- case CONTACTS_PLOG_TYPE_VIDEO_OUTGOING:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_SEEN:
- case CONTACTS_PLOG_TYPE_VIDEO_REJECT:
- case CONTACTS_PLOG_TYPE_VIDEO_BLOCKED:
- return TRUE;
- default:
- return FALSE;
- }
-}
-
-static int phone_detail_log_is_call_dial_type(int type)
-{
- PH_TRACE;
- if (type == CONTACTS_PLOG_TYPE_VOICE_OUTGOING
- || type == CONTACTS_PLOG_TYPE_VIDEO_OUTGOING)
- return TRUE;
- else
- return FALSE;
-}
-
-static int detail_log_is_msg_out_type(int type)
-{
- PH_TRACE;
- if (type == CONTACTS_PLOG_TYPE_MMS_OUTGOING
- || type == CONTACTS_PLOG_TYPE_SMS_OUTGOING
- || type == CONTACTS_PLOG_TYPE_EMAIL_SENT)
- return TRUE;
- else
- return FALSE;
-
-}
-
-static int detail_log_is_call_receive_type(int type)
-{
- PH_TRACE;
- if (type == CONTACTS_PLOG_TYPE_VOICE_INCOMMING
- || type == CONTACTS_PLOG_TYPE_VIDEO_INCOMMING)
- return TRUE;
- else
- return FALSE;
-}
-
-static int detail_log_is_msg_income_type(int type)
-{
- PH_TRACE;
- if (type == CONTACTS_PLOG_TYPE_MMS_INCOMMING
- || type == CONTACTS_PLOG_TYPE_SMS_INCOMMING
- || type == CONTACTS_PLOG_TYPE_EMAIL_RECEIVED)
- return TRUE;
- else
- return FALSE;
-}
-
-static int detail_log_is_call_miss_type(int type)
-{
- PH_TRACE;
- switch (type)
- {
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN:
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_SEEN:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_SEEN:
- return TRUE;
- default:
- return FALSE;
- }
-}
-
-static int detail_log_is_call_rejected_type(int type)
-{
- PH_TRACE;
- if (type == CONTACTS_PLOG_TYPE_VOICE_REJECT
- || type == CONTACTS_PLOG_TYPE_VIDEO_REJECT)
- return TRUE;
- else
- return FALSE;
-}
-
-static int detail_log_is_blocked_type(int type)
-{
- PH_TRACE;
- switch (type)
- {
- case CONTACTS_PLOG_TYPE_VOICE_BLOCKED:
- case CONTACTS_PLOG_TYPE_VIDEO_BLOCKED:
- case CONTACTS_PLOG_TYPE_SMS_BLOCKED:
- case CONTACTS_PLOG_TYPE_MMS_BLOCKED:
- return TRUE;
- default:
- return FALSE;
- }
-}
-
-char* phone_detail_log_get_icon_type(int log_type)
-{
- PH_TRACE;
- Log_Type type = (Log_Type) -1;
- char buf[PATH_MAX] = { 0 };
-
- if (TRUE == detail_log_is_voice_call_type(log_type))
- type = LOG_TYPE_CALL;
- else if (TRUE == detail_log_is_video_call_type(log_type))
- type = LOG_TYPE_VIDEO_CALL;
- else if (TRUE == phone_detail_log_is_sms_type(log_type))
- type = LOG_TYPE_SMS_MESSAGE;
- else if (TRUE == phone_detail_log_is_mms_type(log_type))
- type = LOG_TYPE_MMS_MESSAGE;
- else if (TRUE == phone_detail_log_is_email_type(log_type))
- type = LOG_TYPE_MMS_MESSAGE;
- else
- {
- PH_DBG("error invalid type");
- return NULL;
- }
- snprintf(buf, sizeof(buf), "%s", m_img_logtype_tbl[type].c_str());
- return strdup(buf);
-}
-
-char* phone_detail_log_get_duration_from_number(int number)
-{
- PH_TRACE;
- int sec, min, hour, day;
- struct tm tmp = { 0 };
- char buf[PATH_MAX] = { 0 };
- char buf_t[PATH_MAX] = { 0 };
-
- sec = number;
- day = sec / (60 * 60 * 24);
- sec %= (60 * 60 * 24);
- hour = sec / (60 * 60);
- sec %= (60 * 60);
- min = sec / (60);
- sec %= (60);
- tmp.tm_mday = day;
- tmp.tm_hour = hour;
- tmp.tm_min = min;
- tmp.tm_sec = sec;
- strftime(buf_t, sizeof(buf_t), "%H:%M:%S", &tmp);
- snprintf(buf, sizeof(buf), "%s", buf_t);
-
- return strdup(buf_t);
-}
-
-void phone_detail_log_init_time_format(void)
-{
- PH_TRACE;
- static int already_init = FALSE;
-
- if (!already_init)
- {
- UErrorCode status = U_ZERO_ERROR;
-
- uloc_setDefault(getenv("LC_TIME"), &status);
- PH_DBG("phone_detail_log_init_time_format : %s", getenv("LC_TIME"));
- already_init = TRUE;
- }
-}
-
-void phone_detail_log_delete_date_format(UDateFormat **formatter)
-{
- PH_TRACE;
- int i;
- for (i = LOG_FORMAT_TIME_12; i < LOG_FORMAT_MAX; i++)
- {
- if (formatter[i])
- {
- udat_close(formatter[i]);
- formatter[i] = NULL;
- }
- }
-}
-
-static void _ph_set_default_timezone_id()
-{
- PH_TRACE;
- UErrorCode error = U_ZERO_ERROR;
- UChar utimezone_id[PH_TEXT_SHORT_LEN] = { 0 };
- char timezone_buffer[PH_TEXT_SHORT_LEN] = { 0 };
- char timezone_id[PH_TEXT_SHORT_LEN] = { 0 };
-
- int timezone_str_size;
-
- strncpy(timezone_id, vconf_get_str(VCONFKEY_SETAPPL_TIMEZONE_ID),
- sizeof(timezone_id));
- timezone_str_size = readlink("/opt/etc/localtime", timezone_buffer,
- sizeof(timezone_buffer));
-
- if (timezone_str_size > 0)
- {
- char *ptr, *sp, *zone = NULL, *city = NULL;
- ptr = strtok_r(timezone_buffer, "/", &sp);
-
- while ((ptr = strtok_r(NULL, "/", &sp)))
- {
- zone = city;
- city = ptr;
- }
-
- if (zone != NULL && city != NULL)
- {
- if (strcmp("zoneinfo", zone) == 0)
- sprintf(timezone_id, "%s", city);
- else
- sprintf(timezone_id, "%s/%s", zone, city);
- }
- }
-
- else
- {
- PH_DBG("%s", "readlink fail");
- }
-
- if (*timezone_id)
- {
- u_uastrncpy(utimezone_id, timezone_id, sizeof(timezone_buffer) / 2);
- ucal_setDefaultTimeZone(utimezone_id, &error);
- }
- else
- {
- p_retm_if(NULL == timezone_id, "get timezone_id is failed(%d)", error);
- }
-}
-
-void phone_detail_log_generate_date_format(UDateFormat **formatter)
-{
- PH_TRACE;
- UDateTimePatternGenerator *generator;
- UErrorCode error = U_ZERO_ERROR;
-
- int i;
- int ret;
- const char *locale = NULL;
-
- _ph_set_default_timezone_id();
-
- ret = runtime_info_get_value_bool(
- RUNTIME_INFO_KEY_24HOUR_CLOCK_FORMAT_ENABLED, &is_24hour_enabled);
- if (RUNTIME_INFO_ERROR_NONE != ret || false == is_24hour_enabled)
- is_24hour_enabled = false;
-
- locale = uloc_getDefault();
- phone_detail_log_delete_date_format(formatter);
-
- generator = udatpg_open(locale, &error);
- p_retm_if(NULL == generator, "udatpg_open is failed(%d)", error);
-
- for (i = LOG_FORMAT_TIME_12; i < LOG_FORMAT_MAX; i++)
- {
- UChar skeleton[64] = { '\0' };
- UChar best_pattern[64] = { 0 };
-
- u_uastrncpy(skeleton, date_time_format[i], strlen(date_time_format[i]));
- udatpg_getBestPattern(generator, skeleton, u_strlen(skeleton),
- best_pattern, (int32_t)(sizeof(best_pattern) / sizeof(UChar)),
- &error);
- formatter[i] = udat_open(UDAT_IGNORE, UDAT_IGNORE, locale, NULL, -1,
- best_pattern, -1, &error);
- }
- udatpg_close(generator);
-}
-
-char* phone_detail_log_get_icon_path_with_action(int log_type)
-{
- PH_TRACE;
- char buf[PATH_MAX] = { 0 };
- Log_Action action = (Log_Action) -1;
-
- if (TRUE == phone_detail_log_is_call_dial_type(log_type)
- || TRUE == detail_log_is_msg_out_type(log_type))
- action = LOG_ACTION_DIALLED;
- else if (TRUE == detail_log_is_call_miss_type(log_type))
- action = LOG_ACTION_MISSED;
- else if (TRUE == detail_log_is_call_receive_type(log_type)
- || TRUE == detail_log_is_msg_income_type(log_type))
- action = LOG_ACTION_RECEIVED;
- else if (TRUE == detail_log_is_call_rejected_type(log_type))
- action = LOG_ACTION_REJECTED;
- else if (TRUE == detail_log_is_blocked_type(log_type))
- action = LOG_ACTION_BLOCKED;
- else
- {
- PH_DBG("error invalid type %d", log_type);
- return NULL;
- }
- snprintf(buf, sizeof(buf), "%s", m_img_logaction_tbl[action].c_str());
- return strdup(buf);
-}
-
-char *ph_log_util_get_formatted_date(UDateFormat **formatter, int log_time,
- date_style style)
-{
- PH_TRACE;
- time_t stime;
- UErrorCode status = U_ZERO_ERROR;
- UDate date;
- UChar formatted[64] = { 0 };
- int32_t formatted_size;
- int32_t formatted_len __attribute__ ((unused));
- char formatted_str[PH_TEXT_SHORT_LEN] = { 0 };
- int type = LOG_FORMAT_DATE;
-
- stime = log_time;
- date = (UDate) stime * 1000;
-
- formatted_size = (int32_t)(sizeof(formatted) / sizeof(UChar));
- if (PH_LOG_TIME_ONLY == style)
- {
- if (true == is_24hour_enabled)
- type = LOG_FORMAT_TIME_24;
- else
- type = LOG_FORMAT_TIME_12;
- }
- else if (PH_LOG_DATE_ONLY == style)
- type = LOG_FORMAT_DATE;
- formatted_len = udat_format(formatter[type], date, formatted,
- formatted_size, NULL, &status);
- u_austrncpy(formatted_str, formatted, PH_TEXT_SHORT_LEN);
- return strdup(formatted_str);
-}
-
-char *phone_detail_log_get_date(UDateFormat ** formatter, int log_time)
-{
- PH_TRACE;
- return ph_log_util_get_formatted_date(formatter, log_time, PH_LOG_DATE_ONLY);
-}
-
-char *phone_detail_log_get_time(UDateFormat ** formatter, int log_time)
-{
- PH_TRACE;
- return ph_log_util_get_formatted_date(formatter, log_time, PH_LOG_TIME_ONLY);;
-}
-
-int phone_detail_log_get_date_type(int log_time, int log_duration)
-{
- PH_TRACE;
- time_t stime;
- struct timeval timeval;
- struct tm *tmp;
- int yday, cur_yday;
-
- gettimeofday(&timeval, 0);
- tmp = localtime(&timeval.tv_sec);
- p_retvm_if(NULL == tmp, 2, "localtime is null");
- cur_yday = tmp->tm_yday;
-
- stime = log_time - log_duration;
- tmp = localtime(&stime);
- p_retvm_if(NULL == tmp, 2, "localtime is null");
-
- yday = tmp->tm_yday;
-
- if (yday == cur_yday)
- return CT_GROUP_INDEX_TODAY;
- else if (yday == cur_yday - 1)
- return CT_GROUP_INDEX_YESTERDAY;
- else
- return yday;
-}
-
-int phone_detail_log_get_phonenumber_type(int number_type)
-{
- PH_TRACE;
- if (number_type & CONTACTS_NUMBER_TYPE_CUSTOM)
- {
- return (CTTEXT_TYPE_OTHER);
- }
- else if (number_type & CONTACTS_NUMBER_TYPE_CELL)
- {
- if (number_type & CONTACTS_NUMBER_TYPE_HOME)
- return (CTTEXT_TYPE_HOME2);
- else if (number_type & CONTACTS_NUMBER_TYPE_WORK)
- return (CTTEXT_TYPE_WORK2);
- else
- return (CTTEXT_TYPE_MOBILE);
- }
- else if (number_type & CONTACTS_NUMBER_TYPE_VOICE)
- {
- if (number_type & CONTACTS_NUMBER_TYPE_HOME)
- return (CTTEXT_TYPE_HOME);
- else if (number_type & CONTACTS_NUMBER_TYPE_WORK)
- return (CTTEXT_TYPE_WORK);
- else
- return (CTTEXT_TYPE_TELEPHONE);
- }
- else if (number_type & CONTACTS_NUMBER_TYPE_FAX)
- {
- if (number_type & CONTACTS_NUMBER_TYPE_HOME)
- return (CTTEXT_TYPE_FAX_HOME);
- else if (number_type & CONTACTS_NUMBER_TYPE_WORK)
- return (CTTEXT_TYPE_FAX_WORK);
- else
- return (CTTEXT_TYPE_FAX);
- }
- else if (number_type & CONTACTS_NUMBER_TYPE_PAGER)
- return (CTTEXT_TYPE_PAGER);
- else if (number_type & CONTACTS_NUMBER_TYPE_CAR)
- return (CTTEXT_TYPE_CAR);
- else if (number_type & CONTACTS_NUMBER_TYPE_ASSISTANT)
- return (CTTEXT_TYPE_ASSISTANT);
- else
- {
- if (number_type == CONTACTS_NUMBER_TYPE_HOME)
- return (CTTEXT_TYPE_HOME);
- else if (number_type == CONTACTS_NUMBER_TYPE_WORK)
- return (CTTEXT_TYPE_WORK);
- else
- return (CTTEXT_TYPE_OTHER);
- }
-}
diff --git a/lib/common/ph-dialer-speed.cpp b/lib/common/ph-dialer-speed.cpp
deleted file mode 100755
index c9fdf49..0000000
--- a/lib/common/ph-dialer-speed.cpp
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "msg.h"
-#include "phone.h"
-#include "phone-common.h"
-
-char *phone_get_voice_mail_number()
-{
- PH_TRACE;
- int ret;
- msg_handle_t handle;
- msg_struct_t voice_mail;
- char strValue[MAX_PHONE_NUMBER_LEN + 1] = { 0, };
-
- ret = msg_open_msg_handle(&handle);
- p_retvm_if(MSG_SUCCESS != ret, NULL, "msg_open_msg_handle is Failed(%d)",
- ret);
-
- voice_mail = msg_create_struct(MSG_STRUCT_SETTING_VOICE_MSG_OPT);
- ret = msg_get_voice_msg_opt(handle, voice_mail);
-
- if (ret != MSG_SUCCESS)
- {
- ERR("msg_get_confi is faild(%d)", ret);
- ret = msg_close_msg_handle(&handle);
- p_warn_if(MSG_SUCCESS != ret, "msg_close_msg_handles is Failed(%d)",
- ret);
- return NULL;
- }
-
- ret = msg_get_str_value(voice_mail, MSG_VOICEMSG_ADDRESS_STR, strValue,
- MAX_PHONE_NUMBER_LEN);
- p_warn_if(MSG_SUCCESS != ret, "msg_get_str_value is Failed(%d)", ret);
- p_warn_if(strlen(strValue) == 0, "voicemail number is none");
- PH_DBG("Voicemail Number : %s", strValue);
-
- ret = msg_close_msg_handle(&handle);
- p_warn_if(MSG_SUCCESS != ret, "msg_close_msg_handles is Failed(%d)", ret);
-
- return strdup(strValue);
-}
-
-Eina_List *phone_load_speeddial_data(int *ref_count)
-{
- PH_TRACE;
- Eina_List *list = NULL;
- int count = 0;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_list_h spdial_list = NULL;
- ph_speeddial_info *voice_mail;
- unsigned int record_cnt = 0;
-
- err = (contacts_error_e) contacts_db_get_all_records(
- _contacts_speeddial._uri, 0, 0, &spdial_list);
- contacts_list_get_count(spdial_list, &record_cnt);
- PH_DBG("get speeddial records (%d)", record_cnt);
- while (CONTACTS_ERROR_NONE == err && record_cnt > 0)
- {
- ph_speeddial_info *speed_info;
- speed_info = (ph_speeddial_info *) calloc(1, sizeof(ph_speeddial_info));
-
- err = phone_cts_get_str_from_list(spdial_list,
- _contacts_speeddial.number, &speed_info->ph_number);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() for number Failed(%d)", err);
- err = phone_cts_get_int_from_list(spdial_list,
- _contacts_speeddial.person_id, &speed_info->contact_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_int_from_list() for person_id Failed(%d)", err);
- err = phone_cts_get_int_from_list(spdial_list,
- _contacts_speeddial.speeddial_number, &speed_info->dial_number);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_int_from_list() for speeddial_number Failed(%d)",
- err);
- err = phone_cts_get_int_from_list(spdial_list,
- _contacts_speeddial.number_type, &speed_info->number_type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_int_from_list() for speeddial_number Failed(%d)",
- err);
- err = phone_cts_get_str_from_list(spdial_list,
- _contacts_speeddial.number_label, &speed_info->numtype_label);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() for number_lable Failed(%d)",
- err);
- err = phone_cts_get_str_from_list(spdial_list,
- _contacts_speeddial.display_name, &speed_info->display);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() for display_name Failed(%d)",
- err);
- err = phone_cts_get_str_from_list(spdial_list,
- _contacts_speeddial.image_thumbnail_path,
- &speed_info->img_path);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() for image_thumbnail_path Failed(%d)",
- err);
-
- list = eina_list_append(list, (void*) speed_info);
- count++;
-
- err = (contacts_error_e) contacts_list_next(spdial_list);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)",
- err);
- }
- err = (contacts_error_e) contacts_list_destroy(spdial_list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)",
- err);
-
- voice_mail = (ph_speeddial_info *) calloc(1, sizeof(ph_speeddial_info));
- if (NULL == voice_mail)
- {
- ERR("calloc Failed");
- *ref_count = count;
- phone_free_speeddial_data(list);
- return NULL;
- }
- voice_mail->ph_number = phone_get_voice_mail_number();
- voice_mail->contact_id = 0;
- voice_mail->dial_number = 1;
- voice_mail->display = strdup(T_(PH_GET_TEXT_BASIC, PHTEXT_VOICE_MAIL));
- voice_mail->img_path = strdup(IMG_VOICEMAIL_ICON);
- list = eina_list_prepend(list, (void*) voice_mail);
-
- *ref_count = count;
- return list;
-}
-
-void phone_free_speeddial_data(Eina_List *list)
-{
- PH_TRACE;
- Eina_List *l;
- void *info;
-
- p_retm_if(NULL == list, "List is null");
-
- EINA_LIST_FOREACH(list, l, info)
- {
- ph_speeddial_info *s_info = (ph_speeddial_info *) info;
- if (NULL == s_info)
- continue;
- free(s_info->display);
- free(s_info->img_path);
- free(s_info->ph_number);
- free(s_info);
- }
- eina_list_free(list);
-}
-
-int speed_set_speeddial(int spdial_num, int number_id)
-{
- PH_TRACE;
- contacts_record_h spd_record = NULL;
- int ret_id = 0;
- int err = CONTACTS_ERROR_NONE;
-
- contacts_record_create(_contacts_speeddial._uri, &spd_record);
-
- err = contacts_record_set_int(spd_record,
- _contacts_speeddial.speeddial_number, spdial_num);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_int(spd_record, _contacts_speeddial.number_id,
- number_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_db_insert_record(spd_record, &ret_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_insert_record() Failed(%d)", err);
-
- contacts_record_destroy(spd_record, true);
- return err;
-}
diff --git a/lib/common/ph-text.cpp b/lib/common/ph-text.cpp
deleted file mode 100755
index 4cdcca3..0000000
--- a/lib/common/ph-text.cpp
+++ /dev/null
@@ -1,390 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "phone.h"
-#include "phone-text.h"
-
-static const char *basic_str[] = {
- N_("IDS_KPD_TAB4_KEYPAD"),
- N_("IDS_PB_ITAB4_FAVOURITES"), N_("IDS_PB_HEADER_SPEEDDIAL"),
- N_("IDS_CST_BODY_VOICE_MAIL"), N_("IDS_CLOG_ITAB4_LOGS"),
- N_("IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"),
- N_("IDS_PB_POP_REQUEST_FAILED"), N_("IDS_PB_POP_REQUEST_SUCCESS"),
- N_("IDS_CALL_POP_EMERGENCY_CALL"), N_("IDS_CLOG_BODY_NO_LOGS"),
- N_("IDS_PB_BODY_NO_FAVOURITES"),
- N_("IDS_CLOG_POP_MESSAGE_DELETED"),
- N_("IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"),
- N_("IDS_CLOG_POP_DELETING_LOGS_ING"),
- N_("IDS_PB_POP_DELETING_FAVOURITES_ING"),
- N_("IDS_PB_POP_INITIALISING_TRY_LATER_ING"),
- N_("IDS_COM_POP_SOUND_OFF"), N_("IDS_COM_POP_SOUND_ON"),
- N_("IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"),
- N_("IDS_COM_BODY_BACK_TO_CALL"), N_("IDS_ST_BODY_INCOMMING_CALL"),
- N_("IDS_ST_BODY_OUTGOING_CALL"), N_("IDS_CLOG_HEADER_MISSED_CALL"),
- N_("IDS_CLOG_OPT_SENT_MESSAGE"),
- N_("IDS_CLOG_OPT_RECEIVED_MESSAGE"),
- N_("IDS_LOGS_BODY_REJECTED_CALL_ABB"),
- N_("IDS_LOGS_BODY_BLOCKED_CALL_ABB"),
- N_("IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"),
- N_("IDS_KPD_POP_ADD_TO_CONTACTS"), N_("IDS_KPD_POP_SETTINGS"),
- N_("IDS_CLOG_POP_CALL_DURATION"),
- N_("IDS_CLOG_POP_BLOCK_CONTACT"),
- N_("IDS_CLOG_POP_SEND_NUMBER"),
- N_("IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"),
- N_("IDS_PB_BODY_UNSAVED"),
- N_("IDS_CST_POP_CONTACTS_TO_DISPLAY"),
- N_("IDS_CST_POP_SETTINGS"),
- N_("IDS_CST_POP_DELETE"),
- N_("IDS_CST_POP_CONTACTS"),
- N_("IDS_CST_BUTTON_DELETE"),
- N_("IDS_CST_BUTTON_CANCEL"),
- N_("IDS_CLOG_DURATION_RESET"),
- N_("IDS_CLOG_DURATION_LAST"),
- N_("IDS_CLOG_DURATION_DIALED"),
- N_("IDS_CLOG_DURATION_RECEIVED"),
- N_("IDS_CLOG_DURATION_ALL"),
- N_("IDS_CLOG_POP_DELETE_N_LOGS"),
- N_("IDS_CLOG_ENTRY_SEARCH"),
- N_("IDS_REMOVE"),
- N_("IDS_CREATE_CONTACT"),
- N_("IDS_SPEED_CHANGE_ORDER"),
- N_("IDS_CLOG_BUTTON_MESSAGE"),
- N_("IDS_CLOG_BUTTON_EMAIL"),
- N_("IDS_DEFAULT_NUMBER"),
- N_("IDS_SEND_CONTACT_AS_TEXT"),
- N_("IDS_CALLS"),
- N_("IDS_MESSAGES"),
- N_("IDS_PB_BODY_SEPARATE_CONTACTS"),
- N_("IDS_PB_BODY_LINK_CONTACTS_WITH"),
- N_("IDS_PB_BODY_SEPARATE_NAME_FROM"),
- N_("IDS_PB_HEADER_SEND_EMAIL"),
- N_("IDS_PB_HEADER_SEND_MESSAGE"),
- N_("IDS_SEND_MESSAGE_EMAIL"),
- N_("IDS_IMPORT_EXPORT"),
- N_("IDS_ACCOUNTS")
-};
-
-static const char *base_op_str[] = {
- N_("IDS_CLOG_HEADER_SELECT_LOGS"),
- N_("IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"),
- N_("IDS_CLOG_BUTTON2_UNBLOCK"),
- N_("IDS_CST_OPT_CHANGE_CONTACT_ABB"),
- N_("IDS_KPD_OPT_ADD_PD_SEC_PAUSE"), N_("IDS_KPD_OPT_ADD_WAIT"),
- N_("IDS_CLOG_HEADER_MISSED"), N_("IDS_COM_OPT_EXIT")
-};
-
-static const char *number_type_str[] = {
- N_("IDS_PB_BODY_CUSTOM_T_PHONEBOOK"),/*Custom*/
- N_("IDS_PB_BODY_MOBILE"),/*Mobile*/
- N_("IDS_PB_BODY_HOME"),/*Home*/
- N_("IDS_PB_BODY_WORK"),/*Work*/
- N_("IDS_PB_BODY_FAX_HHOME"),/*Fax(home)*/
- N_("IDS_PB_BODY_FAX_HWORK"),/*Fax(work)*/
- N_("IDS_PB_BODY_ASSISTANT_S_NUMBER"),/*Assistant*/
- N_("IDS_PB_BODY_PAGER"),/*Pager*/
- N_("IDS_PB_BODY_OTHER"),/*Other*/
- N_("IDS_PB_BODY_TELEPHONE"),/*Telephone*/
- N_("IDS_PB_BODY_FAX"),/*Fax*/
- N_("IDS_PB_BODY_CAR_TELEPHONE"),/*Car*/
- N_("IDS_PB_BODY_HOME_2"),/*Home2*/
- N_("IDS_PB_BODY_WORK"),/*Work2*/ // TODO: Fixme
- N_("IDS_PB_BODY_COMPANY_MAIN"),/*Company main*/
- N_("IDS_PB_BODY_RADIO"), /*Radio*/
-};
-
-static const char *postal_type_str[] = {
- N_("IDS_PB_BODY_OTHER"),/*Other*/
- N_("IDS_PB_BODY_CUSTOM_T_PHONEBOOK"),/*Custom*/
- N_("IDS_PB_BODY_HOME"),/*Home*/
- N_("IDS_PB_BODY_WORK"), /*Work*/
-};
-
-static const char *cbasic_str[] = {
- N_("IDS_PB_BODY_ALL_CONTACTS"),/*All Contacts*/
- N_("IDS_PB_BODY_NOT_ASSIGNED"),/*Not Assigned*/
- N_("IDS_PB_BODY_SERVICE_NUMBER"),/*Service Number*/
- N_("IDS_PB_BODY_PHONE"),/*Phone*/
- N_("IDS_PB_BODY_GROUPS"),/*Groups*/
- N_("IDS_PB_BODY_DEFAULT"),/*Default*/
- N_("IDS_PB_BODY_RINGTONE"),/*Ringtone*/
- N_("IDS_PB_BODY_WEBSITE"),/*URL*/
- N_("IDS_PB_BODY_INSTANT_MESSENGER"),/*Instant Messenger*/
- N_("IDS_PB_BODY_EMAIL"),/*Email*/
- N_("IDS_PB_BODY_NUMBER"),/*Number*/
- N_("IDS_PB_BODY_NOTE"),/*Note*/
- N_("IDS_PB_BODY_POSTAL_ADDRESS"),/*Postal Address*/
- N_("IDS_PB_HEADER_DETAILS"),/*Details*/
- N_("IDS_PB_BODY_COMPANY"),/*Company*/
- N_("IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"),/* Order display name */
- N_("IDS_PB_BODY_OWN_NUMBER"),/* Own number */
- N_("IDS_PB_BODY_FIRST_NAME"), N_("IDS_PB_BODY_LAST_NAME"),
- N_("IDS_PB_BODY_MIDDLE_NAME"), N_("IDS_PB_BODY_SUFFIX"),
- N_("IDS_PB_BODY_NICKNAME"), N_("IDS_PB_BODY_EXPORT_CONTACTS"),
- N_("IDS_PB_HEADER_SELECT_CONTACTS"), N_("IDS_PB_BODY_POSTAL_CODE"),
- N_("IDS_PB_BODY_COUNTRY"), N_("IDS_PB_BODY_PROVINCE"),
- N_("IDS_PB_BODY_CITY"), N_("IDS_PB_BODY_STREET"),
- N_("IDS_EMAIL_BODY_SAVED_IN_PS"),
- N_("IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"),
- N_("IDS_PB_POP_COPIED"), N_("IDS_COM_BODY_EXPORTED"),
- N_("IDS_PB_POP_DELETING_CONTACTS_ING"),
- N_("IDS_PB_BODY_MOVING_ING"), N_("IDS_PB_BODY_COPYING_ING"),
- N_("IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"),
- N_("IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"),
- N_("IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"),
- N_("IDS_PB_BODY_VCARD"), N_("IDS_PB_BODY_READING_VCARD_ING"),
- N_("IDS_COM_BODY_IMPORTED_ABB"), N_("IDS_COM_BODY_NA"),
- N_("IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"),
- N_("IDS_PB_BODY_LINKED_CONTACTS"),
- N_("IDS_KA_BODY_ADD_ANOTHER_FIELD"), N_("IDS_PB_BODY_JOB_TITLE"),
- N_("IDS_PB_BODY_DEPARTMENT"), N_("IDS_PB_OPT_GROUP_NAME"),
- N_("IDS_PB_BODY_ADD_ACCOUNT"),
- N_("IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"),
- N_("IDS_PB_OPT_VIEW"),N_("IDS_PB_OPT_VIEW_BY"), N_("IDS_PB_BODY_PD_CONTACTS"),
- N_("IDS_PB_OPT_RENAME"), N_("IDS_PB_OPT_RELATIONSHIP"),
- N_("IDS_PB_BODY_NO_HISTORIES"), N_("IDS_PB_BODY_NO_ACTIVITIES"),
- N_("IDS_PB_POP_ADDING_ING"), N_("IDS_PB_BODY_CUSTOM_T_PHONEBOOK"),
- N_("IDS_PB_BODY_EDITADDITIONALINFO"), N_("IDS_PB_BODY_PO_BOX"),
- N_("IDS_PB_BODY_STATE"), N_("IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"),
- N_("IDS_PB_BODY_DEFAULT_GROUP_FAMILY"),
- N_("IDS_PB_BODY_CO_WORKERS"), N_("IDS_PB_BODY_EMERGENCY_CONTACTS"),
- N_("IDS_PB_BODY_DEFAULT_GROUP_WORK"),
- N_("IDS_PB_BODY_VIBRATION_PATTERN"), N_("IDS_PB_OPT_SET_DEFAULT"),
- N_("IDS_COM_OPT_EVENT"),
- N_("IDS_PB_OPT_SHARE_CONTACT_INFORMATION"),
- N_("IDS_PB_BODY_1_CONTACT"), N_("IDS_COM_OPT1_WI_FI_DIRECT"),
- N_("IDS_PB_OPT_EXPORT_TO_SIM_CARD"), N_("IDS_PB_SK3_INFO"),
- N_("IDS_PB_TAB4_HISTORY"), N_("IDS_PB_TAB4_ACTIVITIES"),
- N_("IDS_CMT_HEADER_GROUP_MESSAGE_TMO"),
- N_("IDS_CMT_HEADER_GROUP_EMAIL_TMO"),
- N_("IDS_PB_BODY_ORGANIZATION"),
- N_("IDS_PB_BODY_MY_PHONE"),
- N_("IDS_PB_BODY_RINGTONES"),
- N_("IDS_PB_BODY_MY_FILES")
-};
-
-static const char *err_str[] = {
- N_("IDS_PB_BODY_NO_NAME"), N_("IDS_PB_POP_INVALID_EMAIL_ADDRESS"),
- N_("IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"),
- N_("IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"),
- N_("IDS_PB_POP_ALREADY_ADDED"),
- N_("IDS_PB_POP_GROUP_ALREADY_IN_USE"),
- N_("IDS_PB_BODY_NO_GROUP"), N_("IDS_PB_POP_NO_NUMBER"),
- N_("IDS_PB_POP_NO_EMAIL_ADDRESSES"),
- N_("IDS_PB_BODY_NO_CONTACTS"),
- N_("IDS_PB_POP_SIM_MEMORY_EMPTY"),
- N_("IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"),
- N_("IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"),
- N_("IDS_PB_BODY_INVALID_NUMBER"),
- N_("IDS_PB_POP_SIM_MEMORY_FULL"),
- N_("IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"),
- N_("IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"),
- N_("IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS")
-};
-
-static const char *cbase_op_str[] = {
- N_("IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"),/*Set Default Number*/
- N_("IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"),/*Set Default Email*/
- N_("IDS_PB_BODY_IMAGE"),/*Image*/
- N_("IDS_PB_BODY_TAKE_A_PHOTO"),/*Take a photo*/
- N_("IDS_PB_OPT_REMOVE_PHOTO_ABB"),/*Delete photo*/
- N_("IDS_PB_SK1_ADD_TO_HOME_SCREEN"),/*Add to Home*/
- N_("IDS_PB_BODY_SAVE_CONTACT_TO"),/*Save contact to*/
- N_("IDS_PB_OPT_SAVE_TO"),/*Save to*/
- N_("IDS_PB_BODY_IMPORT_SIM_CONTACTS"), /* Import SIM contacts */
- N_("IDS_PB_BODY_FIRST_NAME_FIRST"),/* order display - First name first */
- N_("IDS_PB_BODY_LAST_NAME_FIRST_ABB"),/* order display - Last name first */
- N_("IDS_ST_SK_SHOW"),/* setting - mfc show */
- N_("IDS_ST_SK_HIDE"),/* setting - mfc hide */
- N_("IDS_PB_HEADER_SEND_NAMECARD"), N_("IDS_PB_HEADER_CREATE_GROUP"),
- N_("IDS_PB_HEADER_SELECT_GROUP"),
- N_("IDS_PB_BODY_EXPORT_CONTACTS"), N_("IDS_PB_SK_IMPORT_CONTACTS"),
- N_("IDS_PB_BODY_LINK_CONTACT"), N_("IDS_PB_OPT_UNLINK"),
- N_("IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"),
- N_("IDS_PB_BODY_ADD_TO_FAVOURITES"),
- N_("IDS_PB_HEADER_EDIT_GROUP"), N_("IDS_PB_SK_ADD_MEMBER"),
- N_("IDS_PB_OPT_ADD_TO_GROUP"),
- N_("IDS_PB_POP_ADDED_TO_FAVOURITES"),
- N_("IDS_PB_POP_REMOVE_FROM_FAVOURITES"),
- N_("IDS_PB_POP_REMOVED_FROM_FAVOURITES")
-};
-
-static const char *event_type_str[] = {
- N_("IDS_PB_HEADER_UNKNOWN"),/*CTS_EVENT_TYPE_OTHER*/
- N_("IDS_PB_BODY_CUSTOM_T_PHONEBOOK"),/*CTS_EVENT_TYPE_CUSTOM*/
- N_("IDS_PB_BODY_BIRTHDAY"),/*CTS_EVENT_TYPE_BIRTH*/
- N_("IDS_PB_BODY_ANNIVERSARY") /*CTS_EVENT_TYPE_ANNIVERSARY*/
-};
-
-static const char *im_type_str[] = {
- N_("IDS_PB_BODY_OTHER"),/*CTS_IM_TYPE_OTHER*/
- N_("IDS_PB_BODY_CUSTOM_T_PHONEBOOK"),/*CTS_IM_TYPE_CUSTOM*/
- N_("IDS_PB_OPT_GOOGLE_TALK"),/*CTS_IM_TYPE_GOOGLE*/
- N_("IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"),/*CTS_IM_TYPE_WLM*/
- N_("IDS_PB_BODY_YAHOO"),/*CTS_IM_TYPE_YAHOO*/
- N_("IDS_PB_BODY_FACEBOOK"),/*CTS_IM_TYPE_FACEBOOK*/
- N_("IDS_PB_BODY_IMPSCOMMUNITY_ICQ"),/*CTS_IM_TYPE_ICQ*/
- N_("IDS_PB_BODY_IMPSCOMMUNITY_AIM"),/*CTS_IM_TYPE_AIM*/
- N_("IDS_PB_OPT_QQ"),/*CTS_IM_TYPE_QQ*/
- N_("IDS_PB_OPT_JABBER"),/*CTS_IM_TYPE_JABBER*/
- N_("IDS_PB_OPT_SKYPE"), /*CTS_IM_TYPE_SKYPE*/
-};
-
-const size_t DayCount = 7;
-static const char *day_str[] = {
- N_("IDS_COM_BODY_SUNDAY"),
- N_("IDS_COM_BODY_MONDAY"), N_("IDS_COM_BODY_TUESDAY"),
- N_("IDS_COM_BODY_WEDNESDAY"), N_("IDS_COM_BODY_THURSDAY"),
- N_("IDS_COM_BODY_FRIDAY"), N_("IDS_COM_BODY_SATURDAY")
-};
-
-static const char* relation_type_str[] = {
- N_("IDS_PB_BODY_OTHER"),/*None*/
- N_("IDS_PB_BUTTON_ASSISTANT"),/*Assistant*/
- N_("IDS_COM_OPT_BROTHER_ABB"),/*Brother*/
- N_("IDS_PB_BUTTON_CHILD"),/*Child*/
- N_("IDS_PB_OPT_DOMESTIC_PARTNER_ABB"),/*Domestic partner*/
- N_("IDS_COM_OPT_FATHER_ABB"),/*Father*/
- N_("IDS_PB_BODY_CALLERIDFRIEND"),/*Friend*/
- N_("IDS_JAVA_BODY_MANAGER"),/*Manager*/
- N_("IDS_COM_OPT_MOTHER_ABB"),/*Mother*/
- N_("IDS_COM_OPT_PARENT_ABB"),/*Parent*/
- N_("IDS_PB_BODY_CALLERIDPARTNER"),/*Partner*/
- N_("IDS_PB_OPT_REFERRED_BY"),/*Referred by*/
- N_("IDS_COM_BODY_RELATIVE_ABB"),/*Relative*/
- N_("IDS_COM_OPT_SISTER_ABB"),/*Sister*/
- N_("IDS_PB_BODY_SPOUSE"),/*Spouse*/
- N_("IDS_PB_BODY_CUSTOM_T_PHONEBOOK"), /*Custom*/
-};
-
-const size_t MonthCount = 13;
-static const char *month_str[] = {
- "IDS_COM_BODY_NONE", "IDS_COM_BODY_JAN", "IDS_COM_BODY_FEB",
- "IDS_COM_BODY_MAR", "IDS_COM_BODY_APR", "IDS_COM_BODY_MAY",
- "IDS_COM_BODY_JUN", "IDS_COM_BODY_JUL", "IDS_COM_BODY_AUG",
- "IDS_COM_BODY_SEP", "IDS_COM_BODY_OCT", "IDS_COM_BODY_NOV",
- "IDS_COM_BODY_DEC"
-};
-
-static const char *vibration_str[] = {
- N_("IDS_COM_VIBRATION_DEFAULT"),
- N_("IDS_COM_VIBRATION_HEARTBEAT"),
- N_("IDS_COM_VIBRATION_JINGLEBELL"),
- N_("IDS_COM_VIBRATION_TICKTOCK"),
- N_("IDS_COM_VIBRATION_WALTZ"),
- N_("IDS_COM_VIBRATION_ZIGZIGZIG")
-};
-
-const char* phone_get_text(int op, int type)
-{
- PH_TRACE;
- const char **table;
-
- switch (op)
- {
- case PH_GET_TEXT_BASIC:
- table = basic_str;
- break;
- case PH_GET_TEXT_BASE_OP:
- table = base_op_str;
- break;
- case CT_GET_TEXT_BASIC:
- table = cbasic_str;
- break;
- case CT_GET_TEXT_ERR:
- table = err_str;
- break;
- case CT_GET_TEXT_BASE_OP:
- table = cbase_op_str;
- break;
- case CT_GET_TEXT_NUM_TYPE:
- table = number_type_str;
- break;
- case CT_GET_TEXT_POSTAL_TYPE:
- case CT_GET_TEXT_WEBSITE_TYPE:
- case CT_GET_TEXT_EMAIL_TYPE:
- table = postal_type_str;
- break;
- case CT_GET_TEXT_EVENT_TYPE:
- table = event_type_str;
- break;
- case CT_GET_TEXT_IM_TYPE:
- table = im_type_str;
- break;
- case CT_GET_TEXT_MONTH:
- if (type >= 0)
- {
- if (MonthCount <= static_cast<unsigned int>(type))
- return NULL;
- else
- return dgettext("sys_string", month_str[type]);
- }
- else
- return NULL;
- case CT_GET_TEXT_RELATIONSHIP_TYPE:
- table = relation_type_str;
- break;
- case PH_GET_TEXT_DAY:
- if (type >= 0)
- {
- if (DayCount <= static_cast<unsigned int>(type))
- return NULL;
- else
- table = day_str;
- }
- else
- return NULL;
- break;
- case CT_GET_TEXT_VIBRATION:
- table = vibration_str;
- break;
- default:
- return NULL;
- }
- return dgettext(PACKAGE, table[type]);
-}
-
-static const char *sys_str[] = {
- "IDS_COM_SK_OK", "IDS_COM_SK_SAVE",
- "IDS_COM_SK_DONE", "IDS_COM_SK_EDIT",
- "IDS_COM_SK_DELETE", "IDS_COM_SK_CANCEL",
- "IDS_COM_SK3_BLOCK", "IDS_COM_SK_NO",
- "IDS_COM_SK_YES", "IDS_COM_SK_ADD", "IDS_COM_SK_MORE",
- "IDS_COM_SK_NEXT", "IDS_COM_BODY_CALL", "IDS_COM_BODY_MESSAGE",
- "IDS_COM_BODY_VIDEO_CALL", "IDS_COM_BODY_UNKNOWN",
- "IDS_COM_BODY_SELECT_ALL", "IDS_COM_BODY_CONTACTS",
- "IDS_COM_BODY_DETAILS", "IDS_COM_BODY_REMOVE", "IDS_COM_BODY_TODAY",
- "IDS_COM_BODY_YESTERDAY", "IDS_COM_BODY_PREVIOUS",
- "IDS_COM_BODY_NO_NAME", "IDS_COM_BODY_CREATE", "IDS_COM_BODY_MOVE",
- "IDS_COM_BODY_COPY", "IDS_COM_BODY_PHONE", "IDS_COM_BODY_SEARCH",
- "IDS_COM_BODY_BLUETOOTH", "IDS_COM_BODY_EMAIL",
- "IDS_COM_BODY_ADDTOPHONEBOOK_SIM", "IDS_COM_BODY_MEMORY_CARD",
- "IDS_COM_BODY_DETAILS_NAME", "IDS_COM_BODY_ALL", "IDS_COM_POP_FAIL",
- "IDS_COM_POP_FAILED", "IDS_COM_POP_CLOSE", "IDS_COM_POP_REMOVED",
- "IDS_COM_POP_DELETED", "IDS_COM_POP_INCORRECT_PASSWORD",
- "IDS_COM_POP_ALREDY_EXISTS", "IDS_COM_POP_SELECTED",
- "IDS_COM_POP_SUCCESS", "IDS_COM_POP_ERROR", "IDS_COM_POP_MOVED",
- "IDS_COM_POP_ADDED", "IDS_COM_POP_NOT_ENOUGH_MEMORY",
- "IDS_COM_POP_NOTHING_SELECTED", "IDS_COM_POP_FILE_NOT_FOUND",
- "IDS_COM_POP_ADDRESS", "IDS_COM_OPT_ADD_TO_CONTACTS",
- "IDS_COM_BODY_SELECTED_DATA_NOT_FOUND", "IDS_COM_POP_DELETE_Q",
- "IDS_COM_SK_SET", "IDS_COM_BODY_RESET"
-};
-
-const char* phone_get_system_string(int type)
-{
- PH_TRACE;
- return dgettext("sys_string", sys_str[type]);
-}
diff --git a/lib/common/ui/genlist/genlist.cpp b/lib/common/ui/genlist/genlist.cpp
deleted file mode 100644
index 76eee85..0000000
--- a/lib/common/ui/genlist/genlist.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ui/genlist/genlist.h"
-#include "ui/genlist/item.h"
-
-void ui_genlist_on_realized(void *data, Evas_Object *obj, void *event)
-{
- PH_TRACE;
- if(event)
- {
- ui_genlist_item *item = (ui_genlist_item*) elm_object_item_data_get((Elm_Object_Item*) event);
- if(item && item->on_realized)
- {
- item->on_realized(item);
- }
- }
-}
diff --git a/lib/common/ui/genlist/genlist.h b/lib/common/ui/genlist/genlist.h
deleted file mode 100644
index 518541d..0000000
--- a/lib/common/ui/genlist/genlist.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __UI_GENLIST_H__
-#define __UI_GENLIST_H__
-
-#include <Elementary.h>
-#include "phone.h"
-
-/**
- * Call an on_realized callback for genlist when an item is "realized".
- * @param data User data.
- * @param obj A smart object.
- * @param event_info The genlist item that is "realized".
- */
-void ui_genlist_on_realized(void *data, Evas_Object *obj, void *event);
-
-#endif /* __UI_GENLIST_H__ */
diff --git a/lib/common/ui/genlist/item.cpp b/lib/common/ui/genlist/item.cpp
deleted file mode 100644
index d269f5b..0000000
--- a/lib/common/ui/genlist/item.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ui/genlist/item.h"
-
-ui_genlist_item * ui_genlist_item_create()
-{
- PH_TRACE;
- return (ui_genlist_item *) calloc(1, sizeof(ui_genlist_item));
-}
-
-void ui_genlist_item_destroy(void *data, Evas_Object *obj)
-{
- PH_TRACE;
- free(data);
-}
diff --git a/lib/common/ui/genlist/item.h b/lib/common/ui/genlist/item.h
deleted file mode 100644
index b4c8151..0000000
--- a/lib/common/ui/genlist/item.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __UI_GENLIST_ITEM_H__
-#define __UI_GENLIST_ITEM_H__
-
-#include <Elementary.h>
-#include "phone.h"
-
-typedef struct ui_genlist_item
-{
- void (*on_realized)(struct ui_genlist_item *item);
- Elm_Object_Item *object_item;
- Eina_List **item_list;
- Evas_Object *save_button;
- void *group_data;
- void *data;
-} ui_genlist_item;
-
-/**
- * Allocate the memory for ui_genlist_item.
- * @return allocated ui_genlist_item.
- */
-ui_genlist_item * ui_genlist_item_create();
-
-/**
- * Destroy ui_genlist_item. Used as Elm_Gen_Item_Del_Cb.
- * @param data The ui_genlist_item to be destroyed.
- * @param obj The widget object.
- */
-void ui_genlist_item_destroy(void *data, Evas_Object *obj);
-
-#endif /* __UI_GENLIST_ITEM_H__ */
diff --git a/lib/ct-front/CMakeLists.txt b/lib/ct-front/CMakeLists.txt
deleted file mode 100755
index 84243ea..0000000
--- a/lib/ct-front/CMakeLists.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
-
-SET(TARGET ${CT_FRONT})
-
-FILE(GLOB SRCS *.cpp)
-
-ADD_LIBRARY(${TARGET} SHARED ${SRCS})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES VERSION ${VERSION})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
-TARGET_LINK_LIBRARIES(${TARGET} ${COMMON_LIB} ${FAVOR_LIB} ${ug_pkgs_LDFLAGS} ${PH_LOG} ${CT_DETAILS} ${CT_LIST})
-
-INSTALL(TARGETS ${TARGET} DESTINATION ${UGLIBDIR})
-
-INSTALL(FILES ${CMAKE_BINARY_DIR}/lib/ct-front/contacts-tabui-efl.xml DESTINATION "/usr/share/packages")
diff --git a/lib/ct-front/contacts-tabui-efl.xml b/lib/ct-front/contacts-tabui-efl.xml
deleted file mode 100644
index 35baa94..0000000
--- a/lib/ct-front/contacts-tabui-efl.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="contacts-tabui-efl" version="0.1.0-0" install-location="internal-only">
- <label>contacts-tabui</label>
- <author email="ensung.park@samsung.com" href="www.samsung.com">ensung park</author>
- <description>contacts-tabui-efl Application</description>
- <ui-application appid="contacts-tabui-efl" exec="/usr/ug/bin/contacts-tabui-efl" nodisplay="true" multiple="true" type="capp" taskmanage="false">
- <icon>org.tizen.contacts.png</icon>
- <label>contacts-tabui</label>
- <label xml:lang="en-us">contacts-tabui</label>
- <label xml:lang="nl-nl">contacts-tabui</label>
- <label xml:lang="de-de">contacts-tabui</label>
- <label xml:lang="en-gb">contacts-tabui</label>
- <label xml:lang="zh-hk">contacts-tabui</label>
- <label xml:lang="zh-cn">contacts-tabui</label>
- <label xml:lang="ru-ru">contacts-tabui</label>
- <label xml:lang="zh-tw">contacts-tabui</label>
- <label xml:lang="ja-jp">contacts-tabui</label>
- <label xml:lang="es-es">contacts-tabui</label>
- <label xml:lang="el-gr">contacts-tabui</label>
- <label xml:lang="it-it">contacts-tabui</label>
- <label xml:lang="tr-tr">contacts-tabui</label>
- <label xml:lang="pt-pt">contacts-tabui</label>
- <label xml:lang="fr-fr">contacts-tabui</label>
- <label xml:lang="ko-kr">contacts-tabui</label>
- <application-service>
- <operation name="http://tizen.org/ns/packages"/>
- </application-service>
- </ui-application>
-</manifest>
diff --git a/lib/ct-front/ct-front-main.cpp b/lib/ct-front/ct-front-main.cpp
deleted file mode 100755
index 980376b..0000000
--- a/lib/ct-front/ct-front-main.cpp
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-#include "phone-common.h"
-#include "contacts-ug.h"
-#include "ct-front.h"
-#include "ct-front-view.h"
-
-static int cfront_parse_bundle(ct_front_data *cfront_d, service_h service)
-{
- PH_TRACE;
- char* val = NULL;
-
- cfront_d->view_visible[CT_VIEW_CONTACT] = true;
- cfront_d->view_visible[CT_VIEW_GROUP] = true;
- cfront_d->view_visible[CT_VIEW_FAVORITE] = true;
-
- if (service)
- {
- service_get_extra_data(service, PH_UG_BUNDLE_TYPE, &val);
- if (val)
- cfront_d->ug_request = atoi(val);
- PH_DBG("type = %d", cfront_d->ug_request);
- free(val);
- }
-
- switch (cfront_d->ug_request)
- {
- case PH_UG_REQUEST_SELECT:
- case PH_UG_REQUEST_SELECT_NUMBER:
- case PH_UG_REQUEST_SELECT_EMAIL:
- cfront_d->view_visible[CT_VIEW_LOG] = true;
- break;
- case PH_UG_REQUEST_SET_WITH_NUM:
- service_get_extra_data(service, CT_UG_BUNDLE_NUM,
- &cfront_d->ug_data);
- break;
- case PH_UG_REQUEST_SET_WITH_EMAIL:
- service_get_extra_data(service, CT_UG_BUNDLE_EMAIL,
- &cfront_d->ug_data);
- break;
- case PH_UG_REQUEST_SET_WITH_WEB:
- service_get_extra_data(service, CT_UG_BUNDLE_WEB,
- &cfront_d->ug_data);
- break;
- case PH_UG_REQUEST_SET_WITH_IMG:
- case PH_UG_REQUEST_SET_WITH_RINGTONE:
- service_get_extra_data(service, CT_UG_BUNDLE_PATH,
- &cfront_d->ug_data);
- break;
- case PH_UG_REQUEST_CHECK:
- case PH_UG_REQUEST_CHECK_FOR_NUMBER:
- case PH_UG_REQUEST_CHECK_FOR_EMAIL:
- case PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL:
- cfront_d->view_visible[CT_VIEW_LOG] = true;
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_MAX, &val);
- if (val)
- cfront_d->cnt_max = atoi(val);
- free(val);
- default:
- break;
- }
- return 0;
-}
-
-void *ct_tabui_on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, void *priv)
-{
- PH_TRACE;
- if (!ug || !priv)
- return NULL;
-
- bindtextdomain(PACKAGE, LOCALEDIR);
-
- ct_front_data *cfront_d = (ct_front_data *) priv;
- int ret = cfront_parse_bundle(cfront_d, service);
- p_retvm_if(-1 == ret, NULL, "ph_front_view_parse_bundle() Failed");
-
- Evas_Object *parent = (Evas_Object *) ug_get_parent_layout(ug);
- if (!parent)
- return NULL;
-
- cfront_d = (ct_front_data *) priv;
- cfront_d->win = (Evas_Object *) ug_get_window();
-
- cfront_d->select_tab = CT_VIEW_NONE;
- cfront_d->ug = ug;
-
- bool success = cfront_d->initialize(cfront_d->win, parent);
- check_if(!success, return NULL);
-
- success = ct_front_view_create_toolbar(*cfront_d) != NULL;
- check_if(!success, return NULL);
-
- int err = contacts_connect2();
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_connect2() Failed(%d)", err);
-
- return cfront_d->getContent();
-}
-
-void ct_tabui_on_start(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- ct_front_data *cfront_d = (ct_front_data *) priv;
-
- elm_toolbar_select_mode_set(cfront_d->tabbar,
- ELM_OBJECT_SELECT_MODE_ALWAYS);
-
- cfront_d->timer = ecore_timer_add(3.0, ctui_front_view_load_timer,
- cfront_d);
-}
-
-void ct_tabui_on_pause(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
-}
-
-void ct_tabui_on_resume(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
-}
-
-void ct_tabui_on_destroy(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ct_front_data *cfront_d = (ct_front_data *) priv;
-
- if (!ug)
- return;
-
- free(cfront_d->ug_data);
-
- if (cfront_d->ug)
- {
- evas_object_del((Evas_Object *) ug_get_layout(ug));
- }
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_disconnect2() Failed(%d)",
- err);
-}
-
-void ct_tabui_on_message(ui_gadget_h ug, service_h msg, service_h service,
- void *priv)
-{
- PH_TRACE;
-}
-
-void ct_tabui_on_event(ui_gadget_h ug, enum ug_event event, service_h service,
- void *priv)
-{
- PH_TRACE;
- ct_front_data *cfront_d = (ct_front_data *) priv;
- switch (event)
- {
- case UG_EVENT_REGION_CHANGE:
- ctui_front_view_region_changed(cfront_d);
- break;
- case UG_EVENT_ROTATE_PORTRAIT:
- case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
- break;
- case UG_EVENT_ROTATE_LANDSCAPE:
- case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
- break;
- case UG_EVENT_LANG_CHANGE:
- ctui_front_view_language_changed(cfront_d);
- break;
- default:
- break;
- }
-}
-
-void ct_tabui_on_key_event(ui_gadget_h ug, enum ug_key_event event,
- service_h service, void *priv)
-{
- PH_TRACE;
-}
-
-extern "C" API int UG_MODULE_INIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- if (!ops)
- return -1;
-
- ct_front_data *cfront_d = new ct_front_data();
- if (!cfront_d)
- return -1;
-
- ops->create = ct_tabui_on_create;
- ops->start = ct_tabui_on_start;
- ops->pause = ct_tabui_on_pause;
- ops->resume = ct_tabui_on_resume;
- ops->destroy = ct_tabui_on_destroy;
- ops->message = ct_tabui_on_message;
- ops->event = ct_tabui_on_event;
- ops->key_event = ct_tabui_on_key_event;
- ops->priv = cfront_d;
- ops->opt = UG_OPT_INDICATOR_ENABLE;
-
- return 0;
-}
-
-extern "C" API void UG_MODULE_EXIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- if (!ops)
- return;
-
- free(ops->priv);
- ops->priv = NULL;
-}
-
diff --git a/lib/ct-front/ct-front-view.cpp b/lib/ct-front/ct-front-view.cpp
deleted file mode 100755
index e0eb62b..0000000
--- a/lib/ct-front/ct-front-view.cpp
+++ /dev/null
@@ -1,749 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <bundle.h>
-#include <app.h>
-#include "phone.h"
-#include "ct-front.h"
-#include "phone-log.h"
-#include "ct-front-view.h"
-#include "ct-list.h"
-#include "ct-group.h"
-#include "ct-favor.h"
-#include <auto_ptr.h>
-
-static void cfront_view_reset_current_sub_view(ct_front_data &cfront_d)
-{
- PH_TRACE;
- p_retm_if(cfront_d.select_tab <= CT_VIEW_NONE || CT_VIEW_MAX <= cfront_d.select_tab,
- "select_tab %d", cfront_d.select_tab);
- Evas_Object* pSubView(cfront_d.sub_view[cfront_d.select_tab]);
- if (pSubView)
- {
- switch (cfront_d.select_tab)
- {
- case CT_VIEW_CONTACT:
- ctui_list_view_reset((ct_list_data *) evas_object_data_get(cfront_d.navi, "clist_d"));
- ctui_list_set_background(cfront_d.navi, true);
- break;
- case CT_VIEW_LOG:
- phone_log_view_reset(cfront_d.navi);
- phone_log_set_background(cfront_d.navi, true);
- break;
- case CT_VIEW_GROUP:
- phone_group_view_reset(pSubView);
- phone_group_set_background(pSubView, true);
- break;
- case CT_VIEW_FAVORITE:
- phone_favor_view_reset(pSubView);
- phone_favor_set_background(pSubView, true);
- break;
- }
- }
-}
-
-static void cfront_view_load_sub_view(ct_front_data *cfront_d, int tab_index)
-{
- PH_TRACE;
- p_retm_if(!cfront_d, "cfront_d is NULL");
-
- std::auto_ptr<ph_view_info> pViewInfo(new ph_view_info);
- phone_set_view_info(pViewInfo.get(), cfront_d->win, cfront_d->navi, cfront_d->ug,
- cfront_d->ug_request, cfront_d->cnt_max, cfront_d->ug_data);
- switch (tab_index)
- {
- case CT_VIEW_CONTACT:
- cfront_d->sub_view[tab_index] = ctui_create_phone_list_view(pViewInfo.get());
- break;
- case CT_VIEW_LOG:
- cfront_d->sub_view[tab_index] = phone_create_log_view(pViewInfo.get());
- break;
- case CT_VIEW_GROUP:
- cfront_d->sub_view[tab_index] = phone_create_group_view(pViewInfo.get());
- break;
- case CT_VIEW_FAVORITE:
- cfront_d->sub_view[tab_index] = phone_favor_create_view(pViewInfo.get());
- break;
- default:
- ERR("tab_index is invalid");
- break;
- };
-}
-
-static bool shouldRunEditMode(int ugRequest)
-{
- bool res(false);
- if (PH_UG_REQUEST_CHECK == ugRequest
- || PH_UG_REQUEST_CHECK_FOR_NUMBER == ugRequest
- || PH_UG_REQUEST_CHECK_FOR_EMAIL == ugRequest
- || PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == ugRequest)
- {
- res = true;
- }
- return res;
-}
-
-static void cfront_view_show_sub_view(ct_front_data &cfront_d, int tab_index)
-{
- PH_TRACE;
- p_retm_if(cfront_d.select_tab == tab_index, "The tab is already shown");
-
- cfront_d.select_tab = tab_index;
- cfront_view_reset_current_sub_view(cfront_d);
- phone_hide_notify(cfront_d.navi);
-
- std::auto_ptr<ph_view_info> pViewinfo(new ph_view_info);
- phone_set_view_info(pViewinfo.get(), cfront_d.win, cfront_d.navi, cfront_d.ug,
- cfront_d.ug_request, cfront_d.cnt_max, cfront_d.ug_data);
-
- switch (tab_index)
- {
- case CT_VIEW_CONTACT:
- if (NULL == cfront_d.sub_view[tab_index])
- {
- DBG("!!! ctui_create_phone_list_view");
- cfront_d.sub_view[tab_index] = ctui_create_phone_list_view(pViewinfo.get());
- }
-
- ctui_list_set_background(cfront_d.navi, false);
- if (shouldRunEditMode(cfront_d.ug_request))
- {
- ctui_list_edit_mode_start((ct_list_data *)evas_object_data_get(cfront_d.navi, "clist_d"));
- }
- else
- {
- ctui_list_navi_set(CT_LIST_MODE_DEFAULT, (ct_list_data *)evas_object_data_get(cfront_d.navi, "clist_d"));
- }
- break;
- case CT_VIEW_LOG:
- if (NULL == cfront_d.sub_view[tab_index])
- {
- cfront_d.sub_view[tab_index] = phone_create_log_view(pViewinfo.get());
- }
-
- phone_log_set_background(cfront_d.navi, false);
- if (shouldRunEditMode(cfront_d.ug_request))
- {
- phone_log_check_mode_start((ph_log_data *)evas_object_data_get(cfront_d.navi, "log_data"));
- }
- else
- phone_log_set_navi(cfront_d.navi);
- break;
- case CT_VIEW_GROUP:
- if (NULL == cfront_d.sub_view[tab_index])
- {
- cfront_d.sub_view[tab_index] = phone_create_group_view(pViewinfo.get());
- }
-
- phone_group_set_background(cfront_d.sub_view[tab_index], false);
- phone_group_set_navi(cfront_d.sub_view[tab_index]);
- break;
- case CT_VIEW_FAVORITE:
- if (NULL == cfront_d.sub_view[tab_index])
- {
- cfront_d.sub_view[tab_index] = phone_favor_create_view(pViewinfo.get());
- }
-
- phone_favor_set_background(cfront_d.sub_view[CT_VIEW_FAVORITE], false);
- if (cfront_d.ug && shouldRunEditMode(cfront_d.ug_request))
- {
- phone_favor_edit_mode_start((ph_favorite_data *)
- evas_object_data_get(cfront_d.sub_view[tab_index], "favor_d"));
- }
- else
- {
- phone_favor_set_navi(cfront_d.sub_view[tab_index], PH_FAVOR_MODE_DEFAULT);
- }
- break;
- default:
- ERR("tab_index is invalid");
- return;
- }
-
- Evas_Object *view = elm_object_part_content_unset(cfront_d.layout, "elm.swallow.content");
- if (view)
- {
- evas_object_hide(view);
- }
-
- elm_object_part_content_set(cfront_d.layout, "elm.swallow.content", cfront_d.sub_view[tab_index]);
- evas_object_show(cfront_d.sub_view[tab_index]);
-}
-
-static Eina_Bool cfront_view_load_all_sub_view(void *data)
-{
- PH_TRACE;
- ct_front_data *cfront_d = (ct_front_data *) data;
- p_retvm_if(!cfront_d, ECORE_CALLBACK_CANCEL, "cfront_d is NULL");
-
- for (int i = CT_VIEW_CONTACT; i < CT_VIEW_MAX; i++)
- {
- if (cfront_d->view_visible[i] && NULL == cfront_d->sub_view[i])
- {
- cfront_view_load_sub_view(cfront_d, i);
- return ECORE_CALLBACK_RENEW;
- }
- }
- cfront_d->idler = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-API Eina_Bool ctui_front_view_load_timer(void *data)
-{
- PH_TRACE;
- ct_front_data *cfront_d = (ct_front_data *) data;
- p_retvm_if(!cfront_d, ECORE_CALLBACK_CANCEL, "cfront_d is NULL");
-
- cfront_d->idler = ecore_idler_add(cfront_view_load_all_sub_view, cfront_d);
- cfront_d->timer = NULL;
-
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void cfront_view_change_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_front_data *cfront_d = (ct_front_data *) data;
- p_retm_if(!cfront_d, "cfront_d is NULL");
- if (cfront_d)
- {
- Elm_Object_Item *selected_it = elm_toolbar_selected_item_get(obj);
- if (!selected_it)
- {
- selected_it = cfront_d->item[cfront_d->select_tab];
- elm_toolbar_item_selected_set(cfront_d->item[cfront_d->select_tab],
- EINA_TRUE);
- }
-
- int i = CT_VIEW_CONTACT;
- for (; i < CT_VIEW_MAX; ++i)
- {
- if (cfront_d->item[i])
- {
- if (selected_it == cfront_d->item[i])
- {
- break;
- }
- }
- }
- PH_DBG("cur sel : %d, sel index : %d", cfront_d->select_tab, i);
- cfront_view_show_sub_view(*cfront_d, i);
- }
-}
-
-static void cfront_view_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_front_data *cfront_d = (ct_front_data *) data;
- p_retm_if(NULL == cfront_d, "cfront_d is null");
-
- for (int i = 0; i < CT_VIEW_MAX; i++)
- {
- if (cfront_d->sub_view[i])
- evas_object_del(cfront_d->sub_view[i]);
- cfront_d->sub_view[i] = NULL;
- }
-
- if (cfront_d->idler)
- {
- ecore_idler_del(cfront_d->idler);
- cfront_d->idler = NULL;
- }
-
- if (cfront_d->timer)
- {
- ecore_timer_del(cfront_d->timer);
- cfront_d->timer = NULL;
- }
-
- if (!cfront_d->ug)
- {
- delete cfront_d;
- }
- else
- {
- cfront_d->ug = NULL;
- }
-}
-
-Evas_Object* ct_front_view_create_toolbar(ct_front_data &cfront_d)
-{
- PH_TRACE;
- Evas_Object *layout = elm_layout_add(cfront_d.navi);
- p_retvm_if(NULL == layout, NULL, "elm_layout_add() Failed");
- elm_layout_theme_set(layout, "layout", "tabbar", "default");
- cfront_d.layout = layout;
-
- Evas_Object *toolbar = elm_toolbar_add(cfront_d.navi);
- p_retvm_if(NULL == toolbar, NULL, "elm_toolbar_add() Failed");
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_object_style_set(toolbar, "tabbar");
- elm_object_part_content_set(layout, "elm.swallow.tabbar", toolbar);
- cfront_d.tabbar = toolbar;
-
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
-
- if (cfront_d.view_visible[CT_VIEW_CONTACT])
- {
- cfront_d.item[CT_VIEW_CONTACT] = elm_toolbar_item_append(toolbar,
- PH_IMG_ICON_CONTACTS, S_(PH_SYS_BODY_CONTACTS),
- cfront_view_change_cb, &cfront_d);
- }
-
- if (cfront_d.view_visible[CT_VIEW_GROUP])
- {
- cfront_d.item[CT_VIEW_GROUP] = elm_toolbar_item_append(toolbar,
- PH_IMG_ICON_GROUP, T_(CT_GET_TEXT_BASIC, CTTEXT_GROUP),
- cfront_view_change_cb, &cfront_d);
- }
-
- if (cfront_d.view_visible[CT_VIEW_FAVORITE])
- {
- cfront_d.item[CT_VIEW_FAVORITE] = elm_toolbar_item_append(toolbar,
- PH_IMG_ICON_FAVORITE, T_(PH_GET_TEXT_BASIC, PHTEXT_FAVORITES),
- cfront_view_change_cb, &cfront_d);
- }
-
- if (cfront_d.view_visible[CT_VIEW_LOG])
- {
- cfront_d.item[CT_VIEW_LOG] = elm_toolbar_item_append(toolbar,
- PH_IMG_ICON_LOGS, T_(PH_GET_TEXT_BASIC, PHTEXT_LOGS),
- cfront_view_change_cb, &cfront_d);
- }
-
- Elm_Object_Item *navi_it = elm_naviframe_item_push(cfront_d.navi, NULL, NULL, NULL, layout, NULL);
- elm_naviframe_item_title_visible_set(navi_it, EINA_FALSE);
- evas_object_event_callback_add(cfront_d.getContent(), EVAS_CALLBACK_DEL, cfront_view_delete_cb, &cfront_d);
- return layout;
-}
-
-API ct_front_data* ctui_front_view_create(Evas_Object *win)
-{
- PH_TRACE;
- ct_front_data *cfront_d = new ct_front_data();
- cfront_d->win = win;
- cfront_d->select_tab = CT_VIEW_NONE;
-
- cfront_d->view_visible[CT_VIEW_CONTACT] = true;
- cfront_d->view_visible[CT_VIEW_GROUP] = true;
- cfront_d->view_visible[CT_VIEW_FAVORITE] = true;
-
- Evas_Object *conform = elm_conformant_add(cfront_d->win);
- p_retvm_if(NULL == conform, NULL, "elm_conformant_add() Failed");
-
- evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(cfront_d->win, conform);
- evas_object_show(conform);
-
- bool success = cfront_d->initialize(cfront_d->win, conform);
- check_if(!success, delete cfront_d; return NULL);
-
- elm_object_content_set(conform, cfront_d->getContent());
- success = ct_front_view_create_toolbar(*cfront_d) != NULL;
- check_if(!success, delete cfront_d; return NULL);
-
- return cfront_d;
-}
-
-API void ctui_front_view_region_changed(ct_front_data *cfront_d)
-{
- PH_TRACE;
- if (cfront_d && cfront_d->sub_view[CT_VIEW_LOG])
- phone_log_views_update(cfront_d->navi);
- // TODO: update contact detail history view
-}
-
-API void ctui_front_view_pause(ct_front_data *cfront_d)
-{
- PH_TRACE;
- if (cfront_d && cfront_d->sub_view[CT_VIEW_LOG])
- phone_log_set_background(cfront_d->navi, true);
- if (cfront_d && cfront_d->sub_view[CT_VIEW_CONTACT])
- ctui_list_view_pause(cfront_d->navi);
- if (cfront_d && cfront_d->sub_view[CT_VIEW_GROUP])
- phone_group_set_background(cfront_d->sub_view[CT_VIEW_GROUP], true);
- if (cfront_d && cfront_d->sub_view[CT_VIEW_FAVORITE])
- phone_favor_set_background(cfront_d->sub_view[CT_VIEW_FAVORITE], true);
-}
-
-API void ctui_front_view_resume(ct_front_data *cfront_d)
-{
- PH_TRACE;
- if (cfront_d && cfront_d->sub_view[CT_VIEW_LOG])
- {
- if (CT_VIEW_LOG == cfront_d->select_tab)
- {
- phone_log_set_background(cfront_d->navi, false);
- phone_log_view_resume(cfront_d->navi);
- }
- }
- if (cfront_d && cfront_d->sub_view[CT_VIEW_CONTACT])
- ctui_list_view_resume(cfront_d->navi);
-
- if (cfront_d && cfront_d->sub_view[CT_VIEW_GROUP]
- && CT_VIEW_GROUP == cfront_d->select_tab)
- phone_group_set_background(cfront_d->sub_view[CT_VIEW_GROUP], false);
-
- if (cfront_d && cfront_d->sub_view[CT_VIEW_FAVORITE]
- && CT_VIEW_FAVORITE == cfront_d->select_tab)
- phone_favor_set_background(cfront_d->sub_view[CT_VIEW_FAVORITE], false);
-}
-
-static void cfront_view_win_activate(void *data, Evas *e, void *even_info)
-{
- PH_TRACE;
- elm_win_activate((Evas_Object *) data);
- evas_event_callback_del(e, EVAS_CALLBACK_RENDER_FLUSH_POST,
- cfront_view_win_activate);
-}
-
-API int ctui_front_view_rotate(ct_front_data *cfront_d, int rotate)
-{
- PH_TRACE;
- int ret = 0;
-
- switch (rotate)
- {
- case 0:
- ug_send_event (UG_EVENT_ROTATE_PORTRAIT);
- break;
- case 180:
- ug_send_event (UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN);
- break;
- case 270:
- ug_send_event (UG_EVENT_ROTATE_LANDSCAPE);
- break;
- case 90:
- ug_send_event (UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN);
- break;
- default:
- break;
- }
-
- evas_object_data_set(cfront_d->navi, "phone_rotate", (void *) rotate);
-
- return ret;
-}
-
-API void ctui_front_view_language_changed(ct_front_data *cfront_d)
-{
- PH_TRACE;
- p_retm_if(NULL == cfront_d, "parameter(cfront_d) is NULL");
- Elm_Object_Item *selected_it = NULL;
-
- int i = 0;
-
- // 1. Update tabbar
- if (cfront_d->item[CT_VIEW_CONTACT])
- elm_object_item_text_set(cfront_d->item[CT_VIEW_CONTACT],
- S_(PH_SYS_BODY_CONTACTS));
-
- if (cfront_d->item[CT_VIEW_GROUP])
- elm_object_item_text_set(cfront_d->item[CT_VIEW_GROUP],
- T_(CT_GET_TEXT_BASIC, CTTEXT_GROUP));
-
- if (cfront_d->item[CT_VIEW_FAVORITE])
- elm_object_item_text_set(cfront_d->item[CT_VIEW_FAVORITE],
- T_(PH_GET_TEXT_BASIC, PHTEXT_FAVORITES));
-
- if (cfront_d->item[CT_VIEW_LOG])
- elm_object_item_text_set(cfront_d->item[CT_VIEW_LOG],
- T_(PH_GET_TEXT_BASIC, PHTEXT_LOGS));
-
- // 2. update view and selection info
- if (cfront_d->sub_view[CT_VIEW_LOG])
- phone_log_view_language_changed(cfront_d->navi);
-
- if (cfront_d->sub_view[CT_VIEW_CONTACT])
- ctui_list_view_language_changed(cfront_d->navi);
-
- if (cfront_d->sub_view[CT_VIEW_GROUP])
- phone_group_view_language_changed(cfront_d->sub_view[CT_VIEW_GROUP]);
-
- if (cfront_d->sub_view[CT_VIEW_FAVORITE])
- phone_favor_view_language_changed(cfront_d->sub_view[CT_VIEW_FAVORITE]);
-
- // 3. Update tabbar
- selected_it = elm_toolbar_selected_item_get(cfront_d->tabbar);
- for (i = CT_VIEW_CONTACT; i < CT_VIEW_MAX; i++)
- {
- if (cfront_d->item[i])
- if (selected_it == cfront_d->item[i])
- break;
- }
- PH_DBG("cur sel : %d, sel index : %d", cfront_d->select_tab, i);
- cfront_view_show_sub_view(*cfront_d, i);
- switch (cfront_d->select_tab)
- {
- case CT_VIEW_CONTACT:
- {
- ct_list_data *clist_d = (ct_list_data *) evas_object_data_get(cfront_d->navi,
- "clist_d");
- if (clist_d)
- ctui_list_navi_set(clist_d->list_mode, clist_d);
- break;
- }
- case CT_VIEW_GROUP:
- phone_group_set_navi(cfront_d->sub_view[cfront_d->select_tab]);
- break;
- case CT_VIEW_FAVORITE:
- phone_favor_set_navi(cfront_d->sub_view[cfront_d->select_tab],
- PH_FAVOR_MODE_DEFAULT);
- break;
- case CT_VIEW_LOG:
- phone_log_set_navi(cfront_d->navi);
- break;
- }
-}
-
-API void ctui_front_view_reset(ct_front_data *cfront_d, int select_index,
- int op, service_h service)
-{
- PH_TRACE;
- int call_launched = FALSE;
- ph_view_info *view_info;
- Evas_Object *view;
- char *buf = NULL;
- int ret;
- int addressbook_id = 0;
- int grp_id = 0;
- char *group_name = NULL;
-
- elm_toolbar_select_mode_set(cfront_d->tabbar, ELM_OBJECT_SELECT_MODE_NONE);
-
- cfront_view_reset_current_sub_view(*cfront_d);
- if (cfront_d->sub_view[CT_VIEW_CONTACT])
- ctui_list_view_resume(cfront_d->navi);
-
- view = elm_object_part_content_unset(cfront_d->layout,
- "elm.swallow.content");
- if (view)
- evas_object_hide(view);
-
- elm_toolbar_select_mode_set(cfront_d->tabbar,
- ELM_OBJECT_SELECT_MODE_ALWAYS);
-
- view_info = (ph_view_info *) calloc(1, sizeof(ph_view_info));
- phone_set_view_info(view_info, cfront_d->win, cfront_d->navi, cfront_d->ug,
- cfront_d->ug_request, cfront_d->cnt_max, cfront_d->ug_data);
-
- switch (select_index)
- {
- case CT_VIEW_CONTACT:
- if (NULL == cfront_d->sub_view[select_index])
- {
- cfront_d->sub_view[CT_VIEW_CONTACT] =
- ctui_create_phone_list_view(view_info);
- }
- ctui_list_navi_set(CT_LIST_MODE_DEFAULT, (ct_list_data *)
- evas_object_data_get(cfront_d->navi, "clist_d"));
- if (CT_FRONT_CONTACT_NEW == op)
- ctui_list_new_btn_clicked_cb(
- evas_object_data_get(cfront_d->navi, "clist_d"), NULL,
- NULL);
- else if (CT_FRONT_CONTACT_ADDR == op)
- {
- int ab_id = 0;
- ret = service_get_extra_data(service, "launch_type", &buf);
- p_warn_if(SERVICE_ERROR_NONE != ret,
- "service_get_extra_data is failed(%d)", ret);
-
- if (buf && *buf)
- {
- ab_id = atoi(buf);
- if (0 <= ab_id)
- {
- ct_list_data *clist_d;
- clist_d = (ct_list_data *) evas_object_data_get(cfront_d->navi,
- "clist_d");
- p_retm_if(NULL == clist_d,
- "evas_object_data_get() return NULL");
- clist_d->list_op = CT_GET_LIST_PERSON_OF_ADDRBOOK_ID;
- clist_d->base_ab = ab_id;
- ctui_list_genlist_update(clist_d);
- }
- free(buf);
- }
- }
- else if (CT_FRONT_CONTACT_SEARCH == op)
- {
- ret = service_get_extra_data(service, "search_name", &buf);
- p_warn_if(SERVICE_ERROR_NONE != ret,
- "service_get_extra_data is failed(%d)", ret);
- ctui_list_set_search_text((ct_list_data *)
- evas_object_data_get(cfront_d->navi, "clist_d"), buf);
- free(buf);
- }
- break;
- case CT_VIEW_LOG:
- if (NULL == cfront_d->sub_view[select_index])
- cfront_d->sub_view[select_index] = phone_create_log_view(
- view_info);
- if (!cfront_d->ug)
- phone_log_missed_info_update(cfront_d->navi);
- phone_log_set_navi(cfront_d->navi);
- break;
- case CT_VIEW_GROUP:
- if (NULL == cfront_d->sub_view[select_index])
- cfront_d->sub_view[select_index] = phone_create_group_view(
- view_info);
- phone_group_set_navi(cfront_d->sub_view[select_index]);
-
- ret = service_get_extra_data(service, "addr_id", &buf);
- p_warn_if(SERVICE_ERROR_NONE != ret,
- "service_get_extra_data is failed(%d)", ret);
-
- if (buf)
- addressbook_id = atoi(buf);
-
- buf = NULL;
-
- ret = service_get_extra_data(service, "group_id", &buf);
- p_warn_if(SERVICE_ERROR_NONE != ret,
- "service_get_extra_data is failed(%d)", ret);
-
- if (buf)
- grp_id = atoi(buf);
-
- buf = NULL;
- ret = service_get_extra_data(service, "group_name", &buf);
- p_warn_if(SERVICE_ERROR_NONE != ret,
- "service_get_extra_data is failed(%d)", ret);
- FREEandSTRDUP(group_name, buf);
-
- free(buf);
-
- if (CT_FRONT_GROUP_MESSAGE == op)
- {
- int list_op;
- if (-1 == grp_id)
- list_op = CT_GET_LIST_PERSON_HAD_NUMBER_OF_ADDRBOOK_ID;
- else if (grp_id)
- list_op = CT_GET_LIST_PERSON_HAD_NUMBER_OF_GROUP_ID;
- else
- list_op =
- CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_NUMBER_OF_ADDRBOOK_ID;
-
- ctui_create_list_select_view(view_info->navi,
- phone_group_message_result_cb,
- evas_object_data_get(cfront_d->sub_view[select_index],
- "cgroup_d"), list_op, addressbook_id, grp_id,
- 0);
- }
- else if (CT_FRONT_GROUP_EMAIL == op)
- {
- int list_op;
- if (-1 == grp_id)
- list_op = CT_GET_LIST_PERSON_HAD_EMAIL_OF_ADDRBOOK_ID;
- else if (grp_id)
- list_op = CT_GET_LIST_PERSON_HAD_EMAIL_OF_GROUP_ID;
- else
- list_op =
- CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_EMAIL_OF_ADDRBOOK_ID;
-
- ctui_create_list_select_view(view_info->navi,
- phone_group_email_result_cb,
- evas_object_data_get(cfront_d->sub_view[select_index],
- "cgroup_d"), list_op, addressbook_id, grp_id,
- 0);
- }
- else if (CT_FRONT_GROUP_DETAIL == op)
- {
- int list_op;
- int addressbook_mode;
- contacts_record_h record = NULL;
- int err = CONTACTS_ERROR_NONE;
- ct_group_list *info;
-
- info = (ct_group_list *) calloc(1, sizeof(ct_group_list));
- if (NULL == info)
- {
- ERR("calloc() return NULL");
- break;
- }
-
- err = contacts_db_get_record(_contacts_address_book._uri,
- addressbook_id, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
-
- err = contacts_record_get_int(record,
- _contacts_address_book.mode, &addressbook_mode);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- if (-1 == grp_id)
- list_op = CT_GET_LIST_PERSON_HAD_NUMBER_OF_ADDRBOOK_ID;
- else if (grp_id)
- list_op = CT_GET_LIST_PERSON_HAD_NUMBER_OF_GROUP_ID;
- else
- list_op =
- CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_NUMBER_OF_ADDRBOOK_ID;
- info->id_ab = addressbook_id;
- info->id_grp = grp_id;
- info->name = group_name;
- info->mode = addressbook_mode;
- ctui_list_create_contact_view_with_info(view_info, list_op,
- info);
-
- free(info);
- }
- break;
- case CT_VIEW_FAVORITE:
- if (NULL == cfront_d->sub_view[select_index])
- cfront_d->sub_view[select_index] = phone_favor_create_view(
- view_info);
- phone_favor_set_navi(cfront_d->sub_view[select_index],
- PH_FAVOR_MODE_DEFAULT);
- break;
- default:
- break;
- }
-
- cfront_d->select_tab = select_index;
-
- if (CT_VIEW_NONE < select_index && select_index < CT_VIEW_MAX)
- {
- elm_object_part_content_set(cfront_d->layout, "elm.swallow.content",
- cfront_d->sub_view[select_index]);
- evas_object_show(cfront_d->sub_view[select_index]);
- elm_toolbar_item_selected_set(cfront_d->item[select_index], EINA_TRUE);
- }
-
- if (cfront_d->win && FALSE == call_launched && CT_VIEW_NONE != select_index)
- {
- if (EINA_FALSE == evas_object_visible_get(cfront_d->win))
- evas_object_show(cfront_d->win);
- evas_event_callback_add(evas_object_evas_get(cfront_d->navi),
- EVAS_CALLBACK_RENDER_FLUSH_POST, cfront_view_win_activate,
- cfront_d->win);
- elm_win_activate(cfront_d->win);
- }
- else
- elm_win_lower(cfront_d->win);
-
- cfront_d->timer = ecore_timer_add(3.0, ctui_front_view_load_timer,
- cfront_d);
-
- free(view_info);
-}
-
diff --git a/lib/ct-front/ct-front-view.h b/lib/ct-front/ct-front-view.h
deleted file mode 100755
index 4abf65b..0000000
--- a/lib/ct-front/ct-front-view.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CT_FRONT_VIEW_H__
-#define __CT_FRONT_VIEW_H__
-
-Evas_Object* ct_front_view_create_toolbar(ct_front_data &cfront_d);
-
-#endif /* __CT_FRONT_VIEW_H__ */
-
diff --git a/lib/ct-front/include/ct-front.h b/lib/ct-front/include/ct-front.h
deleted file mode 100755
index 37a183f..0000000
--- a/lib/ct-front/include/ct-front.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CT_FRONT_H__
-#define __CT_FRONT_H__
-
-#include <app.h>
-#include "ViewManager.h"
-
-enum
-{
- CT_FRONT_CONTACT_NEW,
- CT_FRONT_CONTACT_ADDR,
- CT_FRONT_CONTACT_SEARCH,
- CT_FRONT_GROUP_MESSAGE,
- CT_FRONT_GROUP_EMAIL,
- CT_FRONT_GROUP_DETAIL,
-};
-
-enum CT_VIEW_TYPE
-{
- CT_VIEW_NONE = -1,
- CT_VIEW_CONTACT,
- CT_VIEW_LOG,
- CT_VIEW_GROUP,
- CT_VIEW_FAVORITE,
- CT_VIEW_MAX,
-};
-
-struct ct_front_data: public Common::TabbedView<CT_VIEW_MAX>
-{
-};
-
-ct_front_data* ctui_front_view_create(Evas_Object *win);
-Eina_Bool ctui_front_view_load_timer(void *data);
-void ctui_front_view_region_changed(ct_front_data *cfront_d);
-void ctui_front_view_reset(ct_front_data *cfront_d, int tab_index, int op,
- service_h service);
-void ctui_front_view_language_changed(ct_front_data *cfront_d);
-void ctui_front_view_resume(ct_front_data *cfront_d);
-void ctui_front_view_pause(ct_front_data *cfront_d);
-int ctui_front_view_rotate(ct_front_data *cfront_d, int rotate);
-
-#endif /* __CT_FRONT_H__ */
-
diff --git a/lib/details/CMakeLists.txt b/lib/details/CMakeLists.txt
deleted file mode 100755
index 150aa69..0000000
--- a/lib/details/CMakeLists.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
-
-SET(TARGET ${CT_DETAILS})
-
-FILE(GLOB SRCS *.cpp)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(details_pkgs REQUIRED icu-i18n)
-
-FOREACH(flag ${details_pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-ADD_LIBRARY(${TARGET} SHARED ${SRCS})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES VERSION ${VERSION})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
-TARGET_LINK_LIBRARIES(${TARGET} ${COMMON_LIB} ${ug_pkgs_LDFLAGS} ${details_pkgs_LDFLAGS})
-
-ADD_DEPENDENCIES(${TARGET} contacts_edj_build image_layout_edj_build detail_theme_edj_build)
-
-INSTALL(TARGETS ${TARGET} DESTINATION ${UGLIBDIR})
-
-INSTALL(FILES ${CMAKE_BINARY_DIR}/lib/details/contacts-details-efl.xml DESTINATION "/usr/share/packages")
diff --git a/lib/details/contacts-details-efl.xml b/lib/details/contacts-details-efl.xml
deleted file mode 100644
index 658e4e1..0000000
--- a/lib/details/contacts-details-efl.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="contacts-details-efl" version="0.1.0-0" install-location="internal-only">
- <label>contacts-details</label>
- <author email="ensung.park@samsung.com" href="www.samsung.com">ensung park</author>
- <description>contacts-details-efl Application</description>
- <ui-application appid="contacts-details-efl" exec="/usr/ug/bin/contacts-details-efl" nodisplay="true" multiple="true" type="capp" taskmanage="false">
- <icon>org.tizen.contacts.png</icon>
- <label>contacts-details</label>
- <label xml:lang="en-us">contacts-details</label>
- <label xml:lang="nl-nl">contacts-details</label>
- <label xml:lang="de-de">contacts-details</label>
- <label xml:lang="en-gb">contacts-details</label>
- <label xml:lang="zh-hk">contacts-details</label>
- <label xml:lang="zh-cn">contacts-details</label>
- <label xml:lang="ru-ru">contacts-details</label>
- <label xml:lang="zh-tw">contacts-details</label>
- <label xml:lang="ja-jp">contacts-details</label>
- <label xml:lang="es-es">contacts-details</label>
- <label xml:lang="el-gr">contacts-details</label>
- <label xml:lang="it-it">contacts-details</label>
- <label xml:lang="tr-tr">contacts-details</label>
- <label xml:lang="pt-pt">contacts-details</label>
- <label xml:lang="fr-fr">contacts-details</label>
- <label xml:lang="ko-kr">contacts-details</label>
- <application-service>
- <operation name="http://tizen.org/ns/packages"/>
- </application-service>
- <application-service>
- <operation name="http://tizen.org/appcontrol/operation/social/view"/>
- <mime name="vnd.tizen.item.type/vnd.tizen.contact"/>
- </application-service>
- <application-service>
- <operation name="http://tizen.org/appcontrol/operation/social/add"/>
- <mime name="vnd.tizen.item.type/vnd.tizen.contact"/>
- </application-service>
- <application-service>
- <operation name="http://tizen.org/appcontrol/operation/social/edit"/>
- <mime name="vnd.tizen.item.type/vnd.tizen.contact"/>
- </application-service>
- </ui-application>
-</manifest>
diff --git a/lib/details/ct-detail-activity.cpp b/lib/details/ct-detail-activity.cpp
deleted file mode 100755
index c34fdeb..0000000
--- a/lib/details/ct-detail-activity.cpp
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "phone.h"
-#include "phone-common.h"
-#include <account-types.h>
-#include <account.h>
-
-typedef struct
-{
- int activity_id;
- int contact_id;
- int address_book_id;
- char *acc_name;
- char *status;
- int time;
- char *data;
- char *icon_path;
-} ct_detail_activity_info;
-
-enum ACTIVITY_ITC_TYPE
-{
- ACTIVITY_ITC_NUM_UTIL_BTN = 0,
- ACTIVITY_ITC_ACTIVITY,
- ACTIVITY_ITC_ACTIVITY_NO_IMG,
- ACTIVITY_ITC_MAX,
-};
-
-static Elm_Genlist_Item_Class activity_itcs[] =
-{
- {
- 0, 0, 1, "detail.3icon", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "activity_list", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "activity_list_no_img", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
-};
-
-static void detail_activity_fill_genlist(ct_activity_data *cactivity_d)
-{
- PH_TRACE;
- Evas_Object *genlist;
- Eina_List *l;
- void *info;
-
- if (NULL == cactivity_d->activity_genlist)
- {
- genlist = elm_genlist_add(cactivity_d->layout);
- elm_object_theme_set(genlist, cactivity_d->th);
- cactivity_d->activity_genlist = genlist;
- evas_object_data_set(genlist, "cactivity_d", cactivity_d);
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
- }
- else
- {
- genlist = cactivity_d->activity_genlist;
- elm_genlist_clear(genlist);
- }
-
- EINA_LIST_FOREACH(cactivity_d->list, l, info)
- {
- ct_detail_activity_info *l_info = (ct_detail_activity_info *) info;
- /* Temporary code need to fix l_info->data for activity image*/
- /*
- if (l_info->data && *l_info->data)
- elm_genlist_item_append(genlist, &activity_itcs[ACTIVITY_ITC_ACTIVITY], l_info, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, l_info);
- else */
- elm_genlist_item_append(genlist,
- &activity_itcs[ACTIVITY_ITC_ACTIVITY_NO_IMG], l_info, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, l_info);
- }
-}
-
-static Evas_Object *detail_activity_gl_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_detail_activity_info *l_info = (ct_detail_activity_info *) data;
-
- char buf[PATH_MAX] = { 0 };
- Evas_Object *ic;
-
- ic = elm_icon_add(obj);
- p_retvm_if(NULL == ic, NULL, "elm_icon_add() return NULL");
-
- // Temporary code need to fix l_info->data for activity image
- if (0 == strcmp(part, "elm.icon.2"))
- {
- if ('\0' == *l_info->data)
- return NULL;
-
- snprintf(buf, sizeof(buf), "%s", l_info->data);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1,
- 1);
- return ic;
- }
- else if (0 == strcmp(part, "elm.icon.1"))
- {
- if (NULL == l_info->icon_path || '\0' == *l_info->icon_path)
- return NULL;
- elm_image_file_set(ic, l_info->icon_path, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1,
- 1);
- return ic;
- }
- else
- return NULL;
-}
-
-static char* detail_activity_gl_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_detail_activity_info * activity_info = (ct_detail_activity_info *) data;
- ct_activity_data *cactivity_d;
- cactivity_d = (ct_activity_data *) evas_object_data_get(obj, "cactivity_d");
- if (0 == strcmp(part, "elm.text.1"))
- {
- return SAFE_STRDUP(activity_info->status);
- }
- else if (0 == strcmp(part, "elm.text.2"))
- {
- return phone_detail_log_get_time(cactivity_d->hformatter,
- activity_info->time);
- }
- return NULL;
-}
-
-void ct_detail_activity_create_itcs()
-{
- PH_TRACE;
- activity_itcs[ACTIVITY_ITC_ACTIVITY].func.text_get =
- detail_activity_gl_label_get;
- activity_itcs[ACTIVITY_ITC_ACTIVITY].func.content_get =
- detail_activity_gl_icon_get;
-
- activity_itcs[ACTIVITY_ITC_ACTIVITY_NO_IMG].func.text_get =
- detail_activity_gl_label_get;
- activity_itcs[ACTIVITY_ITC_ACTIVITY_NO_IMG].func.content_get =
- detail_activity_gl_icon_get;
-}
-
-void ct_detail_activity_load_data(ct_activity_data *cactivity_d)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_list_h list_activity = NULL;
- contacts_record_h record_activity = NULL;
- Eina_List *list = NULL;
- int i = 0;
-
- err = phone_cts_get_list(_contacts_contact_activity._uri,
- _contacts_contact_activity.person_id, cactivity_d->person_id,
- &list_activity);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_list(list_activity) Failed(%d)", err);
-
- while (CONTACTS_ERROR_NONE == err)
- {
- ct_detail_activity_info *activity_info;
-
- err = contacts_list_get_current_record_p(list_activity,
- &record_activity);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_get_current_record_p() Failed(%d)", err);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- break;
- }
- activity_info = (ct_detail_activity_info *) calloc(1, sizeof(ct_detail_activity_info));
-
- err = contacts_record_get_int(record_activity,
- _contacts_contact_activity.activity_id,
- &(activity_info->activity_id));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int(id) Failed(%d)", err);
- err = contacts_record_get_int(record_activity,
- _contacts_contact_activity.contact_id,
- &(activity_info->contact_id));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int(contact_id) Failed(%d)", err);
- err = contacts_record_get_int(record_activity,
- _contacts_contact_activity.address_book_id,
- &(activity_info->address_book_id));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int(address_book_id) Failed(%d)", err);
- err = contacts_record_get_str(record_activity,
- _contacts_contact_activity.source_name,
- &(activity_info->acc_name));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int(source_name) Failed(%d)", err);
- err = contacts_record_get_str(record_activity,
- _contacts_contact_activity.status, &(activity_info->status));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int(status) Failed(%d)", err);
- err = contacts_record_get_int(record_activity,
- _contacts_contact_activity.timestamp, &(activity_info->time));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int(timestamp) Failed(%d)", err);
- for (i = 0; i < cactivity_d->acc_cnt; i++)
- {
- if (cactivity_d->acc_types[i].id == activity_info->address_book_id)
- activity_info->icon_path = cactivity_d->acc_types[i].icon_path;
- }
- /* Need To Fix Facebook Sync Data*/
- /*
- err = contacts_record_get_str(record_activity, _contacts_contact_activity.sync_data1, &(activity_info->data));
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_int(sync_data1) Failed(%d)", err);
- */
-
- list = eina_list_append(list, (void*) activity_info);
- PH_DBG("status = %s", activity_info->status);
-
- err = contacts_list_next(list_activity);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- break;
- }
- }
-
- err = contacts_list_destroy(list_activity, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_destroy(list_activity) Failed(%d)", err);
- cactivity_d->list = list;
-}
-
-static void detail_activity_free_list(ct_activity_data *cactivity_d)
-{
- PH_TRACE;
- void *info;
-
- EINA_LIST_FREE(cactivity_d->list, info)
- {
- ct_detail_activity_info *l_info = (ct_detail_activity_info *) info;
- if (NULL == l_info)
- continue;
- free(l_info->acc_name);
- free(l_info->status);
- free(l_info->data);
- free(l_info);
- }
- cactivity_d->list = NULL;
-}
-
-static void detail_activity_view_delete_cb(void *data, Evas *e,
- Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_activity_data *cactivity_d = (ct_activity_data *) data;
-
- detail_activity_free_list(cactivity_d);
-
- if (cactivity_d->activity_genlist)
- evas_object_del(cactivity_d->activity_genlist);
-
- if (cactivity_d->th)
- {
- elm_theme_extension_del(cactivity_d->th, DETAIL_THEME_EDJ);
- elm_theme_free(cactivity_d->th);
- }
-
- free(cactivity_d);
-}
-
-static void detail_activity_set_navi(ct_activity_data *cactivity_d)
-{
- PH_TRACE;
- p_retm_if(NULL == cactivity_d->navi_item, "navi item is NULL");
-
- phone_navi_item_reset(cactivity_d->navi_item, cactivity_d);
-}
-
-void ct_detail_activity_fill_layout(ct_activity_data *cactivity_d)
-{
- PH_TRACE;
- Evas_Object *layout;
-
- layout = phone_create_base_layout(cactivity_d->navi, false);
- cactivity_d->layout = layout;
-
- detail_activity_fill_genlist(cactivity_d);
- elm_object_part_content_set(layout, "elm.swallow.content",
- cactivity_d->activity_genlist);
-
- cactivity_d->navi_item = elm_naviframe_item_push(cactivity_d->navi,
- "Activity", NULL, NULL, cactivity_d->layout, NULL);
- elm_naviframe_item_title_visible_set(cactivity_d->navi_item, EINA_TRUE);
- evas_object_event_callback_add(cactivity_d->layout, EVAS_CALLBACK_DEL,
- detail_activity_view_delete_cb, cactivity_d);
- detail_activity_set_navi(cactivity_d);
-}
diff --git a/lib/details/ct-detail-activity.h b/lib/details/ct-detail-activity.h
deleted file mode 100755
index 2136eee..0000000
--- a/lib/details/ct-detail-activity.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CONTACTS_DETAIL_ACTIVITY_H__
-#define __CONTACTS_DETAIL_ACTIVITY_H__
-
-#include "phone-common.h"
-
-void ct_detail_activity_create_itcs();
-void ct_detail_activity_load_data(ct_activity_data *cactivity_d);
-void ct_detail_activity_fill_layout(ct_activity_data *cactivity_d);
-
-#endif //__CONTACTS_DETAIL_ACTIVITY_H__
diff --git a/lib/details/ct-detail-history.cpp b/lib/details/ct-detail-history.cpp
deleted file mode 100755
index ff8d7da..0000000
--- a/lib/details/ct-detail-history.cpp
+++ /dev/null
@@ -1,1117 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "phone.h"
-#include "ct-detail-history.h"
-#include "ct-detail-utils.h"
-#include "ct-detail-view.h"
-
-typedef struct
-{
- int plog_id;
- int plog_type;
- int plog_time;
- int plog_duration;
- int plog_msgid;
- int group_index;
- char *plog_number;
- char *plog_shortmsg;
- Eina_Bool checked;
-} ct_detail_history_info;
-
-enum HISTORY_ITC_TYPE
-{
- HISTORY_ITC_NUM_UTIL_BTN = 0,
- HISTORY_ITC_HISTORY,
- HISTORY_ITC_DATE,
- HISTORY_ITC_SELECT_ALL,
- HISTORY_ITC_MAX,
-};
-
-static Elm_Genlist_Item_Class history_itcs[] =
-{
- {
- 0, 0, 1, "detail.3icon", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "history_list", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "grouptitle", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "1icon", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
-};
-
-static void detail_history_check_del(ct_history_data *chistory_d);
-static void detail_history_set_navi(ct_history_data *chistory_d, int mode);
-static Eina_Bool detail_history_refresh_view(void *data);
-
-void ct_detail_history_changed_cb(const char *view_uri, void *data)
-{
- PH_TRACE;
- ct_history_data *chistory_d = (ct_history_data *) data;
-
- if (chistory_d->updating)
- return;
- if (chistory_d->idler)
- {
- ecore_idler_del(chistory_d->idler);
- chistory_d->idler = NULL;
- }
- chistory_d->idler = ecore_idler_add(detail_history_refresh_view,
- chistory_d);
-}
-
-static void detail_history_delete_records_cb(int err, void *data)
-{
- PH_TRACE;
- ct_history_data *chistory_d = (ct_history_data *) data;
- ph_progress_info *p_info = NULL;
-
- p_retm_if(NULL == chistory_d, "Invalid parameter(chistory_d is NULL)");
- p_info = chistory_d->p_info;
- p_retm_if(NULL == p_info, "Invalid parameter(p_info is NULL)");
-
- if (p_info->update_ids)
- {
- free(p_info->update_ids);
- p_info->update_ids = NULL;
- }
-
- if (CONTACTS_ERROR_NONE != err || p_info->alive == false)
- {
- if (p_info->popup)
- {
- evas_object_del(p_info->popup);
- p_info->popup = NULL;
- }
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
- free(p_info);
- chistory_d->p_info = NULL;
- chistory_d->updating = false;
- elm_genlist_decorate_mode_set(chistory_d->history_genlist, EINA_FALSE);
- chistory_d->view_mode = DETAIL_VIEW_MODE_HISTORY;
- ct_detail_history_changed_cb(_contacts_phone_log._uri, chistory_d);
- return;
- }
- else if (p_info->cnt == p_info->cnt_checked_total)
- {
- if (p_info->popup)
- {
- evas_object_del(p_info->popup);
- p_info->popup = NULL;
- }
- phone_show_tickernoti(S_(PH_SYS_POP_DELETED));
- free(p_info);
- chistory_d->p_info = NULL;
- chistory_d->updating = false;
- elm_genlist_decorate_mode_set(chistory_d->history_genlist, EINA_FALSE);
- chistory_d->view_mode = DETAIL_VIEW_MODE_HISTORY;
- ct_detail_history_changed_cb(_contacts_phone_log._uri, chistory_d);
- return;
- }
- else
- {
- detail_history_check_del(chistory_d);
- }
-}
-
-static void detail_history_check_del(ct_history_data *chistory_d)
-{
- PH_TRACE;
- const int DETAIL_BULK_LENGTH = 50;
- char percent_total[PH_TEXT_MAX_LEN + 1] = { 0, };
- char percent[PH_TEXT_MAX_LEN + 1] = { 0, };
- int *ids = NULL;
- double value = 0.0;
- int count = 0;
- int base_count = 0;
- int err = CONTACTS_ERROR_NONE;
- ph_progress_info *p_info = chistory_d->p_info;
- Eina_List *l;
- void *info;
-
- if (p_info->cnt_checked_total - p_info->cnt < DETAIL_BULK_LENGTH)
- ids = (int *) calloc(1,
- sizeof(int) * (p_info->cnt_checked_total - p_info->cnt));
- else
- ids = (int *) calloc(1, sizeof(int) * DETAIL_BULK_LENGTH);
- p_retm_if(NULL == ids, "calloc() return NULL");
-
- EINA_LIST_FOREACH(chistory_d->list, l, info)
- {
- ct_detail_history_info *l_info = (ct_detail_history_info *) info;
- if (!l_info)
- continue;
- if (TRUE == l_info->checked)
- {
- if (base_count < p_info->cnt)
- {
- base_count++;
- continue;
- }
-
- ids[count++] = l_info->plog_id;
- if (DETAIL_BULK_LENGTH == count
- || (count + p_info->cnt) == p_info->cnt_checked_total)
- {
- p_info->cnt += count;
- break;
- }
- }
- }
- value = (double) p_info->cnt / (double) p_info->cnt_checked_total;
- elm_progressbar_value_set(p_info->progressbar, value);
- snprintf(percent, sizeof(percent), "%d%%",
- (int) (100.0 * (double) p_info->cnt
- / (double) p_info->cnt_checked_total));
- snprintf(percent_total, sizeof(percent_total), "%d/%d", p_info->cnt,
- p_info->cnt_checked_total);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext1", percent);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext2", percent_total);
-
- p_info->update_ids = ids;
- err = contacts_db_delete_records_async(_contacts_phone_log._uri, ids, count,
- detail_history_delete_records_cb, chistory_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_delete_records_async() Failed(%d)", err);
-}
-
-static void detail_history_del_btn_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_history_data *chistory_d = (ct_history_data *) data;
- ph_progress_info *p_info;
-
- p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- p_retm_if(NULL == p_info, "calloc return NULL");
-
- chistory_d->updating = true;
-
- chistory_d->p_info = p_info;
- p_info->cnt_checked_total = chistory_d->cnt_checked;
- p_info->alive = true;
- p_info->result = TRUE;
- p_info->popup = phone_progressbar_popup(chistory_d->win, p_info,
- T_(PH_GET_TEXT_BASIC, PHTEXT_DELETING_LOGS));
- detail_history_check_del(chistory_d);
-}
-
-static void detail_history_all_items_checked_set(Eina_List *list,
- Eina_Bool checked)
-{
- PH_TRACE;
- Eina_List *l;
- void *v_info;
-
- EINA_LIST_FOREACH(list, l, v_info)
- {
- ct_detail_history_info *info = (ct_detail_history_info *) v_info;
- if (NULL == info)
- {
- ERR("elm_object_item_data_get() return NULL");
- continue;
- }
- info->checked = checked;
- }
-}
-
-static void detail_history_edit_btn_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_history_data *chistory_d = (ct_history_data *) data;
-
- chistory_d->view_mode = DETAIL_VIEW_MODE_CHECK;
-
- if (chistory_d->popup)
- {
- evas_object_del(chistory_d->popup);
- chistory_d->popup = NULL;
- }
-
- elm_genlist_decorate_mode_set(chistory_d->history_genlist, EINA_TRUE);
-
- chistory_d->select_all_item = elm_genlist_item_prepend(
- chistory_d->history_genlist, &history_itcs[HISTORY_ITC_SELECT_ALL],
- chistory_d, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(chistory_d->select_all_item,
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- phone_show_notify(chistory_d->layout,
- T_(PH_GET_TEXT_BASE_OP, PHTEXT_SELECT_LOGS));
- detail_history_set_navi(chistory_d, DETAIL_VIEW_MODE_CHECK);
-}
-
-static void detail_history_popup_hide_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_history_data *chistory_d = (ct_history_data *) data;
- evas_object_del(chistory_d->popup);
- chistory_d->popup = NULL;
- elm_object_tree_focus_allow_set(chistory_d->navi, EINA_TRUE);
-}
-
-static void detail_history_more_btn_clicked_cb(void *data)
-{
- PH_TRACE;
- int rotate;
- ct_history_data *chistory_d = (ct_history_data *) data;
- int x, y, w, h;
-
- p_retm_if(NULL == chistory_d, "chistory_d is NULL");
- if (chistory_d->popup)
- detail_history_popup_hide_cb(chistory_d, NULL, NULL);
-
- chistory_d->popup = elm_ctxpopup_add(chistory_d->navi);
- p_retm_if(NULL == chistory_d->popup, "elm_ctxpopup_add() return NULL");
-
- rotate = (int) evas_object_data_get(chistory_d->navi, "phone_rotate");
- if (0 == rotate || 180 == rotate)
- elm_ctxpopup_direction_priority_set(chistory_d->popup,
- ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP,
- ELM_CTXPOPUP_DIRECTION_LEFT, ELM_CTXPOPUP_DIRECTION_RIGHT);
-
- elm_ctxpopup_item_append(chistory_d->popup, S_(PH_SYS_SK_DELETE), NULL,
- detail_history_edit_btn_clicked_cb, chistory_d);
- evas_object_smart_callback_add(chistory_d->popup, "dismissed",
- detail_history_popup_hide_cb, chistory_d);
-
- evas_object_geometry_get(chistory_d->navi, &x, &y, &w, &h);
- evas_object_move(chistory_d->popup, 0, y + h);
- evas_object_show(chistory_d->popup);
-}
-
-static void detail_history_cancel_btn_cb(void *data)
-{
- PH_TRACE;
- ct_history_data *chistory_d = (ct_history_data *) data;
- phone_hide_notify(chistory_d->layout);
-
- if (chistory_d->select_all_item)
- {
- elm_object_item_del(chistory_d->select_all_item);
- chistory_d->select_all_item = NULL;
- }
- detail_history_all_items_checked_set(chistory_d->list, EINA_FALSE);
- elm_genlist_decorate_mode_set(chistory_d->history_genlist, EINA_FALSE);
- detail_history_set_navi(chistory_d, DETAIL_VIEW_MODE_HISTORY);
-}
-
-static void detail_history_set_navi(ct_history_data *chistory_d, int mode)
-{
- PH_TRACE;
- p_retm_if(NULL == chistory_d, "chistory_d is NULL");
- chistory_d->cnt_checked = 0;
- chistory_d->view_mode = mode;
- p_retm_if(NULL == chistory_d->navi_item, "navi item is NULL");
-
- phone_navi_item_reset(chistory_d->navi_item, chistory_d);
-
- if (DETAIL_VIEW_MODE_HISTORY == mode)
- {
- if(chistory_d->ctrl_button)
- {
- elm_object_part_content_unset(chistory_d->layout, "toolbar");
- evas_object_hide(chistory_d->ctrl_button);
- }
-
- if (chistory_d->list_count > 0)
- {
- chistory_d->menu_cb = detail_history_more_btn_clicked_cb;
- }
- }
- else if (DETAIL_VIEW_MODE_CHECK == mode)
- {
- if(!chistory_d->ctrl_button)
- {
- chistory_d->ctrl_button = phone_create_toolbar_btn(chistory_d->layout,
- S_(PH_SYS_SK_DELETE), detail_history_del_btn_clicked_cb,
- chistory_d);
- }
-
- elm_object_part_content_set(chistory_d->layout, "toolbar",
- chistory_d->ctrl_button);
- elm_object_disabled_set(chistory_d->ctrl_button, EINA_TRUE);
- chistory_d->back_cb = detail_history_cancel_btn_cb;
- }
-}
-
-static void detail_history_check_update_selection_info(
- ct_history_data *chistory_d)
-{
- PH_TRACE;
- if (chistory_d->cnt_checked == 0)
- phone_show_notify(chistory_d->layout,
- T_(PH_GET_TEXT_BASE_OP, PHTEXT_SELECT_LOGS));
- else
- {
- char info_text[PH_TEXT_SHORT_LEN] = { 0 };
- snprintf(info_text, sizeof(info_text), "%s (%d)",
- S_(PH_SYS_POP_SELECTED), chistory_d->cnt_checked);
- phone_show_notify(chistory_d->layout, info_text);
- }
-}
-
-static void detail_history_check_update_button_status(
- ct_history_data *chistory_d)
-{
- PH_TRACE;
- Eina_Bool disabled;
- p_retm_if(NULL == chistory_d, "parameter is NULL");
- p_retm_if(NULL == chistory_d->ctrl_button, "ctrl_item is NULL");
-
- if (0 == chistory_d->list_count)
- disabled = EINA_TRUE;
- else if (chistory_d->history_genlist
- && elm_genlist_decorate_mode_get(chistory_d->history_genlist))
- {
- if (0 < chistory_d->cnt_checked)
- disabled = EINA_FALSE;
- else
- disabled = EINA_TRUE;
- }
- else
- disabled = EINA_FALSE;
-
- elm_object_disabled_set(chistory_d->ctrl_button, disabled);
-}
-
-static void detail_history_check_select_all(void *data, Eina_Bool checked)
-{
- PH_TRACE;
- Eina_List *l;
- Elm_Object_Item * item;
- ct_history_data *chistory_d = (ct_history_data *) data;
- void *info;
-
- if (checked)
- chistory_d->cnt_checked = chistory_d->list_count;
- else
- chistory_d->cnt_checked = 0;
-
- EINA_LIST_FOREACH(chistory_d->list, l, info)
- {
- ct_detail_history_info *l_info = (ct_detail_history_info *) info;
- if (!l_info)
- continue;
- l_info->checked = checked;
- }
-
- item = elm_genlist_item_next_get(chistory_d->select_all_item);
- while (item)
- {
- elm_genlist_item_update(item);
- item = elm_genlist_item_next_get(item);
- }
-
- detail_history_check_update_selection_info(chistory_d);
- detail_history_check_update_button_status(chistory_d);
-}
-
-static void detail_history_append_separate_date_index(
- ct_history_data *chistory_d, void *data, int index)
-{
- PH_TRACE;
- ct_detail_history_info *l_info = (ct_detail_history_info *) data;
- p_retm_if(NULL == l_info, "l_info is NULL");
- p_retm_if(NULL == chistory_d, "chistory_d is NULL");
- int type = phone_detail_log_get_date_type(l_info->plog_time,
- l_info->plog_duration);
-
- if (0 == index || chistory_d->pre_date_type != (type + 1))
- {
- chistory_d->pre_date_type = type + 1;
- l_info->group_index = type;
- Elm_Object_Item *item = elm_genlist_item_append(chistory_d->history_genlist,
- &history_itcs[HISTORY_ITC_DATE], data, NULL,
- ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- elm_genlist_item_select_mode_set(item,
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- }
-}
-static void detail_history_gl_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- ct_detail_history_info *l_info = (ct_detail_history_info *) data;
- ct_history_data *chistory_d = (ct_history_data *) evas_object_data_get(obj,
- "chistory_d");
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- if (elm_genlist_decorate_mode_get(chistory_d->history_genlist))
- {
- l_info->checked = !l_info->checked;
- if (l_info->checked)
- chistory_d->cnt_checked++;
- else
- chistory_d->cnt_checked--;
-
- elm_genlist_item_fields_update((Elm_Object_Item *) event_info,
- "elm.edit.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
-
- if (chistory_d->select_all_layout)
- {
- Evas_Object *check;
- check = elm_object_part_content_get(chistory_d->select_all_layout,
- "elm.icon");
- if (chistory_d->cnt_checked == chistory_d->list_count)
- elm_check_state_set(check, EINA_TRUE);
- else
- elm_check_state_set(check, EINA_FALSE);
- }
- detail_history_check_update_selection_info(chistory_d);
- detail_history_check_update_button_status(chistory_d);
- }
-}
-
-static void detail_history_fill_genlist(ct_history_data *chistory_d)
-{
- PH_TRACE;
- Evas_Object *genlist;
- Evas_Object *layout;
- Eina_List *l;
- int count;
- void *info;
-
- layout = elm_object_part_content_get(chistory_d->layout, "contents");
-
- if (NULL == chistory_d->history_genlist)
- {
- genlist = elm_genlist_add(layout);
- elm_object_theme_set(genlist, chistory_d->th);
- chistory_d->history_genlist = genlist;
- evas_object_data_set(genlist, "chistory_d", chistory_d);
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
- }
- else
- {
- genlist = chistory_d->history_genlist;
- elm_genlist_clear(genlist);
- }
-
- count = 0;
- EINA_LIST_FOREACH(chistory_d->list, l, info)
- {
- ct_detail_history_info *l_info = (ct_detail_history_info *) info;
- detail_history_append_separate_date_index(chistory_d, l_info, count);
- elm_genlist_item_append(genlist, &history_itcs[HISTORY_ITC_HISTORY],
- l_info, NULL, ELM_GENLIST_ITEM_NONE, detail_history_gl_sel,
- l_info);
- count++;
- }
-}
-
-static void detail_history_check_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_history_data *chistory_d = (ct_history_data *) data;
-
- if (elm_check_state_get(obj))
- chistory_d->cnt_checked++;
- else
- chistory_d->cnt_checked--;
-
- if (chistory_d->select_all_layout)
- {
- Evas_Object *check;
- check = elm_object_part_content_get(chistory_d->select_all_layout,
- "elm.icon");
- if (chistory_d->cnt_checked == chistory_d->list_count)
- elm_check_state_set(check, EINA_TRUE);
- else
- elm_check_state_set(check, EINA_FALSE);
- }
- detail_history_check_update_selection_info(chistory_d);
- detail_history_check_update_button_status(chistory_d);
-}
-
-static const char *detail_history_gl_get_day_in_week(ct_detail_history_info &history_info)
-{
- PH_TRACE;
-
- time_t stime = history_info.plog_time - history_info.plog_duration;
- struct tm *pTmp = localtime(&stime);
-
- switch (pTmp->tm_wday)
- {
- case 0:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_SUNDAY);
- case 1:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_MONDAY);
- case 2:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_TUESDAY);
- case 3:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_WEDNESDAY);
- case 4:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_THURSDAY);
- case 5:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_FRIDAY);
- case 6:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_SATURDAY);
- }
- return NULL;
-}
-
-static char* detail_history_gl_sep_date_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_detail_history_info * history_info = (ct_detail_history_info *) data;
- p_retvm_if(NULL == history_info, NULL, "history_info is NULL");
- p_retvm_if(NULL == obj, NULL, "obj is NULL");
-
- if (0 == strcmp(part, "elm.text"))
- {
- const char *when;
- int index = history_info->group_index;
-
- if (CT_GROUP_INDEX_TODAY == index)
- when = S_(PH_SYS_BODY_TODAY);
- else if (CT_GROUP_INDEX_YESTERDAY == index)
- when = S_(PH_SYS_BODY_YESTERDAY);
- else
- when = detail_history_gl_get_day_in_week(*history_info);
-
- ct_history_data *chistory_d = (ct_history_data *) evas_object_data_get(obj,
- "chistory_d");
- p_retvm_if(NULL == chistory_d, NULL, "chistory_d is NULL");
- char *date_temp = phone_detail_log_get_date(chistory_d->hformatter,
- history_info->plog_time);
- if (date_temp)
- {
- char buf[PATH_MAX] = { 0 };
- snprintf(buf, sizeof(buf), " %s (%s)", when, date_temp);
- free(date_temp);
- return strdup(buf);
- }
- else
- return strdup(when);
- }
- else
- return NULL;
-}
-
-static Evas_Object *detail_history_gl_select_all_icon_get(void *data,
- Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- Evas_Object *check;
- ct_history_data *chistory_d = (ct_history_data *) data;
-
- p_retvm_if(NULL == chistory_d, NULL, "evas_object_data_get() return NULL");
- if (0 == strcmp(part, "elm.icon"))
- {
- chistory_d->select_all_layout = phone_create_select_all(
- chistory_d->history_genlist, S_(PH_SYS_BODY_SELECT_ALL),
- detail_history_check_select_all, chistory_d);
- check = elm_object_part_content_get(chistory_d->select_all_layout,
- "elm.icon");
- if (chistory_d->cnt_checked == chistory_d->list_count)
- elm_check_state_set(check, EINA_TRUE);
- return chistory_d->select_all_layout;
- }
- return NULL;
-}
-
-static void detail_history_gl_select_all_del(void *data, Evas_Object *obj)
-{
- PH_TRACE;
- ct_history_data *chistory_d = (ct_history_data *) data;
- chistory_d->select_all_layout = NULL;
-}
-
-static Evas_Object *detail_history_gl_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_detail_history_info * l_detail_info = (ct_detail_history_info *) data;
- char buf[PATH_MAX] = { 0 };
- Evas_Object *ic;
-
- if (0 == strcmp(part, "elm.icon.2"))
- {
- char *made_data = phone_detail_log_get_icon_type(
- l_detail_info->plog_type);
- snprintf(buf, sizeof(buf), "%s", made_data);
- free(made_data);
- }
- else if (0 == strcmp(part, "elm.icon.1"))
- {
- char *made_data = phone_detail_log_get_icon_path_with_action(
- l_detail_info->plog_type);
- snprintf(buf, sizeof(buf), "%s", made_data);
- free(made_data);
- }
- else if (0 == strcmp(part, "elm.edit.icon.1"))
- {
- ct_history_data *chistory_d = (ct_history_data *) evas_object_data_get(
- obj, "chistory_d");
- Evas_Object *check;
- check = elm_check_add(obj);
- p_retvm_if(NULL == check, NULL, "elm_check_add() return NULL");
- elm_check_state_pointer_set(check, &l_detail_info->checked);
- evas_object_propagate_events_set(check, EINA_FALSE);
- evas_object_smart_callback_add(check, "changed",
- detail_history_check_changed_cb, chistory_d);
- return check;
- }
- else
- return NULL;
- ic = elm_icon_add(obj);
- p_retvm_if(NULL == ic, NULL, "elm_icon_add() return NULL");
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return ic;
-}
-
-static char* detail_history_gl_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_detail_history_info * history_info = (ct_detail_history_info *) data;
- ct_history_data *chistory_d;
- char *time;
- char *duration;
- char buf[PATH_MAX] = { 0 };
- chistory_d = (ct_history_data *) evas_object_data_get(obj, "chistory_d");
-
- if (0 == strcmp(part, "elm.text.1"))
- {
- snprintf(buf, sizeof(buf), "%s", history_info->plog_number);
- return strdup(buf);
- }
- else if (0 == strcmp(part, "elm.text.2"))
- {
- if (TRUE == phone_detail_log_is_call_ing_type(history_info->plog_type))
- {
- duration = phone_detail_log_get_duration_from_number(
- history_info->plog_duration);
- snprintf(buf, sizeof(buf), "%s", duration);
- free(duration);
- return strdup(buf);
- }
- else if (TRUE == phone_detail_log_is_sms_type(history_info->plog_type)
- || TRUE
- == phone_detail_log_is_mms_type(
- history_info->plog_type))
- {
- if (history_info->plog_shortmsg && *history_info->plog_shortmsg)
- {
- snprintf(buf, sizeof(buf), "%s", history_info->plog_shortmsg);
- return strdup(buf);
- }
- }
- else if (TRUE
- == phone_detail_log_is_email_type(history_info->plog_type))
- {
- if (history_info->plog_shortmsg && *history_info->plog_shortmsg)
- {
- snprintf(buf, sizeof(buf), "%s", history_info->plog_shortmsg);
- return strdup(buf);
- }
- }
- }
- else if (0 == strcmp(part, "elm.text.3"))
- {
- time = phone_detail_log_get_time(chistory_d->hformatter,
- history_info->plog_time);
- snprintf(buf, sizeof(buf), "%s", time);
- free(time);
- return strdup(buf);
- }
- return NULL;
-}
-
-void ct_detail_history_create_itcs()
-{
- PH_TRACE;
- history_itcs[HISTORY_ITC_SELECT_ALL].func.content_get =
- detail_history_gl_select_all_icon_get;
- history_itcs[HISTORY_ITC_SELECT_ALL].func.del =
- detail_history_gl_select_all_del;
- history_itcs[HISTORY_ITC_SELECT_ALL].decorate_all_item_style = NULL;
-
- history_itcs[HISTORY_ITC_NUM_UTIL_BTN].func.content_get =
- ct_detail_gl_number_util_icon_get;
-
- history_itcs[HISTORY_ITC_DATE].func.text_get =
- detail_history_gl_sep_date_label_get;
-
- history_itcs[HISTORY_ITC_HISTORY].func.text_get =
- detail_history_gl_label_get;
- history_itcs[HISTORY_ITC_HISTORY].func.content_get =
- detail_history_gl_icon_get;
- history_itcs[HISTORY_ITC_HISTORY].decorate_all_item_style = "edit_default";
-}
-
-void ct_detail_history_load_data(ct_history_data *chistory_d)
-{
- PH_TRACE;
- Eina_List *list = NULL;
- int err = CONTACTS_ERROR_NONE;
- contacts_list_h list_phonelog = NULL;
- contacts_record_h record_phonelog = NULL;
- int count = 0;
-
- err = phone_cts_get_list(_contacts_person_phone_log._uri,
- _contacts_person_phone_log.person_id, chistory_d->person_id,
- &list_phonelog);
- p_warn_if(CONTACTS_ERROR_NONE != err, "phone_cts_get_list() Failed(%d)",
- err);
-
- while (CONTACTS_ERROR_NONE == err)
- {
- char *msg = NULL;
- char *number;
- ct_detail_history_info *history_info;
-
- err = contacts_list_get_current_record_p(list_phonelog,
- &record_phonelog);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- break;
- }
- history_info = (ct_detail_history_info *) calloc(1,
- sizeof(ct_detail_history_info));
-
- err = contacts_record_get_str_p(record_phonelog,
- _contacts_person_phone_log.address, &number);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int(address) Failed(%d)", err);
- history_info->plog_number = SAFE_STRDUP(number);
- err = contacts_record_get_int(record_phonelog,
- _contacts_person_phone_log.log_id, &(history_info->plog_id));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int(id) Failed(%d)", err);
- err = contacts_record_get_int(record_phonelog,
- _contacts_person_phone_log.log_type,
- &(history_info->plog_type));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int(log_type) Failed(%d)", err);
- err = contacts_record_get_int(record_phonelog,
- _contacts_person_phone_log.log_time,
- &(history_info->plog_time));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int(log_time) Failed(%d)", err);
- err = contacts_record_get_int(record_phonelog,
- _contacts_person_phone_log.extra_data1,
- &(history_info->plog_duration));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int(duration) Failed(%d)", err);
- err = contacts_record_get_str_p(record_phonelog,
- _contacts_person_phone_log.extra_data2, &msg);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int(shortmsg) Failed(%d)", err);
- if (msg)
- {
- unsigned int i;
- char temp[PH_TEXT_MAX_LEN];
- for (i = 0; i < strlen(msg); i++)
- {
- if (msg[i] == '\n')
- temp[i] = ' ';
- else
- temp[i] = msg[i];
- }
- temp[i] = '\0';
- history_info->plog_shortmsg = strdup(temp);
- }
- list = eina_list_append(list, (void*) history_info);
- count++;
- err = contacts_list_next(list_phonelog);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- break;
- }
- }
-
- chistory_d->list = list;
- chistory_d->list_count = count;
-}
-
-static void detail_history_view_resize(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *layout;
- Evas_Object *scroller;
- Evas_Object *box;
- int rotate;
- ct_history_data *chistory_d = (ct_history_data *) data;
-
- if (0 < chistory_d->list_count)
- return;
-
- rotate = (int) evas_object_data_get(chistory_d->navi, "phone_rotate");
-
- if (90 == rotate || 270 == rotate)
- {
- layout = elm_object_part_content_get(chistory_d->layout, "contents");
- p_retm_if(NULL == layout, "elm_object_part_content_get() return NULL");
- scroller = elm_object_part_content_get(layout, "elm.swallow.content");
- p_retm_if(NULL == scroller,
- "elm_object_part_content_get() return NULL");
- box = elm_object_content_get(scroller);
- p_retm_if(NULL == box, "elm_object_content_get() return NULL");
- elm_box_unpack(box, chistory_d->noc);
- p_retm_if(NULL == chistory_d->noc, "elm_box_unpack() return NULL");
- evas_object_size_hint_weight_set(chistory_d->noc, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(chistory_d->noc, EVAS_HINT_FILL, 0.0);
- elm_box_pack_end(box, chistory_d->noc);
- elm_object_content_set(scroller, box);
- evas_object_size_hint_min_set(box, 720, 650);
- elm_object_part_content_set(layout, "elm.swallow.content", scroller);
- }
- else if (0 == rotate || 180 == rotate)
- {
- layout = elm_object_part_content_get(chistory_d->layout, "contents");
- p_retm_if(NULL == layout, "elm_object_part_content_get() return NULL");
- scroller = elm_object_part_content_get(layout, "elm.swallow.content");
- p_retm_if(NULL == scroller,
- "elm_object_part_content_get() return NULL");
- box = elm_object_content_get(scroller);
- p_retm_if(NULL == box, "elm_object_content_get() return NULL");
- elm_box_unpack(box, chistory_d->noc);
- p_retm_if(NULL == chistory_d->noc, "elm_box_unpack() return NULL");
- evas_object_size_hint_weight_set(chistory_d->noc, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(chistory_d->noc, EVAS_HINT_FILL, 0.2);
- elm_box_pack_end(box, chistory_d->noc);
- elm_object_content_set(scroller, box);
- evas_object_size_hint_min_set(box, 720, 650);
- elm_object_part_content_set(layout, "elm.swallow.content", scroller);
- }
-}
-
-static Eina_Bool detail_history_refresh_view(void *data)
-{
- PH_TRACE;
- ct_history_data *chistory_d = (ct_history_data *) data;
- Evas_Object *layout;
-
- phone_hide_notify(chistory_d->layout);
- if (chistory_d->select_all_item
- && DETAIL_VIEW_MODE_CHECK != chistory_d->view_mode)
- {
- elm_object_item_del(chistory_d->select_all_item);
- chistory_d->select_all_item = NULL;
- }
- ct_detail_history_load_data(chistory_d);
-
- layout = elm_object_part_content_get(chistory_d->layout, "contents");
-
- if (0 < chistory_d->list_count)
- {
- detail_history_fill_genlist(chistory_d);
- elm_object_part_content_set(layout, "elm.swallow.content",
- chistory_d->history_genlist);
- }
- else
- {
- if (!chistory_d->scroller)
- {
- Evas_Object *scroller;
- Evas_Object *nocontent;
- Evas_Object *box;
- char buf[PH_TEXT_MAX_LEN] = { 0, };
-
- scroller = elm_scroller_add(layout);
- p_retvm_if(NULL == scroller, ECORE_CALLBACK_CANCEL,
- "elm_scroller_add() return NULL");
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_AUTO);
-
- box = elm_box_add(scroller);
- p_retvm_if(NULL == box, ECORE_CALLBACK_CANCEL,
- "elm_box_add() return NULL");
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 0.0);
- elm_object_content_set(scroller, box);
- evas_object_show(box);
-
- nocontent = elm_layout_add(box);
- p_retvm_if(NULL == nocontent, ECORE_CALLBACK_CANCEL,
- "elm_layout_add() return NULL");
- evas_object_size_hint_weight_set(nocontent, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(nocontent, EVAS_HINT_FILL, 0.2);
- elm_layout_file_set(nocontent, NOCONTENT_LAYOUT_EDJ,
- "nocontent_layout");
- snprintf(buf, sizeof(buf), "%s<br>%s<br>",
- T_(CT_GET_TEXT_BASIC, CTTEXT_NO_HISTORIES),
- T_(CT_GET_TEXT_ERR, CTTEXT_NO_HISTORIES_HELP_TEXT));
- elm_box_pack_end(box, nocontent);
- evas_object_size_hint_min_set(box, 720, 650);
- evas_object_show(nocontent);
- elm_object_part_text_set(nocontent, "elm.text", buf);
- chistory_d->scroller = scroller;
- chistory_d->noc = nocontent;
- }
- evas_object_show(chistory_d->scroller);
- elm_object_part_content_set(layout, "elm.swallow.content",
- chistory_d->scroller);
- }
-
- detail_history_set_navi(chistory_d, DETAIL_VIEW_MODE_HISTORY);
- chistory_d->idler = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void detail_history_free_list(ct_history_data *chistory_d)
-{
- PH_TRACE;
- void *info;
-
- EINA_LIST_FREE(chistory_d->list, info)
- {
- ct_detail_history_info *l_info = (ct_detail_history_info *) info;
- if (NULL == l_info)
- continue;
- free(l_info->plog_number);
- free(l_info->plog_shortmsg);
- free(l_info);
- }
- chistory_d->list = NULL;
-}
-
-static void detail_history_view_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ct_history_data *chistory_d = (ct_history_data *) data;
-
- if (0 < chistory_d->list_count)
- detail_history_free_list(chistory_d);
-
- if (chistory_d->history_genlist)
- evas_object_del(chistory_d->history_genlist);
- if (chistory_d->noc)
- evas_object_del(chistory_d->noc);
- if (chistory_d->scroller)
- evas_object_del(chistory_d->scroller);
- if (chistory_d->popup)
- evas_object_del(chistory_d->popup);
- if (chistory_d->th)
- {
- elm_theme_extension_del(chistory_d->th, DETAIL_THEME_EDJ);
- elm_theme_free(chistory_d->th);
- }
-
- err = contacts_db_remove_changed_cb(_contacts_phone_log._uri,
- ct_detail_history_changed_cb, chistory_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
- evas_object_event_callback_del(chistory_d->layout, EVAS_CALLBACK_RESIZE,
- detail_history_view_resize);
-
- free(chistory_d);
-
-}
-
-void ct_detail_history_fill_layout(ct_history_data *chistory_d)
-{
- PH_TRACE;
- Evas_Object *base;
- Evas_Object *layout;
-
- base = elm_layout_add(chistory_d->navi);
- p_retm_if(NULL == base, "elm_layout_add() return NULL");
-
- elm_layout_file_set(base, SELECTION_INFO_EDJ, "selectioninfo_layout");
- layout = phone_create_base_layout(base, false);
- elm_object_part_content_set(base, "contents", layout);
-
- chistory_d->layout = base;
-
- evas_object_event_callback_add(chistory_d->layout, EVAS_CALLBACK_RESIZE,
- detail_history_view_resize, chistory_d);
-
- if (0 < chistory_d->list_count)
- {
- detail_history_fill_genlist(chistory_d);
- elm_object_part_content_set(layout, "elm.swallow.content",
- chistory_d->history_genlist);
- }
- else
- {
- if (!chistory_d->scroller)
- {
- Evas_Object *scroller;
- Evas_Object *nocontent;
- Evas_Object *box;
- char buf[PH_TEXT_MAX_LEN] = { 0, };
-
- scroller = elm_scroller_add(layout);
- p_retm_if(NULL == scroller, "elm_scroller_add() return NULL");
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_AUTO);
-
- box = elm_box_add(scroller);
- p_retm_if(NULL == box, "elm_box_add() return NULL");
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 0.0);
- elm_object_content_set(scroller, box);
- evas_object_show(box);
-
- nocontent = elm_layout_add(box);
- p_retm_if(NULL == nocontent, "elm_layout_add() return NULL");
- evas_object_size_hint_weight_set(nocontent, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(nocontent, EVAS_HINT_FILL, 0.2);
- elm_layout_file_set(nocontent, NOCONTENT_LAYOUT_EDJ,
- "nocontent_layout");
- snprintf(buf, sizeof(buf), "%s<br>%s<br>",
- T_(CT_GET_TEXT_BASIC, CTTEXT_NO_HISTORIES),
- T_(CT_GET_TEXT_ERR, CTTEXT_NO_HISTORIES_HELP_TEXT));
- elm_box_pack_end(box, nocontent);
- evas_object_size_hint_min_set(box, 720, 650);
- evas_object_show(nocontent);
- elm_object_part_text_set(nocontent, "elm.text", buf);
- chistory_d->noc = nocontent;
- chistory_d->scroller = scroller;
- }
- evas_object_show(chistory_d->scroller);
- elm_object_part_content_set(layout, "elm.swallow.content",
- chistory_d->scroller);
- }
-
- chistory_d->navi_item = elm_naviframe_item_push(chistory_d->navi, "History",
- NULL, NULL, chistory_d->layout, NULL);
- elm_naviframe_item_title_visible_set(chistory_d->navi_item, EINA_TRUE);
- evas_object_event_callback_add(chistory_d->layout, EVAS_CALLBACK_DEL,
- detail_history_view_delete_cb, chistory_d);
- detail_history_set_navi(chistory_d, DETAIL_VIEW_MODE_HISTORY);
-}
-
diff --git a/lib/details/ct-detail-history.h b/lib/details/ct-detail-history.h
deleted file mode 100755
index 20ce9a6..0000000
--- a/lib/details/ct-detail-history.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CONTACTS_DETAIL_HISTORY_H__
-#define __CONTACTS_DETAIL_HISTORY_H__
-
-#include "phone-common.h"
-
-void ct_detail_history_create_itcs();
-void ct_detail_history_load_data(ct_history_data *chistory_d);
-void ct_detail_history_fill_layout(ct_history_data *chistory_d);
-void ct_detail_history_changed_cb(const char *view_uri, void *data);
-
-#endif //__CONTACTS_DETAIL_HISTORY_H__
diff --git a/lib/details/ct-detail-main.cpp b/lib/details/ct-detail-main.cpp
deleted file mode 100755
index 0e74eec..0000000
--- a/lib/details/ct-detail-main.cpp
+++ /dev/null
@@ -1,887 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <ui-gadget-module.h>
-#include <vconf.h>
-#include <vconf-keys.h>
-#include <fcntl.h>
-#include <efl_assist.h>
-
-#include "phone.h"
-#include "ct-detail.h"
-#include "ct-detail-utils.h"
-#include "ct-detail-view.h"
-#include "ct-input-view.h"
-#include "ct-input-utils.h"
-#include "ViewManager.h"
-
-static int create_ug_detail_view(Evas_Object *base, int request,
- ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- p_retvm_if(NULL == base, FALSE, "base is NULL");
-
- cdetail_d->navi = elm_naviframe_add(base);
-
- p_retvm_if(NULL == cdetail_d->navi, FALSE,
- "elm_naviframe_add() return NULL");
-
- ea_object_event_callback_add(cdetail_d->navi, EA_CALLBACK_BACK, &Common::ViewManager::onBack, cdetail_d->win);
- ea_object_event_callback_add(cdetail_d->navi, EA_CALLBACK_MORE, &Common::ViewManager::onMenu, NULL);
- elm_naviframe_prev_btn_auto_pushed_set(cdetail_d->navi, EINA_FALSE);
- evas_object_show(cdetail_d->navi);
- elm_object_part_content_set(base, "elm.swallow.content", cdetail_d->navi);
-
- cdetail_d->ug_detail = true;
- if (CT_UG_REQUEST_DETAIL == request)
- {
- Evas_Object *content;
-
- content = ct_detail_create_content(cdetail_d);
- if (NULL == content)
- return FALSE;
-
- cdetail_d->navi_item = elm_naviframe_item_push(cdetail_d->navi, NULL,
- NULL, NULL, content, NULL);
- elm_naviframe_item_title_visible_set(cdetail_d->navi_item, EINA_FALSE);
- ct_detail_set_navi(cdetail_d, DETAIL_VIEW_MODE_INFO);
- }
- else
- {
- int contact_id = 0;
- contacts_record_h record_contact = cdetail_d->contact;
- if (record_contact)
- contacts_record_get_int(record_contact, _contacts_contact.id,
- &contact_id);
-
- if (NULL == cdetail_d->list_contacts)
- cdetail_d->list_contacts = eina_list_append(
- cdetail_d->list_contacts, cdetail_d->contact);
-
- ct_input_push_navi_content(cdetail_d, record_contact, contact_id);
- }
- return TRUE;
-}
-
-static int __detail_set_contact_data(contacts_record_h contact, const char *data_type,
- char *value)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- PH_DBG("data_type %s value %s", data_type, value);
-
- if (strcmp(CT_OPERATION_PHONE, data_type) == 0)
- {
- err = contacts_record_create(_contacts_number._uri, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record, _contacts_number.type,
- CONTACTS_NUMBER_TYPE_HOME | CONTACTS_NUMBER_TYPE_CELL);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_str(record, _contacts_number.number, value);
- contacts_record_add_child_record(contact, _contacts_contact.number,
- record);
- }
- else if (strcmp(CT_OPERATION_EMAIL, data_type) == 0)
- {
- err = contacts_record_create(_contacts_email._uri, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record, _contacts_email.type,
- CONTACTS_EMAIL_TYPE_HOME);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_str(record, _contacts_email.email, value);
- contacts_record_add_child_record(contact, _contacts_contact.email,
- record);
- }
- else if (strcmp(CT_OPERATION_URL, data_type) == 0)
- {
- err = contacts_record_create(_contacts_url._uri, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record, _contacts_url.type,
- CONTACTS_URL_TYPE_HOME);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_str(record, _contacts_url.url, value);
- contacts_record_add_child_record(contact, _contacts_contact.url,
- record);
- }
-
- return 0;
-}
-
-static int __detail_parse_bundle_by_operation(service_h service,
- char* operation, ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- char* val = NULL;
- char* val1 = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- PH_DBG("operaion = %s", operation);
- cdetail_d->service_operation = service;
-
- if (strcmp(operation, CT_OPERATION_SOCIAL_VIEW) == 0)
- {
- service_get_extra_data(service, CT_OPERATION_ITEM_TYPE, &val);
- if (val)
- {
- if (strcmp(val, CT_OPERATION_ITEM_TYPE_PERSON) != 0)
- {
- ERR("CT_OPERATION_ITEM_TYPE_PERSON is not matched %s", val);
- free(val);
- return -1;
- }
- free(val);
- val = NULL;
-
- service_get_extra_data(service, CT_OPERATION_ITEM_ID, &val1);
- if (val1)
- {
- cdetail_d->person_id = atoi(val1);
- free(val1);
- return CT_UG_REQUEST_DETAIL;
- }
- else
- {
- ERR("CT_OPERATION_ITEM_ID is mandatory");
- return -1;
- }
-
- }
- else
- {
- ERR("CT_OPERATION_ITEM_TYPE is mandatory");
- return -1;
- }
- }
- else if (strcmp(operation, CT_OPERATION_SOCIAL_ADD) == 0)
- {
- service_get_extra_data(service, CT_OPERATION_ITEM_TYPE, &val);
- if (val)
- {
- if (strcmp(val, CT_OPERATION_ITEM_TYPE_CONTACT) != 0)
- {
- ERR("CT_OPERATION_ITEM_TYPE_CONTACT is not matched %s", val);
- free(val);
- return -1;
- }
- free(val);
- val = NULL;
- }
- else
- {
- ERR("CT_OPERATION_ITEM_TYPE is mandatory");
- return -1;
- }
-
- service_get_extra_data(service, CT_OPERATION_PHONE, &val1);
- if (val1)
- {
- if (NULL == cdetail_d->contact)
- {
- err = contacts_record_create(_contacts_contact._uri,
- &(cdetail_d->contact));
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_create failed %s", err);
- return -1;
- }
- }
-
- __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_PHONE,
- val1);
-
- free(val1);
- val1 = NULL;
- }
-
- service_get_extra_data(service, CT_OPERATION_EMAIL, &val1);
- if (val1)
- {
- if (NULL == cdetail_d->contact)
- {
- err = contacts_record_create(_contacts_contact._uri,
- &(cdetail_d->contact));
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_create failed %s", err);
- return -1;
- }
- }
-
- __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_EMAIL,
- val1);
-
- free(val1);
- val1 = NULL;
- }
-
- service_get_extra_data(service, CT_OPERATION_URL, &val1);
- if (val1)
- {
- if (NULL == cdetail_d->contact)
- {
- err = contacts_record_create(_contacts_contact._uri,
- &(cdetail_d->contact));
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_create failed %s", err);
- return -1;
- }
- }
- __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_URL,
- val1);
-
- free(val1);
- val1 = NULL;
- }
-
- return CT_UG_REQUEST_ADD;
- }
- else if (strcmp(operation, CT_OPERATION_SOCIAL_EDIT) == 0)
- {
- service_get_extra_data(service, CT_OPERATION_ITEM_TYPE, &val);
- if (val)
- {
- if (strcmp(val, CT_OPERATION_ITEM_TYPE_PERSON) != 0)
- {
- ERR("CT_OPERATION_ITEM_TYPE_CONTACT is not matched %s", val);
- free(val);
- return -1;
- }
-
- service_get_extra_data(service, CT_OPERATION_ITEM_ID, &val1);
- if (val1)
- {
- PH_DBG("person id %s", val1);
- cdetail_d->person_id = atoi(val1);
- free(val1);
- val1 = NULL;
-
- if (cdetail_d->person_id)
- { // From OSP
- Eina_List *list_contact =
- ctui_person_get_writable_contact_list(
- cdetail_d->person_id);
- if (list_contact)
- {
- cdetail_d->contact = (contacts_record_h) list_contact->data;
- eina_list_free(list_contact);
- }
- }
- }
- else
- {
- ERR("CT_OPERATION_ITEM_ID is mandatory");
- free(val);
- return -1;
- }
- free(val);
- val = NULL;
- }
- else
- {
- ERR("CT_OPERATION_ITEM_TYPE is mandatory");
- return -1;
- }
-
- service_get_extra_data(service, CT_OPERATION_PHONE, &val1);
- if (val1)
- {
- __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_PHONE,
- val1);
-
- free(val1);
- val1 = NULL;
- }
-
- service_get_extra_data(service, CT_OPERATION_EMAIL, &val1);
- if (val1)
- {
- __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_EMAIL,
- val1);
-
- free(val1);
- val1 = NULL;
- }
-
- service_get_extra_data(service, CT_OPERATION_URL, &val1);
- if (val1)
- {
- __detail_set_contact_data(cdetail_d->contact, CT_OPERATION_URL,
- val1);
-
- free(val1);
- val1 = NULL;
- }
- return CT_UG_REQUEST_EDIT;
- }
- else
- {
- ERR("operation wrong");
- return -1;
- }
-}
-
-static void *detail_on_create(ui_gadget_h ug, enum ug_mode mode,
- service_h service, void *priv)
-{
- PH_TRACE;
- int ret;
- int request = 0;
- Evas_Object *bg;
- Evas_Object *base;
- Evas_Object *parent;
- int err;
- ct_detail_data *cdetail_d = (ct_detail_data *) priv;
- char *operation = NULL;
- cdetail_d->base_ab = -1;
-
- p_retvm_if(NULL == ug || NULL == priv, NULL,
- "The parameter is invalid(ug=%p, priv=%p)", ug, priv);
-
- cdetail_d->win = (Evas_Object *) ug_get_window();
- parent = (Evas_Object *) ug_get_parent_layout(ug);
- p_retvm_if(NULL == parent, NULL, "ug_get_parent_layout() return NULL");
- cdetail_d->ug = ug;
-
- bindtextdomain(PACKAGE, LOCALEDIR);
-
- err = contacts_connect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_connect2() Failed(%d)",
- err);
- PH_DBG("contacts_connect()");
-
- service_get_operation(service, &operation);
-
- if (operation)
- {
- request = __detail_parse_bundle_by_operation(service, operation,
- cdetail_d);
- free(operation);
- if (request < 0)
- {
- ERR("__detail_parse_bundle_by_operation invalid parameter");
- request = ct_detail_parse_bundle(service, cdetail_d, &ret);
- }
- }
- else
- request = ct_detail_parse_bundle(service, cdetail_d, &ret);
-
- if (UG_MODE_FULLVIEW == mode)
- base = phone_create_base_layout(parent, true);
- else
- base = phone_create_base_layout(parent, false);
-
- if (-2 == ret)
- {
- Evas_Object *popup;
- popup = elm_popup_add(base);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_object_text_set(popup, S_(PH_SYS_BODY_SELECTED_DATA_NOT_FOUND));
- elm_popup_timeout_set(popup, 1.5);
- evas_object_show(popup);
- evas_object_smart_callback_add(popup, "timeout", ctui_list_ug_hide_cb,
- cdetail_d->ug);
- return base;
- }
- p_retvm_if(request < 0, NULL, "ct_detail_parse_bundle() Failed(%d)",
- request);
-
- bg = phone_create_bg(base);
- if (NULL == bg)
- {
- ERR("phone_create_bg() return NULL");
- evas_object_del(base);
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_disconnect2() Failed(%d)", err);
- return NULL;
- }
-
- if (!create_ug_detail_view(base, request, cdetail_d))
- {
- evas_object_del(base);
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_disconnect2() Failed(%d)", err);
- }
- return base;
-}
-
-static void detail_on_destroy(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- int err;
- ct_detail_data *cdetail_d = (ct_detail_data *) priv;
- p_retm_if(NULL == ug, "The parameter is invalid(ug=%p)", ug);
-
- if (cdetail_d && !cdetail_d->navi)
- free(cdetail_d);
-
- evas_object_del((Evas_Object *) ug_get_layout(ug));
-
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_disconnect2() Failed(%d)",
- err);
-}
-
-static void detail_on_message(ui_gadget_h ug, service_h msg, service_h service,
- void *priv)
-{
- PH_TRACE;
- char* val = NULL;
- ct_detail_data *cdetail_d = (ct_detail_data *) priv;
-
- if (UG_MODE_FRAMEVIEW == ug_get_mode(ug))
- {
- if (msg)
- {
- service_get_extra_data(service, "key_event", &val);
- if (val && CTUG_MSG_KEY_END == atoi(val))
- {
- if (cdetail_d->popup)
- {
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
- }
- else
- {
- if (elm_naviframe_top_item_get(cdetail_d->navi)
- == cdetail_d->navi_item)
- {
- ug_destroy_me(ug);
- }
- else
- elm_naviframe_item_pop(cdetail_d->navi);
- }
- }
- free(val);
- }
- }
-}
-
-static void detail_on_pause(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- contacts_name_display_order_e name_display_order;
- ct_detail_data *cdetail_d = (ct_detail_data *) priv;
- contacts_setting_get_name_display_order(&name_display_order);
- cdetail_d->order_display = (int) name_display_order;
-}
-
-static void detail_on_resume(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- contacts_name_display_order_e order;
- ct_detail_data *cdetail_d = (ct_detail_data *) priv;
-
- contacts_setting_get_name_display_order(&order);
- if (cdetail_d->order_display != order)
- ctui_detail_genlist_update(cdetail_d);
-}
-
-static void detail_on_event(ui_gadget_h ug, enum ug_event event,
- service_h service, void *priv)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data *) priv;
- switch (event)
- {
- case UG_EVENT_ROTATE_PORTRAIT:
- case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
- break;
- case UG_EVENT_ROTATE_LANDSCAPE:
- case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
- break;
- case UG_EVENT_LANG_CHANGE:
- ct_detail_view_language_changed(cdetail_d);
- break;
- default:
- break;
- }
-}
-
-extern "C" API int UG_MODULE_INIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d;
-
- p_retvm_if(!ops, -1, "ops is NULL");
-
- cdetail_d = (ct_detail_data *) calloc(1, sizeof(ct_detail_data));
- p_retvm_if(!cdetail_d, -1, "UG data is NULL, Not enough memory");
-
- ops->create = detail_on_create;
- ops->start = NULL;
- ops->pause = detail_on_pause;
- ops->resume = detail_on_resume;
- ops->destroy = detail_on_destroy;
- ops->message = detail_on_message;
- ops->event = detail_on_event;
- ops->key_event = NULL;
- ops->priv = cdetail_d;
- ops->opt = UG_OPT_INDICATOR_ENABLE;
-
- return 0;
-}
-
-extern "C" API void UG_MODULE_EXIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- p_retm_if(!ops, "ops is NULL");
-
- ops->priv = NULL;
-}
-
-API int ctui_create_detail_view(ct_list_data *clist_d,
- ct_person_list *person_info)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d;
- Evas_Object *content;
-
- cdetail_d = (ct_detail_data *) calloc(1, sizeof(ct_detail_data));
- p_retvm_if(!cdetail_d, -1, "cdetail_d is NULL, Not enough memory");
-
- ctui_ld_to_dd(clist_d, cdetail_d);
- cdetail_d->person_id = person_info->id;
- cdetail_d->titem = NULL;
- cdetail_d->ctrl_button = NULL;
- content = ct_detail_create_content(cdetail_d);
- if (NULL == content)
- {
- ERR("ct_detail_create_content() Failed");
- free(cdetail_d);
- return -1;
- }
-
- cdetail_d->navi_item = elm_naviframe_item_push(cdetail_d->navi, NULL, NULL,
- NULL, content, NULL);
- elm_naviframe_item_title_visible_set(cdetail_d->navi_item, EINA_FALSE);
- ct_detail_set_navi(cdetail_d, DETAIL_VIEW_MODE_INFO);
-
- PH_DBG("##### [TSP_TEST] list->detail end#####");
- return 0;
-}
-
-API void ct_detail_view_language_changed(ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- p_retm_if(NULL == cdetail_d, "parameter(cdetail_d) is NULL");
-
- // 1. update title
- if (cdetail_d->navi_item)
- elm_object_item_text_set(cdetail_d->navi_item,
- T_(CT_GET_TEXT_BASIC, CTTEXT_DETAILS));
-
- // 2. update content
- ct_detail_refresh_view(cdetail_d);
-
- // 3. update controlbar
-
- if (cdetail_d->has_input)
- ct_input_language_changed(cdetail_d->navi);
-}
-
-API int ctui_create_input_view(ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- int contact_id = 0;
- char addressbook_name[50] = { 0, };
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record_contact_clone = NULL;
-
- p_retvm_if(!cdetail_d, -1, "cdetail_d is NULL");
- if (cdetail_d->contact)
- {
- err = contacts_record_clone(cdetail_d->contact, &record_contact_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_clone() Failed(%d)", err);
- return 0;
- }
- contacts_record_get_int(cdetail_d->contact, _contacts_contact.id,
- &contact_id);
- }
- else if (cdetail_d->person_id)
- {
- Eina_List *list_contact;
- list_contact = ctui_person_get_writable_contact_list(
- cdetail_d->person_id);
- if (NULL == list_contact)
- {
- err = contacts_record_create(_contacts_contact._uri,
- &record_contact_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_create() Failed(%d)", err);
- return 0;
- }
- }
- else
- {
- err = contacts_record_clone(cdetail_d->contact,
- &record_contact_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_clone() Failed(%d)", err);
- return 0;
- }
- ctui_free_record_list(list_contact);
- }
- }
-
- ctui_get_addressbook_name(ct_input_get_base_ab(), addressbook_name,
- sizeof(addressbook_name));
- PH_DBG("addressbook_name : %s", addressbook_name);
-
- ct_input_push_navi_content(cdetail_d, record_contact_clone, contact_id);
- return 0;
-}
-
-API Evas_Object* ctui_contacts_viewer(Evas_Object *win, Evas_Object *navi,
- int personid_vcardidx, const char *vcard_path)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *bg;
- Evas_Object *base = NULL;
- Evas_Object *content;
- Evas_Object *conform = NULL;
-
- ct_detail_data *cdetail_d = (ct_detail_data *) calloc(1, sizeof(ct_detail_data));
- p_retvm_if(!cdetail_d, NULL, "cdetail_d is NULL, Not enough memory");
-
- cdetail_d->win = win;
- if (navi)
- {
- cdetail_d->navi = navi;
- }
- else
- {
- conform = elm_conformant_add(win);
- p_retvm_if(NULL == conform, NULL, "elm_conformant_add() Failed");
- evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
-
- base = phone_create_base_layout(conform, true);
- cdetail_d->navi = elm_naviframe_add(base);
- ea_object_event_callback_add(cdetail_d->navi, EA_CALLBACK_BACK, &Common::ViewManager::onBack, cdetail_d->win);
- ea_object_event_callback_add(cdetail_d->navi, EA_CALLBACK_MORE, &Common::ViewManager::onMenu, NULL);
- evas_object_show(cdetail_d->navi);
-
- bg = phone_create_bg(base);
- if (NULL == bg)
- {
- ERR("phone_create_bg() return NULL");
- evas_object_del(base);
- free(cdetail_d);
- return NULL;
- }
- elm_object_style_set(bg, "group_list");
- }
-
- evas_object_data_set(cdetail_d->win, "naviframe", (void *) cdetail_d->navi);
-
- if (NULL == vcard_path)
- {
- int person_id = personid_vcardidx;
- if (person_id)
- {
- cdetail_d->is_shortcut = true;
- cdetail_d->person_id = person_id;
- err = contacts_db_get_record(_contacts_person._uri, person_id,
- &(cdetail_d->person));
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_record(%d) Failed(%d)", person_id, err);
- if (base)
- evas_object_del(base);
- free(cdetail_d);
- return NULL;
- }
- cdetail_d->list_contacts = ctui_person_get_contact_list(
- cdetail_d->person_id);
- }
- else
- ERR("personid_vcardidx <= 0");
- }
- else
- {
- int fd = 0;
- int size __attribute__ ((unused)) = 0;
- int vcard_idx = personid_vcardidx;
- char buf[CT_VCARD_FILE_MAX_SIZE + 1] = { 0, };
-
- contacts_record_h record;
- contacts_list_h list_contacts_vcard = NULL;
- cdetail_d->vcard_path = strdup(vcard_path);
-
- if (NULL == cdetail_d->vcard_path)
- {
- ERR("strdup() return NULL");
- if (base)
- evas_object_del(base);
- free(cdetail_d);
- return NULL;
- }
-
- fd = open(cdetail_d->vcard_path, O_RDONLY);
-
- p_retvm_if(-1 == fd, NULL, "open() return -1");
- size = read(fd, buf, sizeof(buf) - 1);
- close(fd);
-
- err = contacts_vcard_parse_to_contacts(buf, &list_contacts_vcard);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_vcard_parse_to_contacts(%s) Failed(%d)",
- vcard_path, err);
- if (base)
- evas_object_del(base);
- free(cdetail_d);
- return NULL;
- }
-
- if (vcard_idx <= 0)
- {
- err = contacts_list_get_current_record_p(list_contacts_vcard,
- &record);
- if (CONTACTS_ERROR_NONE == err)
- {
- err = contacts_record_clone(record, &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_clone() Failed(%d)", err);
- }
- }
- else
- {
- int idx = 0;
- err = CONTACTS_ERROR_NONE;
- idx = 1;
- while (CONTACTS_ERROR_NONE == err)
- {
- if (vcard_idx == idx)
- {
- err = contacts_list_get_current_record_p(
- list_contacts_vcard, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_get_current_record_p() Failed(%d)",
- err);
- err = contacts_record_clone(record, &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_clone() Failed(%d)", err);
- break;
- }
- err = contacts_list_next(list_contacts_vcard);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d) vcard_idx %d, idx %d",
- err, vcard_idx, idx);
- break;
- }
- ++idx;
- }
- }
- err = contacts_list_destroy(list_contacts_vcard, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_destroy(list_contacts_vcard) Failed(%d)", err);
- }
-
- content = ct_detail_create_content(cdetail_d);
- if (NULL == content)
- {
- ERR("ct_detail_create_content() Failed");
- if (base)
- evas_object_del(base);
- if (cdetail_d->contact)
- contacts_record_destroy(cdetail_d->contact, true);
- if (cdetail_d->person)
- contacts_record_destroy(cdetail_d->person, true);
- free(cdetail_d);
- return NULL;
- }
-
- cdetail_d->navi_item = elm_naviframe_item_push(cdetail_d->navi, NULL, NULL,
- NULL, content, NULL);
- elm_naviframe_item_title_visible_set(cdetail_d->navi_item, EINA_FALSE);
-
- if (NULL == vcard_path)
- ct_detail_set_navi(cdetail_d, DETAIL_VIEW_MODE_INFO);
- else
- ct_detail_set_navi(cdetail_d, DETAIL_VIEW_MODE_VCARD);
-
- if (navi)
- return navi;
- else
- {
- elm_object_part_content_set(base, "elm.swallow.content",
- cdetail_d->navi);
- evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_win_resize_object_add(win, base);
- elm_win_resize_object_add(win, conform);
- elm_object_content_set(conform, base);
- evas_object_show(base);
- evas_object_show(conform);
- return conform;
- }
-}
-
-API int ctui_create_detail_view_from_phone(Evas_Object *win, Evas_Object *navi,
- ui_gadget_h ug, int id)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d;
- Evas_Object *content;
-
- cdetail_d = (ct_detail_data *) calloc(1, sizeof(ct_detail_data));
- p_retvm_if(!cdetail_d, -1, "cdetail_d is NULL, Not enough memory");
-
- cdetail_d->win = win;
- cdetail_d->navi = navi;
- cdetail_d->ug = ug;
- cdetail_d->prev_navi_item = elm_naviframe_top_item_get(navi);
- cdetail_d->person_id = id;
-
- content = ct_detail_create_content(cdetail_d);
- if (NULL == content)
- {
- ERR("ct_detail_create_content() Failed");
- free(cdetail_d);
- return -1;
- }
-
- cdetail_d->navi_item = elm_naviframe_item_push(cdetail_d->navi, NULL, NULL,
- NULL, content, NULL);
- elm_naviframe_item_title_visible_set(cdetail_d->navi_item, EINA_FALSE);
-
- ct_detail_set_navi(cdetail_d, DETAIL_VIEW_MODE_INFO);
- return 0;
-}
-
diff --git a/lib/details/ct-detail-utils.cpp b/lib/details/ct-detail-utils.cpp
deleted file mode 100755
index cf33d23..0000000
--- a/lib/details/ct-detail-utils.cpp
+++ /dev/null
@@ -1,2748 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <fcntl.h>
-#include <vconf.h>
-#include <Ecore_X.h>
-#include <ui-gadget-module.h>
-#include <account.h>
-#include <unicode/udatpg.h>
-#include <unicode/ucal.h>
-#include <unicode/ustring.h>
-
-#include "phone.h"
-#include "ct-list.h"
-#include "ct-detail.h"
-#include "ct-detail-view.h"
-#include "ct-detail-utils.h"
-#include "ct-image-viewer.h"
-
-#define FILES "files"
-#define FILECOUNT 1
-
-int ct_detail_parse_bundle(service_h service, ct_detail_data* cdetail_d,
- int *ret)
-{
- PH_TRACE;
- int type = CT_UG_REQUEST_DETAIL;
- char* val = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- p_retvm_if(NULL == ret, -1, "parameter(ret) is NULL");
- *ret = 0;
-
- if (service)
- {
- service_get_extra_data(service, CT_UG_BUNDLE_TYPE, &val);
- if (val)
- type = atoi(val);
- PH_DBG("type = %d", type);
- free(val);
-
- switch (type)
- {
- case CT_UG_REQUEST_DETAIL:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ID, &val);
-
- if (val)
- {
- cdetail_d->person_id = atoi(val);
- free(val);
- break;
- }
-
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_PERSON_ID, &val);
- if (val)
- {
- cdetail_d->person_id = atoi(val);
- free(val);
- break;
- }
-
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_VCARD, &val);
- if (val)
- {
- if (ct_detail_load_vcard_contact(cdetail_d, val) < 0)
- PH_DBG("ct_detail_load_vcard_contact fail");
- free(val);
- }
- break;
-
- case CT_UG_REQUEST_EDIT:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ID, &val);
-
- if (val)
- cdetail_d->person_id = atoi(val);
- free(val);
-
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_PERSON_ID, &val);
- if (val)
- cdetail_d->person_id = atoi(val);
- free(val);
-
- if (cdetail_d->person_id)
- { // From OSP
- Eina_List *list_contact =
- ctui_person_get_writable_contact_list(
- cdetail_d->person_id);
- if (list_contact)
- {
- cdetail_d->contact = (contacts_record_h) list_contact->data;
- eina_list_free(list_contact);
- }
- }
-
- //number
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_NUM, &val);
- if (val)
- {
- contacts_record_h record_number;
-
- if (NULL == cdetail_d->contact && cdetail_d->person_id)
- {
- Eina_List *list_contact_id =
- ctui_person_get_writable_contact_list(
- cdetail_d->person_id);
- if (list_contact_id)
- {
- int contact_id = (int) list_contact_id->data;
- eina_list_free(list_contact_id);
- err = contacts_db_get_record(_contacts_contact._uri,
- contact_id, &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record(%d) Failed(%d)",
- contact_id, err);
- }
- }
-
- err = contacts_record_create(_contacts_number._uri,
- &record_number);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record_number,
- _contacts_number.type, CONTACTS_NUMBER_TYPE_CELL);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_str(record_number,
- _contacts_number.number, (const char*) val);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- err = contacts_record_add_child_record(cdetail_d->contact,
- _contacts_contact.number, record_number);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_add_child_record() Failed(%d)",
- err);
- }
-
- //email
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_EMAIL, &val);
- if (val)
- {
- contacts_record_h record_email;
-
- if (NULL == cdetail_d->contact && cdetail_d->person_id)
- {
- Eina_List *list_contact_id =
- ctui_person_get_writable_contact_list(
- cdetail_d->person_id);
- if (list_contact_id)
- {
- int contact_id = (int) list_contact_id->data;
- eina_list_free(list_contact_id);
- err = contacts_db_get_record(_contacts_contact._uri,
- contact_id, &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record(%d) Failed(%d)",
- contact_id, err);
- }
- }
-
- contacts_record_create(_contacts_email._uri, &record_email);
- contacts_record_set_int(record_email, _contacts_email.type,
- CONTACTS_EMAIL_TYPE_HOME);
- contacts_record_set_str(record_email, _contacts_email.email,
- (const char*) val);
-
- contacts_record_add_child_record(cdetail_d->contact,
- _contacts_contact.email, record_email);
- }
- //url
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_WEB, &val);
- if (val)
- {
- contacts_record_h record_website;
-
- if (NULL == cdetail_d->contact && cdetail_d->person_id)
- {
- Eina_List *list_contact_id =
- ctui_person_get_writable_contact_list(
- cdetail_d->person_id);
- if (list_contact_id)
- {
- int contact_id = (int) list_contact_id->data;
- eina_list_free(list_contact_id);
- err = contacts_db_get_record(_contacts_contact._uri,
- contact_id, &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record(%d) Failed(%d)",
- contact_id, err);
- }
- }
- contacts_record_create(_contacts_url._uri, &record_website);
- contacts_record_set_int(record_website, _contacts_url.type,
- CONTACTS_EMAIL_TYPE_HOME);
- contacts_record_set_str(record_website, _contacts_url.url,
- (const char*) val);
-
- contacts_record_add_child_record(cdetail_d->contact,
- _contacts_contact.url, record_website);
- }
- break;
- case CT_UG_REQUEST_ADD:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_VCARD, &val);
- if (val)
- {
- contacts_list_h list;
- err = contacts_vcard_parse_to_contacts(val, &list);
- if (CONTACTS_ERROR_NONE == err)
- {
- contacts_record_h record;
- err = contacts_list_get_current_record_p(list, &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- err = contacts_record_clone(record,
- &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_clone() Failed(%d)", err);
- }
- }
- err = contacts_list_destroy(list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_destroy() Failed(%d)", err);
-
- free(val);
- break;
- }
-
- //number
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_NUM, &val);
- if (val)
- {
- contacts_record_h record_number = NULL;
- if (NULL == cdetail_d->contact)
- {
- err = contacts_record_create(_contacts_contact._uri,
- &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
- }
-
- err = contacts_record_create(_contacts_number._uri,
- &record_number);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record_number,
- _contacts_number.type,
- CONTACTS_NUMBER_TYPE_HOME
- | CONTACTS_NUMBER_TYPE_CELL);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_str(record_number,
- _contacts_number.number, val);
- contacts_record_add_child_record(cdetail_d->contact,
- _contacts_contact.number, record_number);
-
- free(val);
- }
-
- //email
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_EMAIL, &val);
- if (val)
- {
- contacts_record_h record_email = NULL;
- if (NULL == cdetail_d->contact)
- {
- err = contacts_record_create(_contacts_contact._uri,
- &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
- }
-
- err = contacts_record_create(_contacts_email._uri,
- &record_email);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record_email,
- _contacts_email.type, CONTACTS_EMAIL_TYPE_HOME);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_str(record_email,
- _contacts_email.email, val);
- contacts_record_add_child_record(cdetail_d->contact,
- _contacts_contact.email, record_email);
-
- free(val);
- }
-
- //url
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_WEB, &val);
- if (val)
- {
- contacts_record_h record_url = NULL;
- if (NULL == cdetail_d->contact)
- {
- err = contacts_record_create(_contacts_contact._uri,
- &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
- }
- err = contacts_record_create(_contacts_url._uri,
- &record_url);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record_url,
- _contacts_url.type, CONTACTS_URL_TYPE_HOME);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_str(record_url, _contacts_url.url,
- val);
- contacts_record_add_child_record(cdetail_d->contact,
- _contacts_contact.url, record_url);
-
- free(val);
- }
- break;
- case CT_UG_REQUEST_ADD_WITH_NUM:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_NUM, &val);
- if (val)
- {
- contacts_record_h record_number = NULL;
- if (cdetail_d->person_id)
- {
- int contact_id = 0;
- Eina_List *contact_id_list;
-
- contact_id_list = ctui_person_get_writable_contact_list(
- cdetail_d->person_id);
- if (NULL == contact_id_list)
- {
- ERR(
- "ctui_person_get_writable_contact_list() return NULL");
- break;
- }
-
- contact_id = (int) contact_id_list->data;
- eina_list_free(contact_id_list);
-
- err = contacts_db_get_record(_contacts_contact._uri,
- contact_id, &(cdetail_d->contact));
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_record() Failed(%d)", err);
- break;
- }
-
- err = contacts_record_create(_contacts_number._uri,
- &record_number);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record_number,
- _contacts_number.type,
- CONTACTS_NUMBER_TYPE_HOME
- | CONTACTS_NUMBER_TYPE_VOICE);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_str(record_number,
- _contacts_number.number, val);
- contacts_record_add_child_record(cdetail_d->contact,
- _contacts_contact.number, record_number);
- }
- else
- {
- err = contacts_record_create(_contacts_contact._uri,
- &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_create(_contacts_number._uri,
- &record_number);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record_number,
- _contacts_number.type,
- CONTACTS_NUMBER_TYPE_HOME
- | CONTACTS_NUMBER_TYPE_VOICE);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_str(record_number,
- _contacts_number.number, val);
- contacts_record_add_child_record(cdetail_d->contact,
- _contacts_contact.number, record_number);
- }
- }
- free(val);
- break;
- case CT_UG_REQUEST_ADD_WITH_EMAIL:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_EMAIL, &val);
- if (val)
- {
- contacts_record_h record_email;
- if (cdetail_d->person_id)
- {
- int contact_id = 0;
- Eina_List *contact_id_list;
-
- PH_DBG("cdetail_d->person_id=%d", cdetail_d->person_id);
-
- contact_id_list = ctui_person_get_writable_contact_list(
- cdetail_d->person_id);
- if (NULL == contact_id_list)
- {
- ERR(
- "ctui_person_get_writable_contact_list() return NULL");
- break;
- }
-
- contact_id = (int) contact_id_list->data;
- eina_list_free(contact_id_list);
-
- err = contacts_db_get_record(_contacts_contact._uri,
- contact_id, &(cdetail_d->contact));
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_record() Failed(%d)", err);
- break;
- }
-
- err = contacts_record_create(_contacts_email._uri,
- &record_email);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record_email,
- _contacts_email.type, CONTACTS_EMAIL_TYPE_HOME);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_str(record_email,
- _contacts_email.email, val);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- err = contacts_record_add_child_record(
- cdetail_d->contact, _contacts_contact.email,
- record_email);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_add_child_record() Failed(%d)",
- err);
- }
- else
- {
- err = contacts_record_create(_contacts_contact._uri,
- &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_create(_contacts_email._uri,
- &record_email);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record_email,
- _contacts_email.type, CONTACTS_EMAIL_TYPE_HOME);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_str(record_email,
- _contacts_email.email, val);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- err = contacts_record_add_child_record(
- cdetail_d->contact, _contacts_contact.email,
- record_email);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_add_child_record() Failed(%d)",
- err);
- }
- }
- free(val);
- break;
- case CT_UG_REQUEST_ADD_WITH_WEB:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_EMAIL, &val);
- if (val)
- {
- contacts_record_h record_url;
- if (cdetail_d->person_id)
- {
- int contact_id = 0;
- Eina_List *contact_id_list;
-
- contact_id_list = ctui_person_get_writable_contact_list(
- cdetail_d->person_id);
- if (NULL == contact_id_list)
- {
- ERR(
- "ctui_person_get_writable_contact_list() return NULL");
- break;
- }
-
- contact_id = (int) contact_id_list->data;
- eina_list_free(contact_id_list);
-
- err = contacts_db_get_record(_contacts_contact._uri,
- contact_id, &(cdetail_d->contact));
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_record() Failed(%d)", err);
- break;
- }
-
- err = contacts_record_create(_contacts_url._uri,
- &record_url);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record_url,
- _contacts_url.type, CONTACTS_URL_TYPE_HOME);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_str(record_url,
- _contacts_url.url, val);
- contacts_record_add_child_record(cdetail_d->contact,
- _contacts_contact.url, record_url);
- }
- else
- {
- err = contacts_record_create(_contacts_contact._uri,
- &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_create(_contacts_url._uri,
- &record_url);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record_url,
- _contacts_url.type, CONTACTS_URL_TYPE_HOME);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_set_str(record_url,
- _contacts_url.url, val);
- contacts_record_add_child_record(cdetail_d->contact,
- _contacts_contact.url, record_url);
- }
- }
- free(val);
- break;
- }
- }
-
- // FIXME : improve performance
- if (cdetail_d->person_id)
- {
- cdetail_d->list_contacts = ctui_person_get_contact_list(
- cdetail_d->person_id);
- if (NULL == cdetail_d->list_contacts)
- *ret = -2;
- }
-
- return type;
-}
-
-static inline bool detail_is_usable_char(char c)
-{
- PH_TRACE;
- switch (c)
- {
- case '\\':
- case '/':
- case ':':
- case '*':
- case '?':
- case '\"':
- case '<':
- case '>':
- case '|':
- case ';':
- return false;
- default:
- return true;
- }
-}
-
-static inline bool detail_is_blank_str(char *display)
-{
- PH_TRACE;
- unsigned int i;
- for (i = 0; i < strlen(display); i++)
- if (' ' != display[i])
- return false;
- return true;
-}
-
-static void detail_get_vcard_filepath(ct_detail_data *cdetail_d, char* path_buf,
- int buf_size)
-{
- PH_TRACE;
- char display[PH_TEXT_MAX_LEN];
- char temp[PH_TEXT_MAX_LEN];
- char *display_name = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- temp[0] = '\0';
- if (cdetail_d->person)
- err = contacts_record_get_str_p(cdetail_d->person,
- _contacts_person.display_name, &display_name);
- else if (cdetail_d->contact)
- err = contacts_record_get_str_p(cdetail_d->contact,
- _contacts_contact.display_name, &display_name);
-
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (display_name && *display_name)
- snprintf(temp, sizeof(temp), "%s", display_name);
-
- display[0] = '\0';
- if (*temp)
- {
- unsigned int i;
- int idx = 0;
- for (i = 0; i < strlen(temp); i++)
- {
- if (detail_is_usable_char(temp[i]))
- display[idx++] = temp[i];
- }
- display[idx] = '\0';
- }
-
- if ('\0' == display[0] || detail_is_blank_str(display))
- {
- snprintf(display, sizeof(display), "%s",
- T_(CT_GET_TEXT_ERR, CTTEXT_NONAME));
- }
- snprintf(path_buf, buf_size, "%s/%s.vcf", UGDATAIDR, display);
-}
-
-static int detail_make_vcard(ct_detail_data *cdetail_d, char *path_buf,
- int buf_size)
-{
- PH_TRACE;
- int ret, fd;
- char* vcard = NULL;
-
- detail_get_vcard_filepath(cdetail_d, path_buf, buf_size);
- p_retvm_if(NULL == path_buf, FALSE,
- "detail_get_vcard_filepath() return NULL");
- p_retvm_if(NULL == cdetail_d->list_contacts, FALSE, "contact_list is NULL");
-
- if (cdetail_d->person)
- ret = contacts_vcard_make_from_person(cdetail_d->person, &vcard);
- else
- ret = contacts_vcard_make_from_contact(cdetail_d->contact, &vcard);
-
- p_retvm_if(NULL == vcard, FALSE,
- "contacts_vcard_make_from_person() Failed(%d)", ret);
-
- fd = open(path_buf, O_WRONLY | O_CREAT | O_TRUNC, 0644);
- if (fd < 0)
- {
- ERR("Open(%s) Failed", path_buf);
- free(vcard);
- return FALSE;
- }
-
- if (-1 == write(fd, vcard, strlen(vcard)))
- ERR("write()... Failed(%s)", strerror(errno));
- close(fd);
-
- free(vcard);
- return TRUE;
-}
-
-void ct_detail_delete_namecards(ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- int ret;
- int fd;
- char file_path[FILENAME_MAX];
-
- detail_get_vcard_filepath(cdetail_d, file_path, sizeof(file_path));
-
- fd = open(file_path, O_RDONLY);
- if (fd < 0)
- return;
-
- close(fd);
-
- ret = unlink(file_path);
- p_warn_if(ret < 0, "unlink(%s) failed(%d)", file_path, ret);
-}
-
-static void __detail_destroy_child_ug(void *data)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data*) data;
- p_retm_if(NULL == cdetail_d, "ct_detail_data is NULL");
- cdetail_d->child_ug = NULL;
-
-}
-
-static void detail_destroy_child_ug(ui_gadget_h ug, void *priv)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data *) priv;
- p_retm_if(NULL == ug, "ug is NULL");
- ug_destroy(ug);
-
- p_retm_if(NULL == priv, "priv is NULL");
- cdetail_d->child_ug = NULL;
-
-}
-
-void ct_detail_make_vcard(ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- int ret;
- char file_path[FILENAME_MAX] = { 0, };
-
- ret = detail_make_vcard(cdetail_d, file_path, sizeof(file_path));
- if (TRUE != ret)
- cdetail_d->vcard_path = NULL;
- else
- cdetail_d->vcard_path = strdup(file_path);
- PH_DBG("vcf path %s", file_path);
-}
-
-void ct_detail_send_via_msg(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int ret;
- char file_path[FILENAME_MAX];
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- ret = detail_make_vcard(cdetail_d, file_path, sizeof(file_path));
- if (TRUE != ret)
- {
- PH_DBG("detail_make_vcard() Failed(%d)", ret);
- phone_show_popup(cdetail_d->win,
- T_(CT_GET_TEXT_ERR, CTTEXT_UNABLE_TO_SEND_NAME_CARDS),
- 1.5);
- return;
- }
- cdetail_d->child_ug = ctui_msg_ug(cdetail_d->ug, NULL, file_path,
- __detail_destroy_child_ug, cdetail_d);
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-
-}
-
-void ct_detail_send_via_email(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int ret;
- char file_path[FILENAME_MAX];
- service_h service;
- Ecore_X_Window win_id;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- ret = detail_make_vcard(cdetail_d, file_path, sizeof(file_path));
- if (TRUE != ret)
- {
- PH_DBG("detail_make_vcard() Failed(%d)", ret);
- phone_show_popup(cdetail_d->win,
- T_(CT_GET_TEXT_ERR, CTTEXT_UNABLE_TO_SEND_NAME_CARDS),
- 1.5);
- return;
- }
-
- win_id = elm_win_xwindow_get(cdetail_d->win);
- service_create(&service);
- service_set_operation(service, SERVICE_OPERATION_SEND);
- service_set_uri(service, file_path);
- service_set_app_id(service, EMAIL_COMPOSER_PKG);
- service_add_extra_data(service, SERVICE_DATA_SUBJECT, "Contacts name card");
-
- service_set_window(service, win_id);
- service_send_launch_request(service, NULL, NULL);
- service_destroy(service);
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-}
-
-void ct_detail_send_via_bluetooth(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int ret;
- service_h service;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- char file_path[FILENAME_MAX];
- const char *path = file_path;
- struct ug_cbs cbs = { 0 };
-
- ret = detail_make_vcard(cdetail_d, file_path, sizeof(file_path));
- if (TRUE != ret)
- {
- PH_DBG("detail_make_vcard() Failed(%d)", ret);
- phone_show_popup(cdetail_d->win,
- T_(CT_GET_TEXT_ERR, CTTEXT_UNABLE_TO_SEND_NAME_CARDS),
- 1.5);
- return;
- }
-
- service_create(&service);
- service_add_extra_data(service, "launch-type", "send");
- service_add_extra_data_array(service, FILES, &path, FILECOUNT);
-
- cbs.layout_cb = ug_common_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = detail_destroy_child_ug;
- cbs.priv = data;
-
- cdetail_d->child_ug = ug_create(cdetail_d->ug, BLUETOOTH_UG,
- UG_MODE_FULLVIEW, service, &cbs);
-
- service_destroy(service);
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-}
-
-static void detail_get_displayname(contacts_record_h record_name, char *display,
- int display_len)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_name_display_order_e name_display_order;
- char *first, *last, *middle;
- char temp[CT_EDITFIELD_MAX_CHAR * 2 + 2] = { 0, };
-
- err = contacts_record_get_str_p(record_name, _contacts_name.first, &first);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() first Failed(%d)", err);
-
- err = contacts_record_get_str_p(record_name, _contacts_name.addition,
- &middle);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() addition Failed(%d)", err);
-
- err = contacts_record_get_str_p(record_name, _contacts_name.last, &last);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() last Failed(%d)", err);
-
- if (STRLEN(middle) > 0)
- {
- if (STRLEN(first) > 0)
- snprintf(temp, CT_EDITFIELD_MAX_CHAR * 2 + 1, "%s %s", first,
- middle);
- else
- snprintf(temp, CT_EDITFIELD_MAX_CHAR, "%s", middle);
- }
- else
- {
- if (STRLEN(first) > 0)
- snprintf(temp, CT_EDITFIELD_MAX_CHAR, "%s", first);
- }
-
- contacts_setting_get_name_display_order(&name_display_order);
- if (CONTACTS_NAME_DISPLAY_ORDER_FIRSTLAST == name_display_order)
- {
- if (STRLEN(last) > 0)
- {
- if (STRLEN(temp) > 0)
- snprintf(display, display_len - 1, "%s %s", temp, last);
- else
- snprintf(display, display_len - 1, "%s", last);
- }
- else
- {
- if (STRLEN(temp) > 0)
- snprintf(display, display_len - 1, "%s", temp);
- }
- }
- else
- {
- if (STRLEN(last) > 0)
- {
- if (STRLEN(temp) > 0)
- snprintf(display, display_len - 1, "%s, %s", last, temp);
- else
- snprintf(display, display_len - 1, "%s", last);
- }
- else
- {
- if (STRLEN(temp) > 0)
- snprintf(display, display_len - 1, "%s", temp);
- }
- }
-}
-
-static void detail_get_company_str(contacts_record_h record_company, char *dest,
- int dest_len)
-{
- PH_TRACE;
- int ret;
- int err = CONTACTS_ERROR_NONE;
- char *company, *job, *department;
- char temp[dest_len];
-
- p_ret_if(NULL == dest);
-
- err = contacts_record_get_str_p(record_company, _contacts_company.name,
- (char**) &company);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- err = contacts_record_get_str_p(record_company,
- _contacts_company.department, (char**) &department);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- err = contacts_record_get_str_p(record_company, _contacts_company.job_title,
- (char**) &job);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (company)
- {
- if (strlen(company) > CT_EDITFIELD_MAX_CHAR)
- {
- company[CT_EDITFIELD_MAX_CHAR] = '\0';
- }
- if (*dest)
- {
- ret = snprintf(temp, dest_len, "%s, %s", dest, company);
- if (0 < ret)
- memcpy(dest, temp, ret + 1);
- }
- else
- {
- snprintf(dest, dest_len, "%s", company);
- }
- }
-
- if (department)
- {
- if (strlen(department) > CT_EDITFIELD_MAX_CHAR)
- {
- department[CT_EDITFIELD_MAX_CHAR] = '\0';
- }
- if (*dest)
- {
- ret = snprintf(temp, dest_len, "%s, %s", dest, department);
- if (0 < ret)
- memcpy(dest, temp, ret + 1);
- }
- else
- {
- snprintf(dest, dest_len, "%s", department);
- }
- }
-
- if (job)
- {
- if (strlen(job) > CT_EDITFIELD_MAX_CHAR)
- {
- job[CT_EDITFIELD_MAX_CHAR] = '\0';
- }
- if (*dest)
- {
- ret = snprintf(temp, dest_len, "%s, %s", dest, job);
- if (0 < ret)
- memcpy(dest, temp, ret + 1);
- }
- else
- {
- snprintf(dest, dest_len, "%s", job);
- }
- }
-}
-
-void ct_detail_person_get_company_str(Eina_List *contact_list, char *dest,
- int dest_len)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_contact = NULL;
- contacts_record_h record_company = NULL;
- Eina_List *l;
- p_retm_if(NULL == contact_list, "contact_list is NULL");
-
- EINA_LIST_FOREACH(contact_list, l, v_record_contact)
- {
- contacts_record_h record_contact = (contacts_record_h) v_record_contact;
- if (NULL == record_contact)
- continue;
- err = contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.company, 0, &record_company);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_child_record_at_p() Failed(%d)", err);
- if (CONTACTS_ERROR_NONE == err)
- {
- detail_get_company_str(record_company, dest, dest_len);
- break;
- }
- }
-}
-
-static void detail_get_extra_name_str(contacts_record_h record_name,
- contacts_record_h record_nickname, char *dest, int dest_len)
-{
- PH_TRACE;
- int ret;
- int err = CONTACTS_ERROR_NONE;
- char *suffix;
- char *nickname;
- char temp[CT_EDITFIELD_MAX_CHAR + 1] = { 0, };
-
- p_ret_if(NULL == dest);
-
- err = contacts_record_get_str_p(record_name, _contacts_name.suffix,
- (char**) &suffix);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() suffix Failed(%d)", err);
-
- err = contacts_record_get_str_p(record_nickname, _contacts_nickname.name,
- (char**) &nickname);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() name Failed(%d)", err);
-
- if (suffix && *suffix)
- {
- if (strlen(suffix) > CT_EDITFIELD_MAX_CHAR)
- {
- suffix[CT_EDITFIELD_MAX_CHAR] = '\0';
- }
- if (*dest)
- {
- ret = snprintf(temp, sizeof(temp) - 1, "%s, %s", dest, suffix);
- if (0 < ret)
- memcpy(dest, temp, ret + 1);
- }
- else
- {
- snprintf(dest, dest_len - 1, "%s", suffix);
- }
- }
-
- if (nickname && *nickname)
- {
- if (strlen(nickname) > CT_EDITFIELD_MAX_CHAR)
- {
- nickname[CT_EDITFIELD_MAX_CHAR] = '\0';
- }
- if (*dest)
- {
- ret = snprintf(temp, sizeof(temp) - 1, "%s, %s", dest, nickname);
- if (0 < ret)
- memcpy(dest, temp, ret + 1);
- }
- else
- {
- snprintf(dest, dest_len - 1, "%s", nickname);
- }
- }
-}
-
-void ct_detail_person_get_extra_name(Eina_List *contact_list,
- contacts_record_h record_person, char *dest, int dest_len)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_contact = NULL;
- contacts_record_h record_name = NULL;
- contacts_record_h record_nickname = NULL;
- Eina_List *l;
-
- p_retm_if(NULL == contact_list, "contact_list is NULL");
-
- EINA_LIST_FOREACH(contact_list, l, v_record_contact)
- {
- contacts_record_h record_contact = (contacts_record_h) v_record_contact;
- if (NULL == record_contact)
- continue;
-
- err = contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.name, 0, &record_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_child_record_at_p() name Failed(%d)", err);
- err = contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.nickname, 0, &record_nickname);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_child_record_at_p() nickname Failed(%d)",
- err);
-
- if (CONTACTS_ERROR_NONE == err)
- {
- detail_get_extra_name_str(record_name, record_nickname, dest,
- dest_len);
- break;
- }
- }
-}
-
-char* ct_detail_gl_baseinfo_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- const char *display_name = NULL;
- char display[PH_TEXT_MAX_LEN * 4 + 1] = { 0, };
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- p_retvm_if(NULL == cdetail_d, NULL, "parameter(cdetail_d) is NULL");
-
- display[0] = '\0';
- if (0 == strcmp(part, "elm.text.name"))
- {
- if (cdetail_d->person)
- {
- err = contacts_record_get_str_p(cdetail_d->person,
- _contacts_person.display_name, (char**) &display_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (display_name && *display_name)
- return elm_entry_utf8_to_markup(display_name);
- }
- else if (cdetail_d->contact)
- {
- err = contacts_record_get_str_p(cdetail_d->contact,
- _contacts_contact.display_name, (char**) &display_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- if (STRLEN(display_name) > 0)
- {
- snprintf(display, sizeof(display), "%s", display_name);
- return elm_entry_utf8_to_markup(display);
- }
- else
- {
- contacts_record_h record_name;
-
- err = contacts_record_get_child_record_at_p(cdetail_d->contact,
- _contacts_contact.name, 0, &record_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_child_record_at_p() Failed(%d)",
- err);
-
- detail_get_displayname(record_name, display, sizeof(display));
-
- if (STRLEN(display) > 0)
- return elm_entry_utf8_to_markup(display);
- }
- }
- }
- else if (0 == strcmp(part, "elm.text.subname"))
- {
- if (cdetail_d->list_contacts)
- {
- ct_detail_person_get_extra_name(cdetail_d->list_contacts,
- cdetail_d->person, display, sizeof(display));
- if (strlen(display) > 0)
- return elm_entry_utf8_to_markup(display);
-
- ct_detail_person_get_company_str(cdetail_d->list_contacts, display,
- sizeof(display));
- if (strlen(display) > 0)
- return elm_entry_utf8_to_markup((display));
- }
- }
- else if (0 == strcmp(part, "elm.text.subname2"))
- {
- if (cdetail_d->list_contacts)
- {
- ct_detail_person_get_company_str(cdetail_d->list_contacts, display,
- sizeof(display));
- if (strlen(display) > 0)
- return elm_entry_utf8_to_markup(display);
- }
- }
- return NULL;
-}
-
-static bool detail_set_favorite(contacts_record_h record_person, bool is_set)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
-
- err = contacts_record_set_bool(record_person, _contacts_person.is_favorite,
- is_set);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_record_set_bool() Failed(%d)", err);
-
- return true;
-}
-
-static void detail_favorite_mouseup_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- bool is_favorite;
- bool success;
- int x, y, w, h;
- int err = CONTACTS_ERROR_NONE;
- const char* result_msg;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *) event_info;
-
- p_retm_if(NULL == cdetail_d, "evas_object_data_get() return NULL");
- p_retm_if(NULL == cdetail_d->person, "person is NULL");
-
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
- return;
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- if (ev->output.y < y || y + h < ev->output.y || ev->output.x < x
- || x + w < ev->output.x)
- return;
-
- err = contacts_record_get_bool(cdetail_d->person,
- _contacts_person.is_favorite, &is_favorite);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_bool() Failed(%d)", err);
-
- is_favorite = !is_favorite;
- success = detail_set_favorite(cdetail_d->person, is_favorite);
-
- if (is_favorite && success)
- result_msg = S_(CT_SYS_POP_ADDED);
- else if (!is_favorite && success)
- result_msg = S_(PH_SYS_POP_REMOVED);
- else
- result_msg = S_(PH_SYS_POP_FAILED);
-
- phone_show_tickernoti(result_msg);
- err = contacts_db_update_record(cdetail_d->person);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_record() Failed(%d)", err);
-
- elm_genlist_item_update(cdetail_d->base_item);
-}
-
-static void detail_person_changed_cb(void *data)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- p_retm_if(NULL == cdetail_d, "paramter(ct_detail_data) is NULL");
- p_retm_if(NULL == cdetail_d->person, "paramter(cdetail_d->person) is NULL");
- p_retm_if(0 == cdetail_d->person_id, "paramter(cdetail_d->person_id) is 0");
-
- err = contacts_record_destroy(cdetail_d->person, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- err = contacts_db_get_record(_contacts_person._uri, cdetail_d->person_id,
- &(cdetail_d->person));
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_record(%d) Failed(%d)", cdetail_d->person_id, err);
- }
-
- elm_genlist_item_update(cdetail_d->base_item);
-}
-
-static void detail_image_mouseup_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int x, y, w, h;
-
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *) event_info;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
- return;
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- if (ev->output.y < y || y + h < ev->output.y || ev->output.x < x
- || x + w < ev->output.x)
- return;
-
- p_ret_if(NULL != cdetail_d->vcard_path);
- p_retm_if(NULL == cdetail_d->person && NULL == cdetail_d->list_contacts,
- "parameter(person, list_contacts) is NULL");
- ct_image_viewer(cdetail_d->navi, cdetail_d->person,
- cdetail_d->list_contacts, detail_person_changed_cb, cdetail_d);
-}
-
-Evas_Object *ct_detail_gl_baseinfo_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- const char *value_data = NULL;
- Evas_Object *img;
- Evas_Object *icon;
- bool is_favorite = false;
- int err = CONTACTS_ERROR_NONE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- p_retvm_if(cdetail_d->person == NULL && cdetail_d->contact == NULL, NULL,
- "parameter(person/contact) is NULL");
-
- if (0 == strcmp(part, "elm.icon.image"))
- {
-
- if (cdetail_d->person)
- err = contacts_record_get_str_p(cdetail_d->person,
- _contacts_person.image_thumbnail_path,
- (char**) &value_data);
- else
- err = contacts_record_get_str_p(cdetail_d->contact,
- _contacts_contact.image_thumbnail_path,
- (char**) &value_data);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- img = elm_image_add(obj);
- p_retvm_if(NULL == img, NULL, "elm_image_add() return NULL");
- evas_object_size_hint_aspect_set(img, EVAS_ASPECT_CONTROL_HORIZONTAL, 1,
- 1);
- elm_image_file_set(img, value_data, NULL);
-
- evas_object_event_callback_add(img, EVAS_CALLBACK_MOUSE_UP,
- detail_image_mouseup_cb, cdetail_d);
- return img;
- }
- else if (0 == strcmp(part, "elm.icon.favorite"))
- {
-
- icon = elm_icon_add(obj);
- p_retvm_if(NULL == icon, NULL, "elm_icon_add() return NULL");
-
- evas_object_event_callback_add(icon, EVAS_CALLBACK_MOUSE_UP,
- detail_favorite_mouseup_cb, cdetail_d);
- elm_image_resizable_set(icon, EINA_FALSE, EINA_FALSE);
-
- if (cdetail_d->person)
- err = contacts_record_get_bool(cdetail_d->person,
- _contacts_person.is_favorite, &is_favorite);
- else
- {
- if (cdetail_d->vcard_path)
- return NULL;
- err = contacts_record_get_bool(cdetail_d->contact,
- _contacts_contact.is_favorite, &is_favorite);
- }
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_bool() Failed(%d)", err);
-
- elm_image_file_set(icon, CTUI_IMG_ICON_FAVORITE, NULL);
- if (!is_favorite)
- evas_object_color_set(icon, 185, 185, 185, 255);
- else
- evas_object_color_set(icon, 59, 115, 182, 255);
-
- return icon;
- }
- return NULL;
-}
-
-static void __detail_voice_call_pressed_cb(void *data, Evas *e,
- Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- elm_image_file_set((Evas_Object *) data, CTUI_IMG_ICON_CALL_PRESSED, NULL);
-}
-
-static void __detail_voice_call_unpressed_cb(void *data, Evas *e,
- Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- elm_image_file_set((Evas_Object *) data, CTUI_IMG_ICON_CALL, NULL);
-}
-
-static void __detail_msg_ug_pressed_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- elm_image_file_set((Evas_Object *) data, CTUI_IMG_ICON_SMS_PRESSED, NULL);
-}
-
-static void __detail_msg_ug_unpressed_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- elm_image_file_set((Evas_Object *) data, CTUI_IMG_ICON_SMS, NULL);
-}
-
-Evas_Object *ct_detail_gl_number_util_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- const char *fullpath;
- const char *number;
- contacts_record_h default_nubmer = (contacts_record_h) data;
- ct_detail_data *cdetail_d;
- Evas_Object *btn;
- Evas_Object *icon;
- Evas_Smart_Cb clicked_fn = NULL;
- Evas_Smart_Cb pressed_fn = NULL;
- Evas_Smart_Cb unpressed_fn = NULL;
-
- p_retv_if(NULL == data, NULL);
-
- cdetail_d = (ct_detail_data *) evas_object_data_get(obj, "cdetail_d");
- p_retvm_if(NULL == cdetail_d, NULL, "evas_object_data_get() return NULL");
- if (0 == strcmp(part, "elm.icon.1"))
- {
- fullpath = CTUI_IMG_ICON_CALL;
- clicked_fn = ct_detail_voice_call_cb;
- pressed_fn = (Evas_Smart_Cb) __detail_voice_call_pressed_cb;
- unpressed_fn = (Evas_Smart_Cb) __detail_voice_call_unpressed_cb;
- }
- else if (0 == strcmp(part, "elm.icon.2"))
- {
- fullpath = CTUI_IMG_ICON_SMS;
- clicked_fn = ct_detail_msg_ug_cb;
- pressed_fn = (Evas_Smart_Cb) __detail_msg_ug_pressed_cb;
- unpressed_fn = (Evas_Smart_Cb) __detail_msg_ug_unpressed_cb;
- }
- else
- {
- return NULL;
- }
-
- err = contacts_record_get_str_p(default_nubmer, _contacts_number.number,
- (char**) &number);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- btn = elm_button_add(obj);
- p_retvm_if(NULL == btn, NULL, "elm_button_add() return NULL");
- elm_object_style_set(btn, "detail.circle/empty");
-
- icon = elm_icon_add(btn);
- p_retvm_if(NULL == icon, NULL, "phone_create_icon_with_img() return NULL");
- elm_image_file_set(icon, fullpath, NULL);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "elm.swallow.content", icon);
- evas_object_data_set(btn, "cdetail_d", cdetail_d);
- evas_object_smart_callback_add(btn, "clicked", clicked_fn, number);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_DOWN, (Evas_Object_Event_Cb) pressed_fn,
- icon);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_UP, (Evas_Object_Event_Cb) unpressed_fn,
- icon);
-
- return btn;
-}
-
-void ct_detail_voice_call_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d;
-
- cdetail_d = (ct_detail_data *) evas_object_data_get(obj, "cdetail_d");
- p_retm_if(NULL == cdetail_d, "evas_object_data_get() return NULL");
-
- if (cdetail_d->popup)
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-
- phone_launch_voice_call(cdetail_d->person_id, (const char *) data);
-}
-
-void ct_detail_msg_ug_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d;
-
- cdetail_d = (ct_detail_data *) evas_object_data_get(obj, "cdetail_d");
- p_retm_if(NULL == cdetail_d, "evas_object_data_get() return NULL");
- p_retm_if(NULL != cdetail_d->child_ug, "child_ug is not null");
-
- if (cdetail_d->popup)
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-
- cdetail_d->child_ug = ctui_msg_ug(cdetail_d->ug, (const char *) data,
- NULL, __detail_destroy_child_ug, cdetail_d);
-}
-
-void ct_detail_popup_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_input_data *cinput_d = static_cast<ct_input_data*>(data);
- if (NULL != cinput_d->popup)
- {
- evas_object_del(cinput_d->popup);
- cinput_d->popup = NULL;
- }
- if (NULL != cinput_d->navi)
- {
- elm_object_tree_focus_allow_set(cinput_d->navi, EINA_TRUE);
- }
- }
-}
-
-void ct_detail_menu_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_input_data *cinput_d = static_cast<ct_input_data*>(data);
- if (NULL != cinput_d->m_Menu)
- {
- evas_object_del(cinput_d->m_Menu);
- cinput_d->m_Menu = NULL;
- }
- if (NULL != cinput_d->navi)
- {
- elm_object_tree_focus_allow_set(cinput_d->navi, EINA_TRUE);
- }
- }
-}
-
-const char* ct_detail_get_ringtone_display_name(const char *real_data)
-{
- PH_TRACE;
- const char *data;
-
- if (NULL == real_data)
- data = T_(CT_GET_TEXT_BASIC, CTTEXT_DEFAULT);
- else
- {
- data = strrchr(real_data, '/');
- if (NULL == data)
- data = real_data;
- else
- data = data + 1;
- }
- return data;
-}
-
-void ct_detail_get_group_names(contacts_record_h record_contact, char *dest,
- int dest_len)
-{
- PH_TRACE;
- int ret;
- int index = 0;
- int group_id;
- char *group_str;
- char temp[PH_TEXT_MAX_LEN];
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- contacts_record_h group_record = NULL;
- dest[0] = '\0';
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.group_relation, index++, &record))
- {
- err = contacts_record_get_int(record, _contacts_group_relation.group_id,
- &group_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- continue;
- }
- PH_DBG("group id = %d", group_id);
- err = contacts_db_get_record(_contacts_group._uri, group_id,
- &group_record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
- if (err == CONTACTS_ERROR_NONE)
- {
- err = contacts_record_get_str_p(group_record, _contacts_group.name,
- &group_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- PH_DBG("group name = %s", group_str);
- if (group_str && *group_str)
- {
- if (*dest)
- {
- ret = snprintf(temp, PH_TEXT_MAX_LEN, "%s, %s", dest,
- group_str);
- if (ret < dest_len)
- {
- memcpy(dest, temp, ret + 1);
- }
- else
- {
- memcpy(dest, temp, dest_len);
- dest[dest_len - 1] = '\0';
- }
- }
- else
- {
- snprintf(dest, PH_TEXT_MAX_LEN, "%s", group_str);
- }
- }
- }
- err = contacts_record_destroy(group_record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- }
-
- if ('\0' == *dest)
- snprintf(dest, dest_len, "%s",
- T_(CT_GET_TEXT_BASIC, CTTEXT_NOT_ASSIGNED));
-}
-
-void ct_detail_person_get_group_names(Eina_List *contact_list, char *dest,
- int dest_len)
-{
- PH_TRACE;
- int ret;
- int index = 0;
- Eina_List *l;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_contact = NULL;
- contacts_record_h record_group_relation = NULL;
- char* group_names = NULL;
- p_retm_if(NULL == contact_list, "contact_list is NULL");
-
- EINA_LIST_FOREACH(contact_list, l, v_record_contact)
- {
- contacts_record_h record_contact = (contacts_record_h) v_record_contact;
- if (NULL == record_contact)
- continue;
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.group_relation, index++,
- &record_group_relation))
- {
-
- err = contacts_record_get_str_p(record_group_relation,
- _contacts_group_relation.name, &group_names);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- PH_DBG("group_names = %s", group_names);
- if (group_names && *group_names)
- {
- if (*dest)
- {
- char temp[PH_TEXT_MAX_LEN];
- ret = snprintf(temp, sizeof(temp), "%s, %s", dest,
- group_names);
- if (0 < ret)
- memcpy(dest, temp, ret + 1);
- }
- else
- {
- snprintf(dest, dest_len, "%s", group_names);
- }
- }
- }
- index = 0;
- }
- if ('\0' == *dest)
- snprintf(dest, dest_len, "%s",
- T_(CT_GET_TEXT_BASIC, CTTEXT_NOT_ASSIGNED));
-}
-
-void ct_detail_refresh_view(ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
-
- if (cdetail_d->popup)
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-
- if (cdetail_d->person)
- {
- err = contacts_record_destroy(cdetail_d->person, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- cdetail_d->person = NULL;
- }
- ctui_free_record_list(cdetail_d->list_contacts);
- cdetail_d->list_contacts = NULL;
-
- if (cdetail_d->person_id)
- {
- err = contacts_db_get_record(_contacts_person._uri,
- cdetail_d->person_id, &(cdetail_d->person));
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_record() Failed(%d)", err);
- elm_naviframe_item_pop(cdetail_d->navi);
- return;
- }
-
- cdetail_d->list_contacts = ctui_person_get_contact_list(
- cdetail_d->person_id);
- }
- else
- {
- contacts_list_h list_contacts = NULL;
- int fd = 0;
- int size __attribute__ ((unused)) = 0;
- char buf[CT_VCARD_FILE_MAX_SIZE + 1] = { 0, };
-
- fd = open(cdetail_d->vcard_path, O_RDONLY);
- p_retm_if(-1 == fd, "open() return -1");
- size = read(fd, buf, sizeof(buf) - 1);
- close(fd);
-
- err = contacts_vcard_parse_to_contacts(buf, &list_contacts);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_vcard_parse_to_contacts() Failed(%d)", err);
- while (CONTACTS_ERROR_NONE == err)
- {
- err = contacts_list_get_current_record_p(list_contacts,
- &(cdetail_d->contact));
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- err = contacts_list_destroy(list_contacts, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_destroy(list_contacts) Failed(%d)", err);
- elm_exit();
- }
- cdetail_d->list_contacts = eina_list_append(
- cdetail_d->list_contacts, cdetail_d->contact);
- }
- err = contacts_list_destroy(list_contacts, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_destroy(list_contacts) Failed(%d)", err);
- }
- ctui_detail_genlist_update(cdetail_d);
-}
-
-void ct_detail_contact_changed(const char *view_uri, void *user_data)
-{
- PH_TRACE;
- int addressbook_id = 0;
- int contact_id = 0;
- int changed_id = 0;
- int changed_type = 0;
- int out_current_version = 0;
- bool changed = false;
- ct_detail_data *cdetail_d = (ct_detail_data *) user_data;
- Eina_List *l;
- void *v_record_contact = NULL;
- contacts_list_h out_change_list;
- int err;
-
- EINA_LIST_FOREACH(cdetail_d->list_contacts, l, v_record_contact)
- {
- contacts_record_h record_contact = (contacts_record_h) v_record_contact;
- if (NULL == record_contact)
- continue;
- err = contacts_record_get_int(record_contact,
- _contacts_contact.address_book_id, &addressbook_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_int_from_list() Failed(%d)", err);
-
- err = contacts_record_get_int(record_contact, _contacts_contact.id,
- &contact_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_int_from_list() Failed(%d)", err);
-
- changed = false;
- err = contacts_db_get_changes_by_version(
- _contacts_contact_updated_info._uri, addressbook_id,
- cdetail_d->view_create_version, &out_change_list,
- &out_current_version);
-
- while (CONTACTS_ERROR_NONE == err)
- {
- err = phone_cts_get_int_from_list(out_change_list,
- _contacts_contact_updated_info.contact_id, &changed_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_int_from_list(addressbook_id) Failed(%d)",
- err);
- if (changed_id == contact_id)
- {
- changed = true;
- phone_cts_get_int_from_list(out_change_list,
- _contacts_contact_updated_info.type, &changed_type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_int_from_list(type) Failed(%d)", err);
- break;
- }
- err = contacts_list_next(out_change_list);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_next() Failed(%d)", err);
- }
-
- err = contacts_list_destroy(out_change_list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_destroy(out_change_list) Failed(%d)", err);
-
- if (changed)
- break;
- }
- cdetail_d->view_create_version = out_current_version;
-
- if (cdetail_d->updated)
- cdetail_d->updated = false;
-
- if (CONTACTS_CHANGE_DELETED == changed_type)
- {
- if (cdetail_d->is_shortcut)
- elm_exit();
- else if (NULL == cdetail_d->prev_view_data && cdetail_d->ug)
- ug_destroy_me(cdetail_d->ug);
- else
- elm_naviframe_item_pop_to(cdetail_d->prev_navi_item);
- }
- else
- {
- ct_detail_refresh_view(cdetail_d);
- }
-}
-
-static inline void detail_append_str_with_linebreak(const char *src, char *dest,
- int dest_len)
-{
- PH_TRACE;
- char temp[PH_TEXT_MAX_LEN];
- if (src && '\0' != src[0])
- {
- if ('\0' == dest[0])
- snprintf(dest, dest_len, "%s", src);
- else
- {
- snprintf(temp, sizeof(temp), "%s\n%s", src, dest);
- snprintf(dest, dest_len, "%s", temp);
- }
- }
-}
-
-int ct_detail_get_full_addr(contacts_record_h record, char *buf, int buf_len)
-{
- PH_TRACE;
- const char *code;
- const char *region;
- const char *locality;
- const char *street;
- const char *extended;
- const char *country;
- const char *pobox;
- int err = CONTACTS_ERROR_NONE;
-
- err = contacts_record_get_str_p(record, _contacts_address.postal_code,
- (char**) &code);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list(postal_code) Failed(%d)", err);
-
- err = contacts_record_get_str_p(record, _contacts_address.extended,
- (char**) &extended);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list(extend) Failed(%d)", err);
-
- err = contacts_record_get_str_p(record, _contacts_address.postbox,
- (char**) &pobox);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list(postbox) Failed(%d)", err);
-
- err = contacts_record_get_str_p(record, _contacts_address.street,
- (char**) &street);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list(street) Failed(%d)", err);
-
- err = contacts_record_get_str_p(record, _contacts_address.locality,
- (char**) &locality);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list(locality) Failed(%d)", err);
-
- err = contacts_record_get_str_p(record, _contacts_address.region,
- (char**) &region);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list(region) Failed(%d)", err);
-
- err = contacts_record_get_str_p(record, _contacts_address.country,
- (char**) &country);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list(country) Failed(%d)", err);
-
- detail_append_str_with_linebreak(country, buf, buf_len);
- detail_append_str_with_linebreak(region, buf, buf_len);
- detail_append_str_with_linebreak(locality, buf, buf_len);
- detail_append_str_with_linebreak(street, buf, buf_len);
- detail_append_str_with_linebreak(pobox, buf, buf_len);
- detail_append_str_with_linebreak(extended, buf, buf_len);
- detail_append_str_with_linebreak(code, buf, buf_len);
-
- return 0;
-
-}
-
-void ct_detail_mouseup(void *data, Evas *evas, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *) event_info;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- cdetail_d->touch_x = ev->canvas.x;
- cdetail_d->touch_y = ev->canvas.y;
-}
-
-static void detail_myfile_ringtone_result(ui_gadget_h ug, service_h service,
- void *data)
-{
- PH_TRACE;
- char *val = NULL;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- int err = CONTACTS_ERROR_NONE;
-
- p_retm_if(NULL == ug || NULL == data, "ug or data is NULL");
-
- if (service)
- {
- service_get_extra_data(service, "result", &val);
- p_retm_if(!val, "return value is NULL");
- p_retm_if(NULL == cdetail_d->person, "person is NULL");
-
- err = contacts_record_set_str(cdetail_d->person,
- _contacts_person.ringtone_path, (const char *) val);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
- err = contacts_db_update_record(cdetail_d->person);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_record() Failed(%d)", err);
- ctui_create_contacts_error_popup(cdetail_d->navi, err);
-
- elm_genlist_item_update(cdetail_d->ringtone_item);
- free(val);
- }
-}
-
-void ct_detail_myfile_ringtone(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- struct ug_cbs cbs = { 0 };
-
- service_h service;
- char *str = NULL;
- char buf[PH_TEXT_MAX_LEN + 1];
- const char *ringtone_path = NULL;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- err = contacts_record_get_str_p(cdetail_d->person,
- _contacts_person.ringtone_path, &str);
- if (CONTACTS_ERROR_NONE == err)
- ringtone_path = ct_detail_get_ringtone_display_name(str);
-
- service_create(&service);
- service_add_extra_data(service, "path", "/opt/share/settings/Ringtones");
- service_add_extra_data(service, "select_type", "SINGLE_FILE");
- service_add_extra_data(service, "file_type", "SOUND");
- if (ringtone_path)
- {
- snprintf(buf, sizeof(buf), "/opt/share/settings/Ringtones/%s",
- ringtone_path);
- service_add_extra_data(service, "marked_mode", buf);
- }
-
- cbs.result_cb = detail_myfile_ringtone_result;
- cbs.destroy_cb = detail_destroy_child_ug;
- cbs.layout_cb = ug_common_layout_cb;
- cbs.priv = cdetail_d;
-
- cdetail_d->child_ug = ug_create(cdetail_d->ug, MYFILES_UG, UG_MODE_FULLVIEW,
- service, &cbs);
- p_warn_if(NULL == cdetail_d->child_ug, "ug_create() Failed");
-
- service_destroy(service);
-
- if (cdetail_d->popup)
- {
- evas_object_del(cdetail_d->popup);
- cdetail_d->popup = NULL;
- }
-}
-
-void ct_detail_create_list_view(ct_detail_data *cdetail_d, Evas_Smart_Cb sel_cb,
- void *cb_data, int id_caller)
-{
- PH_TRACE;
- ct_list_data *clist_d;
- char buf[PH_TEXT_MAX_LEN + 1];
-
- clist_d = (ct_list_data *) calloc(1, sizeof(ct_list_data));
- clist_d->list_op = CT_GET_LIST_ALL_PERSON;
- clist_d->selected_person_id = id_caller;
- clist_d->navi = cdetail_d->navi;
- clist_d->win = cdetail_d->win;
- clist_d->ug = cdetail_d->ug;
- clist_d->gl_sel = sel_cb;
- clist_d->gl_sel_data = cb_data;
-
- ct_list_init_account_data(clist_d);
- ct_list_get_contacts(clist_d, &clist_d->list);
- list_create_itcs(clist_d);
- clist_d->base_layout = ct_list_create_contact_layout(clist_d);
-
- FREEandSTRDUP(clist_d->title, T_(CT_GET_TEXT_BASIC, CTTEXT_ALL_CONTACTS));
- snprintf(buf, sizeof(buf), "%s (%d)", clist_d->title,
- clist_d->cnt_list_total);
- clist_d->navi_item = elm_naviframe_item_push(clist_d->navi, buf, NULL, NULL,
- clist_d->base_layout, NULL);
-}
-
-static void __detail_ug_error_popup_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ug_destroy_me((ui_gadget_h) data);
-}
-
-int ct_detail_load_vcard_contact(ct_detail_data *cdetail_d, char *path)
-{
- PH_TRACE;
- unsigned int ret;
- int err = CONTACTS_ERROR_NONE;
- FILE *fp;
- char vcard_stream[1024 * 100];
- PH_DBG("path = %s", path);
-
- fp = fopen(path, "r");
- if (NULL == fp)
- {
- ERR("fopen() return NULL");
- elm_exit();
- return -1;
- }
- ret = fread(vcard_stream, 1, sizeof(vcard_stream), fp);
- if (0 < ret && ret < sizeof(vcard_stream))
- {
- int fd = 0;
- int size __attribute__ ((unused)) = 0;
- char buf[CT_VCARD_FILE_MAX_SIZE + 1] = { 0, };
- contacts_record_h record = NULL;
- contacts_list_h list_contacts = NULL;
- vcard_stream[ret] = '\0';
-
- cdetail_d->vcard_path = strdup(path);
-
- fd = open(cdetail_d->vcard_path, O_RDONLY);
- if (fd < 0)
- {
- close((int) fp);
- ERR("vOpen(%s) Failed", cdetail_d->vcard_path);
- return -1;
- }
- size = read(fd, buf, sizeof(buf) - 1);
- close(fd);
-
- err = contacts_vcard_parse_to_contacts(buf, &list_contacts);
- while (CONTACTS_ERROR_NONE == err)
- {
- contacts_list_get_current_record_p(list_contacts, &record);
- if (NULL == cdetail_d->contact)
- cdetail_d->contact = record;
- cdetail_d->list_contacts = eina_list_append(
- cdetail_d->list_contacts, record);
- err = contacts_list_next(list_contacts);
- }
- err = contacts_list_destroy(list_contacts, false);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_vcard_parse_to_contacts() Failed(%d)", err);
- fclose(fp);
- return -1;
- }
- }
- else
- {
- ERR("vcard is invalid(%d)", ret);
- cdetail_d->popup = phone_show_popup(cdetail_d->win,
- S_(CT_SYS_POP_ERROR), 1.5);
- evas_object_smart_callback_add(cdetail_d->popup, "timeout",
- __detail_ug_error_popup_cb, cdetail_d->ug);
- }
- fclose(fp);
- return 0;
-}
-
-void ct_detail_person_get_addressbook_name(contacts_record_h record_contact,
- char *buf, int buf_len)
-{
- PH_TRACE;
- int addressbook_id;
- int err = CONTACTS_ERROR_NONE;
- const char *display_name;
- char temp[PH_TEXT_MAX_LEN];
- contacts_record_h record_addressbook = NULL;
-
- buf[0] = '\0';
-
- err = contacts_record_get_int(record_contact,
- _contacts_contact.address_book_id, &addressbook_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int(address_book_id) Failed(%d)", err);
-
- err = contacts_db_get_record(_contacts_address_book._uri, addressbook_id,
- &record_addressbook);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)",
- err);
-
- err = contacts_record_get_str_p(record_addressbook,
- _contacts_address_book.name, (char**) &display_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (display_name && *display_name)
- {
- if (*buf)
- {
- snprintf(temp, sizeof(temp), "%s, %s", buf, display_name);
- snprintf(buf, buf_len, "%s", temp);
- }
- else
- {
- snprintf(buf, buf_len, "%s", display_name);
- }
- }
- err = contacts_record_destroy(record_addressbook, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-}
-
-static bool __phone_list_is_postal_exist(Eina_List *list,
- const char *postal_str)
-{
- PH_TRACE;
- Eina_List *l;
- void *v_record_temp = NULL;
-
- EINA_LIST_FOREACH(list, l, v_record_temp)
- {
- contacts_record_h record_temp = (contacts_record_h) v_record_temp;
- char postaladdress_tmp[PH_TEXT_MAX_LEN] = { 0, };
- if (NULL == record_temp)
- continue;
-
- ct_detail_get_full_addr(record_temp, postaladdress_tmp,
- sizeof(postaladdress_tmp));
- if (0 == strcmp(postaladdress_tmp, postal_str))
- {
- return true;
- }
- }
- return false;
-}
-
-Eina_List* ct_detail_person_get_postal_list(Eina_List *contact_list)
-{
- PH_TRACE;
- Eina_Bool checkduplicate = false;
- int index = 0;
- int err = CONTACTS_ERROR_NONE;
- Eina_List *l;
- Eina_List *list_postal_record = NULL;
- void *v_record_contact = NULL;
- contacts_record_h record_address = NULL;
- contacts_record_h record_clone = NULL;
-
- p_retvm_if(contact_list == NULL, NULL, "Parameter(contact_list) is NULL");
-
- EINA_LIST_FOREACH(contact_list, l, v_record_contact)
- {
- contacts_record_h record_contact = (contacts_record_h) v_record_contact;
- index = 0;
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.address, index++, &record_address))
- {
- char postaladdress[PH_TEXT_MAX_LEN] = { 0, };
- ct_detail_get_full_addr(record_address, postaladdress,
- sizeof(postaladdress));
- if (checkduplicate)
- {
- if (__phone_list_is_postal_exist(list_postal_record,
- postaladdress))
- {
- ERR(
- "__phone_list_is_postal_exist() return true number = %s",
- postaladdress);
- continue;
- }
- }
- err = contacts_record_clone(record_address, &record_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_clone() Failed(%d)", err);
- break;
- }
- list_postal_record = eina_list_append(list_postal_record,
- record_clone);
- }
- checkduplicate = true;
- }
- return list_postal_record;
-}
-
-static bool __phone_list_is_messenger_exist(Eina_List *list,
- const char *messenger)
-{
- PH_TRACE;
- Eina_List *l;
- char *messenger_temp;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_temp = NULL;
-
- EINA_LIST_FOREACH(list, l, v_record_temp)
- {
- contacts_record_h record_temp = (contacts_record_h) v_record_temp;
- if (NULL == record_temp)
- continue;
-
- err = contacts_record_get_str_p(record_temp, _contacts_messenger.im_id,
- &messenger_temp);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (NULL == messenger_temp)
- continue;
-
- if (0 == strcmp(messenger_temp, messenger))
- {
- return true;
- }
- }
- return false;
-}
-
-Eina_List* ct_detail_person_get_messenger_list(Eina_List *contact_list)
-{
- PH_TRACE;
- Eina_Bool checkduplicate = false;
- int index = 0;
- char *messenger;
- Eina_List *l;
- Eina_List *list_messenger_record = NULL;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_contact = NULL;
- contacts_record_h record_messenger = NULL;
- contacts_record_h record_clone = NULL;
-
- p_retvm_if(contact_list == NULL, NULL, "Parameter(contact_list) is NULL");
-
- EINA_LIST_FOREACH(contact_list, l, v_record_contact)
- {
- contacts_record_h record_contact = (contacts_record_h) v_record_contact;
- index = 0;
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.messenger, index++, &record_messenger))
- {
- err = contacts_record_get_str_p(record_messenger,
- _contacts_messenger.im_id, &messenger);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_str_from_list() Failed(%d)", err);
- break;
- }
- if (checkduplicate)
- {
- if (__phone_list_is_messenger_exist(list_messenger_record,
- messenger))
- {
- ERR(
- "__phone_list_is_email_exist() return true messenger = %s",
- messenger);
- continue;
- }
- }
- err = contacts_record_clone(record_messenger, &record_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- break;
- }
- list_messenger_record = eina_list_append(list_messenger_record,
- record_clone);
- }
- checkduplicate = true;
- }
- return list_messenger_record;
-}
-
-static bool __phone_list_is_website_exist(Eina_List *list, const char *website)
-{
- PH_TRACE;
- Eina_List *l;
- char *website_temp;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_temp = NULL;
-
- EINA_LIST_FOREACH(list, l, v_record_temp)
- {
- contacts_record_h record_temp = (contacts_record_h) v_record_temp;
- if (NULL == record_temp)
- continue;
-
- err = contacts_record_get_str_p(record_temp, _contacts_url.url,
- &website_temp);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (NULL == website_temp)
- continue;
-
- if (0 == strcmp(website_temp, website))
- {
- return true;
- }
- }
- return false;
-}
-
-Eina_List* ct_detail_person_get_website_list(Eina_List *contact_list)
-{
- PH_TRACE;
- Eina_Bool checkduplicate = false;
- int index = 0;
- char *website;
- Eina_List *l;
- Eina_List *list_website_record = NULL;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_contact = NULL;
- contacts_record_h record_url = NULL;
- contacts_record_h record_clone = NULL;
-
- p_retvm_if(contact_list == NULL, NULL, "Parameter(contact_list) is NULL");
-
- EINA_LIST_FOREACH(contact_list, l, v_record_contact)
- {
- contacts_record_h record_contact = (contacts_record_h) v_record_contact;
- index = 0;
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.url, index++, &record_url))
- {
- err = contacts_record_get_str_p(record_url, _contacts_url.url,
- &website);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_str_from_list() Failed(%d)", err);
- break;
- }
- if (checkduplicate
- && __phone_list_is_website_exist(list_website_record,
- website))
- {
- ERR("__phone_list_is_email_exist() return true URL = %s",
- website);
- continue;
- }
- err = contacts_record_clone(record_url, &record_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- break;
- }
- list_website_record = eina_list_append(list_website_record,
- record_clone);
- }
- checkduplicate = true;
- }
- return list_website_record;
-}
-
-static bool __phone_list_is_relationship_exist(Eina_List *list,
- const char *relationship_name)
-{
- PH_TRACE;
- Eina_List *cursor;
- char *relationship_name_temp;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_temp = NULL;
-
- EINA_LIST_FOREACH(list, cursor, v_record_temp)
- {
- contacts_record_h record_temp = (contacts_record_h) v_record_temp;
- if (NULL == record_temp)
- continue;
-
- err = contacts_record_get_str_p(record_temp,
- _contacts_relationship.name, &relationship_name_temp);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (NULL == relationship_name_temp)
- continue;
-
- if (0 == strcmp(relationship_name_temp, relationship_name))
- {
- return true;
- }
- }
- return false;
-}
-
-Eina_List* ct_detail_person_get_relationship_list(Eina_List *contact_list)
-{
- PH_TRACE;
- Eina_Bool checkduplicate = false;
- int index = 0;
- char *relationship_name;
- Eina_List *l;
- Eina_List *list_relationship_record = NULL;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_contact = NULL;
- contacts_record_h record_relationship = NULL;
- contacts_record_h record_clone = NULL;
-
- p_retvm_if(contact_list == NULL, NULL, "Parameter(contact_list) is NULL");
-
- EINA_LIST_FOREACH(contact_list, l, v_record_contact)
- {
- contacts_record_h record_contact = (contacts_record_h) v_record_contact;
- index = 0;
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.relationship, index++,
- &record_relationship))
- {
- err = contacts_record_get_str_p(record_relationship,
- _contacts_relationship.name, &relationship_name);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_str_from_list() Failed(%d)", err);
- break;
- }
- if (checkduplicate
- && __phone_list_is_relationship_exist(
- list_relationship_record, relationship_name))
- {
- ERR("__phone_list_is_relationship_exist() return true URL = %s",
- relationship_name);
- continue;
- }
- err = contacts_record_clone(record_relationship, &record_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- break;
- }
- list_relationship_record = eina_list_append(
- list_relationship_record, record_clone);
- }
- checkduplicate = true;
- }
- return list_relationship_record;
-}
-
-static bool __phone_list_is_event_exist(Eina_List *list, int event_date)
-{
- PH_TRACE;
- Eina_List *l;
- int event_date_temp;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_temp = NULL;
-
- EINA_LIST_FOREACH(list, l, v_record_temp)
- {
- contacts_record_h record_temp = (contacts_record_h) v_record_temp;
- if (NULL == record_temp)
- continue;
-
- err = contacts_record_get_int(record_temp, _contacts_event.date,
- &event_date_temp);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_record_get_int() Failed(%d)", err);
-
- if (event_date_temp == event_date)
- {
- return true;
- }
- }
- return false;
-}
-
-Eina_List* ct_detail_person_get_event_list(Eina_List *contact_list)
-{
- PH_TRACE;
- Eina_Bool checkduplicate = false;
- int index = 0;
- int event_date;
- Eina_List *l;
- Eina_List *list_event_record = NULL;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_contact = NULL;
- contacts_record_h record_event = NULL;
- contacts_record_h record_clone = NULL;
-
- p_retvm_if(contact_list == NULL, NULL, "Parameter(contact_list) is NULL");
-
- EINA_LIST_FOREACH(contact_list, l, v_record_contact)
- {
- contacts_record_h record_contact = (contacts_record_h) v_record_contact;
- index = 0;
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.event, index++, &record_event))
- {
- err = contacts_record_get_int(record_event, _contacts_event.date,
- &event_date);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_int_from_list() Failed(%d)", err);
- break;
- }
- if (checkduplicate
- && __phone_list_is_event_exist(list_event_record,
- event_date))
- {
- ERR("__phone_list_is_email_exist() return true event_date = %d",
- event_date);
- continue;
- }
- err = contacts_record_clone(record_event, &record_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- break;
- }
- list_event_record = eina_list_append(list_event_record,
- record_clone);
- }
- checkduplicate = true;
- }
- return list_event_record;
-}
-
-static bool __phone_list_is_nickname_exist(Eina_List & list, const std::string & nickname)
-{
- PH_TRACE;
- Eina_List * tempList = NULL;
- char * tempNickname = NULL;
- void * listItemData = NULL;
- int errCode = CONTACTS_ERROR_NONE;
-
- EINA_LIST_FOREACH(&list, tempList, listItemData)
- {
- contacts_record_h tempRecord = static_cast<contacts_record_h>(listItemData);
- if (!tempRecord)
- {
- continue;
- }
-
- errCode = contacts_record_get_str_p(tempRecord, _contacts_nickname.name, &tempNickname);
- p_retvm_if(CONTACTS_ERROR_NONE != errCode, false,"contacts_record_get_str_p() Failed(%d)", errCode);
-
- if (!tempNickname)
- {
- continue;
- }
-
- if (nickname == tempNickname)
- {
- return true;
- }
- }
- return false;
-}
-
-Eina_List * ct_detail_person_get_nickname_list(Eina_List & contact_list)
-{
- PH_TRACE;
-
- Eina_Bool checkduplicate = false;
- int index = 0;
- char * nickname = NULL;
- Eina_List * tempList = NULL;
- Eina_List * nicknameRecordsList = NULL;
- int errCode = CONTACTS_ERROR_NONE;
- void * listData = NULL;
- contacts_record_h nicknameRecord = NULL;
- contacts_record_h clonedRecord = NULL;
-
- EINA_LIST_FOREACH(&contact_list, tempList, listData)
- {
- contacts_record_h contactRecord = static_cast<contacts_record_h> (listData);
- index = 0;
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(contactRecord,
- _contacts_contact.nickname, index++, &nicknameRecord))
- {
- errCode = contacts_record_get_str_p(nicknameRecord, _contacts_nickname.name, &nickname);
- if (CONTACTS_ERROR_NONE != errCode)
- {
- ERR("phone_cts_get_str_from_list() Failed(%d)", errCode);
- break;
- }
- if (checkduplicate && nicknameRecordsList && __phone_list_is_nickname_exist(*nicknameRecordsList, nickname))
- {
- ERR("__phone_list_is_nickname_exist() return true nickname = %s", nickname);
- continue;
- }
- errCode = contacts_record_clone(nicknameRecord, &clonedRecord);
- if (CONTACTS_ERROR_NONE != errCode)
- {
- ERR("contacts_record_clone() Failed(%d)", errCode);
- break;
- }
- nicknameRecordsList = eina_list_append(nicknameRecordsList, clonedRecord);
- }
- checkduplicate = true;
- }
- return nicknameRecordsList;
-}
-
-static bool __phone_list_is_note_exist(Eina_List *list, const char *note)
-{
- PH_TRACE;
- Eina_List *l;
- char *note_temp;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_temp = NULL;
-
- EINA_LIST_FOREACH(list, l, v_record_temp)
- {
- contacts_record_h record_temp = (contacts_record_h) v_record_temp;
- if (NULL == record_temp)
- continue;
-
- err = contacts_record_get_str_p(record_temp, _contacts_note.note,
- &note_temp);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (NULL == note_temp)
- continue;
-
- if (0 == strcmp(note_temp, note))
- {
- return true;
- }
- }
- return false;
-}
-
-Eina_List* ct_detail_person_get_note_list(Eina_List *contact_list)
-{
- PH_TRACE;
- Eina_Bool checkduplicate = false;
- int index = 0;
- char *note;
- Eina_List *l;
- Eina_List *list_note_record = NULL;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_contact = NULL;
- contacts_record_h record_note = NULL;
- contacts_record_h record_clone = NULL;
-
- p_retvm_if(contact_list == NULL, NULL, "Parameter(contact_list) is NULL");
-
- EINA_LIST_FOREACH(contact_list, l, v_record_contact)
- {
- contacts_record_h record_contact = (contacts_record_h) v_record_contact;
- index = 0;
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.note, index++, &record_note))
- {
- err = contacts_record_get_str_p(record_note, _contacts_note.note,
- &note);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_str_from_list() Failed(%d)", err);
- break;
- }
- if (checkduplicate
- && __phone_list_is_note_exist(list_note_record, note))
- {
- ERR("__phone_list_is_email_exist() return true note = %s",
- note);
- continue;
- }
- err = contacts_record_clone(record_note, &record_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- break;
- }
- list_note_record = eina_list_append(list_note_record, record_clone);
- }
- checkduplicate = true;
- }
- return list_note_record;
-}
-
-bool ct_detail_person_get_readonly(Eina_List *list_contacts)
-{
- PH_TRACE;
- int addressbook_id = -1;
- int addressbook_mode = CONTACTS_ADDRESS_BOOK_MODE_READONLY;
- int err = CONTACTS_ERROR_NONE;
- Eina_List *l;
- void *v_record_contact = NULL;
- contacts_record_h record_addressbook = NULL;
-
- p_retvm_if(NULL == list_contacts, true, "list_contacts is NULL");
-
- EINA_LIST_FOREACH(list_contacts, l, v_record_contact)
- {
- contacts_record_h record_contact = (contacts_record_h) v_record_contact;
- if (NULL == record_contact)
- continue;
-
- err = contacts_record_get_int(record_contact,
- _contacts_contact.address_book_id, &addressbook_id);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_db_get_record(_contacts_address_book._uri,
- addressbook_id, &record_addressbook);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_db_get_record() Failed(%d)", err);
-
- err = contacts_record_get_int(record_addressbook,
- _contacts_address_book.mode, &addressbook_mode);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_destroy(record_addressbook, true);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_record_destroy() Failed(%d)", err);
-
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY != addressbook_mode)
- return false;
- }
- return true;
-}
diff --git a/lib/details/ct-detail-utils.h b/lib/details/ct-detail-utils.h
deleted file mode 100755
index 420cd1a..0000000
--- a/lib/details/ct-detail-utils.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CONTACTS_DETAIL_UTILS_H__
-#define __CONTACTS_DETAIL_UTILS_H__
-
-/**
- * Helper-module used by core-side part of managing contacts-details module.
- */
-
-enum CT_BLOCK_TYPE
-{
- CT_BLOCK_CALL = 0x01,
- CT_BLOCK_MESSAGE = 0x02,
-};
-
-void ct_detail_make_vcard(ct_detail_data *cdetail_d);
-void ct_detail_send_via_msg(void *data, Evas_Object *obj, void *event_info);
-void ct_detail_send_via_email(void *data, Evas_Object *obj, void *event_info);
-void ct_detail_send_via_bluetooth(void *data, Evas_Object *obj,
- void *event_info);
-void ct_detail_delete_namecards(ct_detail_data *cdetail_d);
-
-/*
- * @brief Hide popup from current view and delete it.
- *
- * @param data Pointer to ct_input_data
- * @param obj Could be NULL
- * @param event_info Could be NULL
- */
-void ct_detail_popup_hide_cb(void *data, Evas_Object *obj, void *event_info);
-
-/*
- * @brief Hide menu from current view and delete it.
- *
- * @param data Pointer to ct_input_data
- * @param obj Could be NULL
- * @param event_info Could be NULL
- */
-void ct_detail_menu_hide_cb(void *data, Evas_Object *obj, void *event_info);
-
-void ct_detail_contact_changed(const char *view_uri, void *user_data);
-void ct_detail_mouseup(void *data, Evas *evas, Evas_Object *obj,
- void *event_info);
-const char* ct_detail_get_ringtone_display_name(const char *real_data);
-const char* ct_detail_get_vibration_display_name(const char *real_data);
-void ct_detail_get_group_names(contacts_record_h record_contact, char *dest,
- int dest_len);
-int ct_detail_get_full_addr(contacts_record_h record, char *buf, int buf_len);
-int ct_detail_parse_bundle(service_h service, ct_detail_data* cdetail_d,
- int *ret);
-void ct_detail_myfile_ringtone(void *data, Evas_Object *obj, void *event_info);
-void ct_detail_myfile_vibration(void *data, Evas_Object *obj, void *event_info);
-char* ct_detail_gl_baseinfo_label_get(void *data, Evas_Object *obj,
- const char *part);
-Evas_Object* ct_detail_gl_baseinfo_icon_get(void *data, Evas_Object *obj,
- const char *part);
-Evas_Object* ct_detail_gl_number_util_icon_get(void *data, Evas_Object *obj,
- const char *part);
-void ct_detail_voice_call_cb(void *data, Evas_Object *obj, void *event_info);
-void ct_detail_msg_ug_cb(void *data, Evas_Object *obj, void *event_info);
-void ct_detail_create_list_view(ct_detail_data *cdetail_d, Evas_Smart_Cb sel_cb,
- void *cb_data, int id_caller);
-int ct_detail_load_vcard_contact(ct_detail_data *cdetail_d, char *path);
-void ct_detail_person_get_group_names(Eina_List *contact_list, char *dest,
- int dest_len);
-void ct_detail_person_get_company_str(Eina_List *contact_list, char *dest,
- int dest_len);
-void ct_detail_person_get_extra_name(Eina_List *contact_list,
- contacts_record_h record_person, char *dest, int dest_len);
-void ct_detail_person_get_addressbook_name(contacts_record_h record_account,
- char *buf, int buf_len);
-Eina_List* ct_detail_person_get_postal_list(Eina_List *contact_list);
-Eina_List* ct_detail_person_get_messenger_list(Eina_List *contact_list);
-Eina_List* ct_detail_person_get_website_list(Eina_List *contact_list);
-Eina_List* ct_detail_person_get_relationship_list(Eina_List *contact_list);
-Eina_List* ct_detail_person_get_event_list(Eina_List *contact_list);
-Eina_List* ct_detail_person_get_nickname_list(Eina_List & contact_list);
-Eina_List* ct_detail_person_get_note_list(Eina_List *contact_list);
-void ctui_person_free_contact_list(Eina_List *contact_list);
-bool ct_detail_person_get_readonly(Eina_List *list_contacts);
-void ct_detail_refresh_view(ct_detail_data *cdetail_d);
-
-#endif //__CONTACTS_DETAIL_UTILS_H__
diff --git a/lib/details/ct-detail-vibration-popup.cpp b/lib/details/ct-detail-vibration-popup.cpp
deleted file mode 100644
index 26c7101..0000000
--- a/lib/details/ct-detail-vibration-popup.cpp
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ct-detail-vibration-popup.h"
-#include "ct-detail-vibration.h"
-#include "phone.h"
-#include "phone-common.h"
-#include "phone-text.h"
-
-typedef struct
-{
- int id;
- Evas_Object *radio_group;
-} ct_detail_vibration_item;
-
-typedef struct
-{
- Evas_Object *parent;
- Evas_Object *popup;
- Evas_Object *genlist;
- Evas_Object *radio_group;
-
- ct_vibration_set_result_cb result_cb;
- void *result_cb_data;
-
- int vibr_id;
- int prev_vibr_id;
-
- unsigned item_count;
- ct_detail_vibration_item *items;
-} ct_detail_vibration_data;
-
-static void detail_vibration_destroy(ct_detail_vibration_data *cvibr_d);
-
-static void detail_vibration_create_items(ct_detail_vibration_data *cvibr_d);
-
-static Evas_Object * detail_vibration_create_popup(ct_detail_vibration_data *cvibr_d);
-static Evas_Object * detail_vibration_create_genlist(ct_detail_vibration_data *cvibr_d);
-static Evas_Object * detail_vibration_create_radio_group(ct_detail_vibration_data *cvibr_d);
-
-static void detail_vibration_gl_fill(ct_detail_vibration_data *cvibr_d);
-static void detail_vibration_gl_sel_cb(void *data, Evas_Object *obj, void *event_info);
-static char * detail_vibration_gl_text_get(void *data, Evas_Object *obj, const char *part);
-static Evas_Object * detail_vibration_gl_content_get(void *data, Evas_Object *obj, const char *part);
-
-static void detail_vibration_ok_cb(void *data, Evas_Object *obj, void *event_info);
-static void detail_vibration_destroy_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
-
-Evas_Object * ct_detail_vibration_popup_create(Evas_Object *parent, const char *vibration_path,
- ct_vibration_set_result_cb result_cb, void *result_cb_data)
-{
- PH_TRACE;
- p_retvm_if(NULL == parent, NULL, "parent is NULL");
- ct_detail_vibration_data *cvibr_d = (ct_detail_vibration_data *)
- calloc(1, sizeof(ct_detail_vibration_data));
- cvibr_d->parent = parent;
- cvibr_d->result_cb = result_cb;
- cvibr_d->result_cb_data = result_cb_data;
- cvibr_d->prev_vibr_id = ct_detail_vibration_get_msgid(vibration_path);
- cvibr_d->vibr_id = cvibr_d->prev_vibr_id;
-
- cvibr_d->popup = detail_vibration_create_popup(cvibr_d);
- if(!cvibr_d->popup)
- {
- detail_vibration_destroy(cvibr_d);
- return NULL;
- }
-
- cvibr_d->genlist = detail_vibration_create_genlist(cvibr_d);
- if(!cvibr_d->genlist)
- {
- evas_object_del(cvibr_d->popup);
- return NULL;
- }
-
- cvibr_d->radio_group = detail_vibration_create_radio_group(cvibr_d);
- if(!cvibr_d->radio_group)
- {
- evas_object_del(cvibr_d->popup);
- return NULL;
- }
-
- detail_vibration_create_items(cvibr_d);
- detail_vibration_gl_fill(cvibr_d);
-
- return cvibr_d->popup;
-}
-
-static void detail_vibration_destroy(ct_detail_vibration_data *cvibr_d)
-{
- PH_TRACE;
- p_retm_if(NULL == cvibr_d, "cvibr_d is NULL");
-
- free(cvibr_d->items);
- free(cvibr_d);
-}
-
-static void detail_vibration_create_items(ct_detail_vibration_data *cvibr_d)
-{
- PH_TRACE;
- p_retm_if(NULL == cvibr_d, "cvibr_d is NULL");
-
- cvibr_d->item_count = CTTEXT_VIBRATION_MAX;
- cvibr_d->items = (ct_detail_vibration_item *)
- calloc(cvibr_d->item_count, sizeof(ct_detail_vibration_item));
-
- for(unsigned i = 0; i < cvibr_d->item_count; ++i)
- {
- cvibr_d->items[i].id = i;
- cvibr_d->items[i].radio_group = cvibr_d->radio_group;
- }
-}
-
-static Evas_Object * detail_vibration_create_popup(ct_detail_vibration_data *cvibr_d)
-{
- PH_TRACE;
- p_retvm_if(NULL == cvibr_d, NULL, "cvibr_d is NULL");
-
- Evas_Object *popup = elm_popup_add(cvibr_d->parent);
- p_retvm_if(NULL == popup, NULL, "elm_popup_add() failed");
-
- elm_object_part_text_set(popup, "title,text",
- T_(CT_GET_TEXT_BASIC, CTTEXT_VIBRATION_PATTERN));
- bool success = phone_popup_add_button(popup, S_(PH_SYS_SK_OK),
- detail_vibration_ok_cb, cvibr_d) != NULL
- && phone_popup_add_button(popup, S_(PH_SYS_SK_CANCEL),
- NULL, NULL) != NULL;
-
- if(!success)
- {
- evas_object_del(popup);
- return NULL;
- }
-
- elm_object_style_set(popup, "content_no_vhpad");
- evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL,
- detail_vibration_destroy_cb, cvibr_d);
- evas_object_show(popup);
-
- return popup;
-}
-
-static Evas_Object * detail_vibration_create_genlist(ct_detail_vibration_data *cvibr_d)
-{
- PH_TRACE;
- p_retvm_if(NULL == cvibr_d, NULL, "cvibr_d is NULL");
-
- Evas_Object *genlist = elm_genlist_add(cvibr_d->popup);
- p_retvm_if(NULL == genlist, NULL, "elm_genlist_add() failed");
-
- elm_object_content_set(cvibr_d->popup, genlist);
- evas_object_smart_callback_add(genlist, "selected", detail_vibration_gl_sel_cb, cvibr_d);
-
- return genlist;
-}
-
-static Evas_Object * detail_vibration_create_radio_group(ct_detail_vibration_data *cvibr_d)
-{
- PH_TRACE;
- p_retvm_if(NULL == cvibr_d, NULL, "cvibr_d is NULL");
-
- Evas_Object *radio = elm_radio_add(cvibr_d->genlist);
- p_retvm_if(NULL == radio, NULL, "elm_radio_add() failed");
-
- elm_radio_value_pointer_set(radio, &cvibr_d->vibr_id);
- elm_radio_state_value_set(radio, -1);
- elm_radio_value_set(radio, cvibr_d->prev_vibr_id);
- evas_object_hide(radio);
-
- return radio;
-}
-
-static void detail_vibration_gl_sel_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- p_retm_if(NULL == event_info, "event_info is NULL");
-
- ct_detail_vibration_data *cvibr_d = (ct_detail_vibration_data *) data;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- ct_detail_vibration_item *item_data = (ct_detail_vibration_item *)
- elm_object_item_data_get(item);
- p_retm_if(NULL == item_data, "item_data is NULL");
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
- elm_radio_value_set(cvibr_d->radio_group, item_data->id);
- //TODO: play selected vibration pattern
-}
-
-static void detail_vibration_gl_fill(ct_detail_vibration_data *cvibr_d)
-{
- PH_TRACE;
- p_retm_if(NULL == cvibr_d, "cvibr_d is NULL");
-
- Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
- itc->item_style = "1text.1icon.2/popup";
- itc->func.text_get = detail_vibration_gl_text_get;
- itc->func.content_get = detail_vibration_gl_content_get;
-
- ct_detail_vibration_item *item = cvibr_d->items;
- ct_detail_vibration_item *end = item + cvibr_d->item_count;
- for(; item != end; ++item)
- {
- elm_genlist_item_append(cvibr_d->genlist, itc, item,
- NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- }
-
- elm_genlist_item_class_free(itc);
-}
-
-static char * detail_vibration_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, NULL, "data is NULL");
- ct_detail_vibration_item *item_data = (ct_detail_vibration_item *) data;
- return strdup(T_(CT_GET_TEXT_VIBRATION, item_data->id));
-}
-
-static Evas_Object * detail_vibration_gl_content_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, NULL, "data is NULL");
- ct_detail_vibration_item *item_data = (ct_detail_vibration_item *) data;
-
- Evas_Object *radio = elm_radio_add(obj);
- p_retvm_if(NULL == radio, NULL, "elm_radio_add() failed");
- elm_radio_state_value_set(radio, item_data->id);
- elm_radio_group_add(radio, item_data->radio_group);
- return radio;
-}
-
-static void detail_vibration_ok_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_detail_vibration_data *cvibr_d = (ct_detail_vibration_data *) data;
-
- if(cvibr_d->vibr_id != cvibr_d->prev_vibr_id)
- {
- if(cvibr_d->result_cb)
- {
- cvibr_d->result_cb(cvibr_d->result_cb_data,
- ct_detail_vibration_get_path(cvibr_d->vibr_id));
- }
- }
-}
-
-static void detail_vibration_destroy_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_detail_vibration_data *cvibr_d = (ct_detail_vibration_data *) data;
- detail_vibration_destroy(cvibr_d);
-}
diff --git a/lib/details/ct-detail-vibration-popup.h b/lib/details/ct-detail-vibration-popup.h
deleted file mode 100644
index 1c40b8c..0000000
--- a/lib/details/ct-detail-vibration-popup.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CT_DETAIL_VIBRATION_POPUP_H__
-#define __CT_DETAIL_VIBRATION_POPUP_H__
-
-#include <contacts.h>
-#include <Elementary.h>
-
-/*
- * @brief Called when user selects new vibration pattern
- * @param[in] data data passed as result_cb_data
- * @param[in] vibration_path new selected vibration path
- */
-typedef void(*ct_vibration_set_result_cb)(void *data, const char *vibration_path);
-
-/*
- * @brief Create vibration pattern selection popup
- * @param[in] parent parent widget for popup
- * @param[in] vibration_path current vibration path
- * @param[in] result_cb callback to be called when vibration was set
- * @param[in] result_cb_data data to pass to result_cb
- * @return popup on success, otherwise NULL
- */
-Evas_Object * ct_detail_vibration_popup_create(Evas_Object *parent, const char *vibration_path,
- ct_vibration_set_result_cb result_cb, void *result_cb_data);
-
-#endif /* __CT_DETAIL_VIBRATION_POPUP_H__ */
diff --git a/lib/details/ct-detail-vibration.cpp b/lib/details/ct-detail-vibration.cpp
deleted file mode 100644
index cacca96..0000000
--- a/lib/details/ct-detail-vibration.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "ct-detail-vibration.h"
-#include "phone.h"
-#include "phone-common.h"
-#include "phone-text.h"
-
-/**
- * FIXME: the following paths are not real because we don't have these
- * vibration patterns yet
- */
-
-#define CT_VIBRATION_PATH_PREFIX "/opt/share/svi/haptic/default"
-static const char * const CT_VIBRATION_PATH[] =
-{
- "",
- CT_VIBRATION_PATH_PREFIX"heartbeat.ivt",
- CT_VIBRATION_PATH_PREFIX"jinglebell.ivt",
- CT_VIBRATION_PATH_PREFIX"ticktock.ivt",
- CT_VIBRATION_PATH_PREFIX"waltz.ivt",
- CT_VIBRATION_PATH_PREFIX"zigizigzig.ivt"
-};
-
-int ct_detail_vibration_get_msgid(const char *path)
-{
- PH_TRACE;
- if(NULL == path || '\0' == *path)
- {
- return CTTEXT_VIBRATION_DEFAULT;
- }
-
- path = strrchr(path, '/');
- for(unsigned msgid = CTTEXT_VIBRATION_DEFAULT + 1;
- msgid < ARRAY_SIZE(CT_VIBRATION_PATH); ++msgid)
- {
- if(strcmp(path, strrchr(CT_VIBRATION_PATH[msgid], '/')) == 0)
- {
- return msgid;
- }
- }
-
- return CTTEXT_VIBRATION_DEFAULT;
-}
-
-const char * ct_detail_vibration_get_path(int vibration_msgid)
-{
- PH_TRACE;
- p_retvm_if(vibration_msgid < 0
- || vibration_msgid > (int) ARRAY_SIZE(CT_VIBRATION_PATH),
- NULL, "invalid msgid");
- return CT_VIBRATION_PATH[vibration_msgid];
-}
diff --git a/lib/details/ct-detail-vibration.h b/lib/details/ct-detail-vibration.h
deleted file mode 100644
index abf5942..0000000
--- a/lib/details/ct-detail-vibration.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CT_DETAIL_VIBRATION_H__
-#define __CT_DETAIL_VIBRATION_H__
-
-/*
- * @brief Get vibration pattern ID by pattern file path
- * @param[in] path path to vibration pattern file
- * @return vibration pattern ID
- */
-int ct_detail_vibration_get_msgid(const char *path);
-
-/*
- * @brief Get vibration pattern file path by vibration ID
- * @param[in] vibrtaion_id vibration pattern ID
- * @return vibration pattern file path
- */
-const char * ct_detail_vibration_get_path(int vibration_msgid);
-
-#endif /* __CT_DETAIL_VIBRATION_H__ */
diff --git a/lib/details/ct-detail-view.cpp b/lib/details/ct-detail-view.cpp
deleted file mode 100755
index b893f6d..0000000
--- a/lib/details/ct-detail-view.cpp
+++ /dev/null
@@ -1,3783 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <ui-gadget-module.h>
-
-#include <errno.h>
-#include <string.h>
-#include <vconf.h>
-#include <vconf-keys.h>
-#include <app.h>
-#include <msg.h>
-#include <account.h>
-
-#include "phone.h"
-#include "ct-detail.h"
-#include "ct-detail-utils.h"
-#include "ct-detail-view.h"
-#include "ct-detail-history.h"
-#include "ct-detail-activity.h"
-#include "ct-detail-vibration.h"
-#include "ct-detail-vibration-popup.h"
-#include "ct-list.h"
-#include "ct-input-view.h"
-#include "ct-group.h"
-#include "ct-group-assign-popup.h"
-#include "ct-list-view-common.h"
-
-#define _CT_LINK
-
-static const char *PHONE_ROTATE = "phone_rotate";
-#define REVEAL_BUTTON "reveal"
-#define MINUS_BUTTON "minus"
-
-enum DETAIL_ITC_TYPE
-{
- DETAIL_ITC_NOTE = 0,
- DETAIL_ITC_NICKNAME,
- DETAIL_ITC_NUM_UTIL_BTN,
- DETAIL_ITC_UTIL_BTN,
- DETAIL_ITC_ADDRBOOK,
- DETAIL_ITC_NUMBER,
- DETAIL_ITC_EMAIL,
- DETAIL_ITC_URL,
- DETAIL_ITC_MESSENGER,
- DETAIL_ITC_EVENT,
- DETAIL_ITC_RINGTONE,
- DETAIL_ITC_VIBRATION,
- DETAIL_ITC_GROUP,
- DETAIL_ITC_RELATIONSHIP,
- DETAIL_ITC_NUMBER_DEFAULT,
- DETAIL_ITC_EMAIL_DEFAULT,
- DETAIL_ITC_ADDRESS,
- DETAIL_ITC_LINK_UNLINK,
- DETAIL_ITC_UNLINK_POPUP,
- DETAIL_ITC_EDIT_POPUP,
- DETAIL_ITC_LINK_ITEM,
- DETAIL_ITC_LINK_LIST,
- DETAIL_ITC_LINK_LIST_SUB,
- DETAIL_ITC_FIELD_TITLE,
- DETAIL_ITC_FIELD,
- DETAIL_ITC_TITLE,
- DETAIL_ITC_UTIL_1BTN,
- DETAIL_ITC_BASEINFO_1TEXT_1ICON,
- DETAIL_ITC_BASEINFO_1TEXT_2ICON,
- DETAIL_ITC_BASEINFO_2TEXT_1ICON,
- DETAIL_ITC_BASEINFO_2TEXT_2ICON,
- DETAIL_ITC_BASEINFO_3TEXT_1ICON,
- DETAIL_ITC_BASEINFO_3TEXT_2ICON,
- DETAIL_ITC_DEFAULT_NUMBER_SET_POPUP,
- DETAIL_ITC_DEFAULT_EMAIL_SET_POPUP,
- DETAIL_ITC_DEFAULT_NAME_POPUP,
- DETAIL_ITC_MAX,
-};
-
-static Elm_Genlist_Item_Class detail_itcs[] =
-{
- {
- 0, 0, 1,
- "multiline/dialogue/2text", /* NOTE */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "multiline/dialogue/2text", /* NICKNAME */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "detail.3icon", /* NUMBER UTIL BUTTON */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "dialogue/bg/2icon", /* UTIL BUTTON */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "detail.title", /* ADDRESSBOOK */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "detail.field.2text", /* NUMBER */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "detail.field.2text", /* EMAIL */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "detail.field.2text", /* URL */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "dialogue/2text.2", /*MESSENGER */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "2text.3", /*BIRTH*/
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "dialogue/2text.3", /* RINGTONE */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "dialogue/2text.3", /* VIBRATION */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "dialogue/2text.3", /* GROUP */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "2text.3", /* RELATIONSHIP */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "baseinfo.1text", /* DEFAULT NUMBER */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "detail.field.2text", /* DEFAULT EMAIL */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "detail.field.2text", /* ADDRESS */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "dialogue/bg/2icon", /* LINK, UNLINK */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "1text.1icon.2", /* UNLINK POPUP */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "1text.1icon.2", /* EDIT POPUP */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "dialogue/2text.1icon.5", /* LINK ITEM */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "dialogue/2text.1icon.5", /* LINK LIST */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "dialogue/1text.1icon.2/expandable2", /* LINK LIST SUB */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "detail.fieldtitle.1text", /* FIELD TITLE */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "detail.field.2text", /* FIELD */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "dialogue/title", /* TITLE */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "dialogue/bg/1icon", /* UTIL 1 BUTTON */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "baseinfo.1text.1icon", /* BASEINFO 1TEXT 1ICON */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "baseinfo.1text.2icon", /* BASEINFO 1TEXT 2ICON */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "baseinfo.2text.1icon", /* BASEINFO 2TEXT 1ICON */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "baseinfo.2text.2icon", /* BASEINFO 2TEXT 2ICON */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "baseinfo.3text.1icon", /* BASEINFO 3TEXT 1ICON */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "baseinfo.3text.2icon", /* BASEINFO 3TEXT 2ICON */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "dialogue/2text.6", /* DEFAULT NUMBER SET POPUP*/
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "dialogue/2text.6", /* DEFAULT EMAIL SET POPUP*/
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1,
- "1text", /* DEFAULT NAME */
- NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
-};
-
-static Elm_Genlist_Item_Class detail_ringtone_itc;
-
-static void detail_fill_number_list(Evas_Object *genlist, Eina_List *list,
- Evas_Smart_Cb func, int default_num_id);
-static void detail_fill_email_list(Evas_Object *genlist, Eina_List *list,
- Evas_Smart_Cb func, int default_num_id);
-
-static char* detail_gl_2text_multiline_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- char *note;
- contacts_record_h record = (contacts_record_h) data;
-
- p_retv_if(NULL == record, NULL);
-
- if (0 == strcmp(part, "elm.text.1"))
- {
- return strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_NOTE));
- }
- else if (0 == strcmp(part, "elm.text.2"))
- {
- contacts_record_get_str_p(record, _contacts_note.note, &note);
- if (note && *note)
- return elm_entry_utf8_to_markup(note);
- }
- return NULL;
-}
-
-static char* detail_gl_ringtone_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- char *str;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- contacts_record_h record_person = cdetail_d->person;
- p_retv_if(NULL == record_person, NULL);
-
- if (0 == strcmp(part, "elm.text.1"))
- return strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_RINGTONE));
- else if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_record_get_str_p(record_person,
- _contacts_person.ringtone_path, &str);
- p_retvm_if(CONTACTS_ERROR_NONE != err, FALSE,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (str && *str && 0 == access(str, F_OK))
- return SAFE_STRDUP(ct_detail_get_ringtone_display_name(str));
- else
- return strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_DEFAULT));
- }
- return NULL;
-}
-
-static void detail_ringtone_reset_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- p_retm_if(NULL == cdetail_d, "parameter(cdetail_d) is NULL");
- p_retm_if(NULL == cdetail_d->person, "parameter(person) is NULL");
-
- if (cdetail_d->popup)
- {
- evas_object_del(cdetail_d->popup);
- cdetail_d->popup = NULL;
- }
-
- err = contacts_record_set_str(cdetail_d->person,
- _contacts_person.ringtone_path, NULL);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str(ringtone_path) Failed(%d)", err);
-
- elm_genlist_item_update(cdetail_d->ringtone_item);
-}
-
-static char *detail_popup_text_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- if (0 == strcmp(part, "elm.text"))
- return strdup((const char *) data);
- return NULL;
-}
-
-static void detail_ringtone_gl_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *popup;
- Evas_Object *genlist;
- Evas_Object *btn;
- Evas_Object *box;
- char *temp;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- elm_genlist_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
- popup = elm_popup_add(cdetail_d->navi);
- elm_object_style_set(popup, "min_menustyle");
- elm_object_part_text_set(popup, "title,text",
- T_(CT_GET_TEXT_BASIC, CTTEXT_RINGTONE));
- evas_object_smart_callback_add(popup, "block,clicked", ctui_detail_data_popup_hide_cb,
- NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_SK_CANCEL));
- elm_object_part_content_set(popup, BUTTON1, btn);
- evas_object_smart_callback_add(btn, CLICKED, ctui_detail_data_popup_hide_cb, cdetail_d);
-
- detail_ringtone_itc.item_style = "1text";
- detail_ringtone_itc.func.text_get = detail_popup_text_get;
- detail_ringtone_itc.func.content_get = NULL;
- detail_ringtone_itc.func.state_get = NULL;
- detail_ringtone_itc.func.del = NULL;
-
- box = elm_box_add(popup);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- genlist = elm_genlist_add(popup);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_genlist_item_append(genlist, &detail_ringtone_itc, T_(CT_GET_TEXT_BASIC,CTTEXT_DEFAULT),
- NULL, ELM_GENLIST_ITEM_NONE, NULL, data);
- elm_genlist_item_append(genlist, &detail_ringtone_itc, T_(CT_GET_TEXT_BASIC,CTTEXT_RINGTONES),
- NULL, ELM_GENLIST_ITEM_NONE, NULL, data);
- elm_genlist_item_append(genlist, &detail_ringtone_itc, T_(CT_GET_TEXT_BASIC,CTTEXT_MY_FILES),
- NULL, ELM_GENLIST_ITEM_NONE, ct_detail_myfile_ringtone, data);
-
- err = contacts_record_get_str_p(cdetail_d->person,
- _contacts_person.ringtone_path, &temp);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_contact_record_get_str_p() Failed(%d)", err);
-
- if (temp && *temp)
- elm_genlist_item_append(genlist, &detail_ringtone_itc,
- S_(CT_SYS_SK_RESET), NULL, ELM_GENLIST_ITEM_NONE,
- detail_ringtone_reset_cb, data);
-
- elm_box_pack_end(box, genlist);
- evas_object_show(genlist);
- evas_object_size_hint_min_set(box, 600, 200);
- elm_object_content_set(popup, box);
- evas_object_show(popup);
- cdetail_d->popup = popup;
-}
-
-static char* detail_gl_vibration_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- char *str = NULL;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- contacts_record_h record_person = cdetail_d->person;
- p_retv_if(NULL == record_person, NULL);
-
- if (0 == strcmp(part, "elm.text.1"))
- return strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_VIBRATION_PATTERN));
- else if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_record_get_str_p(record_person,
- _contacts_person.vibration, &str);
- p_retvm_if(CONTACTS_ERROR_NONE != err, FALSE,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- return SAFE_STRDUP(T_(CT_GET_TEXT_VIBRATION, ct_detail_vibration_get_msgid(str)));
- }
-
- return NULL;
-}
-
-static void detail_vibration_set_result_cb(void *data, const char *path)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- int err = contacts_record_set_str(cdetail_d->person,
- _contacts_person.vibration, path);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- err = contacts_db_update_record(cdetail_d->person);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_record() Failed(%d)", err);
-
- elm_genlist_item_update(cdetail_d->vibration_item);
-}
-
-static void detail_vibration_gl_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- p_retm_if(NULL == event_info, "event_info is NULL");
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- char *vibration = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- elm_genlist_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
-
- err = contacts_record_get_str_p(cdetail_d->person,
- _contacts_person.vibration, &vibration);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- cdetail_d->popup = ct_detail_vibration_popup_create(cdetail_d->navi, vibration,
- detail_vibration_set_result_cb, cdetail_d);
-}
-
-static void detail_update_group(void *data)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- int err = contacts_db_update_record((contacts_record_h) cdetail_d->list_contacts->data);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_record() Failed(%d)", err);
-
- cdetail_d->updated = true;
- elm_genlist_item_update(cdetail_d->group_item);
-}
-
-typedef struct
-{
- int contact_id;
- int addressbook_id;
- Eina_Bool checked;
- Elm_Object_Item *item;
- void *data;
-} ct_detail_person_data;
-
-static bool detail_is_display_contact(ct_detail_data *cdetail_d,contacts_record_h record)
-{
- PH_TRACE;
- p_retvm_if(NULL == cdetail_d, NULL, "cdetail_d is NULL");
- int err = CONTACTS_ERROR_NONE;
- int contact_id = 0;
- int display_contact_id = 0;
-
- err = contacts_record_get_int(cdetail_d->person, _contacts_person.display_contact_id, &display_contact_id);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_int Failed(%d)", err);
-
- err = contacts_record_get_int(record, _contacts_contact.id, &contact_id);
- p_retv_if(CONTACTS_ERROR_NONE != err, false);
-
- if (display_contact_id != contact_id)
- {
- return false;
- }
- return true;
-}
-
-static Evas_Object *detail_create_link_contacts_genlist(ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- p_retvm_if(NULL == cdetail_d, NULL, "data is NULL");
- p_retvm_if(NULL == cdetail_d->layout_link, NULL, "cdetail_d->layout_link is NULL");
- cdetail_d->genlist_link = elm_genlist_add(cdetail_d->layout_link);
- p_retvm_if(NULL == cdetail_d->genlist_link, NULL, "cdetail_d->genlist_link is NULL");
- elm_genlist_mode_set(cdetail_d->genlist_link, ELM_LIST_COMPRESS);
- evas_object_data_set(cdetail_d->genlist_link, "cdetail_d", cdetail_d);
-
- Eina_List *l = NULL;
- void *v_record = NULL;
- EINA_LIST_FOREACH(cdetail_d->list_contacts, l, v_record)
- {
- int err = CONTACTS_ERROR_NONE;
- if (!detail_is_display_contact(cdetail_d, (contacts_record_h) v_record))
- {
- ct_detail_person_data *person_info = (ct_detail_person_data *) calloc(1, sizeof(ct_detail_person_data));
- p_retvm_if(NULL == person_info, NULL, "person_info is NULL");
-
- err = contacts_record_get_int((contacts_record_h) v_record, _contacts_contact.id,&(person_info->contact_id));
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_int Failed(%d)", err);
-
- err = contacts_record_get_int((contacts_record_h) v_record, _contacts_contact.address_book_id, &(person_info->addressbook_id));
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_int Failed(%d)", err);
-
- Elm_Object_Item *item = elm_genlist_item_append(cdetail_d->genlist_link,
- &detail_itcs[DETAIL_ITC_LINK_LIST], person_info, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, person_info);
-
- person_info->item = item;
- }
- }
- elm_object_part_content_set(cdetail_d->layout_link, "contents", cdetail_d->genlist_link);
- return cdetail_d->genlist_link;
-}
-
-static void detail_unlink_list_item(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data *)data;
- p_retm_if(NULL == cdetail_d, "cdetail_d is NULL");
- p_retm_if(NULL == cdetail_d->list_contacts, "cdetail_d->list_contacts is NULL");
- p_retm_if(NULL == cdetail_d->list_unlink, "cdetail_d->list_unlink is NULL");
-
- Eina_List *l = NULL;
- void * v_record = NULL;
- int person_id = 0;
-
- EINA_LIST_FOREACH(cdetail_d->list_unlink, l, v_record)
- {
- int err = contacts_person_unlink_contact(cdetail_d->person_id, (int) v_record, &person_id);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_person_unlink_contact Failed(%d)", err);
- }
- eina_list_free(cdetail_d->list_unlink);
- ctui_free_record_list(cdetail_d->list_contacts);
- cdetail_d->list_contacts = ctui_person_get_contact_list(cdetail_d->person_id);
- elm_naviframe_item_pop(cdetail_d->navi);
-}
-
-static void detail_link_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- p_retm_if(NULL == cdetail_d, "cdetail_d is NULL");
- if(event_info)
- {
- elm_genlist_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
- }
- if(cdetail_d->list_unlink)
- {
- eina_list_free(cdetail_d->list_unlink);
- }
- if (cdetail_d->list_contacts && 2 < eina_list_count(cdetail_d->list_contacts))
- {
- char buf[PH_TEXT_MAX_LEN + 1];
- char *display_person_name = NULL;
- int err = 0;
- err = contacts_record_get_str_p(cdetail_d->person, _contacts_person.display_name, &display_person_name);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p Failed(%d)", err);
-
- Evas_Object *base = elm_layout_add(cdetail_d->navi);
- p_retm_if(NULL == base, "base is NULL");
- elm_layout_file_set(base, SELECTION_INFO_EDJ, "selectioninfo_layout");
- cdetail_d->layout_link = base;
-
- detail_create_link_contacts_genlist(cdetail_d);
-
- Evas_Object *btn = phone_create_toolbar_btn(cdetail_d->layout_link, S_(CT_SYS_SK_DONE), detail_unlink_list_item, cdetail_d);
- elm_object_part_content_set(cdetail_d->layout_link, "toolbar", btn);
-
- snprintf(buf, sizeof(buf), "%s %s", T_(PH_GET_TEXT_BASIC, PHTEXT_LINK_CONTACTS_WITH), display_person_name);
- cdetail_d->navi_item = elm_naviframe_item_push(cdetail_d->navi, buf, NULL, NULL, cdetail_d->layout_link, NULL);
- elm_naviframe_item_title_visible_set(cdetail_d->navi_item, EINA_TRUE);
- }
-}
-
-static void detail_group_gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- elm_genlist_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
- cdetail_d->popup = ct_group_assign_popup_create(cdetail_d->win, cdetail_d->navi,
- (contacts_record_h) cdetail_d->list_contacts->data, detail_update_group, cdetail_d);
-}
-
-static char* detail_gl_group_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- char display[PH_TEXT_MAX_LEN + 1];
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- if (0 == strcmp(part, "elm.text.1"))
- {
- return strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_GROUP));
- }
- else if (0 == strcmp(part, "elm.text.2"))
- {
- display[0] = '\0';
- ct_detail_person_get_group_names(cdetail_d->list_contacts, display,
- sizeof(display));
- return strdup(display);
- }
- return NULL;
-
-}
-
-static char* detail_gl_relationship_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = (contacts_record_h) data;
-
- if (0 == strcmp(part, "elm.text.1"))
- {
- int type;
- char *str_type = NULL;
- char *str_name = NULL;
- char buf[PH_TEXT_MAX_LEN + 1];
-
- err = contacts_record_get_int(record, _contacts_relationship.type,
- &type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if (CONTACTS_RELATIONSHIP_TYPE_CUSTOM == type)
- {
- err = contacts_record_get_str_p(record,
- _contacts_relationship.label, &str_type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- }
- if (NULL == str_type || '\0' == str_type[0])
- str_type = (char *) T_(CT_GET_TEXT_RELATIONSHIP_TYPE, type);
-
- err = contacts_record_get_str_p(record, _contacts_relationship.name,
- &str_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (str_name && *str_name)
- snprintf(buf, sizeof(buf), "%s %s", str_type, str_name);
- else
- snprintf(buf, sizeof(buf), "%s", str_type);
- return strdup(buf);
- }
- else if (0 == strcmp(part, "elm.text.2"))
- {
- return strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_RELATIONSHIP));
- }
- return NULL;
-}
-
-static char *detail_gl_address_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int val_type;
- char *ret_str;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = (contacts_record_h) data;
-
- p_retv_if(NULL == data, NULL);
-
- if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_record_get_int(record, _contacts_address.type,
- &val_type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if (CONTACTS_ADDRESS_TYPE_CUSTOM == val_type)
- {
- err = contacts_record_get_str_p(record, _contacts_address.label,
- &ret_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (NULL == ret_str || '\0' == ret_str[0])
- return strdup(
- T_(CT_GET_TEXT_POSTAL_TYPE, CONTACTS_ADDRESS_TYPE_OTHER));
- else
- return strdup(ret_str);
- }
- else
- return strdup(
- T_(CT_GET_TEXT_POSTAL_TYPE, phone_get_address_type_index(val_type)));
- }
- else if (0 == strcmp(part, "elm.text.1"))
- {
- char buf[PH_TEXT_MAX_LEN] = { 0, };
- ct_detail_get_full_addr(record, buf, PH_TEXT_MAX_LEN);
- return elm_entry_utf8_to_markup(buf);
- }
- return NULL;
-}
-
-static char* detail_gl_messenger_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int val_type;
- char *ret_str = NULL;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = (contacts_record_h) data;
-
- p_retv_if(NULL == data, NULL);
-
- ret_str = NULL;
- if (0 == strcmp(part, "elm.text.1"))
- {
- err = contacts_record_get_str_p(record, _contacts_messenger.im_id,
- &ret_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- return SAFE_STRDUP(ret_str);
- }
- else if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_record_get_int(record, _contacts_messenger.type,
- &val_type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if (CONTACTS_MESSENGER_TYPE_CUSTOM == val_type)
- {
- err = contacts_record_get_str_p(record, _contacts_messenger.label,
- &ret_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- return SAFE_STRDUP(ret_str);
- }
- else
- {
- return strdup(T_(CT_GET_TEXT_IM_TYPE, val_type));
- }
- }
- return NULL;
-}
-
-static char* detail_gl_event_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, NULL, "data is NULL");
- p_retvm_if(NULL == obj, NULL, "obj is NULL");
- p_retvm_if(NULL == part, NULL, "part is NULL");
-
- int val_type = 0;
- char *label = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- contacts_record_h record = (contacts_record_h) data;
- ct_detail_data *cdetail_d = (ct_detail_data *) evas_object_data_get(obj, "cdetail_d");
-
-
- if (0 == strcmp(part, "elm.text.1"))
- {
- int date = 0, day = 0, mon = 0, year = 0;
-
- err = contacts_record_get_int(record, _contacts_event.date, &date);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- day = date % 100;
- mon = (date % 10000) / 100;
- year = date / 10000;
-
- p_retvm_if(mon < 1 || 12 < mon || day < 1 || 31 < day, NULL,
- "Invalid date(mon=%d,day=%d)", mon, day);
- return phone_get_datetime_str(cdetail_d->formatter, year, mon, day);
- }
- else if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_record_get_int(record, _contacts_event.type, &val_type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if (val_type == CONTACTS_EVENT_TYPE_CUSTOM)
- {
- err = contacts_record_get_str_p(record, _contacts_event.label, &label);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- return SAFE_STRDUP(label);
- }
- else
- {
- return SAFE_STRDUP(T_(CT_GET_TEXT_EVENT_TYPE, val_type));
- }
- }
- return NULL;
-}
-
-static Elm_Object_Item* __detail_search_item_by_type(DETAIL_ITC_TYPE type, Elm_Object_Item *pItem)
-{
- PH_TRACE;
- Elm_Object_Item *pItemNext = NULL;
- const Elm_Genlist_Item_Class *pItc;
-
- if ((type < 0) && (type >= DETAIL_ITC_MAX))
- {
- return NULL;
- }
-
- while (pItem)
- {
- pItemNext = elm_genlist_item_next_get(pItem);
- pItc = elm_genlist_item_item_class_get(pItem);
- if (pItc == &detail_itcs[type])
- {
- break;
- }
- pItem = pItemNext;
- }
- return pItem;
-}
-
-void __detail_update_number_list(ct_detail_data * cdetail_d)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- int list_count = 0;
- int number_id = 0;
- Eina_List *cursor;
- Elm_Object_Item *item = elm_genlist_first_item_get(cdetail_d->genlist);
- Elm_Object_Item *item2 = NULL;
- contacts_record_h record_number = NULL;
- void *v_record_number = NULL;
-
- item = __detail_search_item_by_type(DETAIL_ITC_NUMBER_DEFAULT, item);
-
- Evas_Smart_Cb num_func = ct_detail_gl_number_sel;
-
- if (cdetail_d->list_number)
- ctui_free_record_list(cdetail_d->list_number);
-
- cdetail_d->list_number = ctui_person_get_number_list(
- cdetail_d->list_contacts);
- err = phone_cts_get_default_number(cdetail_d->person_id, &record_number);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_default_number() Failed(%d)", err);
- }
- int default_num_id = 0;
- err = contacts_record_get_int(record_number, _contacts_number.id,
- &default_num_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- if (default_num_id > 0)
- {
- elm_object_item_del(cdetail_d->number_util_item);
- elm_genlist_item_insert_before(cdetail_d->genlist,
- &detail_itcs[DETAIL_ITC_NUMBER_DEFAULT], record_number, NULL,
- item, ELM_GENLIST_ITEM_NONE, num_func, record_number);
- cdetail_d->number_util_item = elm_genlist_item_insert_before(
- cdetail_d->genlist, &detail_itcs[DETAIL_ITC_NUM_UTIL_BTN],
- record_number, NULL, item, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
- item2 = elm_genlist_item_next_get(item);
- elm_object_item_del(item);
- item = item2;
- }
-
- list_count = eina_list_count(cdetail_d->list_number);
- if (list_count > 1)
- {
- item = __detail_search_item_by_type(DETAIL_ITC_NUMBER, item);
- for (int i = 0; i < list_count-1; i++)
- {
- item2 = elm_genlist_item_next_get(item);
- elm_object_item_del(item);
- item = item2;
- }
-
- v_record_number = (void *) record_number;
- EINA_LIST_FOREACH(cdetail_d->list_number, cursor, v_record_number)
- {
- record_number = (contacts_record_h) v_record_number;
- err = contacts_record_get_int(record_number, _contacts_number.id,
- &number_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if ((default_num_id != 0) && (number_id == default_num_id))
- continue;
-
- elm_genlist_item_insert_before(cdetail_d->genlist,
- &detail_itcs[DETAIL_ITC_NUMBER], record_number, NULL, item,
- ELM_GENLIST_ITEM_NONE, num_func, record_number);
- }
- }
- if (default_num_id)
- cdetail_d->has_number = true;
-}
-
-void __detail_update_email_list(ct_detail_data * cdetail_d)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- int email_id = 0;
- Eina_List *cursor;
- const Elm_Genlist_Item_Class *itc;
- Elm_Object_Item *item = elm_genlist_first_item_get(cdetail_d->genlist);
- Elm_Object_Item *item2 = NULL;
- contacts_record_h record_email = NULL;
- void *v_record_email = NULL;
-
- while (item)
- {
- item2 = elm_genlist_item_next_get(item);
- itc = elm_genlist_item_item_class_get(item);
- if (itc == &detail_itcs[DETAIL_ITC_EMAIL_DEFAULT]
- || itc == &detail_itcs[DETAIL_ITC_EMAIL])
- {
- break;
- }
- item = item2;
- }
-
- Evas_Smart_Cb email_func = ct_detail_gl_email_sel;
-
- if (cdetail_d->list_email)
- ctui_free_record_list(cdetail_d->list_email);
-
- cdetail_d->list_email = ctui_person_get_email_list(
- cdetail_d->list_contacts);
- err = phone_cts_get_default_email(cdetail_d->person_id, &record_email);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_default_email() Failed(%d)", err);
- }
- int default_email_id = 0;
-
- err = contacts_record_get_int(record_email, _contacts_email.id,
- &default_email_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- if (default_email_id > 0)
- {
- elm_genlist_item_insert_before(cdetail_d->genlist,
- &detail_itcs[DETAIL_ITC_EMAIL_DEFAULT], record_email, NULL,
- item, ELM_GENLIST_ITEM_NONE, email_func, record_email);
- }
-
- int list_count = eina_list_count(cdetail_d->list_email);
- if (list_count > 1)
- {
- v_record_email = (void *) record_email;
- EINA_LIST_FOREACH(cdetail_d->list_email, cursor, v_record_email)
- {
- record_email = (contacts_record_h) v_record_email;;
- err = contacts_record_get_int(record_email, _contacts_email.id,
- &email_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if ((default_email_id != 0) && (email_id == default_email_id))
- continue;
-
- elm_genlist_item_insert_before(cdetail_d->genlist,
- &detail_itcs[DETAIL_ITC_EMAIL], record_email, NULL, item,
- ELM_GENLIST_ITEM_NONE, email_func, record_email);
- }
- }
-
- int i = 0;
- for (i = 0; i < list_count; i++)
- {
- item2 = elm_genlist_item_next_get(item);
- elm_object_item_del(item);
- item = item2;
- }
-}
-
-void __detail_default_number_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = (contacts_record_h) data;
- ct_detail_data *cdetail_d;
- int data_id;
-
- p_retm_if(NULL == record, "parameter(record) is NULL");
-
- cdetail_d = (ct_detail_data *) evas_object_data_get(obj, "cdetail_d");
- p_retm_if(NULL == cdetail_d, "evas_object_data_get(record) return NULL");
-
- err = contacts_record_get_int(record, _contacts_number.id, &data_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_person_set_default_property(CONTACTS_PERSON_PROPERTY_NUMBER,
- cdetail_d->person_id, data_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_person_set_default_property() Failed(%d)", err);
- // TODO: ??
- __detail_update_number_list(cdetail_d);
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-}
-
-void __detail_default_email_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = (contacts_record_h) data;
- ct_detail_data *cdetail_d;
- int data_id;
-
- p_retm_if(NULL == record, "parameter(record) is NULL");
-
- cdetail_d = (ct_detail_data *) evas_object_data_get(obj, "cdetail_d");
- p_retm_if(NULL == cdetail_d, "evas_object_data_get(record) return NULL");
-
- err = contacts_record_get_int(record, _contacts_email.id, &data_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_person_set_default_property(CONTACTS_PERSON_PROPERTY_EMAIL,
- cdetail_d->person_id, data_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_person_set_default_property() Failed(%d)", err);
-
- // TODO: ??
- __detail_update_email_list(cdetail_d);
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-}
-
-void __detail_click_default_number(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_detail_data *cdetail_d = static_cast<ct_detail_data*>(data);
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
- ct_detail_menu_hide_cb(cdetail_d, NULL, NULL);
-
- Evas_Object *popup = elm_popup_add(cdetail_d->navi);
- if (NULL != popup)
- {
- elm_object_style_set(popup, "liststyle");
- elm_object_part_text_set(popup, "title,text", T_(CT_GET_TEXT_BASE_OP, CTTEXT_SET_DEFAULT_NUMBER));
- cdetail_d->popup = popup;
-
- Evas_Object *btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_SK_CANCEL));
- elm_object_part_content_set(popup, BUTTON1, btn);
- elm_object_style_set(btn, "popup_button/default");
- evas_object_smart_callback_add(btn, CLICKED, ct_detail_popup_hide_cb, cdetail_d);
- evas_object_show(popup);
-
- Evas_Object *genlist = elm_genlist_add(popup);
- if (NULL != genlist)
- {
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_data_set(genlist, "cdetail_d", cdetail_d);
-
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record_default_number = NULL;
- err = phone_cts_get_default_number(cdetail_d->person_id, &record_default_number);
- if (CONTACTS_ERROR_NONE != err)
- ERR("phone_cts_get_default_number() Failed(%d)", err);
-
- int default_number_id = 0;
- err = contacts_record_get_int(record_default_number, _contacts_number.id, &default_number_id);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_destroy(record_default_number, true);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_destroy() Failed(%d)", err);
-
- int number_id = 0;
- Eina_List *cursor;
- void *v_record_number = NULL;
- EINA_LIST_FOREACH(cdetail_d->list_number, cursor, v_record_number)
- {
- contacts_record_h record_number = (contacts_record_h) v_record_number;
- err = contacts_record_get_int(record_number, _contacts_number.id, &number_id);
- if (default_number_id == number_id)
- continue;
-
- elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_DEFAULT_NUMBER_SET_POPUP], record_number, NULL, ELM_GENLIST_ITEM_NONE, __detail_default_number_sel, record_number);
- }
-
- evas_object_show(genlist);
- elm_object_content_set(popup, genlist);
- }
- else
- {
- ERR("__detail_click_default_number() Failed: %s", "elm_genlist_add() return NULL");
- }
- }
- else
- {
- ERR("__detail_click_default_number() Failed: %s", "elm_popup_add() return NULL");
- }
- }
-}
-
-void __detail_click_default_email(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_detail_data *cdetail_d = static_cast<ct_detail_data*>(data);
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
- ct_detail_menu_hide_cb(cdetail_d, NULL, NULL);
-
- Evas_Object *popup = elm_popup_add(cdetail_d->navi);
- if (NULL != popup)
- {
- elm_object_style_set(popup, "liststyle");
- elm_object_part_text_set(popup, "title,text", T_(CT_GET_TEXT_BASE_OP, CTTEXT_SET_DEFAULT_EMAIL));
- cdetail_d->popup = popup;
-
- Evas_Object *btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_SK_CANCEL));
- elm_object_part_content_set(popup, BUTTON1, btn);
- elm_object_style_set(btn, "popup_button/default");
- evas_object_smart_callback_add(btn, CLICKED, ct_detail_popup_hide_cb, cdetail_d);
- evas_object_show(popup);
-
- Evas_Object *genlist = elm_genlist_add(popup);
- if (NULL != genlist)
- {
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_data_set(genlist, "cdetail_d", cdetail_d);
-
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record_default_email = NULL;
- err = phone_cts_get_default_email(cdetail_d->person_id, &record_default_email);
- if (CONTACTS_ERROR_NONE != err)
- ERR("phone_cts_get_default_email() Failed(%d)", err);
-
- int default_email_id = 0;
- err = contacts_record_get_int(record_default_email, _contacts_email.id, &default_email_id);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_destroy(record_default_email, true);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_destroy() Failed(%d)", err);
-
- int email_id = 0;
- Eina_List *cursor;
- void *v_record_email = NULL;
- EINA_LIST_FOREACH(cdetail_d->list_email, cursor, v_record_email)
- {
- contacts_record_h record_email = (contacts_record_h) v_record_email;
- err = contacts_record_get_int(record_email, _contacts_email.id, &email_id);
- if (default_email_id == email_id)
- continue;
-
- elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_DEFAULT_EMAIL_SET_POPUP], record_email, NULL, ELM_GENLIST_ITEM_NONE, __detail_default_email_sel, record_email);
- }
-
- evas_object_show(genlist);
- elm_object_content_set(popup, genlist);
- }
- else
- {
- ERR("__detail_click_default_email() Failed: %s", "elm_genlist_add() return NULL");
- }
- }
- else
- {
- ERR("__detail_click_default_email() Failed: %s", "elm_popup_add() return NULL");
- }
- }
-}
-
-void __detail_click_send_contact_as_text(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_detail_data* cdetail_d = (ct_detail_data*)data;
- p_retm_if(NULL == cdetail_d, "contact detail data is null");
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
- ct_detail_menu_hide_cb(cdetail_d, NULL, NULL);
-
- int contact_id = phone_get_contact_id_by_person_id(cdetail_d->person_id);
- if(contact_id > 0)
- {
- ct_process_send_contact_as_text(contact_id, cdetail_d->person_id, cdetail_d->navi, cdetail_d->ug, &cdetail_d->child_ug);
- }
-}
-
-char* ct_detail_gl_number_label_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- assert(data);
- assert(part);
- if (NULL != data && NULL != part)
- {
- contacts_record_h record = static_cast<contacts_record_h>(data);
-
- int err = CONTACTS_ERROR_NONE;
- char *ret_str = NULL;
- if (0 == strcmp(part, "elm.text.2"))
- {
- int type;
- err = contacts_record_get_int(record, _contacts_number.type, &type);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_get_int() Failed(%d)", err);
- char buf[PH_TEXT_MAX_LEN + 1] = { 0, };
- ctui_get_number_type_str(record, type, buf, sizeof(buf));
- return strdup(buf);
- }
- else if (0 == strcmp(part, "elm.text.1"))
- {
- err = contacts_record_get_str_p(record, _contacts_number.number, &ret_str);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_get_str_p() Failed(%d)", err);
- return SAFE_STRDUP(ret_str);
- }
- else if (0 == strcmp(part, "elm.text"))
- {
- err = contacts_record_get_str_p(record, _contacts_number.number, &ret_str);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_get_str_p() Failed(%d)", err);
- return SAFE_STRDUP(ret_str);
- }
- }
- else
- {
- ERR("ct_detail_gl_number_label_get() Failed: %s", "parameter(data) is NULL");
- }
- return NULL;
-}
-
-char* ct_detail_gl_email_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int type;
- char *ret_str = NULL;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = (contacts_record_h) data;
-
- p_retvm_if(NULL == data, NULL, "parameter(data) is NULL");
-
- ret_str = NULL;
- if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_record_get_int(record, _contacts_email.type, &type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if (CONTACTS_EMAIL_TYPE_CUSTOM == type)
- {
- err = contacts_record_get_str_p(record, _contacts_email.label,
- &ret_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- return SAFE_STRDUP(ret_str);
- }
- return strdup(
- T_(CT_GET_TEXT_EMAIL_TYPE, ctui_get_email_type_index(type)));
- }
- else if (0 == strcmp(part, "elm.text.1"))
- {
- err = contacts_record_get_str_p(record, _contacts_email.email,
- &ret_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- return SAFE_STRDUP(ret_str);
- }
- else if (0 == strcmp(part, "elm.text"))
- {
- err = contacts_record_get_str_p(record, _contacts_email.email,
- &ret_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- return SAFE_STRDUP(ret_str);
- }
- return NULL;
-
-}
-
-static char *detail_gl_url_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int type;
- char *ret_str = NULL;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = (contacts_record_h) data;
-
- p_retvm_if(NULL == data, NULL, "parameter(data) is NULL");
-
- if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_record_get_int(record, _contacts_url.type, &type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if (CONTACTS_URL_TYPE_CUSTOM == type)
- {
- err = contacts_record_get_str_p(record, _contacts_url.label,
- &ret_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- return elm_entry_utf8_to_markup(ret_str);
- }
- return strdup(
- T_(CT_GET_TEXT_WEBSITE_TYPE, phone_get_website_type_index(type)));
- }
- else if (0 == strcmp(part, "elm.text.1"))
- {
- err = contacts_record_get_str_p(record, _contacts_url.url, &ret_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- return elm_entry_utf8_to_markup(ret_str);
- }
- return NULL;
-}
-
-static void detail_number_cb(contacts_record_h record_number,
- ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- char *num_str;
-
- if (cdetail_d->popup)
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-
- err = contacts_record_get_str_p(record_number, _contacts_number.number,
- &num_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- if (num_str && *num_str)
- {
- int rotate;
- cdetail_d->popup = elm_ctxpopup_add(cdetail_d->navi);
- p_retm_if(NULL == cdetail_d->popup, "elm_ctxpopup_add() return NULL");
-
- rotate = (int) evas_object_data_get(cdetail_d->navi, PHONE_ROTATE);
- if (0 == rotate || 180 == rotate)
- elm_ctxpopup_direction_priority_set(cdetail_d->popup,
- ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP,
- ELM_CTXPOPUP_DIRECTION_LEFT, ELM_CTXPOPUP_DIRECTION_RIGHT);
-
- evas_object_smart_callback_add(cdetail_d->popup, "dismissed",
- ct_detail_popup_hide_cb, cdetail_d);
- evas_object_data_set(cdetail_d->popup, "cdetail_d", cdetail_d);
-
- elm_ctxpopup_item_append(cdetail_d->popup, S_(PH_SYS_BODY_CALL), NULL,
- ct_detail_voice_call_cb, num_str);
- elm_ctxpopup_item_append(cdetail_d->popup, S_(PH_SYS_BODY_MESSAGE),
- NULL, ct_detail_msg_ug_cb, num_str);
-
- evas_object_move(cdetail_d->popup, cdetail_d->touch_x,
- cdetail_d->touch_y);
- evas_object_show(cdetail_d->popup);
- }
-}
-
-static void __detail_email_result(service_h service, service_h reply,
- service_result_e result, void* user_data)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data *) user_data;
-
- cdetail_d->touch_block = false;
-}
-
-void ct_detail_gl_email_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- char *email_address;
- service_h service;
- Ecore_X_Window win_id;
- ct_detail_data *cdetail_d;
- contacts_record_h record_email = (contacts_record_h) data;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- p_retm_if(NULL == record_email, "parameter(record_email) is NULL");
-
- cdetail_d = (ct_detail_data *) evas_object_data_get(obj, "cdetail_d");
- p_retm_if(NULL == cdetail_d, "evas_object_data_get() return NULL");
-
- if (cdetail_d->touch_block == true)
- return;
-
- err = contacts_record_get_str_p(record_email, _contacts_email.email,
- &email_address);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- win_id = elm_win_xwindow_get(cdetail_d->win);
- service_create(&service);
- service_set_app_id(service, EMAIL_COMPOSER_PKG);
- service_set_window(service, win_id);
- service_add_extra_data(service, SERVICE_DATA_TO, email_address);
-
- if (service_send_launch_request(service, __detail_email_result, cdetail_d)
- == SERVICE_ERROR_NONE)
- cdetail_d->touch_block = true;
- service_destroy(service);
-}
-
-static void detail_gl_messenger_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- contacts_record_h record_email = (contacts_record_h) data;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
- p_retm_if(NULL == record_email, "parameter(record_email) is NULL");
-
- ERR("detail_gl_messenger_sel() not implemented");
-}
-
-static char* detail_gl_address_book_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- Eina_List *l;
- void *v_contact = NULL;
- char temp[PH_TEXT_MAX_LEN];
- char display[PH_TEXT_MAX_LEN];
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- if (0 == strcmp(part, "elm.text"))
- {
- display[0] = '\0';
- if (cdetail_d->contact)
- {
- ct_detail_person_get_addressbook_name(cdetail_d->contact, temp,
- sizeof(temp));
- snprintf(display, sizeof(display),
- T_(CT_GET_TEXT_BASIC, CTTEXT_SAVED_IN), temp);
- }
- else
- {
- EINA_LIST_FOREACH(cdetail_d->list_contacts, l, v_contact)
- {
- contacts_record_h contact = (contacts_record_h) v_contact;
- ct_detail_person_get_addressbook_name(contact, temp,
- sizeof(temp));
- snprintf(display, sizeof(display),
- T_(CT_GET_TEXT_BASIC, CTTEXT_SAVED_IN), temp);
- }
- }
- if ('\0' == *display)
- snprintf(display, sizeof(display),
- T_(CT_GET_TEXT_BASIC, CTTEXT_SAVED_IN), "Noname");
- return strdup(display);
- }
- return NULL;
-}
-
-static char* detail_gl_title_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- char *display = (char *) data;
- if (0 == strcmp(part, "elm.text") && display && *display)
- return strdup(display);
- return NULL;
-}
-
-void ct_detail_gl_number_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- contacts_record_h record_number = (contacts_record_h) data;
- ct_detail_data *cdetail_d;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
- p_retm_if(NULL == record_number, "parameter(CTSstruct) is NULL");
-
- cdetail_d = (ct_detail_data *) evas_object_data_get(obj, "cdetail_d");
- p_retm_if(NULL == cdetail_d, "evas_object_data_get() return NULL");
-
- detail_number_cb(record_number, cdetail_d);
-}
-
-static void detail_send_name_card_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- if (NULL != data)
- {
- ct_detail_data *cdetail_d = static_cast<ct_detail_data*>(data);
- p_retm_if(NULL == cdetail_d, "cdetail_d is null");
- const char *SEND_NAMECARD = "Send namecard";
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
- ct_detail_menu_hide_cb(cdetail_d, NULL, NULL);
-
- cdetail_d->popup = elm_popup_add(cdetail_d->navi);
- if (NULL != cdetail_d->popup)
- {
- elm_object_part_text_set(cdetail_d->popup, TITLE_TEXT, SEND_NAMECARD);
-
- elm_popup_item_append(cdetail_d->popup, S_(PH_SYS_BODY_MESSAGE), NULL, ct_detail_send_via_msg, cdetail_d);
- elm_popup_item_append(cdetail_d->popup, S_(CT_SYS_BODY_EMAIL), NULL, ct_detail_send_via_email, cdetail_d);
- elm_popup_item_append(cdetail_d->popup, S_(CT_SYS_BODY_BLUETOOTH), NULL, ct_detail_send_via_bluetooth, cdetail_d);
-
- Evas_Object *cancel_button = elm_button_add(cdetail_d->popup);
- p_retm_if(NULL == cancel_button, "cancel_button is null");
- elm_object_text_set(cancel_button, S_(PH_SYS_SK_CANCEL));
- elm_object_part_content_set(cdetail_d->popup, BUTTON1, cancel_button);
- evas_object_smart_callback_add(cancel_button, CLICKED, ct_detail_popup_hide_cb, cdetail_d);
-
- evas_object_show(cdetail_d->popup);
- }
- else
- {
- ERR("detail_send_name_card_cb() Failed: %s", "elm_popup_add() return NULL");
- }
- }
-}
-
-static void detail_list_gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- ct_person_list *person_info;
- int err = CONTACTS_ERROR_NONE;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- if (cdetail_d->person_id)
- {
- person_info = (ct_person_list *) elm_object_item_data_get(item);
- p_retm_if(NULL == person_info,
- "elm_object_item_data_get() returns NULL");
-
- err = contacts_person_link_person(cdetail_d->person_id,
- person_info->id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_person_link_person() Failed(%d)", err);
-
- if (CONTACTS_ERROR_NONE == err)
- {
- phone_show_tickernoti(S_(CT_SYS_POP_SUCCESS));
- ct_detail_refresh_view(cdetail_d);
- }
- else
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
-
- elm_naviframe_item_pop(cdetail_d->navi);
- }
-}
-
-static void detail_link_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- if (NULL != data)
- {
- ct_detail_data *cdetail_d = static_cast<ct_detail_data*>(data);
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
- ct_detail_menu_hide_cb(cdetail_d, NULL, NULL);
-
- ctui_create_list_single_select_view(cdetail_d->win, cdetail_d->navi, detail_list_gl_sel, cdetail_d, cdetail_d->person_id);
- }
-}
-
-static void detail_unlink_popup_cancel_btn_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-}
-
-static void detail_gl_unlink_item_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int person_id;
- ct_detail_data *cdetail_d;
- ct_detail_person_data *person_info = (ct_detail_person_data *) data;
- int err;
-
- cdetail_d = (ct_detail_data *) evas_object_data_get(obj, "cdetail_d");
- p_retm_if(NULL == cdetail_d, "evas_object_data_get() return NULL");
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-
- err = contacts_person_unlink_contact(cdetail_d->person_id,
- person_info->contact_id, &person_id);
- if (CONTACTS_ERROR_NONE == err)
- {
- phone_show_tickernoti(S_(CT_SYS_POP_SUCCESS));
- ct_detail_refresh_view(cdetail_d);
- }
- else
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
-}
-
-static void detail_unlink_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_detail_data *cdetail_d = static_cast<ct_detail_data*>(data);
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
- ct_detail_menu_hide_cb(cdetail_d, NULL, NULL);
-
- Evas_Object *popup = elm_popup_add(cdetail_d->navi);
- if (NULL != popup)
- {
- elm_object_style_set(popup, "liststyle");
-
- Evas_Object *btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_POP_CLOSE));
- elm_object_part_content_set(popup, BUTTON1, btn);
- elm_object_style_set(btn, "popup_button/default");
- evas_object_smart_callback_add(btn, CLICKED, detail_unlink_popup_cancel_btn_cb, cdetail_d);
-
- elm_object_part_text_set(popup, "title,text", T_(CT_GET_TEXT_BASE_OP, CTTEXT_UNLINK));
- evas_object_show(popup);
- cdetail_d->popup = popup;
-
- Evas_Object *genlist = elm_genlist_add(popup);
- if (NULL != genlist)
- {
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- cdetail_d->genlist_unlink = genlist;
- evas_object_data_set(genlist, "cdetail_d", cdetail_d);
-
- Eina_List *l;
- void *v_record = NULL;
- EINA_LIST_FOREACH(cdetail_d->list_contacts, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- if (detail_is_display_contact(cdetail_d, record))
- {
- continue;
- }
- ct_detail_person_data *person_info;
- person_info = (ct_detail_person_data *) calloc(1, sizeof(ct_detail_person_data));
- if (NULL == person_info)
- {
- ERR("calloc() return NULL");
- break;
- }
-
- int err = CONTACTS_ERROR_NONE;
- err = contacts_record_get_int(record, _contacts_contact.id, &(person_info->contact_id));
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_get_int(record, _contacts_contact.address_book_id, &(person_info->addressbook_id));
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_get_int() Failed(%d)", err);
-
- Elm_Object_Item *item = elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_UNLINK_POPUP], person_info, NULL, ELM_GENLIST_ITEM_NONE, detail_gl_unlink_item_sel, person_info);
-
- person_info->item = item;
- }
-
- evas_object_show(genlist);
- elm_object_content_set(popup, genlist);
- }
- else
- {
- ERR("__detail_click_default_email() Failed: %s", "elm_genlist_add() return NULL");
- }
- }
- else
- {
- ERR("__detail_click_default_email() Failed: %s", "elm_popup_add() return NULL");
- }
- }
-}
-
-static void block_contact_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_detail_data* p_detail_data = (ct_detail_data*)data;
-
- int contact_id = phone_get_contact_id_by_person_id(p_detail_data->person_id);
- ct_detail_menu_hide_cb(p_detail_data, NULL, NULL);
-
- p_detail_data->popup = phone_create_block_contact_popup(p_detail_data->navi, contact_id);
-}
-
-static char* detail_gl_unlink_popup_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- char buf[PH_TEXT_MAX_LEN + 1];
- char *display;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- ct_detail_person_data *person_info = (ct_detail_person_data *) data;
- p_retvm_if(NULL == person_info, NULL, "person_info is NULL");
-
- if (0 == strcmp(part, "elm.text") || 0 == strcmp(part, "elm.text.1"))
- {
- buf[0] = '\0';
-
- err = contacts_db_get_record(_contacts_simple_contact._uri, person_info->contact_id, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)", err);
-
- err = contacts_record_get_str_p(record, _contacts_simple_contact.display_name, &display);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
-
- if (display && *display)
- snprintf(buf, sizeof(buf), "%s", display);
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- if (*buf)
- return strdup(buf);
- }
- else if (0 == strcmp(part, "elm.text.2"))
- {
-
- buf[0] = '\0';
- ctui_get_addressbook_name(person_info->addressbook_id, buf,
- sizeof(buf));
- if (*buf)
- return strdup(buf);
- }
- return NULL;
-}
-
-static Evas_Object* detail_gl_unlink_popup_icon_get(void *data,
- Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- ct_detail_person_data *person_info = (ct_detail_person_data *) data;
- p_retvm_if(NULL == person_info, NULL, "person_info is NULL");
-
- if (0 == strcmp(part, "elm.icon"))
- {
- char *icon_path;
- Evas_Object *icon;
-
- icon_path = ctui_get_addressbook_icon_path(person_info->addressbook_id);
- if (icon_path && *icon_path)
- {
- icon = elm_icon_add(obj);
- p_retvm_if(NULL == icon, NULL, "elm_icon_add() return NULL");
-
- elm_image_file_set(icon, icon_path, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL,
- 1, 1);
- free(icon_path);
- return icon;
- }
- }
- return NULL;
-}
-static void detail_gl_unlink_popup_del(void *data, Evas_Object *obj)
-{
- PH_TRACE;
- ct_detail_person_data *person_info = (ct_detail_person_data *) data;
- p_retm_if(NULL == person_info, "person_info is NULL");
- free(person_info);
-}
-
-static Evas_Object *detail_gl_link_unlink_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- p_retvm_if(NULL == cdetail_d, NULL, "parameter(ct_detail_data) is NULL");
-
- if (0 == strcmp(part, "elm.icon.1"))
- {
- Evas_Object *btn;
-
- btn = ctui_create_btn(obj,
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_LINK_CONTACTS));
- p_retvm_if(NULL == btn, NULL, "ctui_create_btn() return NULL");
- if (!cdetail_d->ug)
- evas_object_smart_callback_add(btn, CLICKED, detail_link_cb,
- cdetail_d);
-
- return btn;
- }
- else if (0 == strcmp(part, "elm.icon.2"))
- {
- Evas_Object *btn;
-
- btn = ctui_create_btn(obj, T_(CT_GET_TEXT_BASE_OP, CTTEXT_UNLINK));
- p_retvm_if(NULL == btn, NULL, "ctui_create_btn() return NULL");
-
- if (cdetail_d->list_contacts
- && 1 < eina_list_count(cdetail_d->list_contacts))
- {
- if (!cdetail_d->ug)
- evas_object_smart_callback_add(btn, CLICKED, detail_unlink_cb,
- cdetail_d);
- }
- else
- elm_object_disabled_set(btn, EINA_TRUE);
- return btn;
- }
- return NULL;
-}
-
-static Evas_Object *detail_gl_util_btn_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- Evas_Object *ret_obj;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- p_retvm_if(NULL == cdetail_d, NULL, "parameter(ct_detail_data) is NULL");
-
- ret_obj = NULL;
- if (0 == strcmp(part, "elm.icon.1") || 0 == strcmp(part, "elm.icon"))
- {
- Evas_Object *btn;
- btn = ctui_create_btn(obj, T_(CT_GET_TEXT_BASE_OP, CTTEXT_ADD_TO_HOME));
- p_retvm_if(NULL == btn, NULL, "ctui_create_btn() return NULL");
- if (!cdetail_d->has_number)
- elm_object_disabled_set(btn, EINA_TRUE);
- ret_obj = btn;
- }
- else if (0 == strcmp(part, "elm.icon.2"))
- {
- Evas_Object *btn;
- btn = ctui_create_btn(obj,
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_SEND_NAME_CARD));
- p_retvm_if(NULL == btn, NULL, "ctui_create_btn() return NULL");
- if (!cdetail_d->ug)
- evas_object_smart_callback_add(btn, CLICKED,
- detail_send_name_card_cb, cdetail_d);
-
- ret_obj = btn;
- }
- return ret_obj;
-}
-
-static void detail_gl_website_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char *website;
- contacts_record_h record_website = (contacts_record_h) data;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- int ret;
- service_h service;
-
- p_retm_if(NULL == record_website, "parameter(value) is NULL");
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- contacts_record_get_str_p(record_website, _contacts_url.url, &website);
- if (website && *website)
- {
- ret = service_create(&service);
- p_retm_if(SERVICE_ERROR_NONE != ret, "service_create() Failed(%d)",
- ret);
-
- ret = service_set_operation(service, SERVICE_OPERATION_VIEW);
- p_retm_if(SERVICE_ERROR_NONE != ret,
- "service_set_operation() Failed(%d)", ret);
-
- if (strstr(website, "http"))
- ret = service_set_uri(service, website);
- else
- {
- char *new_url = g_strdup_printf("http://%s", website);
- ret = service_set_uri(service, new_url);
- free(new_url);
- }
- p_retm_if(SERVICE_ERROR_NONE != ret, "service_set_uri() Failed(%d)",
- ret);
-
- ret = service_send_launch_request(service, NULL, NULL);
- p_retm_if(SERVICE_ERROR_NONE != ret,
- "service_send_launch_request() Failed(%d)", ret);
-
- service_destroy(service);
- }
-}
-
-static contacts_record_h detail_find_first_linked_contact(ct_detail_data *detail_d)
-{
- PH_TRACE;
- p_retvm_if(NULL == detail_d, NULL, "detail_d is NULL");
- p_retvm_if(NULL == detail_d->list_contacts, NULL, "detail_d->list_contacts is NULL");
- Eina_List *l = NULL;
- void * v_record = NULL;
- contacts_record_h record = NULL;
-
- EINA_LIST_FOREACH(detail_d->list_contacts, l, v_record)
- {
- record = (contacts_record_h) v_record;
-
- if(!detail_is_display_contact(detail_d, record))
- {
- return record;
- }
- }
- return NULL;
-}
-static char* detail_gl_link_item_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- char buf[PH_TEXT_MAX_LEN + 1];
- int addressbook_id = 0;
- contacts_record_h record = NULL;
- int err = CONTACTS_ERROR_NONE;
- ct_detail_data *detail_d = (ct_detail_data *) data;
- p_retvm_if(NULL == detail_d, NULL, "detail_d is NULL");
-
- record = detail_find_first_linked_contact(detail_d);
- p_retvm_if(NULL == record, NULL, "record is NULL");
-
- if (0 == strcmp(part, "elm.text") || 0 == strcmp(part, "elm.text.1"))
- {
- buf[0] = '\0';
-
- char *display_name = NULL;
- err = contacts_record_get_str_p(record, _contacts_contact.display_name, &display_name);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p() Failed(%d)", err);
-
- if (display_name && *display_name)
- {
- if (detail_d->list_contacts && 2 < eina_list_count(detail_d->list_contacts))
- {
- snprintf(buf, sizeof(buf), "%s + %i", display_name, eina_list_count(detail_d->list_contacts) - 2);
- }
- else
- {
- return strdup(display_name);
- }
- }
- if (*buf)
- {
- return strdup(buf);
- }
- }
- else if (0 == strcmp(part, "elm.text.2"))
- {
-
- buf[0] = '\0';
- contacts_record_get_int(record, _contacts_contact.address_book_id, &(addressbook_id));
- ctui_get_addressbook_name(addressbook_id, buf, sizeof(buf));
- if (*buf)
- return strdup(buf);
- }
- return NULL;
-}
-
-static void detail_gl_unlink_item_list_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int person_id = 0;
- int err = 0;
- int contact_id = 0;
- contacts_record_h record = NULL;
-
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- p_retm_if(NULL == cdetail_d, "evas_object_data_get() return NULL");
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-
- record = detail_find_first_linked_contact(cdetail_d);
- p_retm_if(NULL == record, "record is NULL");
-
- err = contacts_record_get_int(record, _contacts_contact.id, &contact_id);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_int Failed(%d)", err);
-
- err = contacts_person_unlink_contact(cdetail_d->person_id, contact_id, &person_id);
- if (CONTACTS_ERROR_NONE == err)
- {
- phone_show_tickernoti(S_(CT_SYS_POP_SUCCESS));
- ct_detail_refresh_view(cdetail_d);
- elm_object_item_del(cdetail_d->link_item);
- }
- else
- {
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
- }
-}
-
-static void detail_unlink_item_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_detail_data *cdetail_d = (ct_detail_data*) data;
- p_retm_if(NULL == cdetail_d, "cdetail_d is NULL");
- char *person_display_name = NULL;
- char *link_display_name = NULL;
- contacts_record_h record = NULL;
- int err = 0;
-
- record = detail_find_first_linked_contact(cdetail_d);
- p_retm_if(NULL == record, "record is NULL");
-
- err = contacts_record_get_str_p(cdetail_d->person, _contacts_person.display_name, &person_display_name);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p Failed(%d)", err);
-
- err = contacts_record_get_str_p(record, _contacts_contact.display_name, &link_display_name);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_str_p(display_name) Failed(%d)", err);
-
- Evas_Object *popup = elm_popup_add(cdetail_d->navi);
- if (NULL != popup)
- {
- phone_popup_add_button(popup, S_(PH_SYS_SK_OK),detail_gl_unlink_item_list_sel,cdetail_d);
- phone_popup_add_button(popup, S_(PH_SYS_SK_CANCEL),ct_detail_popup_hide_cb,cdetail_d);
-
- char buf[PH_TEXT_MAX_LEN + 1];
- snprintf(buf, sizeof(buf), T_(PH_GET_TEXT_BASIC, PHTEXT_SEPARATE_CONTACTS_FROM), link_display_name, person_display_name);
-
- elm_object_text_set(popup, buf);
-
- elm_object_part_text_set(popup, "title,text", T_(PH_GET_TEXT_BASIC, PHTEXT_SEPARATE_CONTACTS));
- evas_object_show(popup);
- cdetail_d->popup = popup;
- }
-}
-
-static Evas_Object *detail_gl_link_item_content_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- p_retvm_if(NULL == cdetail_d, NULL, "cdetail_d is NULL");
- p_retvm_if(NULL == obj, NULL, "obj is NULL");
- p_retvm_if(NULL == cdetail_d->list_contacts, NULL, "cdetail_d->list_contacts is NULL");
-
- Evas_Object *button = elm_button_add(obj);
- p_retvm_if(NULL == button, NULL, "elm_button_add() return NULL");
- evas_object_propagate_events_set(button, EINA_FALSE);
- if (cdetail_d->list_contacts && 2 < eina_list_count(cdetail_d->list_contacts))
- {
- elm_object_style_set(button, REVEAL_BUTTON);
- evas_object_smart_callback_add(button, CLICKED, detail_link_sel, cdetail_d);
- }
- else
- {
- elm_object_style_set(button, MINUS_BUTTON);
- evas_object_smart_callback_add(button, CLICKED, detail_unlink_item_cb, cdetail_d);
- }
- return button;
-}
-static void detail_delete_link_item_from_genlist_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_detail_person_data *person_info = (ct_detail_person_data *) data;
- p_retm_if(NULL == person_info, "person_info is NULL");
- p_retm_if(NULL == person_info->item, "person_info->item is NULL");
- p_retm_if(NULL == obj, "obj is NULL");
- ct_detail_data *cdetail_d = (ct_detail_data *)evas_object_data_get(obj, "cdetail_d");
- p_retm_if(NULL == cdetail_d, "cdetail_d is NULL");
- cdetail_d->list_unlink = eina_list_append(cdetail_d->list_unlink,(void *) person_info->contact_id);
- elm_object_item_del(person_info->item);
-}
-
-static Evas_Object *detail_gl_link_list_content_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == obj, NULL, "obj is NULL");
- ct_detail_data *cdetail_d = (ct_detail_data *)evas_object_data_get(obj, "cdetail_d");
- p_retvm_if(NULL == cdetail_d, NULL, "cdetail_dreturn NULL");
-
- Evas_Object *button = elm_button_add(obj);
- evas_object_data_set(button, "cdetail_d", cdetail_d);
- p_retvm_if(NULL == button, NULL, "elm_button_add() return NULL");
- evas_object_propagate_events_set(button, EINA_FALSE);
- evas_object_smart_callback_add(button, CLICKED, detail_delete_link_item_from_genlist_cb, data);
- elm_object_style_set(button, MINUS_BUTTON);
- return button;
-}
-
-static char* detail_gl_link_list_sub_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int contact_id = (int) data;
- char *display;
- char buf[PH_TEXT_MAX_LEN];
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record_contact = NULL;
-
- if (0 == strcmp(part, "elm.text"))
- {
- buf[0] = '\0';
-
- err = contacts_db_get_record(_contacts_contact._uri, contact_id,
- &record_contact);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record(%d) Failed(%d)", contact_id, err);
-
- err = contacts_record_get_str_p(record_contact,
- _contacts_contact.display_name, &display);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p(display_name) Failed(%d)", err);
-
- if (display && *display)
- snprintf(buf, sizeof(buf), "%s", display);
-
- err = contacts_record_destroy(record_contact, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- if (*buf)
- return strdup(buf);
- }
- return NULL;
-}
-
-static Evas_Object* detail_gl_link_list_sub_icon_get(void *data,
- Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- int addressbook_id;
- int contact_id = (int) data;
- char *icon_path;
- Evas_Object *icon;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- if (0 == strcmp(part, "elm.icon"))
- {
- err = contacts_db_get_record(_contacts_simple_contact._uri, contact_id,
- &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
-
- err = contacts_record_get_int(record,
- _contacts_simple_contact.address_book_id, &addressbook_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- icon_path = ctui_get_addressbook_icon_path(addressbook_id);
- if (icon_path && *icon_path)
- {
- icon = elm_icon_add(obj);
- p_retvm_if(NULL == icon, NULL, "elm_icon_add() return NULL");
-
- elm_image_file_set(icon, icon_path, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL,
- 1, 1);
- free(icon_path);
- return icon;
- }
- }
- return NULL;
-}
-
-static void detail_group_changed(const char *view_uri, void *data)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
- p_retm_if(NULL == cdetail_d, "parameter(cdetail_d) is NULL");
- elm_genlist_item_update(cdetail_d->group_item);
-}
-
-static void detail_filemanager_status_changed_cb(keynode_t *key, void *data)
-{
- PH_TRACE;
- Elm_Object_Item *item_ringtone = (Elm_Object_Item *) data;
- p_retm_if(NULL == item_ringtone, "parameter(item_ringtone) is NULL");
- elm_genlist_item_update(item_ringtone);
-}
-
-static void detail_view_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int ret;
- int err = CONTACTS_ERROR_NONE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- if (cdetail_d->popup)
- evas_object_del(cdetail_d->popup);
-
- if (cdetail_d->m_Menu)
- evas_object_del(cdetail_d->m_Menu);
-
- if (cdetail_d->genlist)
- evas_object_del(cdetail_d->genlist);
-
- if (cdetail_d->th)
- {
- elm_theme_extension_del(cdetail_d->th, DETAIL_THEME_EDJ);
- elm_theme_free(cdetail_d->th);
- }
-
- ct_detail_delete_namecards(cdetail_d);
-
- err = contacts_db_remove_changed_cb(_contacts_contact._uri,
- ct_detail_contact_changed, cdetail_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
-
- err = contacts_db_remove_changed_cb(_contacts_group._uri,
- detail_group_changed, cdetail_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
-
- ret = vconf_ignore_key_changed(VCONFKEY_FILEMANAGER_DB_STATUS,
- detail_filemanager_status_changed_cb);
- p_warn_if(-1 == ret, "vconf_ignore_key_changed() Failed");
-
- /* if (cdetail_d->updated) { // group member issue when group member update at detail view
- Eina_List *l;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h contact = NULL;
-
- EINA_LIST_FOREACH(cdetail_d->list_contacts, l, contact) {
- // TODO: contacts_db_update_records
- err = contacts_db_update_record(contact);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_update_record() Failed(%d)", err);
- }
- }*/
-
- contacts_record_h record = NULL;
- void *v_record = NULL;
- EINA_LIST_FREE(cdetail_d->list_number, v_record)
- {
- record = (contacts_record_h) v_record;
- if (NULL == record)
- continue;
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy(list_number) Failed(%d)", err);
- }
- cdetail_d->list_number = NULL;
-
- EINA_LIST_FREE(cdetail_d->list_email, v_record)
- {
- record = (contacts_record_h) v_record;
- if (NULL == record)
- continue;
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy(list_email) Failed(%d)", err);
- }
- cdetail_d->list_email = NULL;
-
- EINA_LIST_FREE(cdetail_d->list_postal, v_record)
- {
- record = (contacts_record_h) v_record;
- if (NULL == record)
- continue;
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy(list_postal) Failed(%d)", err);
- }
- cdetail_d->list_postal = NULL;
-
- EINA_LIST_FREE(cdetail_d->list_relationship, v_record)
- {
- record = (contacts_record_h) v_record;
- if (NULL == record)
- continue;
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy(list_relationship) Failed(%d)", err);
- }
- cdetail_d->list_relationship = NULL;
-
- EINA_LIST_FREE(cdetail_d->list_event, v_record)
- {
- record = (contacts_record_h) v_record;
- if (NULL == record)
- continue;
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy(list_event) Failed(%d)", err);
- }
- cdetail_d->list_event = NULL;
-
- EINA_LIST_FREE(cdetail_d->list_messenger, v_record)
- {
- record = (contacts_record_h) v_record;
- if (NULL == record)
- continue;
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy(list_messenger) Failed(%d)", err);
- }
- cdetail_d->list_messenger = NULL;
-
- EINA_LIST_FREE(cdetail_d->list_website, v_record)
- {
- record = (contacts_record_h) v_record;
- if (NULL == record)
- continue;
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy(list_website) Failed(%d)", err);
- }
- cdetail_d->list_website = NULL;
-
- ctui_free_record_list(cdetail_d->list_contacts);
- free(cdetail_d->vcard_path);
- free(cdetail_d->base_ab_name);
-
- evas_object_data_del(cdetail_d->navi, "cdetail_d");
-
- if (cdetail_d->formatter)
- udat_close(cdetail_d->formatter);
-
- if (cdetail_d->child_ug)
- ug_destroy(cdetail_d->child_ug);
- cdetail_d->child_ug = NULL;
-
- cdetail_d->view_destroying = FALSE;
-
- if (cdetail_d->person)
- {
- err = contacts_record_destroy(cdetail_d->person, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- }
-
- if (cdetail_d->has_input)
- cdetail_d->has_detail = false;
- else
- free(cdetail_d);
-
-}
-
-static char *__detail_gl_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- char *str = NULL;
- if (!data)
- return NULL;
-
- str = (char*) data;
- if (0 == strcmp(part, "elm.text"))
- {
-
- return SAFE_STRDUP(str);
- }
- return NULL;
-}
-
-static inline void detail_create_itcs()
-{
- PH_TRACE;
- detail_itcs[DETAIL_ITC_NUMBER].func.text_get =
- ct_detail_gl_number_label_get;
- detail_itcs[DETAIL_ITC_EMAIL].func.text_get = ct_detail_gl_email_label_get;
- detail_itcs[DETAIL_ITC_URL].func.text_get = detail_gl_url_label_get;
-
- detail_itcs[DETAIL_ITC_NUMBER_DEFAULT].func.text_get =
- ct_detail_gl_number_label_get;
-
- detail_itcs[DETAIL_ITC_MESSENGER].func.text_get =
- detail_gl_messenger_label_get;
- detail_itcs[DETAIL_ITC_EVENT].func.text_get = detail_gl_event_label_get;
-
- detail_itcs[DETAIL_ITC_ADDRESS].func.text_get = detail_gl_address_label_get;
-
- detail_itcs[DETAIL_ITC_NOTE].func.text_get =
- detail_gl_2text_multiline_label_get;
-
- detail_itcs[DETAIL_ITC_RINGTONE].func.text_get =
- detail_gl_ringtone_label_get;
-
- detail_itcs[DETAIL_ITC_VIBRATION].func.text_get =
- detail_gl_vibration_label_get;
-
- detail_itcs[DETAIL_ITC_GROUP].func.text_get = detail_gl_group_label_get;
-
- detail_itcs[DETAIL_ITC_RELATIONSHIP].func.text_get =
- detail_gl_relationship_label_get;
-
- detail_itcs[DETAIL_ITC_NUM_UTIL_BTN].func.content_get =
- ct_detail_gl_number_util_icon_get;
-
- detail_itcs[DETAIL_ITC_UTIL_BTN].func.content_get =
- detail_gl_util_btn_icon_get;
-
- detail_itcs[DETAIL_ITC_UTIL_1BTN].func.content_get =
- detail_gl_util_btn_icon_get;
-
- detail_itcs[DETAIL_ITC_ADDRBOOK].func.text_get =
- detail_gl_address_book_label_get;
-
- detail_itcs[DETAIL_ITC_LINK_UNLINK].func.content_get =
- detail_gl_link_unlink_icon_get;
-
- detail_itcs[DETAIL_ITC_UNLINK_POPUP].func.text_get =
- detail_gl_unlink_popup_label_get;
- detail_itcs[DETAIL_ITC_UNLINK_POPUP].func.content_get =
- detail_gl_unlink_popup_icon_get;
- detail_itcs[DETAIL_ITC_UNLINK_POPUP].func.del = detail_gl_unlink_popup_del;
-
- detail_itcs[DETAIL_ITC_EDIT_POPUP].func.text_get =
- detail_gl_unlink_popup_label_get;
- detail_itcs[DETAIL_ITC_EDIT_POPUP].func.content_get =
- detail_gl_unlink_popup_icon_get;
- detail_itcs[DETAIL_ITC_EDIT_POPUP].func.del = detail_gl_unlink_popup_del;
-
- detail_itcs[DETAIL_ITC_LINK_ITEM].func.text_get =
- detail_gl_link_item_label_get;
- detail_itcs[DETAIL_ITC_LINK_ITEM].func.content_get =
- detail_gl_link_item_content_get;
-
- detail_itcs[DETAIL_ITC_LINK_LIST].func.text_get =
- detail_gl_unlink_popup_label_get;
- detail_itcs[DETAIL_ITC_LINK_LIST].func.content_get =
- detail_gl_link_list_content_get;
- detail_itcs[DETAIL_ITC_LINK_LIST].func.del = detail_gl_unlink_popup_del;
-
- detail_itcs[DETAIL_ITC_LINK_LIST_SUB].func.text_get =
- detail_gl_link_list_sub_label_get;
- detail_itcs[DETAIL_ITC_LINK_LIST_SUB].func.content_get =
- detail_gl_link_list_sub_icon_get;
-
- detail_itcs[DETAIL_ITC_FIELD_TITLE].func.text_get =
- detail_gl_title_label_get;
- detail_itcs[DETAIL_ITC_TITLE].func.text_get = detail_gl_title_label_get;
-
- detail_itcs[DETAIL_ITC_BASEINFO_1TEXT_1ICON].func.text_get =
- ct_detail_gl_baseinfo_label_get;
- detail_itcs[DETAIL_ITC_BASEINFO_1TEXT_1ICON].func.content_get =
- ct_detail_gl_baseinfo_icon_get;
-
- detail_itcs[DETAIL_ITC_BASEINFO_2TEXT_1ICON].func.text_get =
- ct_detail_gl_baseinfo_label_get;
- detail_itcs[DETAIL_ITC_BASEINFO_2TEXT_1ICON].func.content_get =
- ct_detail_gl_baseinfo_icon_get;
-
- detail_itcs[DETAIL_ITC_BASEINFO_3TEXT_1ICON].func.text_get =
- ct_detail_gl_baseinfo_label_get;
- detail_itcs[DETAIL_ITC_BASEINFO_3TEXT_1ICON].func.content_get =
- ct_detail_gl_baseinfo_icon_get;
-
- detail_itcs[DETAIL_ITC_BASEINFO_1TEXT_2ICON].func.text_get =
- ct_detail_gl_baseinfo_label_get;
- detail_itcs[DETAIL_ITC_BASEINFO_1TEXT_2ICON].func.content_get =
- ct_detail_gl_baseinfo_icon_get;
-
- detail_itcs[DETAIL_ITC_BASEINFO_2TEXT_2ICON].func.text_get =
- ct_detail_gl_baseinfo_label_get;
- detail_itcs[DETAIL_ITC_BASEINFO_2TEXT_2ICON].func.content_get =
- ct_detail_gl_baseinfo_icon_get;
-
- detail_itcs[DETAIL_ITC_BASEINFO_3TEXT_2ICON].func.text_get =
- ct_detail_gl_baseinfo_label_get;
- detail_itcs[DETAIL_ITC_BASEINFO_3TEXT_2ICON].func.content_get =
- ct_detail_gl_baseinfo_icon_get;
-
- detail_itcs[DETAIL_ITC_DEFAULT_NUMBER_SET_POPUP].func.text_get =
- ct_detail_gl_number_label_get;
- detail_itcs[DETAIL_ITC_DEFAULT_EMAIL_SET_POPUP].func.text_get =
- ct_detail_gl_email_label_get;
-
- detail_itcs[DETAIL_ITC_EMAIL_DEFAULT].func.text_get =
- ct_detail_gl_email_label_get;
-
- detail_itcs[DETAIL_ITC_DEFAULT_NAME_POPUP].func.text_get =
- __detail_gl_label_get;
-}
-
-static void detail_fill_list(Evas_Object *genlist, Elm_Genlist_Item_Class *itc,
- Eina_List *list, Evas_Smart_Cb func)
-{
- PH_TRACE;
- Eina_List *cursor;
- void *v_record = NULL;
- Elm_Object_Item * item;
-
- EINA_LIST_FOREACH(list, cursor, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- item = elm_genlist_item_append(genlist, itc, record, NULL,
- ELM_GENLIST_ITEM_NONE, func, record);
-
- if (NULL == func)
- elm_genlist_item_select_mode_set(item,
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- }
-}
-
-static void detail_fill_email_list(Evas_Object *genlist, Eina_List *list,
- Evas_Smart_Cb func, int default_email_id)
-{
- PH_TRACE;
- Eina_List *cursor;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_email = NULL;
- int email_id;
-
- if (eina_list_count(list) < 2 && default_email_id > 0)
- return;
-
- EINA_LIST_FOREACH(list, cursor, v_record_email)
- {
- contacts_record_h record_email = (contacts_record_h) v_record_email;
- err = contacts_record_get_int(record_email, _contacts_email.id,
- &email_id);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if (default_email_id != 0 && default_email_id == email_id)
- continue;
- elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_EMAIL],
- record_email, NULL, ELM_GENLIST_ITEM_NONE, func, record_email);
- }
-}
-
-static void detail_fill_number_list(Evas_Object *genlist, Eina_List *list,
- Evas_Smart_Cb func, int default_num_id)
-{
- PH_TRACE;
- Eina_List *cursor;
- int err = CONTACTS_ERROR_NONE;
- int number_id;
- void *v_record_number = NULL;
-
- if (eina_list_count(list) < 2 && default_num_id > 0)
- return;
-
- ctui_genlist_append_separator_20px_with_line(genlist);
-
- EINA_LIST_FOREACH(list, cursor, v_record_number)
- {
- contacts_record_h record_number = (contacts_record_h) v_record_number;
- err = contacts_record_get_int(record_number, _contacts_number.id,
- &number_id);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if ((default_num_id != 0) && (number_id == default_num_id))
- continue;
-
- elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_NUMBER],
- record_number, NULL, ELM_GENLIST_ITEM_NONE, func,
- record_number);
- }
-}
-
-static void detail_gl_link_list_exp(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- Eina_List *l;
- void *v_record_temp = NULL;
- Evas_Object *genlist = obj;
- Elm_Object_Item *it_parent = (Elm_Object_Item *) event_info;
- Elm_Object_Item * item;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- EINA_LIST_FOREACH(cdetail_d->list_contacts, l, v_record_temp)
- {
- contacts_record_h record_temp = (contacts_record_h) v_record_temp;
- int contact_id;
- err = contacts_record_get_int(record_temp, _contacts_contact.id,
- &contact_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- item = elm_genlist_item_append(genlist,
- &detail_itcs[DETAIL_ITC_LINK_LIST_SUB], (void *) contact_id,
- it_parent, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_NONE);
- }
-}
-
-static void detail_gl_link_list_con(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- elm_genlist_item_subitems_clear(item);
-}
-
-static void __detail_baseinfo_item_update(ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- cdetail_d->base_item = cdetail_d->base_info_item;
- elm_genlist_item_update(cdetail_d->base_item);
-}
-
-static void __detail_set_default_name(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = (contacts_record_h) data;
- ct_detail_data *cdetail_d;
- int contact_id;
-
- p_retm_if(NULL == record, "parameter(record) is NULL");
-
- cdetail_d = (ct_detail_data *) evas_object_data_get(obj, "cdetail_d");
- p_retm_if(NULL == cdetail_d, "evas_object_data_get(record) return NULL");
-
- err = contacts_record_get_int(record, _contacts_contact.id, &contact_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_person_set_default_property(
- CONTACTS_PERSON_PROPERTY_NAME_CONTACT, cdetail_d->person_id,
- contact_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_person_set_default_property() Failed(%d)", err);
-
- err = contacts_record_destroy(cdetail_d->person, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy(list_event) Failed(%d)", err);
-
- err = contacts_db_get_record(_contacts_person._uri, cdetail_d->person_id,
- &(cdetail_d->person));
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)",
- err);
-
- __detail_baseinfo_item_update(cdetail_d);
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-}
-
-static void __detail_select_person_name_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *popup;
- Evas_Object *genlist;
- Evas_Object *btn;
- char *person_name;
- char *contact_name;
- int err = CONTACTS_ERROR_NONE;
- void *v_record = NULL;
- Eina_List *l;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- if (2 > eina_list_count(cdetail_d->list_contacts))
- return;
-
- if (cdetail_d->popup)
- evas_object_del(cdetail_d->popup);
-
- popup = elm_popup_add(cdetail_d->navi);
- p_retm_if(NULL == popup, "elm_popup_add() return NULL");
- elm_object_style_set(popup, "liststyle");
-
- btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_POP_CLOSE));
- elm_object_part_content_set(popup, BUTTON1, btn);
- elm_object_style_set(btn, "popup_button/default");
- evas_object_smart_callback_add(btn, CLICKED, ct_detail_popup_hide_cb,
- cdetail_d);
-
- elm_object_part_text_set(popup, "title,text", "Set default name");
- evas_object_show(popup);
- cdetail_d->popup = popup;
-
- genlist = elm_genlist_add(popup);
- p_retm_if(NULL == genlist, "elm_genlist_add() return NULL");
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_data_set(genlist, "cdetail_d", cdetail_d);
-
- err = contacts_record_get_str_p(cdetail_d->person,
- _contacts_person.display_name, &person_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- EINA_LIST_FOREACH(cdetail_d->list_contacts, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- err = contacts_record_get_str_p(record, _contacts_contact.display_name,
- &contact_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str() Failed(%d)", err);
-
- if (strcmp(contact_name, person_name) != 0)
- {
- elm_genlist_item_append(genlist,
- &detail_itcs[DETAIL_ITC_DEFAULT_NAME_POPUP], contact_name,
- NULL, ELM_GENLIST_ITEM_NONE, __detail_set_default_name,
- record);
- }
- }
-
- evas_object_show(genlist);
- elm_object_content_set(popup, genlist);
-
- elm_genlist_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
-}
-
-Elm_Genlist_Item_Class* ct_detail_get_baseinfo_item_class(
- ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- int cnt;
- char *img;
- char *str_main;
- char *first = NULL;
- char *last = NULL;
- char str_sub1[CT_EDITFIELD_MAX_CHAR * 3 + 1] = { 0, };
- char str_sub2[CT_EDITFIELD_MAX_CHAR * 4 + 1] = { 0, };
- int err = CONTACTS_ERROR_NONE;
-
- str_main = NULL;
- if (cdetail_d->person)
- {
- err = contacts_record_get_str_p(cdetail_d->person,
- _contacts_person.display_name, &str_main);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- }
- else if (cdetail_d->contact)
- {
- contacts_record_h record_name;
- err = contacts_record_get_str_p(cdetail_d->contact,
- _contacts_contact.display_name, &str_main);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- if (NULL == str_main)
- {
- err = contacts_record_get_child_record_at_p(cdetail_d->contact,
- _contacts_contact.name, 0, &record_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_child_record_at_p() Failed(%d)", err);
- err = contacts_record_get_str_p(record_name, _contacts_name.first,
- &first);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- PH_DBG("first %s", first);
- if (strlen(first) > CT_EDITFIELD_MAX_CHAR)
- {
- first[CT_EDITFIELD_MAX_CHAR] = '\0';
- }
-
- err = contacts_record_get_str_p(record_name, _contacts_name.last,
- &last);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- PH_DBG("last %s", last);
- if (strlen(last) > CT_EDITFIELD_MAX_CHAR)
- {
- last[CT_EDITFIELD_MAX_CHAR] = '\0';
- }
- }
- }
-
- str_sub1[0] = '\0';
- ct_detail_person_get_extra_name(cdetail_d->list_contacts, cdetail_d->person,
- str_sub1, sizeof(str_sub1));
- if (strlen(str_sub1) > CT_EDITFIELD_MAX_CHAR * 3)
- str_sub1[CT_EDITFIELD_MAX_CHAR * 2 + 2] = '\0';
-
- str_sub2[0] = '\0';
- ct_detail_person_get_company_str(cdetail_d->list_contacts, str_sub2,
- sizeof(str_sub2));
- if (strlen(str_sub2) > CT_EDITFIELD_MAX_CHAR * 4)
- str_sub2[CT_EDITFIELD_MAX_CHAR * 3 + 4] = '\0';
-
- img = NULL;
- if (cdetail_d->person)
- {
- err = contacts_record_get_str_p(cdetail_d->person,
- _contacts_person.image_thumbnail_path, &img);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- }
- else if (cdetail_d->contact)
- {
- err = contacts_record_get_str_p(cdetail_d->contact,
- _contacts_contact.image_thumbnail_path, &img);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- }
-
- cnt = 0;
- if (str_main && *str_main)
- cnt++;
- if ((first && *first) || (last && *last))
- cnt++;
- if (*str_sub1)
- cnt++;
- if (*str_sub2)
- cnt++;
- if (img && *img)
- cnt += 10;
-
- switch (cnt)
- {
- case 1:
- return &detail_itcs[DETAIL_ITC_BASEINFO_1TEXT_1ICON];
- case 2:
- return &detail_itcs[DETAIL_ITC_BASEINFO_2TEXT_1ICON];
- case 3:
- return &detail_itcs[DETAIL_ITC_BASEINFO_3TEXT_1ICON];
- case 11:
- return &detail_itcs[DETAIL_ITC_BASEINFO_1TEXT_2ICON];
- case 12:
- return &detail_itcs[DETAIL_ITC_BASEINFO_2TEXT_2ICON];
- case 13:
- return &detail_itcs[DETAIL_ITC_BASEINFO_3TEXT_2ICON];
- default:
- if (10 <= cnt)
- return &detail_itcs[DETAIL_ITC_BASEINFO_1TEXT_2ICON];
- else
- return &detail_itcs[DETAIL_ITC_BASEINFO_1TEXT_1ICON];
- }
-}
-
-static void __detail_gl_realized(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d;
-
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- Elm_Genlist_Item_Class *item_class;
- p_retm_if(NULL == item, "parameter(item) is NULL");
-
- cdetail_d = (ct_detail_data *) elm_object_item_data_get(item);
- item_class = (Elm_Genlist_Item_Class *) elm_genlist_item_item_class_get(
- item);
- p_retm_if(NULL == item_class, "parameter(item_class) is NULL");
-
- if (item_class == &detail_itcs[DETAIL_ITC_GROUP])
- elm_object_item_signal_emit(item, "elm,state,top", "");
- else if (item_class == &detail_itcs[DETAIL_ITC_RINGTONE])
- {
- if (!ct_detail_person_get_readonly(cdetail_d->list_contacts)
- && !cdetail_d->vcard_path) //check if group field exists.
- elm_object_item_signal_emit(item, "elm,state,center", "");
- else
- elm_object_item_signal_emit(item, "elm,state,top", "");
- }
- else if (item_class == &detail_itcs[DETAIL_ITC_VIBRATION])
- elm_object_item_signal_emit(item, "elm,state,bottom", "");
-}
-
-API Evas_Object* ctui_detail_genlist_update(ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- int ret;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *genlist;
- Evas_Object *layout;
- int default_num_id = 0;
- int default_email_id = 0;
- bool need_separator;
-
- Evas_Smart_Cb num_func = ct_detail_gl_number_sel;
- Evas_Smart_Cb email_func = ct_detail_gl_email_sel;
- contacts_record_h default_email_record = NULL;
- contacts_record_h default_number_record = NULL;
-
- layout = elm_object_part_content_get(cdetail_d->layout, "contents");
-
-// Create genlist
- if (NULL == cdetail_d->genlist)
- {
- genlist = elm_genlist_add(layout);
- cdetail_d->genlist = genlist;
- evas_object_event_callback_add(genlist, EVAS_CALLBACK_MOUSE_UP,
- ct_detail_mouseup, cdetail_d);
- evas_object_data_set(genlist, "cdetail_d", cdetail_d);
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-
- evas_object_smart_callback_add(genlist, "expanded",
- detail_gl_link_list_exp, cdetail_d);
- evas_object_smart_callback_add(genlist, "contracted",
- detail_gl_link_list_con, NULL);
- elm_object_theme_set(genlist, cdetail_d->th);
- }
- else
- {
- genlist = cdetail_d->genlist;
- elm_genlist_clear(genlist);
-
- ret = vconf_ignore_key_changed(VCONFKEY_FILEMANAGER_DB_STATUS,
- detail_filemanager_status_changed_cb);
- p_warn_if(-1 == ret, "vconf_ignore_key_changed() Failed");
- }
- ctui_genlist_append_separator_20px(genlist);
-
- cdetail_d->base_item = elm_genlist_item_append(genlist,
- ct_detail_get_baseinfo_item_class(cdetail_d), cdetail_d, NULL,
- ELM_GENLIST_ITEM_NONE, __detail_select_person_name_cb, cdetail_d);
- cdetail_d->base_info_item = cdetail_d->base_item;
-
- cdetail_d->list_number = ctui_person_get_number_list(
- cdetail_d->list_contacts);
- err = phone_cts_get_default_number(cdetail_d->person_id,
- &default_number_record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_default_number() Failed(%d)", err);
- }
-
- if (CONTACTS_ERROR_NONE == err && default_number_record)
- {
- err = contacts_record_get_int(default_number_record,
- _contacts_number.id, &default_num_id);
-
- elm_genlist_item_append(genlist,
- &detail_itcs[DETAIL_ITC_NUMBER_DEFAULT], default_number_record,
- NULL, ELM_GENLIST_ITEM_NONE, NULL, default_number_record);
-
- cdetail_d->number_util_item = elm_genlist_item_append(genlist,
- &detail_itcs[DETAIL_ITC_NUM_UTIL_BTN], default_number_record,
- NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- }
- detail_fill_number_list(genlist, cdetail_d->list_number, num_func,
- default_num_id);
- if (default_num_id)
- cdetail_d->has_number = true;
-//check block number info
-
-// email list
- cdetail_d->list_email = ctui_person_get_email_list(
- cdetail_d->list_contacts);
- err = phone_cts_get_default_email(cdetail_d->person_id,
- &default_email_record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_default_email() Failed(%d)", err);
-
- if (CONTACTS_ERROR_NONE == err && default_email_record)
- {
- ctui_genlist_append_separator_20px_with_line(genlist);
- elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_FIELD_TITLE],
- T_(CT_GET_TEXT_BASIC ,CTTEXT_EMAIL), NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- err = contacts_record_get_int(default_email_record, _contacts_email.id,
- &default_email_id);
- elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_EMAIL],
- default_email_record, NULL, ELM_GENLIST_ITEM_NONE, email_func,
- default_email_record);
- }
- detail_fill_email_list(genlist, cdetail_d->list_email, email_func,
- default_email_id);
-
-// POSTAL list
- cdetail_d->list_postal = ct_detail_person_get_postal_list(
- cdetail_d->list_contacts);
- if (cdetail_d->list_postal)
- {
- ctui_genlist_append_separator_20px_with_line(genlist);
- elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_FIELD_TITLE],
- T_(CT_GET_TEXT_BASIC ,CTTEXT_POSTAL_ADDRESS), NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- detail_fill_list(genlist, &detail_itcs[DETAIL_ITC_ADDRESS],
- cdetail_d->list_postal, NULL);
- }
-
- evas_object_smart_callback_add(genlist, "realized", __detail_gl_realized,
- NULL);
-
-// instant messenger list
- cdetail_d->list_messenger = ct_detail_person_get_messenger_list(
- cdetail_d->list_contacts);
- if (cdetail_d->list_messenger)
- elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_TITLE],
- T_(CT_GET_TEXT_BASIC ,CTTEXT_INSTANT_MESSENGER), NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- detail_fill_list(genlist, &detail_itcs[DETAIL_ITC_MESSENGER],
- cdetail_d->list_messenger, detail_gl_messenger_sel);
-
- need_separator = true;
-
-// website
- cdetail_d->list_website = ct_detail_person_get_website_list(
- cdetail_d->list_contacts);
- if (cdetail_d->list_website)
- {
- need_separator = false;
- ctui_genlist_append_separator_20px_with_line(genlist);
- elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_FIELD_TITLE],
- T_(CT_GET_TEXT_BASIC ,CTTEXT_URL), NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- if (!cdetail_d->ug)
- detail_fill_list(genlist, &detail_itcs[DETAIL_ITC_URL],
- cdetail_d->list_website, detail_gl_website_sel);
- else
- detail_fill_list(genlist, &detail_itcs[DETAIL_ITC_URL],
- cdetail_d->list_website, NULL);
- }
-
-//relationship
- cdetail_d->list_relationship = ct_detail_person_get_relationship_list(
- cdetail_d->list_contacts);
- if (cdetail_d->list_relationship)
- {
- //elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_FIELD_TITLE], T_(CT_GET_TEXT_BASIC ,CTTEXT_RELATIONSHIP),
- // NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- detail_fill_list(genlist, &detail_itcs[DETAIL_ITC_RELATIONSHIP],
- cdetail_d->list_relationship, NULL);
- }
-
-// event list
- cdetail_d->list_event = ct_detail_person_get_event_list(
- cdetail_d->list_contacts);
- if (cdetail_d->list_event && need_separator)
- {
- need_separator = false;
- ctui_genlist_append_separator_20px_with_line(genlist);
- }
- if (cdetail_d->list_event)
- {
- //elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_FIELD_TITLE], T_(CT_GET_TEXT_BASIC ,CTTEXT_EVENT),
- // NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- detail_fill_list(genlist, &detail_itcs[DETAIL_ITC_EVENT],
- cdetail_d->list_event, NULL);
- }
-
-//note list
- cdetail_d->list_note = ct_detail_person_get_note_list(
- cdetail_d->list_contacts);
- if (cdetail_d->list_note && need_separator)
- {
- need_separator = false;
- ctui_genlist_append_separator_20px_with_line(genlist);
- }
- if (cdetail_d->list_note)
- {
- //elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_FIELD_TITLE], T_(CT_GET_TEXT_BASIC ,CTTEXT_NOTE),
- // NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- detail_fill_list(genlist, &detail_itcs[DETAIL_ITC_NOTE],
- cdetail_d->list_note, NULL);
- }
-
- if (cdetail_d->person_id)
- {
- if(cdetail_d->list_contacts && 1 < eina_list_count(cdetail_d->list_contacts))
- {
- cdetail_d->link_item = elm_genlist_item_append(genlist,
- &detail_itcs[DETAIL_ITC_LINK_ITEM], cdetail_d, NULL,
- ELM_GENLIST_ITEM_NONE, detail_link_sel, cdetail_d);
- }
-
- ctui_genlist_append_separator_8px_with_line(genlist);
-
- // group
- if (!ct_detail_person_get_readonly(cdetail_d->list_contacts)
- && !cdetail_d->vcard_path)
- {
- cdetail_d->group_item = elm_genlist_item_append(genlist,
- &detail_itcs[DETAIL_ITC_GROUP], cdetail_d, NULL,
- ELM_GENLIST_ITEM_NONE, detail_group_gl_sel, cdetail_d);
- }
-
- // Ringtone
- cdetail_d->ringtone_item = elm_genlist_item_append(genlist,
- &detail_itcs[DETAIL_ITC_RINGTONE], cdetail_d, NULL,
- ELM_GENLIST_ITEM_NONE, detail_ringtone_gl_sel, cdetail_d);
-
- ret = vconf_notify_key_changed(VCONFKEY_FILEMANAGER_DB_STATUS,
- detail_filemanager_status_changed_cb, cdetail_d->ringtone_item);
- p_warn_if(-1 == ret, "vconf_notify_key_changed() Failed");
-
- // Vibration
- cdetail_d->vibration_item = elm_genlist_item_append(genlist,
- &detail_itcs[DETAIL_ITC_VIBRATION], cdetail_d, NULL,
- ELM_GENLIST_ITEM_NONE, detail_vibration_gl_sel, cdetail_d);
- // Addressbook
- elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_ADDRBOOK],
- cdetail_d, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
- }
-
- return genlist;
-}
-
-static void detail_delete_person_response_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- p_retm_if(NULL == cdetail_d, "parameter(cdetail_d) is NULL");
- p_retm_if(cdetail_d->person_id <= 0, "parameter(person_id) is NULL");
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-
- evas_object_data_set(cdetail_d->navi, "ct_list_update_ui", (void *) 1);
-
- err = contacts_db_delete_record(_contacts_person._uri,
- cdetail_d->person_id);
- if (CONTACTS_ERROR_NONE == err)
- {
- // FIXME : Improve the logic
- err = contacts_db_remove_changed_cb(_contacts_contact._uri,
- ct_detail_contact_changed, cdetail_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
-
- if (cdetail_d->is_shortcut)
- elm_exit();
- else if (NULL == cdetail_d->prev_view_data && cdetail_d->ug)
- ug_destroy_me(cdetail_d->ug);
- else
- elm_naviframe_item_pop_to(cdetail_d->prev_navi_item);
- }
- else
- {
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
- ERR("contacts_db_delete_record() Failed(%d)", err);
- }
-
-}
-
-static void detail_gl_edit_item_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- ct_detail_data *cdetail_d;
- ct_detail_person_data *person_info = (ct_detail_person_data *) data;
-
- cdetail_d = (ct_detail_data *) evas_object_data_get(obj, "cdetail_d");
- p_retm_if(NULL == cdetail_d, "evas_object_data_get() return NULL");
-
- if (cdetail_d->popup)
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-
- err = contacts_db_get_record(_contacts_contact._uri,
- person_info->contact_id, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)",
- err);
-
- ct_input_push_navi_content(cdetail_d, record, person_info->contact_id);
-}
-
-static void detail_edit_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- PH_DBG("##### [TSP_TEST] detail->edit start#####");
-
- ct_detail_data *cdetail_d = static_cast<ct_detail_data*>(data);
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
- ct_detail_menu_hide_cb(cdetail_d, NULL, NULL);
-
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record_contact = NULL;
- int contact_id;
-
- if (1 == eina_list_count(cdetail_d->list_contacts))
- {
- err = contacts_record_clone((contacts_record_h) cdetail_d->list_contacts->data, &record_contact);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_clone() Failed(%d)", err);
-
- err = contacts_record_get_int(record_contact, _contacts_contact.id, &contact_id);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_get_int() Failed(%d)", err);
-
- ct_input_push_navi_content(cdetail_d, record_contact, contact_id);
-
- return;
- }
-
- Evas_Object *popup = elm_popup_add(cdetail_d->navi);
- if (NULL != popup)
- {
- elm_object_style_set(popup, "liststyle");
- elm_object_part_text_set(popup, "title,text", T_(CT_GET_TEXT_BASIC, CTTEXT_LINKED_CONTACTS));
- cdetail_d->popup = popup;
-
- Evas_Object *btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_SK_CANCEL));
- elm_object_part_content_set(popup, BUTTON1, btn);
- elm_object_style_set(btn, "popup_button/default");
- evas_object_smart_callback_add(btn, CLICKED, ct_detail_popup_hide_cb, cdetail_d);
- evas_object_show(popup);
-
- Evas_Object *genlist = elm_genlist_add(popup);
- if (NULL != genlist)
- {
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_data_set(genlist, "cdetail_d", cdetail_d);
-
- Eina_List *l;
- void *v_record_contact = (void *) record_contact;
- EINA_LIST_FOREACH(cdetail_d->list_contacts, l, v_record_contact)
- {
- record_contact = (contacts_record_h) v_record_contact;
- err = contacts_record_get_int(record_contact, _contacts_contact.id, &contact_id);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_get_int() Failed(%d)", err);
-
- int addressbook_id;
- err = contacts_record_get_int(record_contact, _contacts_contact.address_book_id, &addressbook_id);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_get_int() Failed(%d)", err);
-
- contacts_record_h record_addressbook = NULL;
- err = contacts_db_get_record(_contacts_address_book._uri, addressbook_id, &record_addressbook);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_db_get_record() Failed(%d)", err);
-
- int addressbook_mode;
- err = contacts_record_get_int(record_addressbook, _contacts_address_book.mode, &addressbook_mode);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_destroy(record_addressbook, true);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_record_destroy() Failed(%d)", err);
-
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY == addressbook_mode)
- continue;
-
- ct_detail_person_data *person_info = (ct_detail_person_data *) calloc(1, sizeof(ct_detail_person_data));
- if (NULL == person_info)
- {
- ERR("calloc() return NULL");
- break;
- }
- person_info->contact_id = contact_id;
- person_info->addressbook_id = addressbook_id;
-
- Elm_Object_Item *item = elm_genlist_item_append(genlist, &detail_itcs[DETAIL_ITC_EDIT_POPUP], person_info, NULL, ELM_GENLIST_ITEM_NONE, detail_gl_edit_item_sel, person_info);
-
- person_info->item = item;
- }
-
- evas_object_show(genlist);
- elm_object_content_set(popup, genlist);
- }
- else
- {
- ERR("detail_edit_cb() Failed: %s", "elm_genlist_add() return NULL");
- }
- }
- else
- {
- ERR("detail_edit_cb() Failed: %s", "elm_popup_add() return NULL");
- }
- }
-}
-
-static void detail_delete_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_detail_data *cdetail_d = static_cast<ct_detail_data*>(data);
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
- ct_detail_menu_hide_cb(cdetail_d, NULL, NULL);
-
- if (cdetail_d->list_contacts && 1 < eina_list_count(cdetail_d->list_contacts))
- phone_create_confirm_popup(&cdetail_d->popup, cdetail_d->win, T_(CT_GET_TEXT_BASE_OP, CTTEXT_ALL_LINKED_CONTACTS_WILL_BE_DELETED), detail_delete_person_response_cb, cdetail_d);
- else
- phone_create_confirm_popup(&cdetail_d->popup, cdetail_d->win, S_(PH_SYS_POP_DELETE_Q), detail_delete_person_response_cb, cdetail_d);
- }
-}
-
-static void detail_history_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Elm_Theme *th;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- ct_history_data *chistory_d = (ct_history_data *) calloc(1,
- sizeof(ct_history_data));
- p_retm_if(NULL == chistory_d, "Fail to calloc ct_history_data");
-
- ct_detail_menu_hide_cb(cdetail_d, NULL, NULL);
-
- chistory_d->win = cdetail_d->win;
- chistory_d->navi = cdetail_d->navi;
- chistory_d->person_id = cdetail_d->person_id;
- chistory_d->formatter = cdetail_d->formatter;
- chistory_d->view_mode = DETAIL_VIEW_MODE_HISTORY;
-
- th = elm_theme_new();
- elm_theme_ref_set(th, NULL);
- elm_theme_extension_add(th, DETAIL_THEME_EDJ);
- chistory_d->th = th;
-
- ct_detail_history_create_itcs();
- phone_detail_log_generate_date_format(chistory_d->hformatter);
-
- if (cdetail_d->popup)
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
-
- if (!chistory_d->list)
- ct_detail_history_load_data(chistory_d);
-
- ct_detail_history_fill_layout(chistory_d);
-}
-
-static char* detail_get_addressbook_icon_path(int addressbook_id)
-{
- PH_TRACE;
- int ret;
- int account_id;
- char *icon_path;
- account_h account;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- err = contacts_db_get_record(_contacts_address_book._uri, addressbook_id,
- &record);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_db_get_record() Failed(%d)", err);
-
- err = contacts_record_get_int(record, _contacts_address_book.account_id,
- &account_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- return NULL;
- }
- account = NULL;
- ret = account_create(&account);
- p_retvm_if(ACCOUNT_ERROR_NONE != ret, false, "account_create() Failed(%d)",
- ret);
-
- ret = account_query_account_by_account_id(account_id, &account);
- if (ACCOUNT_ERROR_NONE != ret)
- {
- ERR("account_query_account_by_account_id() Failed(%d)", ret);
- account_destroy(account);
- account_disconnect();
- return NULL;
- }
- p_retvm_if(ACCOUNT_ERROR_NONE != ret, NULL,
- "account_query_account_by_account_id() Failed(%d)", ret);
-
- ret = account_get_icon_path(account, &icon_path);
- if (ACCOUNT_ERROR_NONE != ret)
- {
- ERR("account_get_icon_path() Failed(%d)", ret);
- account_destroy(account);
- account_disconnect();
- return NULL;
- }
- account_destroy(account);
-
- return icon_path;
-}
-
-static void detail_init_account_data(ct_detail_data *cdetail_d,
- ct_activity_data *cactivity_d)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- int i = 0;
- void *v_addressbook_id = NULL;
- Eina_List *l = NULL;
- ct_ab_map acc_types[CT_MAX_ADDRBOOK];
- char *addressbook_ids = NULL;
- Eina_List *addressbook_id_list;
- int ret;
-
- err = contacts_record_get_str(cdetail_d->person,
- _contacts_person.addressbook_ids, &addressbook_ids);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str() Failed(%d)", err);
- addressbook_id_list = ctui_get_addressbook_id_list(addressbook_ids, " ");
-
- ret = account_connect();
- p_retm_if(ACCOUNT_ERROR_NONE != ret, "account_connect() Failed(%d)", ret);
-
- EINA_LIST_FOREACH(addressbook_id_list, l, v_addressbook_id)
- {
- int addressbook_id = (int) v_addressbook_id;
- acc_types[i].icon_path = detail_get_addressbook_icon_path(
- addressbook_id);
- acc_types[i].id = addressbook_id;
- i++;
- if (i == sizeof(acc_types) / sizeof(*acc_types))
- break;
- }
- cactivity_d->acc_cnt = i;
- cactivity_d->acc_types = (ct_ab_map *) realloc(cactivity_d->acc_types,
- i * sizeof(ct_ab_map));
- p_retm_if(NULL == cactivity_d->acc_types, "realloc() return NULL");
-
- memcpy(cactivity_d->acc_types, acc_types, i * sizeof(ct_ab_map));
- ret = account_disconnect();
- p_warn_if(ACCOUNT_ERROR_NONE != ret, "account_disconnect() Failed(%d)",
- ret);
-}
-
-static void detail_activity_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_detail_data *cdetail_d = static_cast<ct_detail_data*>(data);
- Elm_Theme *th;
-
- ct_activity_data *cactivity_d = (ct_activity_data *) calloc(1, sizeof(ct_activity_data));
- if (NULL != cactivity_d)
- {
- cactivity_d->win = cdetail_d->win;
- cactivity_d->navi = cdetail_d->navi;
- cactivity_d->person_id = cdetail_d->person_id;
- cactivity_d->formatter = cdetail_d->formatter;
-
- th = elm_theme_new();
- elm_theme_ref_set(th, NULL);
- elm_theme_extension_add(th, DETAIL_THEME_EDJ);
- cactivity_d->th = th;
-
- ct_detail_activity_create_itcs();
- phone_detail_log_generate_date_format(cactivity_d->hformatter);
-
- ct_detail_popup_hide_cb(cdetail_d, NULL, NULL);
- ct_detail_menu_hide_cb(cdetail_d, NULL, NULL);
-
- detail_init_account_data(cdetail_d, cactivity_d);
- if (!cactivity_d->list)
- ct_detail_activity_load_data(cactivity_d);
-
- ct_detail_activity_fill_layout(cactivity_d);
- }
- else
- {
- ERR("detail_activity_clicked_cb() Failed: %s", "Fail to calloc ct_activity_data");
- }
- }
-}
-
-static bool detail_contact_has_some_data(ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- if( (eina_list_count(cdetail_d->list_number) > 0
- || eina_list_count(cdetail_d->list_email) > 0
- || eina_list_count(cdetail_d->list_postal) > 0
- || eina_list_count(cdetail_d->list_relationship) > 0
- || eina_list_count(cdetail_d->list_event) > 0
- || eina_list_count(cdetail_d->list_messenger) > 0
- || eina_list_count(cdetail_d->list_website) > 0
- || eina_list_count(cdetail_d->list_nickname) > 0
- || eina_list_count(cdetail_d->list_note) > 0
- ))
- {
- return true;
- }
- return false;
-}
-
-static void detail_more_btn_clicked_cb(void *data)
-{
- PH_TRACE;
- assert(data);
- const unsigned max_linked_contacts = 10;
- if (NULL != data)
- {
- ct_detail_data *cdetail_d = static_cast<ct_detail_data*>(data);
-
- ct_detail_popup_hide_cb(data, NULL, NULL);
- ct_detail_menu_hide_cb(data, NULL, NULL);
-
- cdetail_d->m_Menu = elm_ctxpopup_add(cdetail_d->navi);
- if (NULL != cdetail_d->m_Menu)
- {
- int rotate = (int) evas_object_data_get(cdetail_d->navi, PHONE_ROTATE);
- if (0 == rotate || 180 == rotate)
- elm_ctxpopup_direction_priority_set(cdetail_d->m_Menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_LEFT, ELM_CTXPOPUP_DIRECTION_RIGHT);
-
- evas_object_smart_callback_add(cdetail_d->m_Menu, "dismissed", ct_detail_menu_hide_cb, cdetail_d);
-
- int err = CONTACTS_ERROR_NONE;
- contacts_list_h list_history = NULL;
- unsigned int count;
- err = phone_cts_get_list(_contacts_person_phone_log._uri, _contacts_person_phone_log.person_id, cdetail_d->person_id, &list_history);
- if (CONTACTS_ERROR_NONE == err)
- {
- contacts_list_get_count(list_history, &count);
-
- if (CONTACTS_ERROR_NONE == err && 0 < count)
- elm_ctxpopup_item_append(cdetail_d->m_Menu, T_(CT_GET_TEXT_BASIC, CTTEXT_HISTORY), NULL, detail_history_clicked_cb, cdetail_d);
-
- contacts_list_h list_activity = NULL;
- err = phone_cts_get_list(_contacts_contact_activity._uri, _contacts_contact_activity.person_id, cdetail_d->person_id, &list_activity);
- if (CONTACTS_ERROR_NONE == err)
- {
- contacts_list_get_count(list_activity, &count);
-
- if (CONTACTS_ERROR_NONE == err && 0 < count)
- elm_ctxpopup_item_append(cdetail_d->m_Menu, T_(CT_GET_TEXT_BASIC, CTTEXT_ACTIVITIES), NULL, detail_activity_clicked_cb, cdetail_d);
-
- //Delete
- elm_ctxpopup_item_append(cdetail_d->m_Menu, S_(PH_SYS_SK_DELETE), NULL, detail_delete_cb, cdetail_d);
-
- //Edit
- if (!ct_detail_person_get_readonly(cdetail_d->list_contacts))
- {
- elm_ctxpopup_item_append(cdetail_d->m_Menu, S_(PH_SYS_SK_EDIT), NULL, detail_edit_cb, cdetail_d);
- }
-
- if(detail_contact_has_some_data(cdetail_d))
- {
- //Link
- if (eina_list_count(cdetail_d->list_contacts) < max_linked_contacts)
- {
- elm_ctxpopup_item_append(cdetail_d->m_Menu, T_(CT_GET_TEXT_BASE_OP, CTTEXT_LINK_CONTACTS), NULL, detail_link_cb, cdetail_d);
- }
-
- //Unlink
- if (1 < eina_list_count(cdetail_d->list_contacts))
- {
-
- elm_ctxpopup_item_append(cdetail_d->m_Menu, T_(CT_GET_TEXT_BASE_OP, CTTEXT_UNLINK), NULL, detail_unlink_cb, cdetail_d);
- }
-
- if(0 < eina_list_count(cdetail_d->list_number))
- {
- //Block
- elm_ctxpopup_item_append(cdetail_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_EDIT_BLOCK_CONTACT), NULL, block_contact_cb, cdetail_d);
- }
-
- //Default Number
- if (eina_list_count(cdetail_d->list_number) > 1)
- {
- elm_ctxpopup_item_append(cdetail_d->m_Menu, T_(CT_GET_TEXT_BASE_OP, CTTEXT_SET_DEFAULT_NUMBER), NULL, __detail_click_default_number, cdetail_d);
- }
-
- //Default Email
- if (eina_list_count(cdetail_d->list_email) > 1)
- {
- elm_ctxpopup_item_append(cdetail_d->m_Menu, T_(CT_GET_TEXT_BASE_OP, CTTEXT_SET_DEFAULT_EMAIL), NULL, __detail_click_default_email, cdetail_d);
- }
-
- //Send namecard
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY != cdetail_d->base_ab_mode)
- {
- elm_ctxpopup_item_append(cdetail_d->m_Menu, T_(CT_GET_TEXT_BASE_OP, CTTEXT_SEND_NAME_CARD), NULL, detail_send_name_card_cb, cdetail_d);
- }
-
- //Send contact as text
- elm_ctxpopup_item_append(cdetail_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_SEND_CONTACTC_AS_TEXT), NULL, __detail_click_send_contact_as_text, cdetail_d);
- }
-
- int x, y, w, h;
- evas_object_geometry_get(cdetail_d->navi, &x, &y, &w, &h);
- evas_object_move(cdetail_d->m_Menu, 0, y + h);
- evas_object_show(cdetail_d->m_Menu);
- }
- else
- {
- ERR("phone_cts_get_list(list_activity) Failed(%d)", err);
- }
- }
- else
- {
- ERR("phone_cts_get_list(list_activity) Failed(%d)", err);
- }
- }
- else
- {
- ERR("detail_more_btn_clicked_cb() failed: %s", "elm_ctxpopup_add() return NULL");
- }
- }
-}
-
-void ct_detail_set_navi(ct_detail_data *cdetail_d, int mode)
-{
- PH_TRACE;
- Evas_Object *toolbar_button = NULL;
-
- p_retm_if(NULL == cdetail_d, "cdetail_d is NULL");
- cdetail_d->view_mode = mode;
- p_retm_if(NULL == cdetail_d->navi_item, "navi item is NULL");
-
- phone_navi_item_reset(cdetail_d->navi_item, cdetail_d);
-
- switch (mode)
- {
- case DETAIL_VIEW_MODE_INFO:
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY != cdetail_d->base_ab_mode)
- {
- cdetail_d->menu_cb = detail_more_btn_clicked_cb;
- }
- break;
- case DETAIL_VIEW_MODE_VCARD:
- toolbar_button = phone_create_toolbar_btn(cdetail_d->layout,
- S_(PH_SYS_OPT_ADD_TO_CONTACTS), detail_edit_cb,
- cdetail_d);
- elm_object_part_content_set(cdetail_d->layout,
- "toolbar", toolbar_button);
- break;
- case DETAIL_VIEW_MODE_GAL:
- break;
- default:
- break;
- }
-}
-
-Evas_Object* ct_detail_create_content(ct_detail_data *cdetail_d)
-{
- PH_TRACE;
- Elm_Theme *th;
- Evas_Object *bg;
- Evas_Object *base;
- Evas_Object *layout;
- Evas_Object *genlist;
- int err = CONTACTS_ERROR_NONE;
-
- th = elm_theme_new();
- elm_theme_ref_set(th, NULL);
- elm_theme_extension_add(th, DETAIL_THEME_EDJ);
- cdetail_d->th = th;
-
- if (cdetail_d->person_id)
- {
- err = contacts_db_get_current_version(
- &(cdetail_d->view_create_version));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_current_version() Failed(%d)", err);
-
- err = contacts_db_get_record(_contacts_person._uri,
- cdetail_d->person_id, &(cdetail_d->person));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
-
- cdetail_d->list_contacts = ctui_person_get_contact_list(
- cdetail_d->person_id);
-
- err = contacts_db_add_changed_cb(_contacts_contact._uri,
- ct_detail_contact_changed, cdetail_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_add_changed_cb() Failed(%d)", err);
-
- err = contacts_db_add_changed_cb(_contacts_group._uri,
- detail_group_changed, cdetail_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_add_changed_cb() Failed(%d)", err);
- }
- else if (cdetail_d->contact && NULL == cdetail_d->list_contacts)
- {
- cdetail_d->list_contacts = eina_list_append(cdetail_d->list_contacts,
- cdetail_d->contact);
- }
-
- detail_create_itcs();
- cdetail_d->formatter = phone_init_time_formatter();
-
- base = elm_layout_add(cdetail_d->navi);
- p_retvm_if(NULL == base, NULL, "elm_layout_add() return NULL");
- elm_layout_file_set(base, SELECTION_INFO_EDJ, "selectioninfo_layout");
- layout = phone_create_base_layout(base, false);
- elm_object_part_content_set(base, "contents", layout);
- cdetail_d->layout = base;
- bg = phone_create_bg(layout);
- if (NULL == bg)
- {
- ERR("phone_create_bg() return NULL");
- evas_object_del(cdetail_d->layout);
- return NULL;
- }
- elm_object_style_set(bg, "group_list");
- phone_detail_log_init_time_format();
- genlist = ctui_detail_genlist_update(cdetail_d);
- elm_object_part_content_set(layout, "elm.swallow.content", genlist);
-
- evas_object_data_set(cdetail_d->navi, "cdetail_d", cdetail_d);
- evas_object_event_callback_add(cdetail_d->layout, EVAS_CALLBACK_DEL,
- detail_view_delete_cb, cdetail_d);
- cdetail_d->has_detail = true;
-
- return cdetail_d->layout;
-}
diff --git a/lib/details/ct-detail-view.h b/lib/details/ct-detail-view.h
deleted file mode 100755
index 7ecfa85..0000000
--- a/lib/details/ct-detail-view.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CONTACTS_DETAIL_VIEW_H__
-#define __CONTACTS_DETAIL_VIEW_H__
-
-/**
- * UI-part of module managing contacts-details.
- */
-
-enum
-{
- DETAIL_VIEW_MODE_INFO = 0,
- DETAIL_VIEW_MODE_HISTORY,
- DETAIL_VIEW_MODE_ACTIVITY,
- DETAIL_VIEW_MODE_CHECK,
- DETAIL_VIEW_MODE_VCARD,
- DETAIL_VIEW_MODE_GAL,
-};
-
-void ct_detail_set_navi(ct_detail_data *cdetail_d, int mode);
-void ct_detail_gl_number_sel(void *data, Evas_Object *obj, void *event_info);
-void ct_detail_gl_email_sel(void *data, Evas_Object *obj, void *event_info);
-char* ct_detail_gl_number_label_get(void *data, Evas_Object *obj,
- const char *part);
-char* ct_detail_gl_email_label_get(void *data, Evas_Object *obj,
- const char *part);
-
-Evas_Object* ct_detail_create_content(ct_detail_data *cdetail_d);
-Elm_Genlist_Item_Class* ct_detail_get_baseinfo_item_class(
- ct_detail_data *cdetail_d);
-void ct_detail_create_itcs();
-
-#endif //__CONTACTS_DETAIL_VIEW_H__
diff --git a/lib/details/ct-image-viewer.cpp b/lib/details/ct-image-viewer.cpp
deleted file mode 100755
index 86add71..0000000
--- a/lib/details/ct-image-viewer.cpp
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "phone.h"
-#include "ct-image-viewer.h"
-
-typedef struct
-{
- char *image_path;
- int image_id;
- int page_id;
-} ct_image_info;
-
-typedef struct
-{
- Evas_Object *navi;
- Evas_Object *box;
- Evas_Object *layout;
- Evas_Object *scroller;
-
- Evas_Object *btn_set;
-
- ct_person_changed_cb person_changed_cb;
- void *person_changed_cb_data;
-
- int width;
- int height;
- contacts_record_h person;
-
- Eina_List *list_img;
- Eina_List *list_contact;
- int list_img_count;
-} ct_image_viewer_data;
-
-static void __ct_image_rotate_cb(void *data, Evas *e, Evas_Object *obj,
- void *ei);
-
-static void image_viewer_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_image_viewer_data *cimage_viewer_d = (ct_image_viewer_data *) data;
- void *info;
- p_retm_if(NULL == cimage_viewer_d, "parameter(cimage_viewer_d) is NULL");
-
- evas_object_event_callback_del(cimage_viewer_d->layout,
- EVAS_CALLBACK_RESIZE, __ct_image_rotate_cb);
-
- EINA_LIST_FREE(cimage_viewer_d->list_img, info)
- {
- ct_image_info *cimage_info = (ct_image_info *) info;
- free(cimage_info->image_path);
- free(cimage_info);
- }
- free(cimage_viewer_d);
-}
-
-static Eina_List* image_viewer_get_list_image_info(Eina_List *list_contact,
- ct_image_viewer_data *cimage_viewer_d)
-{
- PH_TRACE;
- Eina_List *l;
- Eina_List *list_img_info = NULL;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_contact = NULL;
- contacts_record_h record_defaut_image = NULL;
- char *img = NULL;
- ct_image_info *cimage_info = NULL;
- int default_image_id = 0;
- int person_id = 0;
-
- p_retvm_if(NULL == list_contact, NULL, "parameter(list_contact) is NULL");
-
- if (cimage_viewer_d->person)
- {
- err = contacts_record_get_int(cimage_viewer_d->person,
- _contacts_person.id, &person_id);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_record_get_int() Failed(%d)", err);
- PH_DBG("person id %d", person_id);
-
- err = contacts_person_get_default_property(
- CONTACTS_PERSON_PROPERTY_IMAGE, person_id, &default_image_id);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_person_get_default_property() Failed(%d)", err);
- PH_DBG("default_image_id %d", default_image_id);
-
- err = contacts_db_get_record(_contacts_image._uri, default_image_id,
- &record_defaut_image);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_db_get_record() Failed(%d)", err);
-
- err = contacts_record_get_str_p(record_defaut_image,
- _contacts_image.path, &img);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- PH_DBG("default_image_img %s", img);
-
- cimage_info = (ct_image_info *) calloc(1, sizeof(ct_image_info));
- cimage_info->image_id = default_image_id;
- cimage_info->image_path = strdup(img);
- list_img_info = eina_list_append(list_img_info, cimage_info);
-
- err = contacts_record_destroy(record_defaut_image, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- }
-
- EINA_LIST_FOREACH(list_contact, l, v_record_contact)
- {
- contacts_record_h record_contact = (contacts_record_h) v_record_contact;
- contacts_record_h record_image = NULL;
- int image_id;
- if (NULL == record_contact)
- continue;
-
- err = contacts_record_get_str_p(record_contact,
- _contacts_contact.image_thumbnail_path, &img);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (NULL == img || '\0' == *img)
- continue;
-
- err = contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.image, 0, &record_image);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_child_record_at_p() Failed(%d)", err);
-
- err = contacts_record_get_int(record_image, _contacts_image.id,
- &image_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if (image_id != default_image_id)
- {
- cimage_info = (ct_image_info *) calloc(1, sizeof(ct_image_info));
- cimage_info->image_id = image_id;
- cimage_info->image_path = strdup(img);
- list_img_info = eina_list_append(list_img_info, cimage_info);
- }
- }
-
- return list_img_info;
-}
-
-static void image_viewer_fill_layout(Evas_Object *box, Eina_List *list_img,
- int width, int height)
-{
- PH_TRACE;
- Eina_List *l;
- Evas_Object *img;
- void *info;
- int page = 0;
-
- p_retm_if(NULL == list_img, "Invalid parameter(list_img is NULL)");
-
- EINA_LIST_FOREACH(list_img, l, info)
- {
- ct_image_info *cimage_info = (ct_image_info *) info;
- img = elm_image_add(box);
- p_retm_if(NULL == img, "elm_image_add() return NULL");
-
- elm_image_file_set(img, cimage_info->image_path, NULL);
- evas_object_size_hint_min_set(img, width, height);
- evas_object_size_hint_aspect_set(img, EVAS_ASPECT_CONTROL_HORIZONTAL, 1,
- 1);
-
- elm_box_pack_end(box, img);
-
- cimage_info->page_id = page++;
-
- evas_object_show(img);
- }
-}
-
-static void image_viewer_render_post_cb(void *data, Evas *e, void *even_info)
-{
- PH_TRACE;
- int width;
- int height;
-
- Evas_Object *box;
- Evas_Object *scroller;
- ct_image_viewer_data* cimage_viewer_d = (ct_image_viewer_data *) data;
-
- evas_event_callback_del(e, EVAS_CALLBACK_RENDER_FLUSH_POST,
- image_viewer_render_post_cb);
- evas_object_geometry_get(cimage_viewer_d->layout, NULL, NULL, &width,
- &height);
-
- cimage_viewer_d->width = width;
- cimage_viewer_d->height = height;
-
- scroller = elm_scroller_add(cimage_viewer_d->layout);
- p_retm_if(NULL == scroller, "elm_scroller_add() return NULL");
- cimage_viewer_d->scroller = scroller;
-
- evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_FALSE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_OFF);
-
- elm_object_part_content_set(cimage_viewer_d->layout, "elm.swallow.content",
- scroller);
- elm_scroller_page_size_set(scroller, width, height);
- elm_object_scroll_lock_y_set(scroller, EINA_TRUE);
- evas_object_show(scroller);
-
- box = elm_box_add(scroller);
- p_retm_if(NULL == box, "elm_box_add() return NULL");
- cimage_viewer_d->box = box;
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_box_horizontal_set(box, EINA_TRUE);
- elm_object_content_set(scroller, box);
- evas_object_show(box);
-
- image_viewer_fill_layout(cimage_viewer_d->box, cimage_viewer_d->list_img,
- cimage_viewer_d->width, cimage_viewer_d->height);
-}
-
-static void image_viewer_set_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int h_page = 0;
- int v_page = 0;
- int err = CONTACTS_ERROR_NONE;
- int person_id = 0;
- Eina_List *l;
- ct_image_info *cimage_info = NULL;
- void * info;
- ct_image_viewer_data *cimage_viewer_d = (ct_image_viewer_data *) data;
- p_retm_if(NULL == cimage_viewer_d, "parameter(cimage_viewer_d) is NULL");
-
- elm_scroller_current_page_get(cimage_viewer_d->scroller, &h_page, &v_page);
-
- EINA_LIST_FOREACH(cimage_viewer_d->list_img, l, info)
- {
- cimage_info = (ct_image_info *) info;
- if (cimage_info)
- {
- if (cimage_info->page_id == h_page)
- break;
- }
- else
- ERR("cimage_info is null");
- }
-
- if (cimage_info)
- {
- err = contacts_record_get_int(cimage_viewer_d->person,
- _contacts_person.id, &person_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_person_set_default_property(
- CONTACTS_PERSON_PROPERTY_IMAGE, person_id,
- cimage_info->image_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_person_set_default_property() Failed(%d)", err);
- }
- else
- ERR("cimage_info is null");
-
- elm_naviframe_item_pop(cimage_viewer_d->navi);
-}
-
-static void __ct_image_refresh(ct_image_viewer_data *cimage_viewer_d)
-{
- PH_TRACE;
- Evas_Object *box;
- Evas_Object *scroller;
- int h_page = 0;
- int v_page = 0;
-
- elm_scroller_current_page_get(cimage_viewer_d->scroller, &h_page, &v_page);
-
- evas_object_del(cimage_viewer_d->scroller);
-
- evas_object_geometry_get(cimage_viewer_d->layout, NULL, NULL,
- &cimage_viewer_d->width, &cimage_viewer_d->height);
-
- scroller = elm_scroller_add(cimage_viewer_d->layout);
- p_retm_if(NULL == scroller, "elm_scroller_add() return NULL");
- cimage_viewer_d->scroller = scroller;
-
- evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_FALSE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_OFF);
-
- elm_object_part_content_set(cimage_viewer_d->layout, "elm.swallow.content",
- scroller);
- elm_scroller_page_size_set(scroller, cimage_viewer_d->width,
- cimage_viewer_d->height);
- elm_object_scroll_lock_y_set(scroller, EINA_TRUE);
- evas_object_show(scroller);
-
- box = elm_box_add(scroller);
- p_retm_if(NULL == box, "elm_box_add() return NULL");
- cimage_viewer_d->box = box;
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_box_horizontal_set(box, EINA_TRUE);
- elm_object_content_set(scroller, box);
- evas_object_show(box);
-
- image_viewer_fill_layout(cimage_viewer_d->box, cimage_viewer_d->list_img,
- cimage_viewer_d->width, cimage_viewer_d->height);
-
- elm_scroller_page_bring_in(cimage_viewer_d->scroller, h_page, v_page);
-}
-
-static void __ct_image_rotate_cb(void *data, Evas *e, Evas_Object *obj,
- void *ei)
-{
- PH_TRACE;
- __ct_image_refresh((ct_image_viewer_data *) data);
-}
-
-void ct_image_viewer(Evas_Object *navi, contacts_record_h person,
- Eina_List *list_contact, ct_person_changed_cb person_changed_cb,
- void *person_changed_cb_data)
-{
- PH_TRACE;
- char navi_title[PH_TEXT_MAX_LEN + 1];
-
- Evas_Object *bg;
- Evas_Object *layout;
- Elm_Object_Item *navi_item;
-
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record_contact = NULL;
- ct_image_viewer_data *cimage_viewer_d;
-
- cimage_viewer_d = (ct_image_viewer_data *) calloc(1, sizeof(ct_image_viewer_data));
- p_retm_if(NULL == cimage_viewer_d, "calloc() return NULL");
-
- cimage_viewer_d->navi = navi;
- cimage_viewer_d->person = person;
- cimage_viewer_d->person_changed_cb = person_changed_cb;
- cimage_viewer_d->person_changed_cb_data = person_changed_cb_data;
-
- layout = phone_create_base_layout(navi, EINA_FALSE);
- if (NULL == layout)
- {
- ERR("phone_create_base_layout() return NULL");
- free(cimage_viewer_d);
- return;
- }
- evas_object_show(layout);
- cimage_viewer_d->layout = layout;
-
- bg = phone_create_bg(layout);
- elm_bg_color_set(bg, 0, 0, 0);
- evas_event_callback_add(evas_object_evas_get(layout),
- EVAS_CALLBACK_RENDER_FLUSH_POST, image_viewer_render_post_cb,
- cimage_viewer_d);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL,
- image_viewer_delete_cb, cimage_viewer_d);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_RESIZE,
- __ct_image_rotate_cb, cimage_viewer_d);
-
- cimage_viewer_d->list_img = image_viewer_get_list_image_info(list_contact,
- cimage_viewer_d);
-
- cimage_viewer_d->list_img_count = eina_list_count(
- cimage_viewer_d->list_img);
- if (1 == cimage_viewer_d->list_img_count)
- {
- char *display_name;
- if (person)
- {
- err = contacts_record_get_str_p(person,
- _contacts_person.display_name, &display_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (NULL != display_name)
- snprintf(navi_title, sizeof(navi_title), "%s", display_name);
- else
- snprintf(navi_title, sizeof(navi_title), "%s",
- T_(CT_GET_TEXT_ERR, CTTEXT_NONAME));
- }
- else
- {
- record_contact = (contacts_record_h) list_contact->data;
- err = contacts_record_get_str_p(record_contact,
- _contacts_contact.display_name, &display_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (NULL != display_name)
- snprintf(navi_title, sizeof(navi_title), "%s", display_name);
- else
- snprintf(navi_title, sizeof(navi_title), "%s",
- T_(CT_GET_TEXT_ERR, CTTEXT_NONAME));
- }
- }
- else
- snprintf(navi_title, sizeof(navi_title), "%s",
- T_(CT_GET_TEXT_BASIC, CTTEXT_SET_DEFAULT));
-
- navi_item = elm_naviframe_item_push(navi, navi_title, NULL, NULL, layout,
- NULL);
-
- if (cimage_viewer_d->list_img_count > 1)
- {
- cimage_viewer_d->btn_set = phone_create_toolbar_btn(navi,
- S_(CT_SYS_SK_SET), image_viewer_set_cb, cimage_viewer_d);
- elm_object_item_part_content_set(navi_item, "toolbar",
- cimage_viewer_d->btn_set);
- }
-}
diff --git a/lib/details/ct-image-viewer.h b/lib/details/ct-image-viewer.h
deleted file mode 100755
index fe41a38..0000000
--- a/lib/details/ct-image-viewer.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CT_DETAIL_IMAGE_VIEWER_H__
-#define __CT_DETAIL_IMAGE_VIEWER_H__
-
-#include "phone-common.h"
-
-void ct_image_viewer(Evas_Object *navi, contacts_record_h person,
- Eina_List *list_contact, ct_person_changed_cb person_changed_cb,
- void *person_changed_cb_data);
-#endif /* __CT_DETAIL_IMAGE_VIEWER_H__ */
-
diff --git a/lib/details/ct-input-change-name.cpp b/lib/details/ct-input-change-name.cpp
deleted file mode 100755
index e575700..0000000
--- a/lib/details/ct-input-change-name.cpp
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "phone.h"
-#include "ct-input-change-name.h"
-
-typedef struct
-{
- Evas_Object *navi;
- Elm_Object_Item *name_item;
- Elm_Object_Item *navi_it;
- Evas_Object *done_button;
- ct_change_name_cb change_name_cb;
- void *cb_data;
-} ct_input_change_name_data;
-
-static void input_change_name_save_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char *name = NULL;
- ct_input_change_name_data *changename_d = (ct_input_change_name_data *) data;
- Evas_Object *editfield = NULL;
- Evas_Object *entry = NULL;
-
- p_retm_if(NULL == changename_d, "parameter(changename_d) is NULL");
-
- if (changename_d->change_name_cb)
- {
- editfield = elm_object_item_part_content_get(changename_d->name_item,
- "elm.icon");
- p_retm_if(NULL == changename_d,
- "elm_object_part_content_get() return NULL");
- entry = elm_object_part_content_get(editfield, "elm.swallow.content");
- p_retm_if(NULL == changename_d,
- "elm_object_part_content_get() return NULL");
-
- name = ctui_entry_markup_to_utf8(elm_entry_entry_get(entry));
- changename_d->change_name_cb(changename_d->cb_data, name);
- free(name);
- }
- elm_naviframe_item_pop(changename_d->navi);
-}
-
-static void input_change_name_entry_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char *text;
- ct_input_change_name_data *changename_d = (ct_input_change_name_data *) data;
-
- text = ctui_entry_markup_to_utf8(elm_entry_entry_get(obj));
- p_retm_if(NULL == text, "ctui_entry_markup_to_utf8() return NULL");
-
- if (*text)
- {
- elm_object_disabled_set(changename_d->done_button, EINA_FALSE);
- }
- else
- {
- elm_object_disabled_set(changename_d->done_button, EINA_TRUE);
- }
-
- free(text);
-}
-
-static Evas_Object* input_change_name_gl_content_get(void *data,
- Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- static Elm_Entry_Filter_Limit_Size limit_filter_data;
- Evas_Object *edit_field = NULL;
- Evas_Object *entry = NULL;
- ct_input_change_name_data *changename_d = (ct_input_change_name_data *) data;
-
- edit_field = ctui_create_editfield(obj, NULL, NULL, false);
-
- entry = elm_object_part_content_get(edit_field, "elm.swallow.content");
- elm_object_signal_emit(edit_field, "elm,state,guidetext,hide", "elm");
-
- limit_filter_data.max_char_count = CT_EDITFIELD_MAX_CHAR;
- elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size,
- &limit_filter_data);
- evas_object_smart_callback_add(entry, "changed",
- input_change_name_entry_changed_cb, changename_d);
- evas_object_smart_callback_add(entry, "preedit,changed",
- input_change_name_entry_changed_cb, changename_d);
-
- evas_object_show(entry);
- elm_object_focus_set(entry, EINA_TRUE);
- elm_entry_cursor_end_set(entry);
-
- return edit_field;
-}
-
-static void __input_change_name_item_gl_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- p_retm_if(NULL == item, "parameter(item) is NULL");
- elm_genlist_item_selected_set(item, EINA_FALSE);
-}
-
-static Elm_Genlist_Item_Class itc_change_name =
-{
- 0, 0, 1,
- "dialogue/1icon",
- NULL, NULL,
- {
- NULL,
- input_change_name_gl_content_get,
- NULL, NULL,
- },
-};
-
-static Evas_Object* input_change_name_create_view(
- ct_input_change_name_data *changename_d)
-{
- PH_TRACE;
- Evas_Object *base, *bg;
- Evas_Object *genlist;
-
- base = phone_create_base_layout(changename_d->navi, false);
- bg = phone_create_bg(base);
- if (NULL == bg)
- {
- ERR("phone_create_bg() return NULL");
- evas_object_del(base);
- return NULL;
- }
- elm_object_style_set(bg, "group_list");
-
- genlist = elm_genlist_add(base);
- changename_d->name_item = elm_genlist_item_append(genlist, &itc_change_name,
- changename_d, NULL, ELM_GENLIST_ITEM_NONE,
- __input_change_name_item_gl_sel, NULL);
- elm_genlist_item_select_mode_set(changename_d->name_item,
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- elm_object_part_content_set(base, "elm.swallow.content", genlist);
-
- return base;
-}
-
-static void input_change_name_del(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_change_name_data *changename_d = (ct_input_change_name_data *) data;
- free(changename_d);
-}
-
-void ct_input_change_name_view(Evas_Object *navi, ct_change_name_cb cb,
- void *cb_data)
-{
- PH_TRACE;
- Evas_Object *layout;
- ct_input_change_name_data *changename_d;
-
- changename_d = (ct_input_change_name_data *) calloc(1, sizeof(ct_input_change_name_data));
- p_retm_if(NULL == changename_d, "calloc() return NULL");
- changename_d->navi = navi;
- changename_d->change_name_cb = cb;
- changename_d->cb_data = cb_data;
-
- layout = input_change_name_create_view(changename_d);
- if (NULL == layout)
- {
- ERR("input_change_name_create_view() return NULL");
- free(changename_d);
- return;
- }
- evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL,
- input_change_name_del, changename_d);
-
- changename_d->navi_it = elm_naviframe_item_push(navi,
- T_(CT_GET_TEXT_BASIC, CTTEXT_CUSTOM), NULL, NULL, layout,
- NULL);
-
- changename_d->done_button = elm_button_add(navi);
- elm_object_text_set(changename_d->done_button, S_(CT_SYS_SK_DONE));
- evas_object_smart_callback_add(changename_d->done_button, "clicked",
- input_change_name_save_cb, changename_d);
- elm_object_item_part_content_set(changename_d->navi_it, "toolbar",
- changename_d->done_button);
- elm_object_disabled_set(changename_d->done_button, EINA_TRUE);
-}
-
diff --git a/lib/details/ct-input-change-name.h b/lib/details/ct-input-change-name.h
deleted file mode 100755
index 7f5c1ed..0000000
--- a/lib/details/ct-input-change-name.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CT_INPUT_CHANGE_NAME_H__
-#define __CT_INPUT_CHANGE_NAME_H__
-
-#include "phone-common.h"
-
-void ct_input_change_name_view(Evas_Object *navi, ct_change_name_cb cb,
- void *cb_data);
-
-#endif /* __CT_INPUT_CHANGE_NAME_H__ */
-
diff --git a/lib/details/ct-input-num-email.cpp b/lib/details/ct-input-num-email.cpp
deleted file mode 100755
index 1a28c80..0000000
--- a/lib/details/ct-input-num-email.cpp
+++ /dev/null
@@ -1,1327 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "phone.h"
-#include "ct-detail.h"
-#include "ct-detail-utils.h"
-#include "ct-input-utils.h"
-#include "ct-input-view.h"
-
-#include "ct-input-num-email.h"
-#include "ct-input-change-name.h"
-
-static Evas_Object* input_fill_layout_number(ct_input_data *cinput_d,
- contacts_record_h record);
-static Evas_Object* input_fill_layout_email(ct_input_data *cinput_d,
- contacts_record_h record);
-static Evas_Object* input_new_layout_number(ct_input_data *cinput_d);
-static Evas_Object* input_new_layout_email(ct_input_data *cinput_d);
-
-static void input_email_default_reset(ct_input_data *cinput_d);
-
-static void input_email_del(ct_input_data *cinput_d,
- ct_input_typed_data *typed_data)
-{
- PH_TRACE;
- int idx;
- Eina_List *list = NULL;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
- p_retm_if(NULL == typed_data, "parameter(typed_data) is NULL");
-
- err = (contacts_error_e) contacts_record_remove_child_record(cinput_d->contact,
- _contacts_contact.email, typed_data->record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_remove_child_record() Failed(%d)", err);
-
- if (typed_data->ly_content == cinput_d->ly_email_first)
- {
- idx = ct_input_box_idx_get(cinput_d->box, typed_data->ly_content);
- list = elm_box_children_get(cinput_d->box);
- cinput_d->ly_email_first = (Evas_Object *) eina_list_nth(list, idx + 1);
- eina_list_free(list);
- }
-
- if (typed_data->ly_content == cinput_d->ly_email_default)
- input_email_default_reset(cinput_d);
-
- err = (contacts_error_e) contacts_record_destroy(typed_data->record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- elm_box_unpack(cinput_d->box, typed_data->ly_content);
- evas_object_del(typed_data->ly_content);
-}
-
-static void input_email_del_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- ct_input_typed_data *typed_data;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- input_email_del(cinput_d, typed_data);
-
-}
-
-static void input_number_default_reset(ct_input_data *cinput_d)
-{
- PH_TRACE;
- int cnt = 0;
- int idx __attribute__ ((unused));
- Evas_Object *ly_content;
- Eina_List *list;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- ct_input_typed_data *typed_data;
-
- idx = ct_input_box_idx_get(cinput_d->box, cinput_d->ly_number_first);
- list = elm_box_children_get(cinput_d->box);
- ly_content = cinput_d->ly_number_first;
-
- cinput_d->ly_number_default = NULL;
-
- while (ly_content != cinput_d->ly_number_last)
- {
- typed_data = (ct_input_typed_data *) evas_object_data_get(ly_content, "typed_data");
- if (NULL == typed_data)
- {
- ly_content = (Evas_Object *) eina_list_nth(list, ++cnt);
- continue;
- }
-
- err = (contacts_error_e) contacts_record_set_bool(typed_data->record,
- _contacts_number.is_default, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_bool() Failed(%d)", err);
-
- cinput_d->ly_number_default = typed_data->ly_content;
- edje_object_signal_emit(_EDJ(typed_data->ly_content),
- "elm,state,contact,default_number,enabled", "elm");
- break;
- }
- eina_list_free(list);
-}
-
-static void input_email_default_reset(ct_input_data *cinput_d)
-{
- PH_TRACE;
- int cnt = 0;
- int idx __attribute__ ((unused));
- Evas_Object *ly_content;
- Eina_List *list;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- ct_input_typed_data *typed_data;
-
- idx = ct_input_box_idx_get(cinput_d->box, cinput_d->ly_email_first);
- list = elm_box_children_get(cinput_d->box);
- ly_content = cinput_d->ly_email_first;
-
- cinput_d->ly_email_default = NULL;
-
- while (ly_content != cinput_d->ly_email_last)
- {
- typed_data = (ct_input_typed_data *) evas_object_data_get(ly_content, "typed_data");
- if (NULL == typed_data)
- {
- ly_content = (Evas_Object *) eina_list_nth(list, ++cnt);
- continue;
- }
-
- err = (contacts_error_e) contacts_record_set_bool(typed_data->record,
- _contacts_email.is_default, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_bool() Failed(%d)", err);
-
- cinput_d->ly_email_default = typed_data->ly_content;
- edje_object_signal_emit(_EDJ(typed_data->ly_content),
- "elm,state,contact,default_number,enabled", "elm");
-
- break;
- }
- eina_list_free(list);
-}
-
-static void input_number_del(ct_input_data *cinput_d,
- ct_input_typed_data *typed_data)
-{
- PH_TRACE;
- int idx;
- Eina_List *list = NULL;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
- p_retm_if(NULL == typed_data, "parameter(typed_data) is NULL");
-
- err = (contacts_error_e) contacts_record_remove_child_record(cinput_d->contact,
- _contacts_contact.number, typed_data->record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_remove_child_record() Failed(%d)", err);
-
- cinput_d->cnt_num--;
-
- if (typed_data->ly_content == cinput_d->ly_number_first)
- {
- idx = ct_input_box_idx_get(cinput_d->box, typed_data->ly_content);
- list = elm_box_children_get(cinput_d->box);
- cinput_d->ly_number_first = (Evas_Object *) eina_list_nth(list, idx + 1);
- eina_list_free(list);
- }
-
- if (typed_data->ly_content == cinput_d->ly_number_default)
- input_number_default_reset(cinput_d);
-
- err = (contacts_error_e) contacts_record_destroy(typed_data->record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- elm_box_unpack(cinput_d->box, typed_data->ly_content);
- evas_object_del(typed_data->ly_content);
-}
-
-static void input_number_del_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_typed_data *typed_data;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- input_number_del(cinput_d, typed_data);
-
-}
-
-static Evas_Object* input_new_layout_email(ct_input_data *cinput_d)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- Evas_Object *layout;
-
- record = ct_input_new_record_email(cinput_d->contact);
- p_retvm_if(NULL == record, NULL, "ct_input_new_record_email() return NULL");
-
- layout = input_fill_layout_email(cinput_d, record);
- p_retvm_if(NULL == layout, NULL, "input_fill_layout_email() return NULL");
-
- if (NULL == cinput_d->ly_email_first)
- cinput_d->ly_email_first = layout;
- cinput_d->ly_email_last = layout;
-
- return layout;
-}
-
-static void input_number_type_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int type = (int) data;
- int num_type;
- char buf[PH_TEXT_MAX_LEN + 1];
- ct_input_data *cinput_d;
- ct_input_typed_data *typed_data;
- Evas_Object *btn_type;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- cinput_d = (ct_input_data *) evas_object_data_get(obj, "cinput_d");
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- num_type = phone_get_number_type_index(type);
- if (CONTACTS_NUMBER_TYPE_CUSTOM == num_type)
- {
- ct_input_change_name_view(cinput_d->cdetail_d->navi,
- ct_input_custom_type_rename_cb, typed_data);
- evas_object_del(obj);
- return;
- }
-
- err = (contacts_error_e) contacts_record_set_int(typed_data->record, _contacts_number.type,
- num_type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- ctui_get_number_type_str(typed_data->record, num_type, buf, sizeof(buf));
- btn_type = elm_object_part_content_get(typed_data->ly_content,
- "elm.icon.type");
- p_retm_if(NULL == btn_type, "elm_object_part_content_get() return NULL");
- elm_object_text_set(btn_type, buf);
- evas_object_del(obj);
-}
-
-static void input_email_type_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int type = (int) data;
- ct_input_data *cinput_d;
- ct_input_typed_data *typed_data;
- Evas_Object *btn_type;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- cinput_d = (ct_input_data *) evas_object_data_get(obj, "cinput_d");
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- if (CONTACTS_EMAIL_TYPE_CUSTOM == type)
- {
- ct_input_change_name_view(cinput_d->cdetail_d->navi,
- ct_input_custom_type_rename_cb, typed_data);
- evas_object_del(obj);
- return;
- }
-
- err = (contacts_error_e) contacts_record_set_int(typed_data->record, _contacts_email.type,
- type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- btn_type = elm_object_part_content_get(typed_data->ly_content,
- "elm.icon.type");
- p_retm_if(NULL == btn_type, "elm_object_part_content_get() return NULL");
-
- elm_object_text_set(btn_type,
- T_(CT_GET_TEXT_EMAIL_TYPE, ctui_get_email_type_index(type)));
- evas_object_del(obj);
-}
-
-static void input_website_type_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int type = (int) data;
- ct_input_data *cinput_d;
- ct_input_typed_data *typed_data;
- Evas_Object *btn_type;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- cinput_d = (ct_input_data *) evas_object_data_get(obj, "cinput_d");
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- if (CONTACTS_URL_TYPE_CUSTOM == type)
- {
- ct_input_change_name_view(cinput_d->cdetail_d->navi,
- ct_input_custom_type_rename_cb, typed_data);
- evas_object_del(obj);
- return;
- }
-
- err = (contacts_error_e) contacts_record_set_int(typed_data->record, _contacts_url.type, type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- btn_type = elm_object_part_content_get(typed_data->ly_content,
- "elm.icon.type");
- p_retm_if(NULL == btn_type, "elm_object_part_content_get() return NULL");
-
- elm_object_text_set(btn_type,
- T_(CT_GET_TEXT_WEBSITE_TYPE, phone_get_website_type_index(type)));
- evas_object_del(obj);
-}
-
-static void input_messenger_type_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int type = (int) data;
- ct_input_typed_data *typed_data;
- Evas_Object *btn_type;
- ct_input_data *cinput_d;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- cinput_d = (ct_input_data *) evas_object_data_get(obj, "cinput_d");
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- if (CONTACTS_MESSENGER_TYPE_CUSTOM == type)
- {
- ct_input_change_name_view(cinput_d->cdetail_d->navi,
- ct_input_custom_type_rename_cb, typed_data);
- evas_object_del(obj);
- return;
- }
-
- err = (contacts_error_e) contacts_record_set_int(typed_data->record, _contacts_messenger.type,
- type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- btn_type = elm_object_part_content_get(typed_data->ly_content,
- "elm.icon.type");
- p_retm_if(NULL == btn_type, "elm_object_part_content_get() return NULL");
-
- elm_object_text_set(btn_type, T_(CT_GET_TEXT_IM_TYPE, type));
- evas_object_del(obj);
-}
-
-static void input_relationship_type_rename_cb(void *data, char *str)
-{
- PH_TRACE;
- Evas_Object *btn_type;
- ct_input_typed_data *typed_data = (ct_input_typed_data *) data;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- p_retm_if(NULL == typed_data, "parameter(typed_data)");
-
- err = (contacts_error_e) contacts_record_set_str(typed_data->record,
- _contacts_relationship.label, str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- btn_type = elm_object_part_content_get(typed_data->ly_content,
- "elm.icon.type");
- p_retm_if(NULL == btn_type, "elm_object_part_content_get() return NULL");
-
- if (str && *str)
- elm_object_text_set(btn_type, str);
-}
-
-static void input_relationship_type_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int type = (int) data;
- ct_input_typed_data *typed_data;
- Evas_Object *btn_type;
- ct_input_data *cinput_d;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- cinput_d = (ct_input_data *) evas_object_data_get(obj, "cinput_d");
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- if (CONTACTS_RELATIONSHIP_TYPE_CUSTOM == type)
- ct_input_change_name_view(cinput_d->cdetail_d->navi,
- input_relationship_type_rename_cb, typed_data);
-
- err = (contacts_error_e) contacts_record_set_int(typed_data->record,
- _contacts_relationship.type, type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- btn_type = elm_object_part_content_get(typed_data->ly_content,
- "elm.icon.type");
- p_retm_if(NULL == btn_type, "elm_object_part_content_get() return NULL");
-
- elm_object_text_set(btn_type, T_(CT_GET_TEXT_RELATIONSHIP_TYPE, type));
- evas_object_del(obj);
-}
-
-static void input_event_type_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int type = (int) data;
- ct_input_data *cinput_d = NULL;
- ct_input_typed_data *typed_data = NULL;
- Evas_Object *btn_type = NULL;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- cinput_d = (ct_input_data *) evas_object_data_get(obj, "cinput_d");
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- if (CONTACTS_URL_TYPE_CUSTOM == type)
- {
- ct_input_change_name_view(cinput_d->cdetail_d->navi,
- ct_input_custom_type_rename_cb, typed_data);
- evas_object_del(obj);//Deleting popup
- return;
- }
-
- err = (contacts_error_e) contacts_record_set_int(typed_data->record, _contacts_event.type,
- type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- btn_type = elm_object_part_content_get(typed_data->ly_content,
- "elm.icon.type");
- p_retm_if(NULL == btn_type, "elm_object_part_content_get() return NULL");
-
- elm_object_text_set(btn_type, T_(CT_GET_TEXT_EVENT_TYPE, type));
- evas_object_del(obj);
-}
-
-void ct_input_data_type_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int i;
- int type_int;
- Evas_Object *ly_event;
- ct_input_typed_data *typed_data = (ct_input_typed_data *) data;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- p_retm_if(NULL == typed_data, "parameter(typed_data) is NULL");
-
- ct_input_data *cinput_d = (ct_input_data *) evas_object_data_get(obj, "cinput_d");
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- if (cinput_d->popup)
- ct_detail_popup_hide_cb(cinput_d, NULL, NULL);
-
- Evas_Object *popup = elm_ctxpopup_add(cinput_d->cdetail_d->win);
- p_retm_if(NULL == popup, "elm_ctxpopup_add() return NULL");
- cinput_d->popup = popup;
-
- int rotate = (int) evas_object_data_get(cinput_d->cdetail_d->navi, "phone_rotate");
- if (0 == rotate || 180 == rotate)
- elm_ctxpopup_direction_priority_set(popup, ELM_CTXPOPUP_DIRECTION_DOWN,
- ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_LEFT,
- ELM_CTXPOPUP_DIRECTION_RIGHT);
-
- evas_object_smart_callback_add(popup, "dismissed", ct_detail_popup_hide_cb,
- cinput_d);
- evas_object_data_set(popup, "typed_data", typed_data);
- evas_object_data_set(popup, "cinput_d", cinput_d);
-
- if (0 == strcmp(typed_data->view_uri, _contacts_number._uri))
- {
- err = (contacts_error_e) contacts_record_get_int(typed_data->record, _contacts_number.type,
- &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- for (i = CTTEXT_TYPE_MOBILE; i <= CTTEXT_TYPE_OTHER; i++)
- {
- if (type_int == phone_get_number_type_index(i))
- continue;
- elm_ctxpopup_item_append(popup, T_(CT_GET_TEXT_NUM_TYPE, i), NULL,
- input_number_type_changed_cb, (void *) i);
- }
- if (CONTACTS_NUMBER_TYPE_CUSTOM != type_int)
- {
- elm_ctxpopup_item_append(popup,
- T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_CUSTOM), NULL,
- input_number_type_changed_cb, (void *) CTTEXT_TYPE_CUSTOM);
- }
- }
- else if (0 == strcmp(typed_data->view_uri, _contacts_email._uri))
- {
- err = (contacts_error_e) contacts_record_get_int(typed_data->record, _contacts_email.type,
- &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- int temp_type = CONTACTS_EMAIL_TYPE_HOME;
- while (temp_type <= CONTACTS_EMAIL_TYPE_WORK)
- {
- if (type_int == temp_type)
- {
- temp_type = temp_type << 1;
- continue;
- }
- elm_ctxpopup_item_append(popup,
- T_(CT_GET_TEXT_EMAIL_TYPE, ctui_get_email_type_index(temp_type)),
- NULL, input_email_type_changed_cb, (void *) temp_type);
- temp_type = temp_type << 1;
- }
- if (CONTACTS_EMAIL_TYPE_OTHER != type_int)
- {
- elm_ctxpopup_item_append(popup,
- T_(CT_GET_TEXT_EMAIL_TYPE, ctui_get_email_type_index(CONTACTS_EMAIL_TYPE_OTHER)),
- NULL, input_email_type_changed_cb,
- (void *) CONTACTS_EMAIL_TYPE_OTHER);
- }
- if (CONTACTS_EMAIL_TYPE_CUSTOM != type_int)
- {
- elm_ctxpopup_item_append(popup,
- T_(CT_GET_TEXT_EMAIL_TYPE, ctui_get_email_type_index(CONTACTS_EMAIL_TYPE_CUSTOM)),
- NULL, input_email_type_changed_cb,
- (void *) CONTACTS_EMAIL_TYPE_CUSTOM);
- }
- }
- else if (0 == strcmp(typed_data->view_uri, _contacts_url._uri))
- {
- err = (contacts_error_e) contacts_record_get_int(typed_data->record, _contacts_url.type,
- &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- for (i = CONTACTS_URL_TYPE_HOME; i <= CONTACTS_URL_TYPE_WORK; i++)
- {
- if (type_int == i)
- continue;
- elm_ctxpopup_item_append(popup,
- T_(CT_GET_TEXT_WEBSITE_TYPE, phone_get_website_type_index(i)),
- NULL, input_website_type_changed_cb, (void *) i);
- }
- if (CONTACTS_URL_TYPE_CUSTOM != type_int)
- {
- elm_ctxpopup_item_append(popup,
- T_(CT_GET_TEXT_WEBSITE_TYPE, phone_get_website_type_index(CONTACTS_URL_TYPE_CUSTOM)),
- NULL, input_website_type_changed_cb,
- (void *) CONTACTS_URL_TYPE_CUSTOM);
- }
- }
- else if (0 == strcmp(typed_data->view_uri, _contacts_messenger._uri))
- {
- err = (contacts_error_e) contacts_record_get_int(typed_data->record,
- _contacts_messenger.type, &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- for (i = CONTACTS_MESSENGER_TYPE_CUSTOM;
- i <= CONTACTS_MESSENGER_TYPE_SKYPE; i++)
- {
- if (type_int == i)
- continue;
- if (CONTACTS_MESSENGER_TYPE_FACEBOOK == i)
- continue; //Jira issue S1-4557
- elm_ctxpopup_item_append(popup, T_(CT_GET_TEXT_IM_TYPE, i), NULL,
- input_messenger_type_changed_cb, (void *) i);
- }
- if (type_int != CONTACTS_MESSENGER_TYPE_OTHER)
- {
- elm_ctxpopup_item_append(popup,
- T_(CT_GET_TEXT_IM_TYPE, type_int),
- NULL, input_messenger_type_changed_cb,
- (void *) CONTACTS_MESSENGER_TYPE_CUSTOM);
- }
- }
- else if (0 == strcmp(typed_data->view_uri, _contacts_relationship._uri))
- {
- err = (contacts_error_e) contacts_record_get_int(typed_data->record,
- _contacts_relationship.type, &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- for (i = CONTACTS_RELATIONSHIP_TYPE_ASSISTANT;
- i <= CONTACTS_RELATIONSHIP_TYPE_CUSTOM; i++)
- {
- if (type_int == i)
- continue;
- elm_ctxpopup_item_append(popup,
- T_(CT_GET_TEXT_RELATIONSHIP_TYPE, i), NULL,
- input_relationship_type_changed_cb, (void *) i);
- }
- }
-
- else if (0 == strcmp(typed_data->view_uri, _contacts_event._uri))
- {
- err = (contacts_error_e) contacts_record_get_int(typed_data->record, _contacts_event.type,
- &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- int idx = ct_input_box_idx_get(cinput_d->box, cinput_d->ly_event_first);
-
- Eina_List *list = elm_box_children_get(cinput_d->box);
- bool used_birthday = false;
- do
- {
- int type_event;
- ly_event = (Evas_Object *) eina_list_nth(list, idx++);
- ct_input_typed_data *typed_data_event = (ct_input_typed_data *) evas_object_data_get(ly_event, "typed_data");
- err = (contacts_error_e) contacts_record_get_int(typed_data_event->record, _contacts_event.type, &type_event);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_int() Failed(%d)", err);
-
- if (CONTACTS_EVENT_TYPE_BIRTH == type_event)
- {
- used_birthday = true;
- break;
- }
- }
- while (ly_event != cinput_d->ly_event_last);
- eina_list_free(list);
-
- for (i = CONTACTS_EVENT_TYPE_CUSTOM;
- i <= CONTACTS_EVENT_TYPE_ANNIVERSARY; i++)
- {
- if (type_int == i)
- continue;
- else if (i == CONTACTS_EVENT_TYPE_BIRTH && used_birthday)
- continue;
- elm_ctxpopup_item_append(popup, T_(CT_GET_TEXT_EVENT_TYPE, i), NULL,
- input_event_type_changed_cb, (void *) i);
- }
- }
- else
- {
- ERR("Unknown type");
- return;
- }
-
- phone_move_ctxpopup(popup, obj);
- evas_object_show(popup);
-}
-
-static Evas_Object* input_new_layout_number(ct_input_data *cinput_d)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- Evas_Object *layout;
-
- record = ct_input_new_record_number(cinput_d->contact);
- p_retvm_if(NULL == record, NULL, "input_new_number() return NULL");
-
- layout = input_fill_layout_number(cinput_d, record);
- p_retvm_if(NULL == layout, NULL, "input_fill_layout_number() return NULL");
-
- if (NULL == cinput_d->ly_number_first)
- cinput_d->ly_number_first = layout;
- cinput_d->ly_number_last = layout;
-
- return layout;
-}
-
-static inline bool input_num_email_check_dirty_number(char digit)
-{
- PH_TRACE;
- switch (digit)
- {
- case '0' ... '9':
- case 'p':
- case 'w':
- case 'P':
- case 'W':
- case '#':
- case '*':
- case '(':
- case '/':
- case ')':
- case 'N':
- case ',':
- case '.':
- case ';':
- return false;
- case '+': //only first position
- default:
- return true;
- }
-}
-
-static inline int input_check_utf8(char c)
-{
- PH_TRACE;
- if (c < 128)
- return 1;
- else if ((c & (char) 0xe0) == (char) 0xc0)
- return 2;
- else if ((c & (char) 0xf0) == (char) 0xe0)
- return 3;
- else if ((c & (char) 0xf8) == (char) 0xf0)
- return 4;
- else if ((c & (char) 0xfc) == (char) 0xf8)
- return 5;
- else if ((c & (char) 0xfe) == (char) 0xfc)
- return 6;
- else
- return CONTACTS_ERROR_INTERNAL;
-}
-
-static int input_num_email_clean_number(const char *src, char *dest,
- int dest_size)
-{
- PH_TRACE;
- int s_pos = 0, d_pos = 0, char_type;
-
- if (NULL == src)
- ERR("The parameter(src) is NULL");
- else
- {
- if ('+' == src[s_pos])
- dest[d_pos++] = src[s_pos++];
-
- while (src[s_pos] != 0)
- {
- if (d_pos >= dest_size - 2)
- break;
- char_type = input_check_utf8(src[s_pos]);
- if (char_type <= 1)
- {
- if (input_num_email_check_dirty_number(src[s_pos]))
- {
- s_pos++;
- continue;
- }
- dest[d_pos++] = src[s_pos++];
- }
- else
- s_pos += char_type;
- }
- }
-
- dest[d_pos] = 0;
- return d_pos;
-}
-
-static void input_number_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- unsigned int len;
- char *tmp;
- char buf[PH_TEXT_MAX_LEN];
- Evas_Object *btn_minus;
- ct_input_data *cinput_d = (ct_input_data *) data;
- ct_input_typed_data *typed_data;
-
- p_retm_if(NULL == cinput_d, "parameter(ct_input_data) is NULL");
-
- tmp = ctui_entry_markup_to_utf8(elm_entry_entry_get(obj));
- p_retm_if(NULL == tmp, "ctui_entry_markup_to_utf8() return NULL");
- len = input_num_email_clean_number(tmp, buf, sizeof(buf));
-
- if (strlen(tmp) != len)
- {
- ctui_entry_entry_set(obj, buf);
- elm_entry_cursor_end_set(obj);
- phone_show_popup(cinput_d->cdetail_d->win,
- T_(CT_GET_TEXT_ERR, CTTEXT_INVALID_NUMBER), 2.0);
- free(tmp);
- return;
- }
- free(tmp);
- if (0 == len)
- return;
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
- cinput_d->cnt_num++;
-
- if (typed_data->ly_content == cinput_d->ly_number_last)
- {
- btn_minus = elm_button_add(typed_data->ly_content);
- p_retm_if(NULL == btn_minus, "elm_button_add() return NULL");
-
- elm_object_style_set(btn_minus, "minus");
- evas_object_data_set(btn_minus, "typed_data", typed_data);
- elm_object_part_content_set(typed_data->ly_content, "elm.icon.edit",
- btn_minus);
- evas_object_smart_callback_add(btn_minus, "clicked",
- input_number_del_clicked_cb, cinput_d);
-
- p_retm_if(NULL == input_new_layout_number(cinput_d),
- "input_new_layout_number() return NULL");
-
- return;
- }
-}
-
-static void input_email_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- Evas_Object *btn_minus;
- ct_input_typed_data *typed_data;
- const char *tmp;
-
- tmp = elm_entry_entry_get(obj);
- p_retm_if(NULL == tmp || '\0' == tmp[0],
- "elm_entry_entry_get() return NULL");
-
- evas_object_smart_callback_del(obj, "changed", input_email_changed_cb);
- p_retm_if(NULL == cinput_d, "parameter(ct_input_data) is NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- if (typed_data->ly_content == cinput_d->ly_email_last)
- {
- btn_minus = elm_button_add(typed_data->ly_content);
- p_retm_if(NULL == btn_minus, "elm_button_add() return NULL");
-
- elm_object_style_set(btn_minus, "minus");
- evas_object_data_set(btn_minus, "typed_data", typed_data);
- elm_object_part_content_set(typed_data->ly_content, "elm.icon.edit",
- btn_minus);
- evas_object_smart_callback_add(btn_minus, "clicked",
- input_email_del_clicked_cb, cinput_d);
-
- p_retm_if(NULL == input_new_layout_email(cinput_d),
- "input_new_layout_email() return NULL");
- }
-}
-
-static void input_number_unfocused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- assert(obj);
- if (NULL != data && NULL != obj)
- {
- Evas_Object* entry = obj;
- ct_input_typed_data* typed_data = static_cast<ct_input_typed_data*>(evas_object_data_get(entry, "typed_data"));
- if (NULL != typed_data)
- {
- ct_input_data* cinput_d = static_cast<ct_input_data*>(data);
-
- char* input = { 0 };
- input = ctui_entry_markup_to_utf8(elm_entry_entry_get(entry));
- if (NULL != input)
- {
- int errorCode = CONTACTS_ERROR_NONE;
- errorCode = (contacts_error_e) contacts_record_set_str(typed_data->record, _contacts_number.number, input);
- if (CONTACTS_ERROR_NONE == errorCode)
- {
- if (NULL == cinput_d->ly_number_default)
- {
- cinput_d->ly_number_default = typed_data->ly_content;
- edje_object_signal_emit(_EDJ(typed_data->ly_content), "elm,state,contact,default_number,enabled", "elm");
-
- errorCode = (contacts_error_e) contacts_record_set_bool(typed_data->record, _contacts_number.is_default, true);
- if (CONTACTS_ERROR_NONE != errorCode)
- {
- ERR("contacts_record_set_bool() failed(%d)", errorCode);
- }
- }
- }
- else
- {
- ERR("contacts_record_set_str() failed(%d)", errorCode);
- }
- free(input);
- }
- else if (typed_data->ly_content == cinput_d->ly_number_default)
- {
- ERR("%s", "ctui_entry_markup_to_utf8() return NULL");
- edje_object_signal_emit(_EDJ(typed_data->ly_content), "elm,state,contact,default_number,disabled", "elm");
- input_number_default_reset(cinput_d);
- }
- }
- else
- {
- ERR("%s", "evas_object_data_get() return NULL");
- }
- }
-}
-
-static void input_email_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char *input = NULL;
- Evas_Object *entry = obj;
- ct_input_data *cinput_d = (ct_input_data *) data;
- ct_input_typed_data *typed_data;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(entry, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- input = ctui_entry_markup_to_utf8(elm_entry_entry_get(entry));
- p_retm_if(NULL == input, "ctui_entry_markup_to_utf8() return NULL");
-
- err = (contacts_error_e) contacts_record_set_str(typed_data->record, _contacts_email.email,
- input);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() failed(%d)", err);
-
- if (NULL == cinput_d->ly_email_default)
- {
- cinput_d->ly_email_default = typed_data->ly_content;
- edje_object_signal_emit(_EDJ(typed_data->ly_content),
- "elm,state,contact,default_number,enabled", "elm");
-
- err = (contacts_error_e) contacts_record_set_bool(typed_data->record,
- _contacts_email.is_default, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_bool() failed(%d)", err);
- }
-
- free(input);
-}
-
-static Evas_Object *input_number_get_edit_rename(ct_input_data *cinput_d,
- ct_input_typed_data *typed_data)
-{
- PH_TRACE;
- char *val_str;
- Evas_Object *entry;
- Evas_Object *editfield;
- Evas_Object *ly_content = typed_data->ly_content;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- editfield = ct_input_add_editfield(ly_content, NULL,
- T_(CT_GET_TEXT_BASIC, CTTEXT_NUMBER),
- input_number_unfocused_cb, cinput_d);
- p_retvm_if(NULL == editfield, NULL, "ct_input_add_editfield() return NULL");
-
- entry = elm_object_part_content_get(editfield, "elm.swallow.content");
- typed_data->data = entry;
-
- evas_object_data_set(entry, "typed_data", typed_data);
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_PHONENUMBER);
-
- err = (contacts_error_e) contacts_record_get_str_p(typed_data->record, _contacts_number.number,
- &val_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (val_str && *val_str)
- ctui_entry_entry_set(entry, val_str);
- else
- evas_object_smart_callback_add(entry, "changed",
- input_number_changed_cb, cinput_d);
-
- return editfield;
-}
-
-static Evas_Object *input_email_get_edit_rename(ct_input_data *cinput_d,
- ct_input_typed_data *typed_data)
-{
- PH_TRACE;
- char *val_str;
- Evas_Object *entry;
- Evas_Object *editfield;
- Evas_Object *ly_content = typed_data->ly_content;
- contacts_error_e err = CONTACTS_ERROR_NONE;
-
- editfield = ct_input_add_editfield(ly_content, NULL,
- T_(CT_GET_TEXT_BASIC, CTTEXT_EMAIL), input_email_unfocused_cb,
- cinput_d);
- p_retvm_if(NULL == editfield, NULL, "ct_input_add_editfield() return NULL");
-
- entry = elm_object_part_content_get(editfield, "elm.swallow.content");
- typed_data->data = entry;
-
- evas_object_data_set(entry, "typed_data", typed_data);
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_EMAIL);
-
- err = (contacts_error_e) contacts_record_get_str_p(typed_data->record, _contacts_email.email,
- &val_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (val_str && *val_str)
- ctui_entry_entry_set(entry, val_str);
- else
- evas_object_smart_callback_add(entry, "changed", input_email_changed_cb,
- cinput_d);
-
- return editfield;
-}
-
-static Evas_Object* input_fill_layout_number(ct_input_data *cinput_d,
- contacts_record_h record)
-{
- PH_TRACE;
- bool is_default;
- char *val_str;
- int type_int;
- char buf[PH_TEXT_MAX_LEN + 1];
- Evas_Object *ly_content;
- Evas_Object *ef;
- Evas_Object *btn_minus;
- Evas_Object *btn_type = NULL;
- Evas_Object *ico_check;
- Evas_Object *box = cinput_d->box;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- ct_input_typed_data *typed_data;
-
- ly_content = elm_layout_add(box);
- p_retvm_if(NULL == ly_content, NULL,
- "ct_input_create_dg_layout() return NULL");
- elm_layout_file_set(ly_content, CONTACTS_EDJ, "dialogue/1icon.1type.1edit");
- evas_object_size_hint_align_set(ly_content, EVAS_HINT_FILL, 0.0);
-
- evas_object_show(ly_content);
-
- cinput_d->ly_number_base = ly_content;
-
- err = (contacts_error_e) contacts_record_get_bool(record, _contacts_number.is_default,
- &is_default);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_bool() Failed(%d)", err);
-
- if (is_default)
- {
- edje_object_signal_emit(_EDJ(ly_content),
- "elm,state,contact,default_number,enabled", "elm");
- cinput_d->ly_number_default = ly_content;
- }
-
- err = (contacts_error_e) contacts_record_get_int(record, _contacts_number.type, &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- ctui_get_number_type_str(record, type_int, buf, sizeof(buf));
-
- btn_type = elm_button_add(ly_content);
- if (NULL == btn_type)
- {
- ERR("elm_button_add() return NULL");
- evas_object_del(ly_content);
- return NULL;
- }
- elm_object_text_set(btn_type, buf);
- evas_object_data_set(btn_type, "cinput_d", cinput_d);
- elm_object_part_content_set(ly_content, "elm.icon.type", btn_type);
-
- ico_check = elm_icon_add(ly_content);
- if (NULL == ico_check)
- {
- ERR("elm_icon_add() return NULL");
- evas_object_del(ly_content);
- return NULL;
- }
- elm_image_file_set(ico_check, CTUI_IMG_CHECK, NULL);
- evas_object_size_hint_aspect_set(ico_check, EVAS_ASPECT_CONTROL_VERTICAL, 1,
- 1);
- elm_object_part_content_set(ly_content, "elm.icon", ico_check);
-
- typed_data = (ct_input_typed_data *) calloc(1, sizeof(ct_input_typed_data));
- p_retvm_if(NULL == typed_data, NULL, "calloc() return NULL");
- typed_data->record = record;
- typed_data->ly_content = ly_content;
- typed_data->view_uri = _contacts_number._uri;
-
- err = (contacts_error_e) contacts_record_get_str_p(record, _contacts_number.number, &val_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (val_str && *val_str)
- {
- btn_minus = elm_button_add(ly_content);
- if (NULL == btn_minus)
- {
- ERR("elm_button_add() return NULL");
- free(typed_data);
- return NULL;
- }
- elm_object_style_set(btn_minus, "minus");
- evas_object_data_set(btn_minus, "typed_data", typed_data);
- elm_object_part_content_set(ly_content, "elm.icon.edit", btn_minus);
- evas_object_smart_callback_add(btn_minus, "clicked",
- input_number_del_clicked_cb, cinput_d);
- }
-
- ef = input_number_get_edit_rename(cinput_d, typed_data);
- if (NULL == ef)
- {
- ERR("input_number_get_edit_rename() return NULL");
- free(typed_data);
- return NULL;
- }
- elm_object_part_content_set(ly_content, "elm.icon", ef);
- ct_input_add_name_field(ef, cinput_d);
-
- evas_object_smart_callback_add(btn_type, "clicked",
- ct_input_data_type_clicked_cb, typed_data);
- evas_object_event_callback_add(ly_content, EVAS_CALLBACK_DEL,
- ct_input_typed_layout_del_cb, typed_data);
-
- if (cinput_d->ly_number_last)
- elm_box_pack_after(box, ly_content, cinput_d->ly_number_last);
- else
- elm_box_pack_end(box, ly_content);
-
- return ly_content;
-}
-
-void ct_input_fill_layout_numbers(ct_input_data *cinput_d)
-{
- PH_TRACE;
- int index = 0;
- Evas_Object *ly = NULL;
- contacts_record_h record = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(cinput_d->contact,
- _contacts_contact.number, index++, &record))
- {
- ly = input_fill_layout_number(cinput_d, record);
- p_retm_if(NULL == ly, "input_fill_layout_number() return NULL");
-
- cinput_d->cnt_num++;
- if (NULL == cinput_d->ly_number_first)
- cinput_d->ly_number_first = ly;
- }
-
- if (NULL != ly)
- cinput_d->ly_number_last = ly;
-
- p_retm_if(NULL == input_new_layout_number(cinput_d),
- "input_new_layout_number() return NULL");
-}
-
-static Evas_Object* input_fill_layout_email(ct_input_data *cinput_d,
- contacts_record_h record)
-{
- PH_TRACE;
- bool is_default;
- char *val_str;
- char *custom_type;
- int type_int;
- Evas_Object *ly_content, *btn_type;
- Evas_Object *ef;
- Evas_Object *btn_minus;
- Evas_Object *ico_check;
- Evas_Object *box = cinput_d->box;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- ct_input_typed_data *typed_data;
-
- ly_content = elm_layout_add(box);
- p_retvm_if(NULL == ly_content, NULL, "elm_layout_add() return NULL");
- elm_layout_file_set(ly_content, CONTACTS_EDJ, "dialogue/1icon.1type.1edit");
- evas_object_size_hint_align_set(ly_content, EVAS_HINT_FILL, 0.0);
- evas_object_show(ly_content);
-
- err = (contacts_error_e) contacts_record_get_bool(record, _contacts_email.is_default,
- &is_default);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_bool() Failed(%d)", err);
-
- if (is_default)
- {
- edje_object_signal_emit(_EDJ(ly_content),
- "elm,state,contact,default_number,enabled", "elm");
- cinput_d->ly_email_default = ly_content;
- }
-
- err = (contacts_error_e) contacts_record_get_int(record, _contacts_email.type, &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- btn_type = elm_button_add(ly_content);
- if (NULL == btn_type)
- {
- ERR("elm_button_add() return NULL");
- evas_object_del(ly_content);
- return NULL;
- }
- custom_type =
- (char *) T_(CT_GET_TEXT_EMAIL_TYPE, ctui_get_email_type_index(type_int));
- if (CONTACTS_EMAIL_TYPE_CUSTOM == type_int)
- {
- err = (contacts_error_e) contacts_record_get_str_p(record, _contacts_email.label,
- &custom_type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (NULL == custom_type || '\0' == custom_type[0])
- custom_type =
- (char *) T_(CT_GET_TEXT_EMAIL_TYPE, ctui_get_email_type_index(CONTACTS_EMAIL_TYPE_OTHER));
- }
-
- elm_object_text_set(btn_type, custom_type);
- evas_object_data_set(btn_type, "cinput_d", cinput_d);
- elm_object_part_content_set(ly_content, "elm.icon.type", btn_type);
-
- ico_check = elm_icon_add(ly_content);
- if (NULL == ico_check)
- {
- ERR("elm_icon_add() return NULL");
- evas_object_del(ly_content);
- return NULL;
- }
- elm_image_file_set(ico_check, CTUI_IMG_CHECK, NULL);
- evas_object_size_hint_aspect_set(ico_check, EVAS_ASPECT_CONTROL_VERTICAL, 1,
- 1);
- elm_object_part_content_set(ly_content, "elm.icon", ico_check);
-
- typed_data = (ct_input_typed_data *) calloc(1, sizeof(ct_input_typed_data));
- p_retvm_if(NULL == typed_data, NULL, "calloc() return NULL");
- typed_data->record = record;
- typed_data->ly_content = ly_content;
- typed_data->view_uri = _contacts_email._uri;
- evas_object_data_set(ly_content, "typed_data", typed_data);
-
- err = (contacts_error_e) contacts_record_get_str_p(record, _contacts_email.email, &val_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- if (val_str && *val_str)
- {
- btn_minus = elm_button_add(ly_content);
- if (NULL == btn_minus)
- {
- ERR("elm_button_add() return NULL");
- evas_object_del(ly_content);
- free(typed_data);
- return NULL;
- }
- elm_object_style_set(btn_minus, "minus");
- evas_object_data_set(btn_minus, "typed_data", typed_data);
- elm_object_part_content_set(ly_content, "elm.icon.edit", btn_minus);
- evas_object_smart_callback_add(btn_minus, "clicked",
- input_email_del_clicked_cb, cinput_d);
- }
-
- ef = input_email_get_edit_rename(cinput_d, typed_data);
- if (NULL == ef)
- {
- ERR("input_email_get_edit_rename() return NULL");
- evas_object_del(ly_content);
- free(typed_data);
- return NULL;
- }
- elm_object_part_content_set(ly_content, "elm.icon", ef);
-
- evas_object_event_callback_add(ly_content, EVAS_CALLBACK_DEL,
- ct_input_typed_layout_del_cb, typed_data);
- evas_object_smart_callback_add(btn_type, "clicked",
- ct_input_data_type_clicked_cb, typed_data);
-
- if (cinput_d->ly_email_last)
- elm_box_pack_after(box, ly_content, cinput_d->ly_email_last);
- else
- elm_box_pack_end(box, ly_content);
-
- ct_input_add_name_field(ef, cinput_d);
-
- return ly_content;
-}
-
-int ct_input_fill_layout_emails(ct_input_data *cinput_d)
-{
- PH_TRACE;
- int cnt = 0;
- int index = 0;
- Evas_Object *ly;
- contacts_record_h record = NULL;
-
- ly = NULL;
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(cinput_d->contact,
- _contacts_contact.email, index++, &record))
- {
- ly = input_fill_layout_email(cinput_d, record);
- p_retvm_if(NULL == ly, cnt, "input_fill_layout_email() return NULL");
-
- if (NULL == cinput_d->ly_email_first)
- cinput_d->ly_email_first = ly;
- cnt++;
- }
-
- if (NULL != ly)
- cinput_d->ly_email_last = ly;
-
- p_retvm_if(NULL == input_new_layout_email(cinput_d), cnt,
- "input_new_layout_email() return NULL");
-
- return cnt;
-}
-
diff --git a/lib/details/ct-input-num-email.h b/lib/details/ct-input-num-email.h
deleted file mode 100755
index e4ca743..0000000
--- a/lib/details/ct-input-num-email.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CONTACTS_INPUT_VIEW_EXT_H__
-#define __CONTACTS_INPUT_VIEW_EXT_H__
-
-void ct_input_fill_layout_numbers(ct_input_data *i_data);
-int ct_input_fill_layout_emails(ct_input_data *i_data);
-void ct_input_data_type_clicked_cb(void *data, Evas_Object *obj,
- void *event_info);
-
-#endif //__CONTACTS_INPUT_VIEW_EXT_H__
diff --git a/lib/details/ct-input-utils.cpp b/lib/details/ct-input-utils.cpp
deleted file mode 100755
index 6023741..0000000
--- a/lib/details/ct-input-utils.cpp
+++ /dev/null
@@ -1,1762 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <regex.h>
-#include <errno.h>
-#include <aul.h>
-#include <ui-gadget-module.h>
-#include <vconf.h>
-#include <vconf-keys.h>
-#include <fcntl.h>
-#include <app_service.h>
-#include <assert.h>
-
-#include "phone.h"
-#include "ct-list.h"
-#include "ct-detail.h"
-#include "ct-detail-utils.h"
-#include "ct-detail-vibration.h"
-#include "ct-input-utils.h"
-#include "ct-input-view.h"
-
-#define CT_INPUT_BASE_ADDRBOOK UGDATAIDR"/base_addrbook"
-
-/**
- * @brief This function gets count of events related to @a contactRecord
- * @param contactRecord Record attached to _contacts_contact table
- * @return Count of events related to contact on success, otherwise 0
- */
-static unsigned int getCountOfEvents(contacts_record_h contactRecord)
-{
- unsigned int count(0);
-
- if(contactRecord)
- {
- if(CONTACTS_ERROR_NONE != contacts_record_get_child_record_count(
- contactRecord, _contacts_contact.event, &count))
- {
- count = 0;
- }
- }
-
- return count;
-}
-
-static void input_set_base_ab(char* ab_name)
-{
- PH_TRACE;
- int fd;
- char buf[PH_TEXT_MAX_LEN + 1] = { 0 };
- p_ret_if(NULL == ab_name);
- fd = open(CT_INPUT_BASE_ADDRBOOK, O_WRONLY | O_CREAT | O_TRUNC, 0644);
- p_retm_if(fd < 0, "Open(%s) Failed", CT_INPUT_BASE_ADDRBOOK);
- snprintf(buf, sizeof(buf), "%s", ab_name);
- if (-1 == write(fd, buf, strlen(buf)))
- ERR("write()... Failed(%s)", strerror(errno));
- close(fd);
-}
-
-int ct_input_get_base_ab(void)
-{
- PH_TRACE;
- int fd = 0;
- int size = 0;
- char buf[PH_TEXT_MAX_LEN + 1] = { 0, };
-
- fd = open(CT_INPUT_BASE_ADDRBOOK, O_RDONLY);
- p_retvm_if(fd < 0, 0, "Open(%s) Failed", CT_INPUT_BASE_ADDRBOOK);
- size = read(fd, buf, sizeof(buf));
- close(fd);
-
- if (size > 0)
- return ctui_get_addressbook_id(buf);
- else
- return 0;
-}
-
-static void input_change_photo(ct_input_data *cinput_d, const char *normal,
- const char *full)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- record = ctui_get_record_image(cinput_d->contact);
- p_retm_if(NULL == record, "ctui_get_record_image() Failed(%d)");
-
- err = contacts_record_set_str(record, _contacts_image.path, normal);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)");
-
- ct_input_update_image(cinput_d);
-}
-
-static void input_img_crop_result(ui_gadget_h ug, service_h service, void *data)
-{
- PH_TRACE;
- char *normal = NULL;
- char *full = NULL;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- p_retm_if(NULL == ug || NULL == data, "ug or data is NULL");
-
- if (service)
- {
- service_get_extra_data(service, "crop_image_path", &normal);
- p_retm_if(!normal, "return value is NULL.\n");
-
- service_get_extra_data(service, "image_path", &full);
- input_change_photo(cinput_d, normal, full);
- free(normal);
- }
-}
-
-static void input_src_ug_destroy(ui_gadget_h ug, void *priv)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) priv;
- p_retm_if(NULL == cinput_d, "cinput_d is NULL");
- p_retm_if(NULL == ug, "ug is NULL");
-
- if (cinput_d->child_ug)
- {
- ug_destroy(cinput_d->child_ug);
- cinput_d->child_ug = NULL;
- }
-
- elm_object_tree_focus_allow_set(cinput_d->cdetail_d->navi, EINA_TRUE);
-}
-
-static void input_crop_ug_back_cb(void *data);
-
-static void input_crop_ug_destroy(ui_gadget_h ug, void *priv)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) priv;
-
- p_retm_if(NULL == cinput_d, "cinput_d is NULL");
- elm_object_tree_focus_allow_set(cinput_d->cdetail_d->navi, EINA_TRUE);
- p_retm_if(NULL == ug, "ug is NULL");
-
- if (cinput_d->crop_ug)
- {
- ug_destroy(ug);
- cinput_d->crop_ug = NULL;
- }
-
- if(cinput_d->back_cb == input_crop_ug_back_cb)
- {
- cinput_d->back_cb = NULL;
- }
-}
-
-static void input_crop_ug_back_cb(void *data)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- p_retm_if(NULL == cinput_d, "cinput_d is NULL");
- input_crop_ug_destroy(cinput_d->crop_ug, data);
-}
-
-static void input_gallery_result(ui_gadget_h ug, service_h service, void *data)
-{
- PH_TRACE;
- char *val = NULL;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- p_retm_if(NULL == ug || NULL == data, "ug or data is NULL");
-
- if (service)
- {
- struct ug_cbs cbs = { 0 };
-
- service_get_extra_data(service, "path", &val);
- p_retm_if(!val, "return value is NULL.\n");
-
- cbs.result_cb = input_img_crop_result;
- cbs.destroy_cb = input_crop_ug_destroy;
- cbs.priv = cinput_d;
- cinput_d->crop_ug = (ui_gadget_h) phone_image_crop_ug(cinput_d->cdetail_d->ug, val,
- &cbs);
- cinput_d->back_cb = input_crop_ug_back_cb;
- free(val);
- }
-}
-
-void ct_input_gallery(ct_input_data *cinput_d)
-{
- PH_TRACE;
- struct ug_cbs cbs = { 0 };
- service_h service = NULL;
-
- p_retm_if(NULL == cinput_d, "cinput_d is NULL");
- elm_object_tree_focus_allow_set(cinput_d->cdetail_d->navi, EINA_FALSE);
-
- service_create(&service);
- service_add_extra_data(service, "launch-type", "select-one");
- service_add_extra_data(service, "file-type", "image");
-
- cbs.result_cb = input_gallery_result;
- cbs.destroy_cb = input_src_ug_destroy;
- cbs.layout_cb = ug_common_layout_cb;
- cbs.priv = cinput_d;
-
- cinput_d->child_ug = ug_create(cinput_d->cdetail_d->ug, GALLERY_UG,
- UG_MODE_FULLVIEW, service, &cbs);
- p_warn_if(NULL == cinput_d->child_ug, "ug_create() Failed");
-
- service_destroy(service);
-
- if (cinput_d->cdetail_d->popup)
- {
- evas_object_del(cinput_d->cdetail_d->popup);
- cinput_d->cdetail_d->popup = NULL;
- }
-}
-
-static void input_camera_result(service_h service, service_h reply,
- service_result_e result, void* user_data)
-{
- PH_TRACE;
- char *normal = NULL;
- char *full = NULL;
- ct_input_data *cinput_d = (ct_input_data *) user_data;
-
- cinput_d->camera_service_launched = false;
-
- elm_object_tree_focus_allow_set(cinput_d->cdetail_d->navi, EINA_TRUE);
-
- service_get_extra_data(reply, "crop_image_path", &normal);
- p_retm_if(!normal, "return value is NULL.\n");
-
- service_get_extra_data(reply, "image_path", &full);
- input_change_photo(cinput_d, normal, full);
-
- free(normal);
- free(full);
-}
-
-void ct_input_camera(ct_input_data *cinput_d)
-{
- PH_TRACE;
- int ret;
- service_h service;
-
- p_retm_if(NULL == cinput_d, "paramter(ct_input_data) is NULL");
- p_retm_if(NULL == cinput_d->cdetail_d, "cinput_d->cdetail_d is NULL.\n");
- p_ret_if(true == cinput_d->camera_service_launched);
-
- if (cinput_d->cdetail_d && cinput_d->cdetail_d->popup)
- ct_detail_popup_hide_cb(cinput_d->cdetail_d, NULL, NULL);
-
- service = NULL;
- ret = service_create(&service);
- p_retm_if(SERVICE_ERROR_NONE != ret, "service_create() Failed(%d)", ret);
-
- if (NULL == cinput_d->cdetail_d->win)
- {
- ERR("cinput_d->cdetail_d->win is NULL.\n");
- ret = service_destroy(service);
- p_retm_if(SERVICE_ERROR_NONE != ret, "service_destroy() Failed(%d)",
- ret);
- return;
- }
-
- ret = service_set_window(service,
- elm_win_xwindow_get(cinput_d->cdetail_d->win));
- if (SERVICE_ERROR_NONE != ret)
- {
- ERR("service_set_package() Failed(%d)", ret);
- ret = service_destroy(service);
- p_warn_if(SERVICE_ERROR_NONE != ret, "service_destroy() Failed(%d)",
- ret);
- return;
- }
-
- ret = service_set_operation(service, SERVICE_OPERATION_CREATE_CONTENT);
- if (SERVICE_ERROR_NONE != ret)
- {
- ERR("service_set_operation() Failed(%d)", ret);
- ret = service_destroy(service);
- p_warn_if(SERVICE_ERROR_NONE != ret, "service_destroy() Failed(%d)",
- ret);
- return;
- }
-
- ret = service_set_mime(service, "image/jpg");
- if (SERVICE_ERROR_NONE != ret)
- {
- ERR("service_set_mime() Failed(%d)", ret);
- ret = service_destroy(service);
- p_warn_if(SERVICE_ERROR_NONE != ret, "service_destroy() Failed(%d)",
- ret);
- return;
- }
-
- ret = service_add_extra_data(service, "CALLER", "contacts");
- if (SERVICE_ERROR_NONE != ret)
- {
- ERR("service_add_extra_data() Failed(%d)", ret);
- ret = service_destroy(service);
- p_warn_if(SERVICE_ERROR_NONE != ret, "service_destroy() Failed(%d)",
- ret);
- return;
- }
-
- ret = service_send_launch_request(service, input_camera_result, cinput_d);
- if (SERVICE_ERROR_NONE != ret)
- {
- ERR("service_send_launch_request() Failed(%d)", ret);
- ret = service_destroy(service);
- p_warn_if(SERVICE_ERROR_NONE != ret, "service_destroy() Failed(%d)",
- ret);
- return;
- }
-
- cinput_d->camera_service_launched = true;
-
- ret = service_destroy(service);
- p_retm_if(SERVICE_ERROR_NONE != ret, "service_destroy() Failed(%d)", ret);
-}
-
-static void input_myfile_ringtone_result(ui_gadget_h ug, service_h service,
- void *data)
-{
- PH_TRACE;
- char *val = NULL;
- int err = CONTACTS_ERROR_NONE;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- p_retm_if(NULL == ug || NULL == data, "ug or data is NULL");
-
- if (service)
- {
- service_get_extra_data(service, "result", &val);
- p_retm_if(!val, "return value is NULL.\n");
-
- err = contacts_record_set_str(cinput_d->contact,
- _contacts_contact.ringtone_path, val);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- free(val);
-
- ct_input_update_ringtone(cinput_d->contact, cinput_d->ly_ringtone);
- }
-}
-
-static inline ui_gadget_h input_myfile_ug(struct ug_cbs cbs, service_h service,
- ct_input_data *cinput_d)
-{
- PH_TRACE;
- ui_gadget_h ug;
-
- cbs.layout_cb = ug_common_layout_cb;
- cbs.priv = cinput_d;
-
- ug = ug_create(cinput_d->cdetail_d->ug, MYFILES_UG, UG_MODE_FULLVIEW,
- service, &cbs);
- p_warn_if(NULL == ug, "ug_create() Failed");
-
- return ug;
-}
-
-void ct_input_myfile_ringtone(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- struct ug_cbs cbs = { 0 };
- ct_input_data *cinput_d = (ct_input_data *) data;
- const char *ringtone_path = NULL;
- char *str = NULL;
- char buf[PH_TEXT_MAX_LEN + 1];
- service_h service;
-
- p_retm_if(NULL == cinput_d, "cinput_d is NULL");
-
- service_create(&service);
-
- service_add_extra_data(service, "path", "/opt/share/settings/Ringtones");
- service_add_extra_data(service, "select_type", "SINGLE_FILE");
- service_add_extra_data(service, "file_type", "SOUND");
-
- err = contacts_record_get_str_p(cinput_d->contact,
- _contacts_contact.ringtone_path, &str);
- if (CONTACTS_ERROR_NONE == err)
- ringtone_path = ct_detail_get_ringtone_display_name(str);
-
- if (ringtone_path && *ringtone_path)
- {
- snprintf(buf, sizeof(buf), "/opt/share/settings/Ringtones/%s",
- ringtone_path);
- service_add_extra_data(service, "marked_mode", buf);
- }
-
- cbs.result_cb = input_myfile_ringtone_result;
- cbs.destroy_cb = input_src_ug_destroy;
- cinput_d->child_ug = input_myfile_ug(cbs, service, cinput_d);
-
- if (cinput_d->popup)
- {
- evas_object_del(cinput_d->popup);
- cinput_d->popup = NULL;
- }
-
- service_destroy(service);
-}
-
-#define ACCOUNT_RGEX "([a-z0-9!#$%&'*+/=?^_`{|}~-]+[.])*[a-z0-9!#$%&'*+/=?^_`{|}~-]+"
-#define DOMAIN_RGEX "([a-z0-9!#$%&'*+/=?^_`{|}~-]+[.])+[a-z0-9!#$%&'*+/=?^_`{|}~-]+"
-#define EMAIL_RGEX ACCOUNT_RGEX"@"DOMAIN_RGEX
-
-int ct_input_valid_email(contacts_record_h record_contact)
-{
- PH_TRACE;
- int len;
- int index = 0;
- int result = TRUE;
- char *email = NULL;
- regex_t compiled;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.email, index++, &record))
- {
- err = contacts_record_get_str_p(record, _contacts_email.email, &email);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_str_p() Failed(%d)", err);
- continue;
- }
- if (email && strlen(email) > 0)
- {
- len = strlen(email) + 1;
- regmatch_t str[len];
-
- if (regcomp(&compiled, EMAIL_RGEX, REG_ICASE | REG_EXTENDED))
- result = FALSE;
- if (regexec(&compiled, email, len, str, 0) == REG_NOMATCH)
- result = FALSE;
-
- regfree(&compiled);
- }
- if (!result)
- break;
- }
- return result;
-}
-
-static int input_is_name_empty(contacts_record_h record_contact)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- char *name = NULL;
-
- record = ct_input_get_record_name(record_contact);
- p_retvm_if(NULL == record, TRUE, "ct_input_get_record_name() return NULL");
-
- contacts_record_get_str_p(record, _contacts_name.first, &name);
- if (NULL == name || '\0' == *name)
- {
- contacts_record_get_str_p(record, _contacts_name.last, &name);
- if (NULL == name || '\0' == *name)
- {
- return TRUE;
- }
- }
- return FALSE;
-}
-
-static int input_is_num_empty(contacts_record_h record_contact)
-{
- PH_TRACE;
- int index = 0;
- char *number;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.number, index++, &record))
- {
- err = contacts_record_get_str_p(record, _contacts_number.number,
- &number);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_str_p() Failed(%d)", err);
- continue;
- }
- if (number && *number)
- return FALSE;
- }
- return TRUE;
-}
-
-static int input_is_email_empty(contacts_record_h record_contact)
-{
- PH_TRACE;
- int index = 0;
- char *email;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.email, index++, &record))
- {
- err = contacts_record_get_str_p(record, _contacts_email.email, &email);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_str_p() Failed(%d)", err);
- continue;
- }
- if (email && *email)
- return FALSE;
- }
- return TRUE;
-}
-
-static void input_btn_popup(ct_detail_data *cdetail_d, const char *desc)
-{
- PH_TRACE;
- Evas_Object *popup;
- Evas_Object *btn;
-
- popup = elm_popup_add(cdetail_d->navi);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(popup, desc);
-
- btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_SK_OK));
- elm_object_part_content_set(popup, "button1", btn);
- elm_object_style_set(btn, "popup_button/default");
- evas_object_smart_callback_add(btn, "clicked", ct_detail_popup_hide_cb,cdetail_d);
-
- cdetail_d->popup = popup;
- evas_object_show(popup);
-}
-
-static int timeToInt(const struct tm& currTime)
-{
- return (currTime.tm_year + 1900) * 10000 + (currTime.tm_mon + 1) * 100 + currTime.tm_mday;
-}
-
-/**
- * @brief This function sets current date to @a numberOfEvent event
- * @param contactsRecord Record attached to _contacts_contact table
- * @param numberOfEvents Index number of event to set current date
- * @return True if success, otherwise false
- */
-static bool setCurrentDateToEvent(contacts_record_h contactsRecord, unsigned int numberOfEvent)
-{
- bool isOk(false);
- if(contactsRecord)
- {
- time_t timer = time(NULL);
- if(timer != -1)
- {
- struct tm *currTime = localtime(&timer);
- if(currTime)
- {
- int timeToSet = timeToInt(*currTime);
- contacts_record_h eventRecord = NULL;
- if(CONTACTS_ERROR_NONE == contacts_record_get_child_record_at_p(contactsRecord,
- _contacts_contact.event, numberOfEvent, &eventRecord))
- {
- isOk = CONTACTS_ERROR_NONE == contacts_record_set_int(eventRecord,
- _contacts_event.date, timeToSet);
- }
- }
- }
- }
- return isOk;
-}
-
-void ct_input_save_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int ret;
- int ret_id = 0;
- int err = CONTACTS_ERROR_NONE;
- ct_detail_data *cdetail_d;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- p_retm_if(NULL == cinput_d, "cinput_d is NULL");
-
- if(getCountOfEvents(cinput_d->contact) == 1)
- {
- p_retm_if(setCurrentDateToEvent(cinput_d->contact, 0) != true, "setCurrentDateToEvent is failed");
- }
-
- cdetail_d = cinput_d->cdetail_d;
-
- err = contacts_record_set_int(cinput_d->contact,
- _contacts_contact.address_book_id, cinput_d->base_ab);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- if (TRUE != (ret = ct_input_valid_email(cinput_d->contact)))
- {
- input_btn_popup(cdetail_d, T_(CT_GET_TEXT_ERR, CTTEXT_INVALID_EMAIL));
- cinput_d->popup = cdetail_d->popup;
- return;
- }
-
- if (input_is_name_empty(cinput_d->contact)
- && input_is_num_empty(cinput_d->contact)
- && input_is_email_empty(cinput_d->contact))
- {
- input_btn_popup(cdetail_d, T_(CT_GET_TEXT_ERR, CTTEXT_SAVE_FAIL));
- cinput_d->popup = cdetail_d->popup;
- return;
- }
-
-
- if (cinput_d->contact_id)
- {
- err = contacts_db_update_record(cinput_d->contact);
- if (CONTACTS_ERROR_NONE != err)
- {
- ctui_create_contacts_error_popup(cdetail_d->navi, err);
- if (cdetail_d->service_operation)
- phone_service_reply_simple(cdetail_d->service_operation,
- SERVICE_RESULT_FAILED);
- return;
- }
- else
- {
- cinput_d->saved = true;
- if (cdetail_d->service_operation)
- phone_ug_return_value(cdetail_d->service_operation, 0, 0, 0,
- cdetail_d->person_id);
- }
- }
- else
- {
- err = contacts_db_insert_record(cinput_d->contact, &ret_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- ctui_create_contacts_error_popup(cdetail_d->navi, err);
- if (cdetail_d->service_operation)
- phone_service_reply_simple(cdetail_d->service_operation,
- SERVICE_RESULT_FAILED);
- return;
- }
- cinput_d->saved = true;
- input_set_base_ab(cinput_d->base_ab_name);
- if (NULL == cdetail_d->prev_view_data && cdetail_d->ug)
- {
- phone_ug_return_id(cdetail_d->ug, ret_id, 0, 0);
- if (cdetail_d->service_operation)
- phone_ug_return_value(cdetail_d->service_operation, 0, 0, 0,
- ret_id);
- }
- }
-
- /* evas_object_smart_callback_del() func will be deleted */
- evas_object_smart_callback_del(obj, "clicked", ct_input_save_cb);
-
- if (cdetail_d->prev_view_data
- && ((CT_UG_REQUEST_UPDATE_CONTACT <= cdetail_d->ug_request
- && cdetail_d->ug_request <= CT_UG_REQUEST_SAVE_RINGTONE)
- || (PH_UG_REQUEST_SET_WITH_NUM <= cdetail_d->ug_request
- && cdetail_d->ug_request
- <= PH_UG_REQUEST_SET_WITH_RINGTONE)))
- {
- ug_destroy_me(cdetail_d->ug);
- }
- else if (cdetail_d->ug && !cdetail_d->has_detail
- && NULL == cdetail_d->prev_view_data)
- {
- ug_destroy_me(cdetail_d->ug);
- }
- else if (cdetail_d->vcard_path)
- elm_exit();
- else
- elm_naviframe_item_pop(cdetail_d->navi);
-}
-
-void ct_input_custom_type_rename_cb(void *data, char *str)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *btn_type;
- ct_input_typed_data *typed_data = (ct_input_typed_data *) data;
- p_retm_if(NULL == typed_data, "parameter(typed_data)");
-
- if (0 == strcmp(typed_data->view_uri, _contacts_number._uri))
- {
- err = contacts_record_set_int(typed_data->record, _contacts_number.type,
- CONTACTS_NUMBER_TYPE_CUSTOM);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
- err = contacts_record_set_str(typed_data->record,
- _contacts_number.label, str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
- }
- else if (0 == strcmp(typed_data->view_uri, _contacts_email._uri))
- {
- err = contacts_record_set_int(typed_data->record, _contacts_email.type,
- CONTACTS_EMAIL_TYPE_CUSTOM);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
- err = contacts_record_set_str(typed_data->record, _contacts_email.label,
- str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
- }
- else if (0 == strcmp(typed_data->view_uri, _contacts_address._uri))
- {
- err = contacts_record_set_int(typed_data->record,
- _contacts_address.type, CONTACTS_ADDRESS_TYPE_CUSTOM);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
- err = contacts_record_set_str(typed_data->record,
- _contacts_address.label, str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
- }
- else if (0 == strcmp(typed_data->view_uri, _contacts_url._uri))
- {
- err = contacts_record_set_int(typed_data->record, _contacts_url.type,
- CONTACTS_URL_TYPE_CUSTOM);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
- err = contacts_record_set_str(typed_data->record, _contacts_url.label,
- str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
- }
- else if (0 == strcmp(typed_data->view_uri, _contacts_messenger._uri))
- {
- err = contacts_record_set_int(typed_data->record,
- _contacts_messenger.type, CONTACTS_MESSENGER_TYPE_CUSTOM);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
- err = contacts_record_set_str(typed_data->record,
- _contacts_messenger.label, str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
- }
- else if (0 == strcmp(typed_data->view_uri, _contacts_relationship._uri))
- {
- err = contacts_record_set_int(typed_data->record,
- _contacts_relationship.type, CONTACTS_RELATIONSHIP_TYPE_CUSTOM);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
- err = contacts_record_set_str(typed_data->record,
- _contacts_relationship.label, str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
- }
- else if (0 == strcmp(typed_data->view_uri, _contacts_event._uri))
- {
- err = contacts_record_set_int(typed_data->record, _contacts_event.type,
- CONTACTS_EVENT_TYPE_CUSTOM);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
- err = contacts_record_set_str(typed_data->record, _contacts_event.label,
- str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
- }
-
- btn_type = elm_object_part_content_get(typed_data->ly_content,
- "elm.icon.type");
- p_retm_if(NULL == btn_type, "elm_object_part_content_get() return NULL");
-
- if (str && *str)
- elm_object_text_set(btn_type, str);
-}
-
-void ct_input_entry_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- if (elm_object_focus_get(obj))
- return;
- evas_object_smart_callback_call(obj, "unfocused", NULL);
-}
-
-Evas_Object* ct_input_add_editfield(Evas_Object *parent, const char * title, const char* guide_txt,
- Evas_Smart_Cb unfocused_cb, void *unfocused_cb_data)
-{
- PH_TRACE;
-
- Evas_Object * editfield = ctui_create_editfield(parent, title, guide_txt, false);
- p_retvm_if(NULL == editfield, NULL, "ctui_create_editfield() return NULL");
-
- Evas_Object * entry = elm_object_part_content_get(editfield, "elm.swallow.content");
- evas_object_smart_callback_add(entry, "changed", ct_input_entry_changed_cb, editfield);
-
- if (unfocused_cb)
- {
- evas_object_smart_callback_add(entry, "unfocused", unfocused_cb, unfocused_cb_data);
- }
-
- return editfield;
-}
-
-int ct_input_next_number_type(contacts_record_h record_contact)
-{
- PH_TRACE;
- int i;
- int used[CTTEXT_TYPE_RADIO + 1] = { 0 };
- int cts_type;
- int type;
- int index = 0;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.number, index++, &record))
- {
- err = contacts_record_get_int(record, _contacts_number.type, &cts_type);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- continue;
- }
- type = phone_detail_log_get_phonenumber_type(cts_type);
- used[type] = 1;
- }
-
- for (i = CTTEXT_TYPE_MOBILE; i < CTTEXT_TYPE_OTHER; i++)
- {
- if (0 == used[i])
- return phone_get_number_type_index(i);
- }
- return CTTEXT_TYPE_OTHER;
-}
-
-int ct_input_next_email_type(contacts_record_h record_contact)
-{
- PH_TRACE;
- int i;
- int used = 0;
- int cts_type;
- int index = 0;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.email, index++, &record))
- {
- err = contacts_record_get_int(record, _contacts_email.type, &cts_type);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- continue;
- }
- used |= cts_type;
- }
- for (i = 1; (1 << i) <= CONTACTS_EMAIL_TYPE_WORK; i++)
- {
- if (!(used & (1 << i)))
- return 1 << i;
- }
-
- return CONTACTS_EMAIL_TYPE_OTHER;
-}
-
-int ct_input_next_event_type(contacts_record_h record_contact)
-{
- PH_TRACE;
- int index = 0;
- int cts_type;
- bool used_birthday = false;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.event, index++, &record))
- {
- err = contacts_record_get_int(record, _contacts_event.type, &cts_type);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- continue;
- }
- if (CONTACTS_EVENT_TYPE_BIRTH == cts_type)
- {
- used_birthday = true;
- break;
- }
- }
-
- if (used_birthday)
- return CONTACTS_EVENT_TYPE_ANNIVERSARY;
-
- return CONTACTS_EVENT_TYPE_BIRTH;
-}
-
-int ct_input_next_address_type(contacts_record_h record_contact)
-{
- PH_TRACE;
- int i;
- int used = 0;
- int cts_type;
- int index = 0;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.address, index++, &record))
- {
- err = contacts_record_get_int(record, _contacts_address.type,
- &cts_type);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- continue;
- }
- used |= cts_type;
- }
- for (i = 1; (1 << i) <= CONTACTS_ADDRESS_TYPE_WORK; i++)
- {
- if (!(used & (1 << i)))
- return 1 << i;
- }
-
- return CONTACTS_ADDRESS_TYPE_OTHER;
-}
-
-int ct_input_next_web_type(contacts_record_h record_contact)
-{
- PH_TRACE;
- int i;
- int index = 0;
- int cts_type;
- int used[CONTACTS_URL_TYPE_WORK + 1] = { 0 };
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.url, index++, &record))
- {
- err = contacts_record_get_int(record, _contacts_url.type, &cts_type);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- continue;
- }
- used[cts_type] = 1;
- }
-
- for (i = CONTACTS_URL_TYPE_HOME; i <= CONTACTS_URL_TYPE_WORK; i++)
- {
- if (0 == used[i])
- return i;
- }
- return CONTACTS_URL_TYPE_OTHER;
-}
-
-int ct_input_next_relationship_type(contacts_record_h record_contact)
-{
- PH_TRACE;
- int i;
- int index = 0;
- int cts_type;
- int used[CONTACTS_RELATIONSHIP_TYPE_CUSTOM + 1] = { 0 };
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.relationship, index++, &record))
- {
- err = contacts_record_get_int(record, _contacts_relationship.type,
- &cts_type);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- continue;
- }
- used[cts_type] = 1;
- }
-
- for (i = CONTACTS_RELATIONSHIP_TYPE_ASSISTANT;
- i <= CONTACTS_RELATIONSHIP_TYPE_CUSTOM; i++)
- {
- if (!used[i])
- return i;
- }
- return CONTACTS_RELATIONSHIP_TYPE_CUSTOM;
-}
-
-int ct_input_next_messenger_type(contacts_record_h record_contact)
-{
- PH_TRACE;
- int i;
- int index = 0;
- int cts_type;
- bool used[CONTACTS_MESSENGER_TYPE_IRC + 1] = { 0 };
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.messenger, index++, &record))
- {
- err = contacts_record_get_int(record, _contacts_messenger.type,
- &cts_type);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- continue;
- }
- used[cts_type] = true;
- }
-
- for(i = CONTACTS_MESSENGER_TYPE_SKYPE; i > CONTACTS_MESSENGER_TYPE_OTHER; --i)
- {
- if( (CONTACTS_MESSENGER_TYPE_FACEBOOK != i)
- && (CONTACTS_MESSENGER_TYPE_CUSTOM != i)
- && !used[i])
- {
- return i;
- }
- }
-
- return CONTACTS_MESSENGER_TYPE_OTHER;
-}
-
-Evas_Object* ct_input_create_dg_layout(Evas_Object *parent, const char *theme)
-{
- PH_TRACE;
- Evas_Object *layout = elm_layout_add(parent);
- p_retvm_if(NULL == layout, NULL, "elm_layout_add() return NULL");
-
- elm_layout_theme_set(layout, "layout", "dialogue", theme);
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
-
- evas_object_show(layout);
- return layout;
-}
-
-void ct_input_typed_layout_del_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_typed_data *typed_data = (ct_input_typed_data *) data;
- p_retm_if(NULL == typed_data, "parameter(typed_data) is NULL");
- free(typed_data);
-}
-
-void ct_input_update_ringtone(contacts_record_h record_contact,
- Evas_Object *ly_content)
-{
- PH_TRACE;
- const char *display;
- char *temp;
- int err = CONTACTS_ERROR_NONE;
-
- err = contacts_record_get_str_p(record_contact,
- _contacts_contact.ringtone_path, &temp);
- p_retm_if(CONTACTS_ERROR_NONE != err && CONTACTS_ERROR_NO_DATA != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- display = ct_detail_get_ringtone_display_name((const char *) temp);
-
- elm_object_part_text_set(ly_content, "elm.text.2", display);
-}
-
-void ct_input_update_vibration(contacts_record_h record_contact,
- Evas_Object *ly_content)
-{
- PH_TRACE;
- char *vibration = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- err = contacts_record_get_str_p(record_contact, _contacts_contact.vibration,
- &vibration);
- p_retm_if(CONTACTS_ERROR_NONE != err && CONTACTS_ERROR_NO_DATA != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- elm_object_part_text_set(ly_content, "elm.text.2",
- T_(CT_GET_TEXT_VIBRATION, ct_detail_vibration_get_msgid(vibration)));
-}
-
-unsigned int ct_input_box_idx_get(Evas_Object *box, Evas_Object *obj)
-{
- PH_TRACE;
- int count = 0;
- Eina_List *list, *cursor;
- list = elm_box_children_get(box);
- void *v_data;
-
- EINA_LIST_FOREACH(list, cursor, v_data)
- {
- Evas_Object *data = (Evas_Object *) v_data;
- if (data == obj)
- break;
- count++;
- }
- eina_list_free(list);
- return count;
-}
-
-void ct_input_update_group(void *data)
-{
- PH_TRACE;
- Evas_Object *ly_content;
- char display[PH_TEXT_MAX_LEN + 1];
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
- p_retm_if(NULL == cinput_d->contact || NULL == cinput_d->ly_group,
- "parameter is NULL");
-
- ct_detail_get_group_names(cinput_d->contact, display, sizeof(display));
- ly_content = cinput_d->ly_group;
- elm_object_part_text_set(ly_content, "elm.text.2", display);
-}
-
-void ct_input_save_button_update(ct_input_data *cinput_d)
-{
- PH_TRACE;
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- if (cinput_d->save_button)
- elm_object_disabled_set(cinput_d->save_button, cinput_d->save_disable);
-}
-
-static inline Eina_Bool input_is_editfield_empty(Evas_Object *editfield)
-{
- PH_TRACE;
- const char *val;
- Evas_Object *entry;
-
- p_retvm_if(NULL == editfield, EINA_TRUE, "parameter(editfield) is NULL");
-
- entry = elm_object_part_content_get(editfield, "elm.swallow.content");
- p_retvm_if(NULL == entry, EINA_TRUE,
- "elm_object_part_content_get() return NULL");
-
- val = elm_entry_entry_get(entry);
- if (val && *val)
- return EINA_FALSE;
-
- return EINA_TRUE;
-}
-
-static bool __input_is_field_filled(Evas_Object *box, Eina_List *list,
- Evas_Object *first, Evas_Object *last, const char *part)
-{
- PH_TRACE;
- int idx = 0;
- ;
- Evas_Object *ly_content = NULL;
- Evas_Object *edit_field = NULL;
-
- p_retvm_if(NULL == box, false, "parameter(box) is NULL");
- p_retvm_if(NULL == list, false, "parameter(list) is NULL");
- p_retvm_if(NULL == first, false, "parameter(first) is NULL");
- p_retvm_if(NULL == last, false, "parameter(last) is NULL");
-
- ly_content = first;
- idx = ct_input_box_idx_get(box, ly_content);
- while (ly_content)
- {
- edit_field = elm_object_part_content_get(ly_content, part);
- if (EINA_FALSE == input_is_editfield_empty(edit_field))
- return true;
-
- if (ly_content == last)
- break;
- ly_content = (Evas_Object *) eina_list_nth(list, ++idx);
- }
- return false;
-
-}
-
-static void __input_mandatory_field_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- bool exist_valid_field = false;
- Eina_List *list = NULL;
- Evas_Object *edit_field = NULL;
- ct_input_data *cinput_d = (ct_input_data *) data;
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- edit_field = elm_object_part_content_get(cinput_d->ly_basic_info,
- "elm.icon");
- if (edit_field && EINA_FALSE == input_is_editfield_empty(edit_field))
- {
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- return;
- }
-
- edit_field = elm_object_part_content_get(
- cinput_d->ly_basic_info_middle_name, "elm.icon");
- if (edit_field && EINA_FALSE == input_is_editfield_empty(edit_field))
- {
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- return;
- }
-
- edit_field = elm_object_part_content_get(cinput_d->ly_basic_info_last_name,
- "elm.icon");
- if (edit_field && EINA_FALSE == input_is_editfield_empty(edit_field))
- {
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- return;
- }
-
- edit_field = elm_object_part_content_get(cinput_d->ly_basic_info_suffix,
- "elm.icon");
- if (edit_field && EINA_FALSE == input_is_editfield_empty(edit_field))
- {
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- return;
- }
-
- edit_field = elm_object_part_content_get(cinput_d->ly_basic_info_nickname,
- "elm.icon");
- if (edit_field && EINA_FALSE == input_is_editfield_empty(edit_field))
- {
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- return;
- }
-
- edit_field = elm_object_part_content_get(cinput_d->ly_basic_info_job_title,
- "elm.icon");
- if (edit_field && EINA_FALSE == input_is_editfield_empty(edit_field))
- {
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- return;
- }
-
- edit_field = elm_object_part_content_get(cinput_d->ly_basic_info_department,
- "elm.icon");
- if (EINA_FALSE == input_is_editfield_empty(edit_field))
- {
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- return;
- }
-
- edit_field = elm_object_part_content_get(cinput_d->ly_basic_info_company,
- "elm.icon");
- if (edit_field && EINA_FALSE == input_is_editfield_empty(edit_field))
- {
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- return;
- }
-
- list = elm_box_children_get(cinput_d->box);
- exist_valid_field = __input_is_field_filled(cinput_d->box, list,
- cinput_d->ly_number_first, cinput_d->ly_number_last, "elm.icon");
- if (exist_valid_field)
- {
- PH_DBG("valid field = number");
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- eina_list_free(list);
- return;
- }
-
- exist_valid_field = __input_is_field_filled(cinput_d->box, list,
- cinput_d->ly_email_first, cinput_d->ly_email_last, "elm.icon");
- if (exist_valid_field)
- {
- PH_DBG("valid field = email");
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- eina_list_free(list);
- return;
- }
-
- exist_valid_field = __input_is_field_filled(cinput_d->box, list,
- cinput_d->ly_addr_first, cinput_d->ly_addr_last, "elm.icon");
- if (exist_valid_field)
- {
- PH_DBG("valid field = address");
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- eina_list_free(list);
- return;
- }
-
- exist_valid_field = __input_is_field_filled(cinput_d->box, list,
- cinput_d->ly_messenger_first, cinput_d->ly_messenger_last,
- "elm.icon");
- if (exist_valid_field)
- {
- PH_DBG("valid field = messenger");
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- eina_list_free(list);
- return;
- }
-
- exist_valid_field = __input_is_field_filled(cinput_d->box, list,
- cinput_d->ly_url_first, cinput_d->ly_url_last, "elm.icon");
- if (exist_valid_field)
- {
- PH_DBG("valid field = url");
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- eina_list_free(list);
- return;
- }
-
- exist_valid_field = __input_is_field_filled(cinput_d->box, list,
- cinput_d->ly_relationship_first, cinput_d->ly_relationship_last,
- "elm.icon");
- if (exist_valid_field)
- {
- PH_DBG("valid field = url");
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- eina_list_free(list);
- return;
- }
-
- eina_list_free(list);
-
- edit_field = elm_object_part_content_get(cinput_d->ly_note, "elm.icon");
- if (edit_field && EINA_FALSE == input_is_editfield_empty(edit_field))
- {
- cinput_d->save_disable = EINA_FALSE;
- ct_input_save_button_update(cinput_d);
- return;
- }
-
- PH_DBG("cinput_d->save_disable=%d", cinput_d->save_disable);
- if (EINA_TRUE == cinput_d->save_disable)
- return;
-
- cinput_d->save_disable = EINA_TRUE;
- ct_input_save_button_update(cinput_d);
-}
-
-void ct_input_add_name_field(Evas_Object *editfield, ct_input_data *cinput_d)
-{
- PH_TRACE;
- Evas_Object *entry;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
- p_retm_if(NULL == editfield, "parameter(editfield) is NULL");
-
- entry = elm_object_part_content_get(editfield, "elm.swallow.content");
- p_retm_if(NULL == cinput_d, "elm_object_part_content_get() return NULL");
-
- evas_object_smart_callback_add(entry, "changed",
- __input_mandatory_field_changed_cb, cinput_d);
- evas_object_smart_callback_add(entry, "preedit,changed",
- __input_mandatory_field_changed_cb, cinput_d);
-}
-
-int ct_input_get_full_address(contacts_record_h record_postal, char *buf,
- int buf_len)
-{
- PH_TRACE;
- char *code = NULL;
- char *region = NULL;
- char *locality = NULL;
- char *street = NULL;
- char *extended = NULL;
- char *country = NULL;
- char *pobox = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- err = contacts_record_get_str_p(record_postal,
- _contacts_address.postal_code, &code);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- err = contacts_record_get_str_p(record_postal, _contacts_address.extended,
- &extended);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- err = contacts_record_get_str_p(record_postal, _contacts_address.postbox,
- &pobox);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- err = contacts_record_get_str_p(record_postal, _contacts_address.street,
- &street);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- err = contacts_record_get_str_p(record_postal, _contacts_address.locality,
- &locality);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- err = contacts_record_get_str_p(record_postal, _contacts_address.region,
- &region);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- err = contacts_record_get_str_p(record_postal, _contacts_address.country,
- &country);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- snprintf(buf, buf_len, "%s%s%s%s%s%s%s%s%s%s%s%s%s", SAFE_STR(code)
-, STR_BLANK(code, extended), STR_BLANK(extended, pobox),
- STR_BLANK(pobox, street), STR_BLANK(street, locality), STR_BLANK(locality, region), STR_BLANK(region, country));
-
- return 0;
-}
-
-static contacts_record_h input_get_record(contacts_record_h record_contact,
- int property_id)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- p_retvm_if(NULL == record_contact, NULL,
- "parameter(record_contact) is NULL");
-
- err = contacts_record_get_child_record_at_p(record_contact, property_id, 0,
- &record);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_record_get_child_record_at_p() Failed(%d)", err);
-
- return record;
-}
-
-contacts_record_h ct_input_new_record(contacts_record_h contact,
- int property_id, const char *view_uri)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- err = contacts_record_create(view_uri, &record);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_add_child_record(contact, property_id, record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_add_child_record() Failed(%d)", err);
-
- return record;
-}
-
-contacts_record_h ct_input_new_record_relationship(contacts_record_h contact)
-{
- PH_TRACE;
- int type;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- type = ct_input_next_relationship_type(contact);
- PH_DBG("type=%d", type);
-
- record = ct_input_new_record(contact, _contacts_contact.relationship,
- _contacts_relationship._uri);
- p_retvm_if(NULL == record, NULL, "ct_input_new_record() return NULL");
-
- err = contacts_record_set_int(record, _contacts_relationship.type, type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- return record;
-}
-
-contacts_record_h ct_input_new_record_address(contacts_record_h contact)
-{
- PH_TRACE;
- int type;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- type = ct_input_next_address_type(contact);
- PH_DBG("type=%d", type);
-
- record = ct_input_new_record(contact, _contacts_contact.address,
- _contacts_address._uri);
- p_retvm_if(NULL == record, NULL, "ct_input_new_record() return NULL");
-
- err = contacts_record_set_int(record, _contacts_address.type, type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- return record;
-}
-
-contacts_record_h ct_input_new_record_web(contacts_record_h contact)
-{
- PH_TRACE;
- int type;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- type = ct_input_next_web_type(contact);
- PH_DBG("type=%d", type);
-
- record = ct_input_new_record(contact, _contacts_contact.url,
- _contacts_url._uri);
- p_retvm_if(NULL == record, NULL, "ct_input_new_record() return NULL");
-
- err = contacts_record_set_int(record, _contacts_url.type, type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- return record;
-}
-
-contacts_record_h ct_input_new_record_number(contacts_record_h contact)
-{
- PH_TRACE;
- int type;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- type = ct_input_next_number_type(contact);
- PH_DBG("type=%d", type);
-
- record = ct_input_new_record(contact, _contacts_contact.number,
- _contacts_number._uri);
- p_retvm_if(NULL == record, NULL, "ct_input_new_record() return NULL");
-
- err = contacts_record_set_int(record, _contacts_number.type, type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- return record;
-}
-
-contacts_record_h ct_input_new_record_email(contacts_record_h contact)
-{
- PH_TRACE;
- int type;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- type = ct_input_next_email_type(contact);
- PH_DBG("type=%d", type);
-
- record = ct_input_new_record(contact, _contacts_contact.email,
- _contacts_email._uri);
- p_retvm_if(NULL == record, NULL, "ct_input_new_record() return NULL");
-
- err = contacts_record_set_int(record, _contacts_email.type, type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- return record;
-}
-
-contacts_record_h ct_input_new_record_messenger(contacts_record_h contact)
-{
- PH_TRACE;
- int type;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- type = ct_input_next_messenger_type(contact);
- PH_DBG("type=%d", type);
-
- record = ct_input_new_record(contact, _contacts_contact.messenger,
- _contacts_messenger._uri);
- p_retvm_if(NULL == record, NULL, "ct_input_new_record() return NULL");
-
- err = contacts_record_set_int(record, _contacts_messenger.type, type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- return record;
-}
-
-contacts_record_h ct_input_new_record_event(contacts_record_h contact)
-{
- PH_TRACE;
- int type;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- type = ct_input_next_event_type(contact);
- PH_DBG("type=%d", type);
-
- record = ct_input_new_record(contact, _contacts_contact.event,
- _contacts_event._uri);
- p_retvm_if(NULL == record, NULL, "ct_input_new_record() return NULL");
-
- err = contacts_record_set_int(record, _contacts_event.type, type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
- return record;
-}
-
-contacts_record_h ct_input_get_record_nickname(contacts_record_h record_contact)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- record = input_get_record(record_contact, _contacts_contact.nickname);
- if (NULL == record)
- record = ct_input_new_record(record_contact, _contacts_contact.nickname,
- _contacts_nickname._uri);
- return record;
-}
-
-contacts_record_h ct_input_get_record_name(contacts_record_h record_contact)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- record = input_get_record(record_contact, _contacts_contact.name);
- if (NULL == record)
- {
- record = ct_input_new_record(record_contact, _contacts_contact.name,
- _contacts_name._uri);
- PH_DBG("record=%p", record);
- }
-
- return record;
-}
-
-contacts_record_h ct_input_get_record_company(contacts_record_h record_contact)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- record = input_get_record(record_contact, _contacts_contact.company);
- if (NULL == record)
- record = ct_input_new_record(record_contact, _contacts_contact.company,
- _contacts_company._uri);
- return record;
-}
-
-contacts_record_h ct_input_get_record_note(contacts_record_h record_contact)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- record = input_get_record(record_contact, _contacts_contact.note);
- if (NULL == record)
- record = ct_input_new_record(record_contact, _contacts_contact.note,
- _contacts_note._uri);
- return record;
-}
-
-static void input_remove_empty_field(contacts_record_h record_contact,
- int property_id, int property_id_str)
-{
- PH_TRACE;
- int i;
- unsigned int count;
- char *str;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- p_retm_if(NULL == record_contact, "parameter(record_contact) is NULL");
-
- err = contacts_record_get_child_record_count(record_contact, property_id,
- &count);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_child_record_count() Failed(%d)", err);
-
- for (i = count - 1; 0 <= i; i--)
- {
- err = contacts_record_get_child_record_at_p(record_contact, property_id,
- i, &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_child_record_at_p() Failed(%d)", err);
- continue;
- }
-
- err = contacts_record_get_str(record, property_id_str, &str);
- if (CONTACTS_ERROR_NONE != err || NULL == str || '\0' == *str)
- {
- err = contacts_record_remove_child_record(record_contact,
- property_id, record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_remove_child_record() Failed(%d)", err);
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- }
- free(str);
- }
-}
-
-static void input_remove_empty_field_address(contacts_record_h record_contact)
-{
- PH_TRACE;
- int i;
- unsigned int count;
- char str[PH_TEXT_MAX_LEN];
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- p_retm_if(NULL == record_contact, "parameter(record_contact) is NULL");
-
- err = contacts_record_get_child_record_count(record_contact,
- _contacts_contact.address, &count);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_child_record_count() Failed(%d)", err);
-
- for (i = count - 1; 0 <= i; i--)
- {
- err = contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.address, i, &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_child_record_at_p() Failed(%d)", err);
- continue;
- }
- str[0] = '\0';
- ct_detail_get_full_addr(record, str, sizeof(str));
-
- if ('\0' == *str)
- {
- err = contacts_record_remove_child_record(record_contact,
- _contacts_contact.address, record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_remove_child_record() Failed(%d)", err);
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- }
- }
-
-}
-
-void ct_input_remove_empty_fields(contacts_record_h record_contact)
-{
- PH_TRACE;
- p_retm_if(NULL == record_contact, "parameter(record_contact) is NULL");
- input_remove_empty_field(record_contact, _contacts_contact.number,
- _contacts_number.number);
- input_remove_empty_field(record_contact, _contacts_contact.email,
- _contacts_email.email);
- input_remove_empty_field_address(record_contact);
- input_remove_empty_field(record_contact, _contacts_contact.url,
- _contacts_url.url);
- input_remove_empty_field(record_contact, _contacts_contact.messenger,
- _contacts_messenger.im_id);
- input_remove_empty_field(record_contact, _contacts_contact.note,
- _contacts_note.note);
- input_remove_empty_field(record_contact, _contacts_contact.relationship,
- _contacts_relationship.name);
-}
-
diff --git a/lib/details/ct-input-utils.h b/lib/details/ct-input-utils.h
deleted file mode 100755
index a9a15e3..0000000
--- a/lib/details/ct-input-utils.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Helper module for managing contact's details.
- */
-
-#ifndef __CONTACTS_INPUT_UTILS_H__
-#define __CONTACTS_INPUT_UTILS_H__
-
-int ct_input_get_base_ab(void);
-void ct_input_camera(ct_input_data *cinput_d);
-void ct_input_gallery(ct_input_data *cinput_d);
-void ct_input_myfile_ringtone(void *data, Evas_Object *obj, void *event_info);
-void ct_input_myfile_vibration(void *data, Evas_Object *obj, void *event_info);
-void ct_input_save_cb(void *data, Evas_Object *obj, void *event_info);
-void ct_input_entry_changed_cb(void *data, Evas_Object *obj, void *event_info);
-Evas_Object* ct_input_add_editfield(Evas_Object *parent, const char * title, const char* guide_txt,
- Evas_Smart_Cb unfocused_cb, void *unfocused_cb_data);
-int ct_input_next_number_type(contacts_record_h record_contact);
-int ct_input_next_email_type(contacts_record_h record_contact);
-int ct_input_next_address_type(contacts_record_h record_contact);
-int ct_input_next_web_type(contacts_record_h record_contact);
-int ct_input_next_messenger_type(contacts_record_h record_contact);
-int ct_input_next_relationship_type(contacts_record_h record_contact);
-int ct_input_next_event_type(contacts_record_h record_contact);
-void ct_input_custom_type_rename_cb(void *data, char *str);
-
-enum
-{
- INPUT_LAYOUT_NONE,
- INPUT_LAYOUT_RENAME,
- INPUT_LAYOUT_EDIT,
-};
-Evas_Object* ct_input_create_dg_layout(Evas_Object *parent, const char *theme);
-void ct_input_typed_layout_del_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info);
-void ct_input_update_ringtone(contacts_record_h record_contact,
- Evas_Object *layout);
-void ct_input_update_vibration(contacts_record_h record_contact,
- Evas_Object *layout);
-unsigned int ct_input_box_idx_get(Evas_Object *box, Evas_Object *obj);
-void ct_input_update_group(void *data);
-void ct_input_save_button_update(ct_input_data *cinput_d);
-void ct_input_add_name_field(Evas_Object *editfield, ct_input_data *cinput_d);
-int ct_input_get_full_address(contacts_record_h record_postal, char *buf,
- int buf_len);
-
-contacts_record_h ct_input_get_record_nickname(
- contacts_record_h record_contact);
-contacts_record_h ct_input_get_record_name(contacts_record_h record_contact);
-contacts_record_h ct_input_get_record_company(contacts_record_h record_contact);
-contacts_record_h ct_input_get_record_note(contacts_record_h record_contact);
-contacts_record_h ct_input_new_record(contacts_record_h contact,
- int property_id, const char *view_uri);
-contacts_record_h ct_input_new_record_address(contacts_record_h contact);
-contacts_record_h ct_input_new_record_web(contacts_record_h contact);
-contacts_record_h ct_input_new_record_event(contacts_record_h contact);
-contacts_record_h ct_input_new_record_number(contacts_record_h contact);
-contacts_record_h ct_input_new_record_email(contacts_record_h contact);
-contacts_record_h ct_input_new_record_messenger(contacts_record_h contact);
-contacts_record_h ct_input_new_record_relationship(contacts_record_h contact);
-void ct_input_remove_empty_fields(contacts_record_h record_contact);
-
-#endif //__CONTACTS_INPUT_UTILS_H__
diff --git a/lib/details/ct-input-view.cpp b/lib/details/ct-input-view.cpp
deleted file mode 100755
index fd8efe0..0000000
--- a/lib/details/ct-input-view.cpp
+++ /dev/null
@@ -1,3836 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <errno.h>
-#include <Ecore_X.h>
-#include <ui-gadget-module.h>
-#include "phone.h"
-#include "ct-detail.h"
-#include "ct-detail-utils.h"
-#include "ct-detail-vibration.h"
-#include "ct-detail-vibration-popup.h"
-#include "ct-detail-view.h"
-#include "ct-list.h"
-#include "ct-input-utils.h"
-#include "ct-input-view.h"
-
-#include "ct-input-num-email.h"
-#include "ct-input-change-name.h"
-#include "ct-group.h"
-#include "ct-group-assign-popup.h"
-
-static void input_fill_layout(ct_input_data *cinput_d);
-static void input_update_address(ct_input_data *cinput_d);
-static Evas_Object* input_new_layout_address(ct_input_data *cinput_d);
-static Evas_Object* input_new_layout_website(ct_input_data *cinput_d);
-static Evas_Object* input_new_layout_messenger(ct_input_data *cinput_d);
-static Evas_Object* input_new_layout_relationship(ct_input_data & cinput_d);
-static Evas_Object* input_new_layout_event(ct_input_data & cinput_d);
-static void __input_basic_info_expand_clicked_cb(void *data, Evas_Object *obj,
- void *event_info);
-
-enum input_items
-{
- INPUT_IMAGE = 0,
- INPUT_BASIC_INFO,
- INPUT_NUMBER,
- INPUT_EMAIL,
- INPUT_ADDRESS,
- INPUT_NICKNAME,
- INPUT_MESSENGER,
- INPUT_URL,
- INPUT_RELATIONSHIP,
- INPUT_EVENT,
- INPUT_NOTE,
-
- INPUT_GROUP,
- INPUT_RINGTONE,
- INPUT_VIBRATION,
- INPUT_ADDRBOOK,
-
- INPUT_MORE_INFO,
- INPUT_ITEMS_MAX
-};
-
-enum input_more_fiels
-{
- INPUT_MORE_JOB_TITLE,
- INPUT_MORE_DEPARTMENT,
- INPUT_MORE_MESSENGER,
- INPUT_MORE_URL,
- INPUT_MORE_RELATIONSHIP,
- INPUT_MORE_EVENT,
- INPUT_MORE_NOTE,
- INPUT_MORE_NICKNAME,
- INPUT_MORE_ORGANIZATION
-};
-
-#define CT_INPUT_ADDRESS_MAX_CHAR 1000
-#define CT_INPUT_MOREINFO_PORTRAIT_Y 1066
-#define CT_INPUT_MOREINFO_LANDSCAPE_Y 506
-
-static Elm_Genlist_Item_Class input_ringtone_itc;
-
-static void input_layout_mouse_up_cb(void *data, Evas *evas, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *layout = (Evas_Object *) data;
- elm_object_signal_emit(layout, "elm,state,unselected", "elm");
-}
-
-static void input_layout_mouse_move_cb(void *data, Evas *evas, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Event_Mouse_Move *ev = (Evas_Event_Mouse_Move *) event_info;
- Evas_Object *layout = (Evas_Object *) data;
- if (ev && ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
- elm_object_signal_emit(layout, "elm,state,unselected", "elm");
-}
-
-static void input_layout_mouse_down_cb(void *data, Evas *evas, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *layout = (Evas_Object *) data;
- elm_object_signal_emit(layout, "elm,state,selected", "elm");
-}
-
-static void input_layout_selectable_set(Evas_Object *layout)
-{
- PH_TRACE;
- p_retm_if(NULL == layout, "parameter(layout) is NULL");
- evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_UP,
- input_layout_mouse_up_cb, layout);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_DOWN,
- input_layout_mouse_down_cb, layout);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_MOVE,
- input_layout_mouse_move_cb, layout);
-}
-
-static void input_contacts_changed(const char *view_uri, void *user_data)
-{
- PH_TRACE;
- int contact_id;
- int current_version;
- int id_ab, type;
- bool changed = false;
-
- contacts_list_h list = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- ct_input_data *cinput_d = (ct_input_data *) user_data;
- ct_detail_data *cdetail_d = cinput_d->cdetail_d;
-
- p_retm_if(NULL == cdetail_d, "ct_detail_data is NULL");
- p_retm_if(NULL == cinput_d->contact, "Contact is NULL");
-
- if (cinput_d->saved)
- return;
-
- err = contacts_record_get_int(cinput_d->contact,
- _contacts_contact.address_book_id, &id_ab);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_db_get_changes_by_version(
- _contacts_contact_updated_info._uri, cinput_d->base_ab,
- cinput_d->view_create_ver, &list, &current_version);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_changes_by_version() Failed(%d)", err);
-
- while (CONTACTS_ERROR_NONE == err)
- {
- err = phone_cts_get_int_from_list(list,
- _contacts_contact_updated_info.contact_id, &contact_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_int_from_list() Failed(%d)", err);
- err = contacts_list_next(list);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_next() Failed(%d)", err);
- continue;
- }
-
- if (contact_id == cinput_d->contact_id)
- {
- changed = true;
- err = phone_cts_get_int_from_list(list,
- _contacts_contact_updated_info.type, &type);
- break;
- }
- err = contacts_list_next(list);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)",
- err);
- }
- err = contacts_list_destroy(list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_destrot() Failed(%d)",
- err);
-
- p_ret_if(!changed);
-
- if (CONTACTS_CHANGE_UPDATED == type
- || (CONTACTS_CHANGE_DELETED == type && !cdetail_d->has_detail))
- elm_naviframe_item_pop(cdetail_d->navi);
-}
-
-static void input_view_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- ct_detail_data *cdetail_d = cinput_d->cdetail_d;
-
- p_retm_if(NULL == cinput_d, "cinput_d is NULL");
- p_retm_if(NULL == cdetail_d, "cdetail_d is NULL");
-
- if (cinput_d->contact_id)
- {
- err = contacts_db_remove_changed_cb(_contacts_contact._uri,
- input_contacts_changed, cinput_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
- }
- if (cinput_d->win_prop_change)
- ecore_event_handler_del(cinput_d->win_prop_change);
- err = contacts_record_destroy(cinput_d->contact, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- evas_object_data_del(cdetail_d->navi, KEY_INPUT_DATA);
-
- if (cdetail_d->has_detail)
- {
- cdetail_d->has_input = false;
- }
- else
- {
- if (cdetail_d->child_ug)
- ug_destroy(cdetail_d->child_ug);
-
- if (cdetail_d->popup)
- evas_object_del(cdetail_d->popup);
-
- free(cdetail_d->base_ab_name);
- free(cdetail_d);
- }
-
- if (cinput_d->crop_ug)
- ug_destroy(cinput_d->crop_ug);
-
- if (cinput_d->child_ug)
- ug_destroy(cinput_d->child_ug);
-
- free(cinput_d->name_old);
- free(cinput_d->base_ab_name);
- free(cinput_d);
-}
-
-static void input_nick_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char *input;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- record = ct_input_get_record_nickname(cinput_d->contact);
- p_retm_if(NULL == record, "ct_input_get_record_nickname() return NULL");
-
- input = ctui_entry_markup_to_utf8(elm_entry_entry_get(obj));
-
- err = contacts_record_set_str(record, _contacts_nickname.name, input);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- free(input);
-}
-
-static void input_nickname_unfocused_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
-
- assert(obj && data);
- if(obj && data)
- {
- ct_input_data * cinput_d = (ct_input_data *) evas_object_data_get(obj, KEY_INPUT_DATA);
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- Evas_Object * entry = obj;
- char * input = ctui_entry_markup_to_utf8(elm_entry_entry_get(entry));
- p_retm_if(NULL == input, "ctui_entry_markup_to_utf8() return NULL");
-
- contacts_record_h record = static_cast<contacts_record_h>(data);
- int errCode = contacts_record_set_str(record, _contacts_nickname.name, input);
- p_warn_if(CONTACTS_ERROR_NONE != errCode,
- "contacts_record_set_str() Failed(%d)", errCode);
-
- if(input)
- {
- free(input);
- }
- }
-
-
-}
-
-
-static void input_website_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char *input;
- ct_input_data *cinput_d;
- Evas_Object *entry = obj;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = (contacts_record_h) data;
-
- p_retm_if(NULL == record, "parameter(record) is NULL");
-
- cinput_d = (ct_input_data *) evas_object_data_get(obj, KEY_INPUT_DATA);
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- input = ctui_entry_markup_to_utf8(elm_entry_entry_get(entry));
- p_retm_if(NULL == input, "ctui_entry_markup_to_utf8() return NULL");
-
- err = contacts_record_set_str(record, _contacts_url.url, input);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- free(input);
-}
-
-static void input_note_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char *input;
- ct_input_data *cinput_d;
- Evas_Object *entry = obj;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = (contacts_record_h) data;
-
- p_retm_if(NULL == record, "parameter(record) is NULL");
-
- cinput_d = (ct_input_data *) evas_object_data_get(obj, KEY_INPUT_DATA);
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- input = ctui_entry_markup_to_utf8(elm_entry_entry_get(entry));
- p_retm_if(NULL == input, "ctui_entry_markup_to_utf8() return NULL");
-
- err = contacts_record_set_str(record, _contacts_note.note, input);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- free(input);
-}
-
-static inline char* input_get_contact_image_path(contacts_record_h record)
-{
- PH_TRACE;
- contacts_record_h record_image;
- char *img_path = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- record_image = ctui_get_record_image(record);
- err = contacts_record_get_str_p(record_image, _contacts_image.path,
- &img_path);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_record_get_str_p() failed(%d)", err);
-
- return img_path;
-}
-
-static void input_set_name_value(Evas_Object *entry, int field,
- ct_input_data *cinput_d)
-{
- PH_TRACE;
- char *name;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- record = ct_input_get_record_name(cinput_d->contact);
- p_retm_if(NULL == record, "ct_input_get_record_name() return NULL");
-
- name = ctui_entry_markup_to_utf8(elm_entry_entry_get(entry));
- p_retm_if(NULL == name, "ctui_entry_markup_to_utf8() return NULL");
-
- err = contacts_record_set_str(record, field, name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- free(name);
-}
-
-static void __input_firstname_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- input_set_name_value(obj, _contacts_name.first, (ct_input_data *) data);
-}
-
-static void input_lastname_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- input_set_name_value(obj, _contacts_name.last, (ct_input_data *) data);
-}
-
-static void input_middle_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- input_set_name_value(obj, _contacts_name.addition, (ct_input_data *) data);
-}
-
-static void input_suffix_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- input_set_name_value(obj, _contacts_name.suffix, (ct_input_data *) data);
-}
-
-static void input_set_company_value(Evas_Object *entry, int field,
- ct_input_data *cinput_d)
-{
- PH_TRACE;
- char *str;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- record = ct_input_get_record_company(cinput_d->contact);
- p_retm_if(NULL == record, "ct_input_get_record_company() return NULL");
-
- str = ctui_entry_markup_to_utf8(elm_entry_entry_get(entry));
- p_retm_if(NULL == str, "ctui_entry_markup_to_utf8() return NULL");
-
- err = contacts_record_set_str(record, field, str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() failed(%d)", err);
-
- free(str);
-}
-
-static void input_job_title_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- input_set_company_value(obj, _contacts_company.job_title, (ct_input_data *) data);
-}
-
-static void input_department_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- input_set_company_value(obj, _contacts_company.department, (ct_input_data *) data);
-}
-
-static void input_company_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- input_set_company_value(obj, _contacts_company.name, (ct_input_data *) data);
-}
-
-static inline Evas_Object* __input_editfield_entry_set(Evas_Object *ef,
- const char *text)
-{
- PH_TRACE;
- Evas_Object *en = elm_object_part_content_get(ef, "elm.swallow.content");
- p_retvm_if(NULL == en, NULL, "elm_object_part_content_get() return NULL");
-
- if (text && *text)
- {
- char *text_markup = elm_entry_utf8_to_markup(text);
- elm_entry_entry_set(en, text_markup);
- free(text_markup);
- }
- return en;
-}
-
-static Evas_Object* __input_fill_layout_basic_info_expand(
- ct_input_data *cinput_d, const char* guide_text,
- Evas_Smart_Cb unfocused_cb, const char* view_uri, int property_id)
-{
- PH_TRACE;
- char *display = NULL;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- Evas_Object *ly_content = NULL;
- Evas_Object *editfield = NULL;
- Evas_Object *box = cinput_d->box;
-
- ly_content = ct_input_create_dg_layout(box, "1icon");
- p_retvm_if(NULL == ly_content, NULL,
- "ct_input_create_dg_layout() return NULL");
- evas_object_size_hint_align_set(ly_content, EVAS_HINT_FILL, 0.0);
- elm_object_signal_emit(ly_content, "elm,state,edit,enabled", "");
-
- editfield = ct_input_add_editfield(ly_content, NULL, guide_text, unfocused_cb,
- cinput_d);
- ct_input_add_name_field(editfield, cinput_d);
- p_retvm_if(NULL == editfield, NULL, "ct_input_add_editfield() return NULL");
- elm_object_part_content_set(ly_content, "elm.icon", editfield);
-
- if (0 == strcmp(_contacts_nickname._uri, view_uri))
- record = ct_input_get_record_nickname(cinput_d->contact);
- else if (0 == strcmp(_contacts_name._uri, view_uri))
- record = ct_input_get_record_name(cinput_d->contact);
- else if (0 == strcmp(_contacts_company._uri, view_uri))
- record = ct_input_get_record_company(cinput_d->contact);
-
- p_retvm_if(NULL == record, NULL, "record is NULL");
-
- err = contacts_record_get_str_p(record, property_id, &display);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- __input_editfield_entry_set(editfield, display);
-
- return ly_content;
-}
-
-static void input_event_del(ct_input_data *cinput_d,
- ct_input_typed_data *typed_data)
-{
- PH_TRACE;
- int idx;
- int err = CONTACTS_ERROR_NONE;
- Eina_List *list = NULL;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
- p_retm_if(NULL == typed_data, "parameter(typed_data) is NULL");
-
- err = contacts_record_remove_child_record(cinput_d->contact,
- _contacts_contact.event, typed_data->record);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_remove_child_record() failed(%d)", err);
-
- if (typed_data->ly_content == cinput_d->ly_event_first)
- {
- idx = ct_input_box_idx_get(cinput_d->box, typed_data->ly_content);
- list = elm_box_children_get(cinput_d->box);
- cinput_d->ly_event_first = (Evas_Object *) eina_list_nth(list, idx + 1);
- eina_list_free(list);
- }
-
- err = contacts_record_destroy(typed_data->record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- elm_box_unpack(cinput_d->box, typed_data->ly_content);
- evas_object_del(typed_data->ly_content);
-}
-
-static void input_event_del_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- ct_input_typed_data *typed_data;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- input_event_del(cinput_d, typed_data);
-}
-
-static void input_event_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int year;
- int month;
- int day;
- struct tm currtime;
- ct_input_data *cinput_d = (ct_input_data *) data;
- Evas_Object *btn_minus;
- int err = CONTACTS_ERROR_NONE;
- ct_input_typed_data *typed_data;
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- elm_datetime_value_get(obj, &currtime);
- year = currtime.tm_year + 1900;
- month = currtime.tm_mon + 1;
- day = currtime.tm_mday;
-
- err = contacts_record_set_int(typed_data->record, _contacts_event.date,
- year * 10000 + month * 100 + day);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- if (typed_data->ly_content == cinput_d->ly_event_last)
- {
- btn_minus = elm_button_add(typed_data->ly_content);
- p_retm_if(NULL == btn_minus, "elm_button_add() return NULL");
-
- elm_object_style_set(btn_minus, "minus");
- evas_object_data_set(btn_minus, "typed_data", typed_data);
- elm_object_part_content_set(typed_data->ly_content, "elm.icon.edit",
- btn_minus);
- evas_object_smart_callback_add(btn_minus, "clicked",
- input_event_del_clicked_cb, cinput_d);
-
- p_retm_if(NULL == input_new_layout_event(*cinput_d),
- "input_new_layout_event() return NULL");
- }
-}
-
-static void input_ringtone_cancel_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- if (cinput_d->popup)
- {
- evas_object_del(cinput_d->popup);
- cinput_d->popup = NULL;
- }
-
- err = contacts_record_set_str(cinput_d->contact,
- _contacts_contact.ringtone_path, NULL);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- ct_input_update_ringtone(cinput_d->contact, cinput_d->ly_ringtone);
-}
-
-static void input_addr_editfield_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int ret;
- char *display;
- Evas_Object *entry = obj;
- contacts_record_h record = (contacts_record_h) data;
-
- p_retm_if(NULL == record, "parameter(record) is NULL");
-
- display = ctui_entry_markup_to_utf8(elm_entry_entry_get(entry));
- p_retm_if(NULL == display, "ctui_entry_markup_to_utf8() return NULL");
-
- ret = contacts_record_set_str(record, _contacts_address.street, display);
- p_warn_if(CONTACTS_ERROR_NONE != ret,
- "contacts_record_set_str() Failed(%d)", ret);
-
- free(display);
-}
-
-static void input_addr_type_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int type = (int) data;
- Evas_Object *btn_type;
- int err = CONTACTS_ERROR_NONE;
- ct_input_data *cinput_d;
- ct_input_typed_data *typed_data;
-
- cinput_d = (ct_input_data *) evas_object_data_get(obj, "cinput_d");
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- if (CONTACTS_ADDRESS_TYPE_CUSTOM == type)
- {
- ct_input_change_name_view(cinput_d->cdetail_d->navi,
- ct_input_custom_type_rename_cb, typed_data);
- evas_object_del(obj);
- return;
- }
-
- err = contacts_record_set_int(typed_data->record, _contacts_address.type,
- type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- btn_type = elm_object_part_content_get(typed_data->ly_content,
- "elm.icon.type");
- p_retm_if(NULL == btn_type, "elm_object_part_content_get() return NULL");
-
- elm_object_text_set(btn_type,
- T_(CT_GET_TEXT_POSTAL_TYPE, phone_get_address_type_index(type)));
- evas_object_del(obj);
-}
-
-static void input_address_type_mouse_up_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int type;
- int rotate;
- Evas_Object *popup;
- int err = CONTACTS_ERROR_NONE;
- ct_input_data *cinput_d;
- ct_input_typed_data *typed_data = (ct_input_typed_data *) data;
-
- p_retm_if(NULL == typed_data, "parameter(typed_data) is NULL");
-
- cinput_d = (ct_input_data *) evas_object_data_get(obj, KEY_INPUT_DATA);
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- popup = elm_ctxpopup_add(cinput_d->cdetail_d->win);
- p_retm_if(NULL == popup, "elm_ctxpopup_add() return NULL");
- cinput_d->popup = popup;
-
- rotate = (int) evas_object_data_get(cinput_d->cdetail_d->navi,
- "phone_rotate");
- if (0 == rotate || 180 == rotate)
- elm_ctxpopup_direction_priority_set(popup, ELM_CTXPOPUP_DIRECTION_DOWN,
- ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_LEFT,
- ELM_CTXPOPUP_DIRECTION_RIGHT);
-
- evas_object_smart_callback_add(popup, "dismissed", ct_detail_popup_hide_cb,
- cinput_d);
-
- err = contacts_record_get_int(typed_data->record, _contacts_address.type,
- &type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- evas_object_data_set(popup, "typed_data", typed_data);
- evas_object_data_set(popup, "cinput_d", cinput_d);
-
- int temp_type = CONTACTS_ADDRESS_TYPE_HOME;
- while (temp_type <= CONTACTS_ADDRESS_TYPE_WORK)
- {
- if (type == temp_type)
- {
- temp_type = temp_type << 1;
- continue;
- }
- elm_ctxpopup_item_append(popup,
- T_(CT_GET_TEXT_POSTAL_TYPE, phone_get_address_type_index(temp_type)),
- NULL, input_addr_type_changed_cb, (void *) temp_type);
- temp_type = temp_type << 1;
- }
- if (CONTACTS_ADDRESS_TYPE_OTHER != type)
- {
- elm_ctxpopup_item_append(popup,
- T_(CT_GET_TEXT_POSTAL_TYPE, phone_get_address_type_index(CONTACTS_ADDRESS_TYPE_OTHER)),
- NULL, input_addr_type_changed_cb,
- (void *) CONTACTS_ADDRESS_TYPE_OTHER);
- }
- if (CONTACTS_ADDRESS_TYPE_CUSTOM != type)
- {
- elm_ctxpopup_item_append(popup,
- T_(CT_GET_TEXT_POSTAL_TYPE, phone_get_address_type_index(CONTACTS_ADDRESS_TYPE_CUSTOM)),
- NULL, input_addr_type_changed_cb,
- (void *) CONTACTS_ADDRESS_TYPE_CUSTOM);
- }
-
- phone_move_ctxpopup(popup, obj);
- evas_object_show(popup);
-}
-
-static void input_addr_del_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int idx;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *layout;
- ct_input_data *cinput_d = (ct_input_data *) data;
- ct_input_typed_data *typed_data;
-
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- err = contacts_record_remove_child_record(cinput_d->contact,
- _contacts_contact.address, typed_data->record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_remove_child_record() Failed(%d)", err);
-
- if (typed_data->ly_content == cinput_d->ly_addr_first)
- {
- Eina_List *list;
- idx = ct_input_box_idx_get(cinput_d->box, cinput_d->ly_addr_first);
- list = elm_box_children_get(cinput_d->box);
- layout = (Evas_Object *) eina_list_nth(list, idx + 1);
- eina_list_free(list);
- cinput_d->ly_addr_first = layout;
- }
-
- err = contacts_record_destroy(typed_data->record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- elm_box_unpack(cinput_d->box, typed_data->ly_content);
- evas_object_del(typed_data->ly_content);
-
-}
-
-static void input_addr_add_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *layout;
- ct_input_data *cinput_d = (ct_input_data *) data;
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- layout = input_new_layout_address((ct_input_data *) data);
- p_retm_if(NULL == layout, "input_new_layout_address() return");
-
- input_update_address((ct_input_data *) data);
-}
-
-static void input_update_address(ct_input_data *cinput_d)
-{
- PH_TRACE;
- int idx;
- Eina_List *list, *cursor;
- Evas_Object *btn;
- ct_input_typed_data *typed_data;
- void *v_ly_content;
-
- idx = ct_input_box_idx_get(cinput_d->box, cinput_d->ly_addr_first);
- list = elm_box_children_get(cinput_d->box);
- EINA_LIST_FOREACH(eina_list_nth_list(list, idx), cursor, v_ly_content)
- {
- Evas_Object *ly_content = (Evas_Object *) v_ly_content;
- if (NULL == ly_content)
- continue;
- btn = elm_object_part_content_get(ly_content, "elm.icon.edit");
- if (NULL == btn)
- {
- ERR("elm_object_part_content_get() return NULL");
- break;
- }
-
- evas_object_smart_callback_del(btn, "clicked",
- input_addr_add_clicked_cb);
-
- if (ly_content == cinput_d->ly_addr_last)
- {
- elm_object_style_set(btn, "icon_plus");
- evas_object_smart_callback_add(btn, "clicked",
- input_addr_add_clicked_cb, cinput_d);
- break;
- }
- else
- {
- typed_data = (ct_input_typed_data *) evas_object_data_get(ly_content, "typed_data");
- if (NULL == typed_data)
- {
- ERR("evas_object_data_get() return NULL");
- break;
- }
- elm_object_style_set(btn, "icon_minus");
- if (EINA_TRUE == elm_object_disabled_get(btn))
- elm_object_disabled_set(btn, EINA_FALSE);
- evas_object_smart_callback_add(btn, "clicked",
- input_addr_del_clicked_cb, cinput_d);
- }
- }
- eina_list_free(list);
-}
-
-static void __input_image_delete_button_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- contacts_record_h record;
- int err = CONTACTS_ERROR_NONE;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- record = ctui_get_record_image(cinput_d->contact);
- p_retm_if(NULL == record, "ctui_get_record_image() return NULL");
-
- err = contacts_record_remove_child_record(cinput_d->contact,
- _contacts_contact.image, record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_remove_child_record() Failed(%d)", err);
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- ct_input_update_image(cinput_d);
-
- evas_object_del(cinput_d->cdetail_d->popup);
- cinput_d->cdetail_d->popup = NULL;
-}
-
-static void __input_gallery_mouse_up(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- const char *img_path = NULL;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *) event_info;
- int x, y, w, h;
-
- if (ev == NULL)
- return;
-
- img_path = input_get_contact_image_path(cinput_d->contact);
- if (NULL != img_path)
- {
- elm_image_file_set(obj, img_path, NULL);
- }
- else
- elm_image_file_set(obj, CTUI_IMG_INPUT_GALLERY, NULL);
-
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
- return;
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- if (ev->output.y < y || y + h < ev->output.y)
- return;
-
- ct_input_gallery(cinput_d);
-}
-
-static void __input_gallery_mouse_down(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- const char *img_path = NULL;
-
- img_path = input_get_contact_image_path(cinput_d->contact);
- if (NULL != img_path)
- {
- elm_image_file_set(obj, img_path, NULL);
- }
- else
- elm_image_file_set(obj, CTUI_IMG_INPUT_GALLERY_PRESSED, NULL);
-}
-
-static void __input_camera_mouse_up(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *) event_info;
- int x, y, w, h;
- if (ev == NULL)
- return;
-
- elm_image_file_set(obj, CTUI_IMG_INPUT_CAMERA, NULL);
-
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
- return;
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- if (ev->output.y < y || y + h < ev->output.y)
- return;
-
- ct_input_camera(cinput_d);
-
-}
-static void __input_camera_mouse_down(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- elm_image_file_set(obj, CTUI_IMG_INPUT_CAMERA_PRESSED, NULL);
-}
-
-void ct_input_update_image(ct_input_data *cinput_d)
-{
- PH_TRACE;
- const char *img_path = NULL;
- Evas_Object *icon = NULL;
- Evas_Object *btn_minus = NULL;
- Evas_Object *ly_content = NULL;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
- ly_content = cinput_d->ly_image;
- p_retm_if(NULL == ly_content, "parameter(ly_content) is NULL");
-
- icon = elm_object_part_content_unset(ly_content, "elm.icon");
- if (NULL != icon)
- evas_object_del(icon);
-
- icon = elm_icon_add(ly_content);
- p_retm_if(NULL == icon, "elm_icon_add() return NULL");
- elm_object_part_content_set(ly_content, "elm.icon", icon);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_NONE, 1, 1);
-
- evas_object_event_callback_add(icon, EVAS_CALLBACK_MOUSE_DOWN,
- __input_gallery_mouse_down, cinput_d);
- evas_object_event_callback_add(icon, EVAS_CALLBACK_MOUSE_UP,
- __input_gallery_mouse_up, cinput_d);
-
- img_path = input_get_contact_image_path(cinput_d->contact);
- if (NULL != img_path)
- {
- elm_image_file_set(icon, img_path, NULL);
-
- btn_minus = elm_object_part_content_get(ly_content, "elm.icon4");
- if (NULL == btn_minus)
- {
- btn_minus = elm_button_add(ly_content);
- elm_object_part_content_set(ly_content, "elm.icon4", btn_minus);
- elm_object_style_set(btn_minus, "minus");
- evas_object_size_hint_aspect_set(btn_minus,
- EVAS_ASPECT_CONTROL_NONE, 1, 1);
- evas_object_size_hint_align_set(btn_minus, 0.5, EVAS_HINT_FILL);
- evas_object_smart_callback_add(btn_minus, "clicked",
- __input_image_delete_button_clicked_cb, cinput_d);
- }
- }
- else
- {
- elm_image_file_set(icon, CTUI_IMG_INPUT_GALLERY, NULL);
- elm_image_resizable_set(icon, EINA_FALSE, EINA_FALSE);
-
- btn_minus = elm_object_part_content_unset(ly_content, "elm.icon4");
- if (NULL != btn_minus)
- evas_object_del(btn_minus);
- }
-}
-
-static Evas_Object* __input_fill_layout_image(ct_input_data *cinput_d)
-{
- PH_TRACE;
- Evas_Object *ly_content = NULL;
- Evas_Object *box = cinput_d->box;
- Evas_Object *btn_camera = NULL;
-
- ly_content = elm_layout_add(box);
- p_retvm_if(NULL == ly_content, NULL,
- "ct_input_create_dg_layout() return NULL");
- elm_layout_file_set(ly_content, IMAGE_LAYOUT_EDJ, "dialogue/image_layout");
- evas_object_size_hint_align_set(ly_content, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(ly_content);
-
- btn_camera = elm_icon_add(ly_content);
- p_retvm_if(NULL == btn_camera, NULL, "elm_button_add() return NULL");
- elm_image_file_set(btn_camera, CTUI_IMG_INPUT_CAMERA, NULL);
- evas_object_size_hint_aspect_set(btn_camera, EVAS_ASPECT_CONTROL_NONE, 1,
- 1);
- evas_object_size_hint_align_set(btn_camera, 0.5, EVAS_HINT_FILL);
- evas_object_propagate_events_set(btn_camera, EINA_FALSE);
- evas_object_color_set(btn_camera, 255, 255, 255, 255);
- elm_object_part_content_set(ly_content, "elm.icon3", btn_camera);
-
- evas_object_event_callback_add(btn_camera, EVAS_CALLBACK_MOUSE_DOWN,
- __input_camera_mouse_down, cinput_d);
- evas_object_event_callback_add(btn_camera, EVAS_CALLBACK_MOUSE_UP,
- __input_camera_mouse_up, cinput_d);
-
- cinput_d->ly_image = ly_content;
- ct_input_update_image(cinput_d);
-
- return ly_content;
-}
-
-static void __input_basic_info_name_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char *last_name = NULL;
- char *first_name = NULL;
- char *name = NULL;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- name = ctui_entry_markup_to_utf8(elm_entry_entry_get(obj));
- p_retm_if(NULL == name, "ctui_entry_markup_to_utf8() return NULL");
-
- if (name && cinput_d->name_old && 0 == strcmp(name, cinput_d->name_old))
- return;
-
- record = ct_input_get_record_name(cinput_d->contact);
- p_retm_if(NULL == record, "ct_input_get_record_name() return NULL");
-
- first_name = strtok_r(name, " ", &last_name);
-
- err = contacts_record_set_str(record, _contacts_name.first, first_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- err = contacts_record_set_str(record, _contacts_name.last, last_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- free(name);
-}
-
-static void __input_basic_info_name_focused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char *name = NULL;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- name = ctui_entry_markup_to_utf8(elm_entry_entry_get(obj));
- p_retm_if(NULL == name, "ctui_entry_markup_to_utf8() return NULL");
-
- FREEandSTRDUP(cinput_d->name_old, name);
-
- free(name);
-}
-
-static void __input_basic_info_get_name_str(contacts_record_h record_name,
- char *buf, int buf_size)
-{
- PH_TRACE;
- char *first_name = NULL;
- char *last_name = NULL;
-
- p_retm_if(NULL == record_name, "parameter(record_name) is NULL");
- contacts_record_get_str_p(record_name, _contacts_name.first, &first_name);
- contacts_record_get_str_p(record_name, _contacts_name.last, &last_name);
-
- if (first_name && last_name)
- snprintf(buf, buf_size, "%s %s", first_name, last_name);
- else if (first_name)
- snprintf(buf, buf_size, "%s", first_name);
- else if (last_name)
- snprintf(buf, buf_size, "%s", last_name);
-}
-
-static void __input_basic_info_update(ct_input_data *cinput_d)
-{
- PH_TRACE;
- char *name = NULL;
- char buf[PH_TEXT_MAX_LEN + 1] = { 0 };
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record_name = NULL;
- Evas_Object *editfield = NULL;
- Evas_Object *entry = NULL;
- Evas_Object *ly_content = NULL;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- ly_content = cinput_d->ly_basic_info;
- record_name = ct_input_get_record_name(cinput_d->contact);
-
- if (!cinput_d->ly_basic_info_middle_name)
- { // contracted
- editfield = ct_input_add_editfield(ly_content, NULL, S_(CT_SYS_BODY_NAME),
- __input_basic_info_name_unfocused_cb, cinput_d);
- p_retm_if(NULL == editfield, "ct_input_add_editfield() return NULL");
-
- entry = elm_object_part_content_get(editfield, "elm.swallow.content");
- evas_object_smart_callback_add(entry, "focused",
- __input_basic_info_name_focused_cb, cinput_d);
- elm_entry_input_panel_imdata_set(entry, (void*) "type=name", 9);
- elm_object_part_content_set(ly_content, "elm.icon", editfield);
-
- __input_basic_info_get_name_str(record_name, buf, sizeof(buf));
- if (*buf)
- __input_editfield_entry_set(editfield, buf);
- }
- else
- { // expanded
- /* first name */
- editfield = ct_input_add_editfield(ly_content, NULL,
- T_(CT_GET_TEXT_BASIC, CTTEXT_FIRSTNAME),
- __input_firstname_unfocused_cb, cinput_d);
- p_retm_if(NULL == editfield, "ct_input_add_editfield() return NULL");
-
- elm_object_part_content_set(ly_content, "elm.icon", editfield);
-
- err = contacts_record_get_str_p(record_name, _contacts_name.first,
- &name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- __input_editfield_entry_set(editfield, name);
- }
-}
-
-static void __input_basic_info_expand(ct_input_data *cinput_d)
-{
- PH_TRACE;
- Evas_Object *layout;
-
- layout = __input_fill_layout_basic_info_expand(cinput_d,
- T_(CT_GET_TEXT_BASIC, CTTEXT_MIDDLE),
- input_middle_unfocused_cb, _contacts_name._uri,
- _contacts_name.addition);
- p_retm_if(NULL == layout,
- "__input_fill_layout_basic_info_expand() return NULL");
- elm_box_pack_after(cinput_d->box, layout, cinput_d->ly_basic_info);
- cinput_d->ly_basic_info_middle_name = layout;
-
- layout = __input_fill_layout_basic_info_expand(cinput_d,
- T_(CT_GET_TEXT_BASIC, CTTEXT_LASTNAME),
- input_lastname_unfocused_cb, _contacts_name._uri,
- _contacts_name.last);
- p_retm_if(NULL == layout,
- "__input_fill_layout_basic_info_expand() return NULL");
- elm_box_pack_after(cinput_d->box, layout,
- cinput_d->ly_basic_info_middle_name);
- cinput_d->ly_basic_info_last_name = layout;
-
- layout = __input_fill_layout_basic_info_expand(cinput_d,
- T_(CT_GET_TEXT_BASIC, CTTEXT_SUFFIX),
- input_suffix_unfocused_cb, _contacts_name._uri,
- _contacts_name.suffix);
- p_retm_if(NULL == layout,
- "__input_fill_layout_basic_info_expand() return NULL");
- elm_box_pack_after(cinput_d->box, layout,
- cinput_d->ly_basic_info_last_name);
- cinput_d->ly_basic_info_suffix = layout;
-
- layout = __input_fill_layout_basic_info_expand(cinput_d,
- T_(CT_GET_TEXT_BASIC, CTTEXT_NICKNAME),
- input_nick_unfocused_cb, _contacts_nickname._uri,
- _contacts_nickname.name);
- p_retm_if(NULL == layout,
- "__input_fill_layout_basic_info_expand() return NULL");
- elm_box_pack_after(cinput_d->box, layout, cinput_d->ly_basic_info_suffix);
- cinput_d->ly_basic_info_nickname = layout;
-
- // Add job title field
- layout = __input_fill_layout_basic_info_expand(cinput_d,
- T_(CT_GET_TEXT_BASIC, CTTEXT_JOB_TITLE),
- input_job_title_unfocused_cb, _contacts_company._uri,
- _contacts_company.job_title);
- p_retm_if(NULL == layout,
- "__input_fill_layout_basic_info_expand() return NULL");
- elm_box_pack_after(cinput_d->box, layout,
- cinput_d->ly_basic_info_nickname);
- cinput_d->ly_basic_info_job_title = layout;
-
- // Add department field
- if (cinput_d->add_department)
- {
- layout = __input_fill_layout_basic_info_expand(cinput_d,
- T_(CT_GET_TEXT_BASIC, CTTEXT_DEPARTMENT),
- input_department_unfocused_cb, _contacts_company._uri,
- _contacts_company.department);
- p_retm_if(NULL == layout,
- "__input_fill_layout_basic_info_expand() return NULL");
- if (cinput_d->ly_basic_info_job_title)
- elm_box_pack_after(cinput_d->box, layout,
- cinput_d->ly_basic_info_job_title);
- else
- elm_box_pack_after(cinput_d->box, layout,
- cinput_d->ly_basic_info_nickname);
- cinput_d->ly_basic_info_department = layout;
- }
- layout = __input_fill_layout_basic_info_expand(cinput_d,
- T_(CT_GET_TEXT_BASIC, CTTEXT_COMPANY),
- input_company_unfocused_cb, _contacts_company._uri,
- _contacts_company.name);
- p_retm_if(NULL == layout,
- "__input_fill_layout_basic_info_expand() return NULL");
-
- if (cinput_d->ly_basic_info_department)
- elm_box_pack_after(cinput_d->box, layout,
- cinput_d->ly_basic_info_department);
- else if (cinput_d->ly_basic_info_job_title)
- elm_box_pack_after(cinput_d->box, layout,
- cinput_d->ly_basic_info_job_title);
- else
- elm_box_pack_after(cinput_d->box, layout,
- cinput_d->ly_basic_info_nickname);
- cinput_d->ly_basic_info_company = layout;
-}
-
-static inline void __input_basic_info_contract(ct_input_data *cinput_d)
-{
- PH_TRACE;
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- elm_box_unpack(cinput_d->box, cinput_d->ly_basic_info_middle_name);
- elm_box_unpack(cinput_d->box, cinput_d->ly_basic_info_last_name);
- elm_box_unpack(cinput_d->box, cinput_d->ly_basic_info_suffix);
- elm_box_unpack(cinput_d->box, cinput_d->ly_basic_info_nickname);
- elm_box_unpack(cinput_d->box, cinput_d->ly_basic_info_company);
-
- evas_object_del(cinput_d->ly_basic_info_middle_name);
- evas_object_del(cinput_d->ly_basic_info_last_name);
- evas_object_del(cinput_d->ly_basic_info_suffix);
- evas_object_del(cinput_d->ly_basic_info_nickname);
- evas_object_del(cinput_d->ly_basic_info_company);
-
- cinput_d->ly_basic_info_middle_name = NULL;
- cinput_d->ly_basic_info_last_name = NULL;
- cinput_d->ly_basic_info_suffix = NULL;
- cinput_d->ly_basic_info_nickname = NULL;
- cinput_d->ly_basic_info_company = NULL;
-
- if (cinput_d->ly_basic_info_job_title)
- {
- elm_box_unpack(cinput_d->box, cinput_d->ly_basic_info_job_title);
- evas_object_del(cinput_d->ly_basic_info_job_title);
- cinput_d->ly_basic_info_job_title = NULL;
- }
-
- if (cinput_d->ly_basic_info_department)
- {
- elm_box_unpack(cinput_d->box, cinput_d->ly_basic_info_department);
- evas_object_del(cinput_d->ly_basic_info_department);
- cinput_d->ly_basic_info_department = NULL;
- }
-}
-
-static void __input_basic_info_expand_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- Evas_Object *btn_expand = NULL;
- Evas_Object *ly_content = NULL;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
- ly_content = cinput_d->ly_basic_info;
- p_retm_if(NULL == ly_content, "parameter(ly_content) is NULL");
-
- btn_expand = elm_object_part_content_get(ly_content, "elm.icon.edit");
- p_retm_if(NULL == btn_expand, "elm_object_part_content_get() return NULL");
-
- if (cinput_d->ly_basic_info_last_name)
- {
- __input_basic_info_contract(cinput_d);
- elm_object_style_set(btn_expand, "icon_expand_closed");
- }
- else
- {
- __input_basic_info_expand(cinput_d);
- elm_object_style_set(btn_expand, "icon_expand_opened");
- }
- __input_basic_info_update(cinput_d);
-}
-
-static Evas_Object* __input_fill_layout_basic_info(ct_input_data *cinput_d)
-{
- PH_TRACE;
- char buf[PH_TEXT_MAX_LEN + 1] = { 0, };
- Evas_Object *ly_content = NULL;
- Evas_Object *entry = NULL;
- Evas_Object *editfield_name = NULL;
- Evas_Object *btn_expand = NULL;
- Evas_Object *box = cinput_d->box;
- contacts_record_h record_name = NULL;
-
- ly_content = ct_input_create_dg_layout(box, "1icon");
- p_retvm_if(NULL == ly_content, NULL,
- "ct_input_create_dg_layout() return NULL");
- evas_object_size_hint_align_set(ly_content, EVAS_HINT_FILL, 0.0);
- elm_object_signal_emit(ly_content, "elm,state,edit,enabled", "");
-
- editfield_name = ct_input_add_editfield(ly_content, NULL, S_(CT_SYS_BODY_NAME),
- __input_basic_info_name_unfocused_cb, cinput_d);
- ct_input_add_name_field(editfield_name, cinput_d);
- entry = elm_object_part_content_get(editfield_name, "elm.swallow.content");
- evas_object_smart_callback_add(entry, "focused",
- __input_basic_info_name_focused_cb, cinput_d);
- elm_object_part_content_set(ly_content, "elm.icon", editfield_name);
- record_name = ct_input_get_record_name(cinput_d->contact);
- elm_entry_input_panel_imdata_set(entry, (void*) "type=name", 9);
- __input_basic_info_get_name_str(record_name, buf, sizeof(buf));
- if (*buf)
- __input_editfield_entry_set(editfield_name, buf);
-
- btn_expand = elm_button_add(ly_content);
- p_retvm_if(NULL == btn_expand, NULL, "elm_button_add() return NULL");
- elm_object_part_content_set(ly_content, "elm.icon.edit", btn_expand);
- elm_object_style_set(btn_expand, "icon_expand_closed");
- evas_object_smart_callback_add(btn_expand, "clicked",
- __input_basic_info_expand_clicked_cb, cinput_d);
-
- cinput_d->ly_basic_info = ly_content;
- return ly_content;
-}
-
-Evas_Object* ct_input_fill_layout_separator(ct_input_data *cinput_d,
- const char *theme)
-{
- PH_TRACE;
- Evas_Object *box = cinput_d->box;
- Evas_Object *layout;
-
- layout = elm_layout_add(box);
- elm_layout_theme_set(layout, "layout", "dialogue", theme);
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, 0.0);
- evas_object_show(layout);
-
- return layout;
-}
-
-static void input_messenger_del(ct_input_data *cinput_d,
- ct_input_typed_data *typed_data)
-{
- PH_TRACE;
- int idx;
- int err = CONTACTS_ERROR_NONE;
- Eina_List *list = NULL;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
- p_retm_if(NULL == typed_data, "parameter(typed_data) is NULL");
-
- err = contacts_record_remove_child_record(cinput_d->contact,
- _contacts_contact.messenger, typed_data->record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_remove_child_record() Failed(%d)", err);
-
- if (typed_data->ly_content == cinput_d->ly_messenger_first)
- {
- idx = ct_input_box_idx_get(cinput_d->box, typed_data->ly_content);
- list = elm_box_children_get(cinput_d->box);
- cinput_d->ly_messenger_first = (Evas_Object *) eina_list_nth(list, idx + 1);
- eina_list_free(list);
- }
-
- err = contacts_record_destroy(typed_data->record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- elm_box_unpack(cinput_d->box, typed_data->ly_content);
- evas_object_del(typed_data->ly_content);
-}
-
-static void input_messenger_del_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- ct_input_typed_data *typed_data;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- input_messenger_del((ct_input_data *) data, typed_data);
-
-}
-
-static void input_messenger_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- Evas_Object *btn_minus;
- ct_input_typed_data *typed_data;
- const char *tmp;
-
- tmp = elm_entry_entry_get(obj);
- p_retm_if(NULL == tmp || '\0' == tmp[0],
- "elm_entry_entry_get() return NULL");
-
- evas_object_smart_callback_del(obj, "changed", input_messenger_changed_cb);
- evas_object_smart_callback_del(obj, "preedit,changed",
- input_messenger_changed_cb);
- p_retm_if(NULL == cinput_d, "parameter(ct_input_data) is NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- if (typed_data->ly_content == cinput_d->ly_messenger_last)
- {
- btn_minus = elm_button_add(typed_data->ly_content);
- p_retm_if(NULL == btn_minus, "elm_button_add() return NULL");
-
- elm_object_style_set(btn_minus, "minus");
- evas_object_data_set(btn_minus, "typed_data", typed_data);
- elm_object_part_content_set(typed_data->ly_content, "elm.icon.edit",
- btn_minus);
- evas_object_smart_callback_add(btn_minus, "clicked",
- input_messenger_del_clicked_cb, cinput_d);
-
- p_retm_if(NULL == input_new_layout_messenger(cinput_d),
- "input_new_layout_messenger() return NULL");
- }
-}
-
-static void input_messenger_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char *input;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *entry = obj;
- ct_input_typed_data *typed_data;
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(entry, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- input = ctui_entry_markup_to_utf8(elm_entry_entry_get(entry));
- p_retm_if(NULL == input, "ctui_entry_markup_to_utf8() return NULL");
-
- err = contacts_record_set_str(typed_data->record, _contacts_messenger.im_id,
- input);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() failed(%d)", err);
-
- free(input);
-}
-
-static Evas_Object* input_messenger_get_edit_rename(ct_input_data *cinput_d,
- ct_input_typed_data *typed_data)
-{
- PH_TRACE;
- char *val_str;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *entry;
- Evas_Object *editfield;
- Evas_Object *ly_content = typed_data->ly_content;
-
- editfield = ct_input_add_editfield(ly_content, T_(CT_GET_TEXT_BASIC, CTTEXT_INSTANT_MESSENGER),
- T_(CT_GET_TEXT_BASIC, CTTEXT_INSTANT_MESSENGER),
- input_messenger_unfocused_cb, cinput_d);
- p_retvm_if(NULL == editfield, NULL, "ct_input_add_editfield() return NULL");
-
- entry = elm_object_part_content_get(editfield, "elm.swallow.content");
- typed_data->data = entry;
-
- evas_object_data_set(entry, "typed_data", typed_data);
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
-
- err = contacts_record_get_str(typed_data->record, _contacts_messenger.im_id,
- &val_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() failed(%d)", err);
-
- if (val_str && *val_str)
- ctui_entry_entry_set(entry, val_str);
- else
- {
- evas_object_smart_callback_add(entry, "changed",
- input_messenger_changed_cb, cinput_d);
- evas_object_smart_callback_add(entry, "preedit,changed",
- input_messenger_changed_cb, cinput_d);
- }
- return editfield;
-}
-
-static Evas_Object* input_fill_layout_messenger(ct_input_data *cinput_d,
- contacts_record_h record)
-{
- PH_TRACE;
- int type_int;
- char *val_str;
- char* messenger_type_str;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *ly_content;
- Evas_Object *ef;
- Evas_Object *btn_minus;
- Evas_Object *btn_type;
- Evas_Object *box = cinput_d->box;
- ct_input_typed_data *typed_data;
-
- if (!cinput_d->ly_seperator_more)
- {
- cinput_d->ly_seperator_more = ct_input_fill_layout_separator(cinput_d,
- "separator/hd33/with_line");
- p_retvm_if(NULL == cinput_d->ly_seperator_more, EINA_FALSE,
- "ct_input_fill_layout_separator() return NULL");
- elm_box_pack_after(cinput_d->box, cinput_d->ly_seperator_more,
- cinput_d->ly_addr_last);
- }
- ly_content = elm_layout_add(box);
- p_retvm_if(NULL == ly_content, NULL, "elm_layout_add() return NULL");
- elm_layout_file_set(ly_content, CONTACTS_EDJ, "dialogue/1icon.1type.1edit");
- evas_object_size_hint_align_set(ly_content, EVAS_HINT_FILL, 0.0);
- evas_object_show(ly_content);
-
- err = contacts_record_get_int(record, _contacts_messenger.type, &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() failed(%d)", err);
-
- btn_type = elm_button_add(ly_content);
- if (NULL == btn_type)
- {
- ERR("elm_button_add() return NULL");
- evas_object_del(ly_content);
- return NULL;
- }
- if (CONTACTS_MESSENGER_TYPE_CUSTOM == type_int)
- {
- err = contacts_record_get_str_p(record, _contacts_messenger.label,
- &messenger_type_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() failed(%d)", err);
-
- if (NULL == messenger_type_str || '\0' == messenger_type_str[0])
- messenger_type_str =
- (char *) T_(CT_GET_TEXT_IM_TYPE, CONTACTS_MESSENGER_TYPE_CUSTOM);
- }
- else
- messenger_type_str = (char *) T_(CT_GET_TEXT_IM_TYPE, type_int);
- elm_object_text_set(btn_type, messenger_type_str);
- evas_object_data_set(btn_type, KEY_INPUT_DATA, cinput_d);
- elm_object_part_content_set(ly_content, "elm.icon.type", btn_type);
-
- typed_data = (ct_input_typed_data *) calloc(1, sizeof(ct_input_typed_data));
- p_retvm_if(NULL == typed_data, NULL, "calloc() return NULL");
- typed_data->record = record;
- typed_data->ly_content = ly_content;
- typed_data->view_uri = _contacts_messenger._uri;
- evas_object_data_set(ly_content, "typed_data", typed_data);
-
- err = contacts_record_get_str_p(record, _contacts_messenger.im_id,
- &val_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() failed(%d)", err);
-
- if (val_str && *val_str)
- {
- btn_minus = elm_button_add(ly_content);
- if (NULL == btn_minus)
- {
- ERR("elm_button_add() return NULL");
- evas_object_del(ly_content);
- return NULL;
- }
- elm_object_style_set(btn_minus, "minus");
- evas_object_data_set(btn_minus, "typed_data", typed_data);
- elm_object_part_content_set(ly_content, "elm.icon.edit", btn_minus);
- evas_object_smart_callback_add(btn_minus, "clicked",
- input_messenger_del_clicked_cb, cinput_d);
- }
-
- ef = input_messenger_get_edit_rename(cinput_d, typed_data);
- if (NULL == ef)
- {
- ERR("input_messenger_get_edit_rename() return NULL");
- evas_object_del(ly_content);
- return NULL;
- }
- ct_input_add_name_field(ef, cinput_d);
- elm_object_part_content_set(ly_content, "elm.icon", ef);
- evas_object_event_callback_add(ly_content, EVAS_CALLBACK_DEL,
- ct_input_typed_layout_del_cb, typed_data);
-
- evas_object_smart_callback_add(btn_type, "clicked",
- ct_input_data_type_clicked_cb, typed_data);
-
- if (cinput_d->ly_messenger_last)
- elm_box_pack_after(box, ly_content, cinput_d->ly_messenger_last);
- else
- elm_box_pack_after(box, ly_content, cinput_d->ly_seperator_more);
-
- return ly_content;
-}
-
-static int input_fill_layout_messengers(ct_input_data *cinput_d)
-{
- PH_TRACE;
- int i;
- unsigned int count = 0;
- Evas_Object *layout = NULL;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- err = contacts_record_get_child_record_count(cinput_d->contact,
- _contacts_contact.messenger, &count);
- p_retvm_if(CONTACTS_ERROR_NONE != err, 0,
- "contacts_record_get_child_record_count() Failed(%d)", err);
-
- for (i = count - 1; i >= 0; i--)
- {
- err = contacts_record_get_child_record_at_p(cinput_d->contact,
- _contacts_contact.messenger, i, &record);
- if (err != CONTACTS_ERROR_NONE)
- {
- ERR("contacts_record_get_child_record_at_p() Failed(%d)", err);
- continue;
- }
-
- layout = input_fill_layout_messenger(cinput_d, record);
- p_retvm_if(NULL == layout, count,
- "input_fill_layout_messenger() return NULL");
-
- if (NULL == cinput_d->ly_messenger_first)
- cinput_d->ly_messenger_first = layout;
- cinput_d->ly_messenger_last = layout;
- }
-
- return count;
-}
-
-static Evas_Object* input_new_layout_messenger(ct_input_data *cinput_d)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- Evas_Object *layout;
-
- record = ct_input_new_record_messenger(cinput_d->contact);
- p_retvm_if(NULL == record, NULL, "ct_input_new_record() return NULL");
-
- layout = input_fill_layout_messenger(cinput_d, record);
- p_retvm_if(NULL == layout, NULL,
- "input_fill_layout_messenger() return NULL");
-
- if (NULL == cinput_d->ly_messenger_first)
- cinput_d->ly_messenger_first = layout;
- cinput_d->ly_messenger_last = layout;
-
- return layout;
-}
-
-static void input_address_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- Evas_Object *btn_minus;
- ct_input_typed_data *typed_data;
- const char *tmp;
-
- tmp = elm_entry_entry_get(obj);
- p_retm_if(NULL == tmp || '\0' == tmp[0],
- "elm_entry_entry_get() return NULL");
-
- evas_object_smart_callback_del(obj, "changed", input_address_changed_cb);
- evas_object_smart_callback_del(obj, "preedit,changed",
- input_address_changed_cb);
- p_retm_if(NULL == cinput_d, "parameter(ct_input_data) is NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- if (typed_data->ly_content == cinput_d->ly_addr_last)
- {
- btn_minus = elm_button_add(typed_data->ly_content);
- p_retm_if(NULL == btn_minus, "elm_button_add() return NULL");
-
- elm_object_style_set(btn_minus, "minus");
- evas_object_data_set(btn_minus, "typed_data", typed_data);
- elm_object_part_content_set(typed_data->ly_content, "elm.icon.edit",
- btn_minus);
- evas_object_smart_callback_add(btn_minus, "clicked",
- input_addr_del_clicked_cb, cinput_d);
- p_retm_if(NULL == input_new_layout_address(cinput_d),
- "input_new_layout_address() return NULL");
- }
-}
-
-static Evas_Object* input_fill_layout_address(ct_input_data *cinput_d,
- contacts_record_h record)
-{
- PH_TRACE;
- int type_int;
- Evas_Object *ly_content;
- Evas_Object *ef, *en;
- Evas_Object *btn_type;
- Evas_Object *box = cinput_d->box;
- Elm_Entry_Filter_Limit_Size filter;
- int err = CONTACTS_ERROR_NONE;
- ct_input_typed_data *typed_data;
-
- ly_content = elm_layout_add(box);
- p_retvm_if(NULL == ly_content, NULL, "elm_layout_add() return NULL");
-
- elm_layout_file_set(ly_content, CONTACTS_EDJ, "dialogue/1icon.1type.1edit");
- evas_object_size_hint_align_set(ly_content, EVAS_HINT_FILL, 0.0);
- evas_object_show(ly_content);
-
- typed_data = (ct_input_typed_data *) calloc(1, sizeof(ct_input_typed_data));
- p_retvm_if(NULL == typed_data, NULL, "calloc() return NULL");
- typed_data->ly_content = ly_content;
- typed_data->record = record;
- typed_data->view_uri = _contacts_address._uri;
- evas_object_data_set(ly_content, "typed_data", typed_data);
-
- char address[PH_TEXT_MAX_LEN] = { 0, };
-
- ef = ctui_create_editfield(ly_content, NULL, S_(CT_SYS_POP_ADDRESS), false);
- p_retvm_if(NULL == ef, NULL, "ctui_create_editfield() return NULL");
- ct_input_add_name_field(ef, cinput_d);
-
- en = elm_object_part_content_get(ef, "elm.swallow.content");
- filter.max_char_count = CT_INPUT_ADDRESS_MAX_CHAR;
- elm_entry_input_panel_imdata_set(en, (void*) "type=post", 9);
- elm_entry_markup_filter_append(en, elm_entry_filter_limit_size, &filter);
- evas_object_smart_callback_add(en, "changed", ct_input_entry_changed_cb,
- ef);
- evas_object_smart_callback_add(en, "unfocused",
- input_addr_editfield_unfocused_cb, record);
-
- elm_object_part_content_set(ly_content, "elm.icon", ef);
- evas_object_data_set(en, "typed_data", typed_data);
-
- address[0] = '\0';
- ct_input_get_full_address(record, address, sizeof(address));
- en = __input_editfield_entry_set(ef, address);
- if (*address)
- {
- Evas_Object *btn_minus;
- btn_minus = elm_button_add(ly_content);
- if (NULL == btn_minus)
- {
- ERR("elm_button_add() return NULL");
- evas_object_del(ly_content);
- return NULL;
- }
- elm_object_style_set(btn_minus, "minus");
- evas_object_data_set(btn_minus, "typed_data", typed_data);
- elm_object_part_content_set(ly_content, "elm.icon.edit", btn_minus);
- evas_object_smart_callback_add(btn_minus, "clicked",
- input_addr_del_clicked_cb, cinput_d);
- }
- else
- {
- evas_object_smart_callback_add(en, "changed", input_address_changed_cb,
- cinput_d);
- evas_object_smart_callback_add(en, "preedit,changed",
- input_address_changed_cb, cinput_d);
- }
-
- /* type */
- err = contacts_record_get_int(record, _contacts_address.type, &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() failed(%d)", err);
-
- btn_type = elm_button_add(ly_content);
- if (NULL == btn_type)
- {
- ERR("elm_button_add() return NULL");
- evas_object_del(ly_content);
- return NULL;
- }
- elm_object_text_set(btn_type,
- T_(CT_GET_TEXT_POSTAL_TYPE, phone_get_address_type_index(type_int)));
-
- evas_object_data_set(btn_type, KEY_INPUT_DATA, cinput_d);
- elm_object_part_content_set(ly_content, "elm.icon.type", btn_type);
-
- evas_object_smart_callback_add(btn_type, "clicked",
- input_address_type_mouse_up_cb, typed_data);
- evas_object_event_callback_add(ly_content, EVAS_CALLBACK_DEL,
- ct_input_typed_layout_del_cb, typed_data);
-
- if (cinput_d->ly_addr_last)
- elm_box_pack_after(box, ly_content, cinput_d->ly_addr_last);
- else
- elm_box_pack_end(box, ly_content);
-
- return ly_content;
-}
-
-static Evas_Object* input_new_layout_address(ct_input_data *cinput_d)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- Evas_Object *layout;
-
- record = ct_input_new_record_address(cinput_d->contact);
- p_retvm_if(NULL == record, NULL,
- "ct_input_new_record_address() return NULL");
-
- layout = input_fill_layout_address(cinput_d, record);
- p_retvm_if(NULL == layout, NULL, "input_fill_layout_address() return NULL");
-
- if (NULL == cinput_d->ly_addr_first)
- cinput_d->ly_addr_first = layout;
- cinput_d->ly_addr_last = layout;
-
- return layout;
-}
-
-static void input_group_add_cb(int grp_id, void *data, bool changed)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- if (grp_id < CONTACTS_ERROR_NONE)
- return;
-
- err = contacts_record_create(_contacts_group_relation._uri, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_create() failed(%d)",
- err);
-
- err = contacts_record_set_int(record, _contacts_group_relation.group_id,
- grp_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() failed(%d)", err);
-
- err = contacts_record_add_child_record(cinput_d->contact,
- _contacts_contact.group_relation, record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_add_child_record() failed(%d)", err);
-
- //err = contacts_group_add_contact(grp_id,info->contact_id);
- //p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_group_add_contact() Failed(%d)", err);
-
- ct_input_update_group(cinput_d);
-}
-
-static void input_group_mouse_up_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- unsigned int count = 0;
- int x, y, w, h;
- int err = CONTACTS_ERROR_NONE;
- contacts_list_h list = NULL;
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *) event_info;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- p_retm_if(NULL == ev, "ev is NULL");
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
- return;
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- if (ev->output.y < y || y + h < ev->output.y)
- return;
- elm_object_focus_set(cinput_d->cdetail_d->navi, EINA_FALSE);
-
- err = phone_cts_get_list(_contacts_group._uri,
- _contacts_group.address_book_id, cinput_d->base_ab, &list);
- p_warn_if(CONTACTS_ERROR_NONE != err, "phone_cts_get_list() Failed(%d)",
- err);
-
- err = contacts_list_get_count(list, &count);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_get_count() Failed(%d)", err);
-
- err = contacts_list_destroy(list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)",
- err);
-
- if (count)
- ct_group_assign_popup_create(cinput_d->cdetail_d->win, cinput_d->cdetail_d->navi,
- cinput_d->contact, ct_input_update_group, cinput_d);
- else
- ctui_create_group_input_view(cinput_d->cdetail_d->win,
- cinput_d->cdetail_d->navi, NULL, input_group_add_cb, cinput_d);
-}
-
-static char *input_popup_text_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- if (0 == strcmp(part, "elm.text"))
- return strdup((const char *) data);
- return NULL;
-}
-
-static void input_ringtone_mouse_up_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *popup;
- Evas_Object *genlist;
- Evas_Object *btn;
- Evas_Object *box;
- char *temp;
- int x, y, w, h;
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *) event_info;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- p_retm_if(NULL == ev, "ev is NULL");
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
- return;
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- if (ev->output.y < y || y + h < ev->output.y)
- return;
- elm_object_focus_set(cinput_d->cdetail_d->navi, EINA_FALSE);
-
- popup = elm_popup_add(cinput_d->cdetail_d->navi);
- cinput_d->popup = popup;
- elm_object_style_set(popup, "min_menustyle");
- elm_object_part_text_set(popup, "title,text",
- T_(CT_GET_TEXT_BASIC, CTTEXT_RINGTONE));
- evas_object_smart_callback_add(popup, "block,clicked", ctui_input_data_popup_hide_cb,
- NULL);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_SK_CANCEL));
- elm_object_part_content_set(popup, "button1", btn);
- evas_object_smart_callback_add(btn, "clicked", ctui_input_data_popup_hide_cb,cinput_d );
-
- input_ringtone_itc.item_style = "1text";
- input_ringtone_itc.func.text_get = input_popup_text_get;
- input_ringtone_itc.func.content_get = NULL;
- input_ringtone_itc.func.state_get = NULL;
- input_ringtone_itc.func.del = NULL;
-
- box = elm_box_add(popup);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- genlist = elm_genlist_add(popup);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_genlist_item_append(genlist, &input_ringtone_itc, S_(CT_SYS_SK_SET),
- NULL, ELM_GENLIST_ITEM_NONE, ct_input_myfile_ringtone, data);
-
- err = contacts_record_get_str_p(cinput_d->contact,
- _contacts_contact.ringtone_path, &temp);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_contact_record_get_str_p() Failed(%d)", err);
-
- if (temp && *temp)
- elm_genlist_item_append(genlist, &input_ringtone_itc,
- S_(CT_SYS_SK_RESET), NULL, ELM_GENLIST_ITEM_NONE,
- input_ringtone_cancel_cb, data);
- elm_box_pack_end(box, genlist);
- evas_object_show(genlist);
- evas_object_size_hint_min_set(box, 600, 200);
- elm_object_content_set(popup, box);
- evas_object_show(popup);
-}
-
-
-static void input_vibration_set_result_cb(void *data, const char *path)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- int err = contacts_record_set_str(cinput_d->contact,
- _contacts_contact.vibration, path);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- ct_input_update_vibration(cinput_d->contact, cinput_d->ly_vibration);
-}
-
-static void input_vibration_mouse_up_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- ct_input_data *cinput_d = (ct_input_data *) data;
- char *vibration = NULL;
- int err = contacts_record_get_str_p(cinput_d->contact,
- _contacts_contact.vibration, &vibration);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- cinput_d->popup = ct_detail_vibration_popup_create(cinput_d->cdetail_d->navi, vibration,
- input_vibration_set_result_cb, cinput_d);
-}
-
-static void input_del_group_info(ct_input_data *cinput_d)
-{
- PH_TRACE;
- int i;
- unsigned int count;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- err = contacts_record_get_child_record_count(cinput_d->contact,
- _contacts_contact.group_relation, &count);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_child_record_count() Failed(%d)", err);
-
- for (i = count - 1; i >= 0; i--)
- {
- err = contacts_record_get_child_record_at_p(cinput_d->contact,
- _contacts_contact.group_relation, i, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_child_record_at_p() Failed(%d)", err);
-
- err = contacts_record_remove_child_record(cinput_d->contact,
- _contacts_contact.group_relation, record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_remove_child_record() Failed(%d)", err);
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_remove_child_record() Failed(%d)", err);
- }
-
- if (cinput_d->ly_group)
- ct_input_update_group(cinput_d);
-}
-
-static Evas_Object* input_fill_layout_group(ct_input_data *cinput_d)
-{
- PH_TRACE;
- char display[PH_TEXT_SHORT_LEN];
- Evas_Object *box = cinput_d->box;
- Evas_Object *ly_content;
-
- ly_content = ct_input_create_dg_layout(box, "2text.3");
- p_retvm_if(NULL == ly_content, NULL, "ct_input_create_dg_layout() return NULL");
-
- cinput_d->ly_group = ly_content;
- input_layout_selectable_set(ly_content);
- evas_object_event_callback_add(ly_content, EVAS_CALLBACK_MOUSE_UP, input_group_mouse_up_cb, cinput_d);
-
- elm_object_part_text_set(ly_content, "elm.text.1", T_(CT_GET_TEXT_BASIC, CTTEXT_GROUP));
- ct_detail_get_group_names(cinput_d->contact, display, sizeof(display));
- elm_object_part_text_set(ly_content, "elm.text.2", display);
-
- return ly_content;
-}
-
-static Evas_Object* input_fill_layout_ringtone(ct_input_data *cinput_d)
-{
- PH_TRACE;
- char *temp;
- const char *display;
-
- Evas_Object *box = cinput_d->box;
- Evas_Object *ly_content;
- int err = CONTACTS_ERROR_NONE;
-
- ly_content = ct_input_create_dg_layout(box, "2text.3");
- p_retvm_if(NULL == ly_content, NULL,
- "ct_input_create_dg_layout() return NULL");
-
- cinput_d->ly_ringtone = ly_content;
- input_layout_selectable_set(ly_content);
- evas_object_event_callback_add(ly_content, EVAS_CALLBACK_MOUSE_UP,
- input_ringtone_mouse_up_cb, cinput_d);
-
- /* title */
- elm_object_part_text_set(ly_content, "elm.text.1",
- T_(CT_GET_TEXT_BASIC, CTTEXT_RINGTONE));
-
- /* file name */
- err = contacts_record_get_str_p(cinput_d->contact,
- _contacts_contact.ringtone_path, &temp);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_contact_record_get_str_p() Failed(%d)", err);
-
- display = ct_detail_get_ringtone_display_name(temp);
- elm_object_part_text_set(ly_content, "elm.text.2", display);
-
- return ly_content;
-}
-
-static Evas_Object* input_fill_layout_vibration(ct_input_data *cinput_d)
-{
- PH_TRACE;
- char *vibration = NULL;
- Evas_Object *box = cinput_d->box;
- Evas_Object *ly_content;
- int err = CONTACTS_ERROR_NONE;
-
- ly_content = ct_input_create_dg_layout(box, "2text.3");
- p_retvm_if(NULL == ly_content, NULL,
- "ct_input_create_dg_layout() return NULL");
-
- cinput_d->ly_vibration = ly_content;
- input_layout_selectable_set(ly_content);
- evas_object_event_callback_add(ly_content, EVAS_CALLBACK_MOUSE_UP,
- input_vibration_mouse_up_cb, cinput_d);
-
- /* title */
- elm_object_part_text_set(ly_content, "elm.text.1",
- T_(CT_GET_TEXT_BASIC, CTTEXT_VIBRATION_PATTERN));
-
- /* file name */
- err = contacts_record_get_str_p(cinput_d->contact,
- _contacts_contact.vibration, &vibration);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_contact_record_get_str_p() Failed(%d)", err);
-
- elm_object_part_text_set(ly_content, "elm.text.2",
- T_(CT_GET_TEXT_VIBRATION, ct_detail_vibration_get_msgid(vibration)));
-
- return ly_content;
-}
-
-static inline void input_refresh_layout(ct_input_data *cinput_d)
-{
- PH_TRACE;
- cinput_d->idx_append = 0;
- elm_box_clear(cinput_d->box);
-
- cinput_d->ly_basic_info = NULL;
- cinput_d->ly_basic_info_last_name = NULL;
- cinput_d->ly_basic_info_suffix = NULL;
- cinput_d->ly_basic_info_nickname = NULL;
- cinput_d->ly_basic_info_job_title = NULL;
- cinput_d->ly_basic_info_department = NULL;
- cinput_d->ly_basic_info_company = NULL;
- cinput_d->ly_number_first = NULL;
- cinput_d->ly_number_last = NULL;
- cinput_d->ly_number_default = NULL;
- cinput_d->ly_number_set_default_separator_before = NULL;
- cinput_d->ly_number_set_default = NULL;
- cinput_d->ly_number_set_default_separator_after = NULL;
- cinput_d->ly_email_first = NULL;
- cinput_d->ly_email_last = NULL;
- cinput_d->ly_addr_first = NULL;
- cinput_d->ly_addr_last = NULL;
- cinput_d->ly_seperator_more = NULL;
- cinput_d->ly_messenger_first = NULL;
- cinput_d->ly_messenger_last = NULL;
- cinput_d->ly_url_first = NULL;
- cinput_d->ly_url_last = NULL;
- cinput_d->ly_relationship_first = NULL;
- cinput_d->ly_relationship_last = NULL;
- cinput_d->ly_event_first = NULL;
- cinput_d->ly_event_last = NULL;
- cinput_d->ly_note = NULL;
- cinput_d->ly_group = NULL;
- cinput_d->ly_ringtone = NULL;
- cinput_d->ly_address_book = NULL;
- cinput_d->ly_moreinfo = NULL;
-
- input_fill_layout(cinput_d);
-}
-
-static void input_addrbook_item_sel_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char temp[PH_TEXT_SHORT_LEN];
- ct_input_data *cinput_d = (ct_input_data *) data;
- ct_ab_popup_data *ab_popup_data;
-
- elm_genlist_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
-
- ab_popup_data = (ct_ab_popup_data *) elm_object_item_data_get((Elm_Object_Item *) event_info);
- p_retm_if(NULL == ab_popup_data, "evas_object_data_get() return NULL");
-
- if (cinput_d->base_ab != ab_popup_data->id)
- input_del_group_info(cinput_d);
-
- cinput_d->base_ab = ab_popup_data->id;
- cinput_d->base_ab_mode = ab_popup_data->mode;
-
- free(cinput_d->base_ab_name);
- cinput_d->base_ab_name = NULL;
-
- temp[0] = '\0';
- ctui_get_addressbook_name(ab_popup_data->id, temp, sizeof(temp));
- if (*temp)
- cinput_d->base_ab_name = strdup(temp);
-
- ct_input_remove_empty_fields(cinput_d->contact);
- input_refresh_layout(cinput_d);
- if (cinput_d->ly_address_book)
- {
- elm_object_part_text_set(cinput_d->ly_address_book, "elm.text.2",
- cinput_d->base_ab_name);
- }
- ct_detail_popup_hide_cb(cinput_d->cdetail_d, NULL, NULL);
-}
-
-static void input_addrbook_mouse_up_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int x, y, w, h;
- Evas_Object *popup;
- Evas_Object *btn;
- ct_input_data *cinput_d = (ct_input_data *) data;
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *) event_info;
-
- p_retm_if(NULL == ev, "ev is NULL");
- if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
- return;
-
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- if (ev->output.y < y || y + h < ev->output.y)
- return;
- elm_object_focus_set(cinput_d->cdetail_d->navi, EINA_FALSE);
-
- popup = ctui_addrbook_popup(cinput_d->cdetail_d->win,
- input_addrbook_item_sel_cb, cinput_d, CT_AB_POPUP_TYPE_INPUT_VIEW);
- p_retm_if(NULL == popup, "ctui_addrbook_popup() return NULL");
- elm_object_part_text_set(popup, "title,text",
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_SAVE_CONTACT_TO));
-
- btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_POP_CLOSE));
- elm_object_part_content_set(popup, "button1", btn);
- elm_object_style_set(btn, "popup_button/default");
- evas_object_smart_callback_add(btn, "clicked", ct_detail_popup_hide_cb,
- cinput_d->cdetail_d);
-
- cinput_d->cdetail_d->popup = popup;
- cinput_d->popup = popup;
-}
-
-static Evas_Object* input_fill_layout_addrbook(ct_input_data *cinput_d)
-{
- PH_TRACE;
- const char *display;
- Evas_Object *box = cinput_d->box;
- Evas_Object *ly_content;
-
- ly_content = ct_input_create_dg_layout(box, "2text.3");
- p_retvm_if(NULL == ly_content, NULL,
- "ct_input_create_dg_layout() return NULL");
-
- cinput_d->ly_address_book = ly_content;
- input_layout_selectable_set(ly_content);
- evas_object_event_callback_add(ly_content, EVAS_CALLBACK_MOUSE_UP,
- input_addrbook_mouse_up_cb, cinput_d);
-
- elm_object_part_text_set(ly_content, "elm.text.1",
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_SAVE_CONTACT_TO));
-
- if (0 == cinput_d->base_ab)
- display = S_(CT_SYS_BODY_PHONE);
- else if (cinput_d->base_ab_name)
- display = cinput_d->base_ab_name;
- else
- display = S_(PH_SYS_BODY_UNKNOWN);
-
- elm_object_part_text_set(ly_content, "elm.text.2", display);
- return ly_content;
-}
-
-static void input_relationship_unfocused_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char *input;
- int err = CONTACTS_ERROR_NONE;
- ct_input_data *cinput_d;
- ct_input_typed_data *typed_data = (ct_input_typed_data *) data;
-
- cinput_d = (ct_input_data *) evas_object_data_get(obj, KEY_INPUT_DATA);
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- input = ctui_entry_markup_to_utf8(elm_entry_entry_get(obj));
- if (input)
- {
- err = contacts_record_set_str(typed_data->record,
- _contacts_relationship.name, input);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
- }
- free(input);
-}
-
-static void input_relationship_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- const char *tmp;
-
- tmp = elm_entry_entry_get(obj);
- p_retm_if(NULL == tmp || '\0' == tmp[0],
- "elm_entry_entry_get() return NULL");
-
- evas_object_smart_callback_del(obj, "changed",
- input_relationship_changed_cb);
- evas_object_smart_callback_del(obj, "preedit,changed",
- input_relationship_changed_cb);
- p_retm_if(NULL == cinput_d, "parameter(ct_input_data) is NULL");
-
- p_retm_if(NULL == input_new_layout_relationship(*cinput_d),
- "input_new_layout_relationship() return NULL");
-}
-
-static Evas_Object* input_relationship_get_edit_rename(ct_input_data *cinput_d,
- ct_input_typed_data *typed_data)
-{
- PH_TRACE;
- char *val_str;
- Evas_Object *entry;
- Evas_Object *editfield;
- int err __attribute__ ((unused)) = CONTACTS_ERROR_NONE;
- Evas_Object *ly_content = typed_data->ly_content;
-
- editfield = ct_input_add_editfield(ly_content, T_(CT_GET_TEXT_BASIC, CTTEXT_RELATIONSHIP),
- T_(CT_GET_TEXT_BASIC, CTTEXT_RELATIONSHIP),
- input_relationship_unfocused_cb, typed_data);
-
- p_retvm_if(NULL == editfield, NULL, "ct_input_add_editfield() return NULL");
-
- entry = elm_object_part_content_get(editfield, "elm.swallow.content");
- typed_data->data = entry;
-
- evas_object_data_set(entry, KEY_INPUT_DATA, cinput_d);
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL);
-
- err = contacts_record_get_str_p(typed_data->record,
- _contacts_relationship.name, &val_str);
- if (val_str && *val_str)
- ctui_entry_entry_set(entry, val_str);
- else
- {
- evas_object_smart_callback_add(entry, "changed",
- input_relationship_changed_cb, cinput_d);
- evas_object_smart_callback_add(entry, "preedit,changed",
- input_relationship_changed_cb, cinput_d);
- }
- return editfield;
-}
-
-static void input_relationship_select_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d;
- ct_input_typed_data *typed_data = (ct_input_typed_data *) data;
- ct_person_list *person_info;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
-
- Evas_Object *editfield;
- Evas_Object *entry;
- Evas_Object *btn;
-
- p_retm_if(!typed_data, "parameter(cinput_d) is NULL");
-
- person_info = (ct_person_list *) elm_object_item_data_get(item);
- p_retm_if(NULL == person_info, "elm_object_item_data_get() returns NULL");
-
- editfield = elm_object_part_content_get(typed_data->ly_content, "elm.icon");
- entry = elm_object_part_content_get(editfield, "elm.swallow.content");
-
- if (entry && person_info->display && *person_info->display)
- ctui_entry_entry_set(entry, person_info->display);
-
- btn = elm_object_part_content_get(typed_data->ly_content, "elm.icon.edit");
- cinput_d = (ct_input_data *) evas_object_data_get(btn, KEY_INPUT_DATA);
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
- elm_naviframe_item_pop(cinput_d->cdetail_d->navi);
-}
-
-static void input_relationship_select_contact(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_typed_data *typed_data = (ct_input_typed_data *) data;
- ct_input_data *cinput_d = (ct_input_data *) evas_object_data_get(obj, KEY_INPUT_DATA);
- ctui_create_list_single_select_view(cinput_d->win, cinput_d->navi,
- input_relationship_select_cb, typed_data, 0);
-}
-
-static Evas_Object* input_fill_layout_relationship(ct_input_data *cinput_d,
- contacts_record_h record)
-{
- PH_TRACE;
- int type_int = 0;
- char *type_str = NULL;
- Evas_Object *ly_content;
- Evas_Object *btn_type;
- Evas_Object *box = cinput_d->box;
- Evas_Object *ef;
- Evas_Object *btn;
- int err = CONTACTS_ERROR_NONE;
- ct_input_typed_data *typed_data;
-
- if (!cinput_d->ly_seperator_more)
- {
- cinput_d->ly_seperator_more = ct_input_fill_layout_separator(cinput_d,
- "separator/hd33/with_line");
- p_retvm_if(NULL == cinput_d->ly_seperator_more, EINA_FALSE,
- "ct_input_fill_layout_separator() return NULL");
- elm_box_pack_after(cinput_d->box, cinput_d->ly_seperator_more,
- cinput_d->ly_addr_last);
- }
-
- ly_content = elm_layout_add(box);
- p_retvm_if(NULL == ly_content, NULL, "elm_layout_add() return NULL");
- elm_layout_file_set(ly_content, CONTACTS_EDJ, "dialogue/1icon.1type.1edit");
- evas_object_size_hint_align_set(ly_content, EVAS_HINT_FILL, 0.0);
- evas_object_show(ly_content);
-
- err = contacts_record_get_int(record, _contacts_relationship.type,
- &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- btn_type = elm_button_add(ly_content);
- if (NULL == btn_type)
- {
- ERR("elm_button_add() return NULL");
- evas_object_del(ly_content);
- return NULL;
- }
-
- if (CONTACTS_RELATIONSHIP_TYPE_CUSTOM == type_int)
- {
- err = contacts_record_get_str_p(record, _contacts_relationship.label,
- &type_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- }
-
- if (NULL == type_str)
- type_str = (char *) T_(CT_GET_TEXT_RELATIONSHIP_TYPE, type_int);
-
- elm_object_text_set(btn_type, type_str);
- evas_object_data_set(btn_type, KEY_INPUT_DATA, cinput_d);
- elm_object_part_content_set(ly_content, "elm.icon.type", btn_type);
-
- typed_data = (ct_input_typed_data *) calloc(1, sizeof(ct_input_typed_data));
- p_retvm_if(NULL == typed_data, NULL, "calloc() return NULL");
- typed_data->record = record;
- typed_data->ly_content = ly_content;
- typed_data->view_uri = _contacts_relationship._uri;
-
- evas_object_data_set(ly_content, "typed_data", typed_data);
- ef = input_relationship_get_edit_rename(cinput_d, typed_data);
- if (NULL == ef)
- {
- ERR("input_website_get_edit_rename() return NULL");
- evas_object_del(ly_content);
- free(typed_data);
- return NULL;
- }
- ct_input_add_name_field(ef, cinput_d);
-
- elm_object_part_content_set(ly_content, "elm.icon", ef);
- evas_object_event_callback_add(ly_content, EVAS_CALLBACK_DEL,
- ct_input_typed_layout_del_cb, typed_data);
- evas_object_smart_callback_add(btn_type, "clicked",
- ct_input_data_type_clicked_cb, typed_data);
-
- btn = elm_button_add(ly_content);
- if (NULL == btn)
- {
- ERR("elm_button_add() return NULL");
- evas_object_del(ly_content);
- return NULL;
- }
- elm_object_part_content_set(ly_content, "elm.icon.edit", btn);
- evas_object_data_set(btn, KEY_INPUT_DATA, cinput_d);
- elm_object_style_set(btn, "icon_plus");
- evas_object_smart_callback_add(btn, "clicked",
- input_relationship_select_contact, typed_data);
-
- if (cinput_d->ly_relationship_last)
- elm_box_pack_after(box, ly_content, cinput_d->ly_relationship_last);
- else if (cinput_d->ly_url_last)
- elm_box_pack_after(box, ly_content, cinput_d->ly_url_last);
- else if (cinput_d->ly_messenger_last)
- elm_box_pack_after(box, ly_content, cinput_d->ly_messenger_last);
- else
- elm_box_pack_after(box, ly_content, cinput_d->ly_seperator_more);
-
- if (NULL == cinput_d->ly_relationship_first)
- cinput_d->ly_relationship_first = ly_content;
- cinput_d->ly_relationship_last = ly_content;
-
- return ly_content;
-}
-
-static int input_fill_layout_relationship_list(ct_input_data &cinput_d)
-{
- PH_TRACE;
- int count = 0;
- Evas_Object *ly = NULL;
- contacts_record_h record = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(cinput_d.contact,
- _contacts_contact.relationship, count++, &record))
- {
- ly = input_fill_layout_relationship(&cinput_d, record);
- p_retvm_if(NULL == ly, count-1,
- "input_fill_layout_relationship() return NULL");
-
- if (NULL == cinput_d.ly_relationship_first)
- cinput_d.ly_relationship_first = ly;
- cinput_d.ly_relationship_last = ly;
- }
- return count - 1;
-}
-
-static Evas_Object* input_new_layout_relationship(ct_input_data &cinput_d)
-{
- PH_TRACE;
-
- contacts_record_h record = ct_input_new_record_relationship(cinput_d.contact);
- p_retvm_if(NULL == record, NULL, "ct_input_new_record() return NULL");
-
- Evas_Object * layout = input_fill_layout_relationship(&cinput_d, record);
- p_retvm_if(NULL == layout, NULL,
- "input_fill_layout_relationship() return NULL");
-
- if (NULL == cinput_d.ly_relationship_first)
- cinput_d.ly_relationship_first = layout;
- cinput_d.ly_relationship_last = layout;
-
- return layout;
-}
-
-static Evas_Object* input_fill_layout_event(ct_input_data *cinput_d,
- contacts_record_h record)
-{
- PH_TRACE;
- p_retvm_if(NULL == cinput_d, NULL, "contact input data is NULL");
- p_retvm_if(NULL == record, NULL, "record is NULL");
-
- int event_date = 0;
- int type_int = 0;
- char *label = NULL;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *ly_content = NULL;
- Evas_Object *btn_minus = NULL;
- Evas_Object *btn_type = NULL;
- Evas_Object *box = cinput_d->box;
- Evas_Object *datetime = NULL;
- ct_input_typed_data *typed_data = NULL;
-
- if (!cinput_d->ly_seperator_more)
- {
- cinput_d->ly_seperator_more = ct_input_fill_layout_separator(cinput_d,
- "separator/hd33/with_line");
- p_retvm_if(NULL == cinput_d->ly_seperator_more, EINA_FALSE,
- "ct_input_fill_layout_separator() return NULL");
- elm_box_pack_after(cinput_d->box, cinput_d->ly_seperator_more,
- cinput_d->ly_addr_last);
- }
-
- ly_content = elm_layout_add(box);
- p_retvm_if(NULL == ly_content, NULL, "elm_layout_add() return NULL");
- elm_layout_file_set(ly_content, CONTACTS_EDJ, "dialogue/1icon.1type.1edit");
- evas_object_size_hint_align_set(ly_content, EVAS_HINT_FILL, 0.0);
- evas_object_show(ly_content);
-
- /* datetime */
- datetime = elm_datetime_add(ly_content);
- p_retvm_if(NULL == datetime, NULL, "elm_datetime_add() return NULL");
-
- elm_datetime_field_visible_set(datetime, ELM_DATETIME_HOUR, EINA_FALSE);
- elm_datetime_field_visible_set(datetime, ELM_DATETIME_MINUTE, EINA_FALSE);
- elm_datetime_field_visible_set(datetime, ELM_DATETIME_AMPM, EINA_FALSE);
-
- //elm_object_part_content_set(ly_content, "elm.flip.content", datetime);
- elm_object_part_content_set(ly_content, "elm.icon", datetime);
- evas_object_data_set(datetime, KEY_INPUT_DATA, cinput_d);
-
- err = contacts_record_get_int(record, _contacts_event.type, &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- btn_type = elm_button_add(ly_content);
- if (NULL == btn_type)
- {
- ERR("elm_button_add() return NULL");
- evas_object_del(ly_content);
- return NULL;
- }
- if (type_int == CONTACTS_EVENT_TYPE_CUSTOM)
- {
- err = contacts_record_get_str_p(record, _contacts_event.label, &label);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- elm_object_text_set(btn_type, label);
- }
- else
- {
- elm_object_text_set(btn_type, T_(CT_GET_TEXT_EVENT_TYPE, type_int));
- }
- evas_object_data_set(btn_type, "cinput_d", cinput_d);
- elm_object_part_content_set(ly_content, "elm.icon.type", btn_type);
-
- typed_data = (ct_input_typed_data *) calloc(1, sizeof(ct_input_typed_data));
- p_retvm_if(NULL == typed_data, NULL, "calloc() return NULL");
- typed_data->record = record;
- typed_data->ly_content = ly_content;
- typed_data->view_uri = _contacts_event._uri;
- evas_object_data_set(ly_content, "typed_data", typed_data);
- evas_object_data_set(datetime, "typed_data", typed_data);
-
- err = contacts_record_get_int(record, _contacts_event.date, &event_date);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if (0 == event_date)
- { // new record
- time_t timer;
- struct tm *stime = NULL;
- timer = time(NULL);
- stime = localtime(&timer);
- p_retvm_if(NULL == stime, NULL, "localtime() Failed(%d)", errno);
- elm_datetime_value_set(datetime, stime);
- }
- else
- {
- struct tm stime = { 0 };
- stime.tm_year = event_date / 10000 - 1900;
- stime.tm_mon = (event_date % 10000) / 100 - 1;
- stime.tm_mday = event_date % 100;
- elm_datetime_value_set(datetime, &stime);
-
- btn_minus = elm_button_add(ly_content);
- if (NULL == btn_minus)
- {
- ERR("elm_button_add() return NULL");
- evas_object_del(ly_content);
- free(typed_data);
- return NULL;
- }
- elm_object_style_set(btn_minus, "minus");
- evas_object_data_set(btn_minus, "typed_data", typed_data);
- elm_object_part_content_set(ly_content, "elm.icon.edit", btn_minus);
- evas_object_smart_callback_add(btn_minus, "clicked",
- input_event_del_clicked_cb, cinput_d);
- }
-
- evas_object_smart_callback_add(datetime, "changed", input_event_changed_cb,
- cinput_d);
- evas_object_event_callback_add(ly_content, EVAS_CALLBACK_DEL,
- ct_input_typed_layout_del_cb, typed_data);
- evas_object_smart_callback_add(btn_type, "clicked",
- ct_input_data_type_clicked_cb, typed_data);
-
- if (cinput_d->ly_event_last)
- elm_box_pack_after(cinput_d->box, ly_content, cinput_d->ly_event_last);
- else if (cinput_d->ly_relationship_last)
- elm_box_pack_after(cinput_d->box, ly_content,
- cinput_d->ly_relationship_last);
- else if (cinput_d->ly_url_last)
- elm_box_pack_after(cinput_d->box, ly_content, cinput_d->ly_url_last);
- else if (cinput_d->ly_messenger_last)
- elm_box_pack_after(cinput_d->box, ly_content,
- cinput_d->ly_messenger_last);
- else
- elm_box_pack_after(cinput_d->box, ly_content,
- cinput_d->ly_seperator_more);
-
- return ly_content;
-}
-
-static int input_fill_layout_event_list(ct_input_data &cinput_d)
-{
- PH_TRACE;
- int count = 0;
- contacts_record_h record = NULL;
- Evas_Object *ly;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(cinput_d.contact,
- _contacts_contact.event, count++, &record))
- {
- ly = input_fill_layout_event(&cinput_d, record);
- p_retvm_if(NULL == ly, count, "input_fill_layout_event() return NULL");
-
- if (NULL == cinput_d.ly_event_first)
- cinput_d.ly_event_first = ly;
-
- cinput_d.ly_event_last = ly;
- }
- return count - 1;
-}
-
-static Evas_Object* input_new_layout_event(ct_input_data &cinput_d)
-{
- PH_TRACE;
-
- contacts_record_h record = ct_input_new_record_event(cinput_d.contact);
- p_retvm_if(NULL == record, NULL, "ct_input_new_record_event() return NULL");
-
- Evas_Object * layout = input_fill_layout_event(&cinput_d, record);
- p_retvm_if(NULL == layout, NULL, "input_fill_layout_event() return NULL");
-
- if (NULL == cinput_d.ly_event_first)
- cinput_d.ly_event_first = layout;
- cinput_d.ly_event_last = layout;
-
- return layout;
-}
-
-static void input_website_del(ct_input_data *cinput_d,
- ct_input_typed_data *typed_data)
-{
- PH_TRACE;
- int idx;
- int err = CONTACTS_ERROR_NONE;
- Eina_List *list = NULL;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
- p_retm_if(NULL == typed_data, "parameter(typed_data) is NULL");
-
- err = contacts_record_remove_child_record(cinput_d->contact,
- _contacts_contact.url, typed_data->record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_remove_child_record() Failed(%d)", err);
-
- if (typed_data->ly_content == cinput_d->ly_url_first)
- {
- idx = ct_input_box_idx_get(cinput_d->box, typed_data->ly_content);
- list = elm_box_children_get(cinput_d->box);
- cinput_d->ly_url_first = (Evas_Object *) eina_list_nth(list, idx + 1);
- eina_list_free(list);
- }
-
- err = contacts_record_destroy(typed_data->record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- elm_box_unpack(cinput_d->box, typed_data->ly_content);
- evas_object_del(typed_data->ly_content);
-}
-
-static void input_website_del_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- ct_input_typed_data *typed_data;
-
- p_retm_if(NULL == cinput_d, "parameter(cinput_d) is NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- input_website_del(cinput_d, typed_data);
-
-}
-
-static void input_website_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
- Evas_Object *btn_minus;
- ct_input_typed_data *typed_data;
- const char *tmp;
-
- tmp = elm_entry_entry_get(obj);
- p_retm_if(NULL == tmp || '\0' == tmp[0],
- "elm_entry_entry_get() return NULL");
-
- evas_object_smart_callback_del(obj, "changed", input_website_changed_cb);
- p_retm_if(NULL == cinput_d, "parameter(ct_input_data) is NULL");
-
- typed_data = (ct_input_typed_data *) evas_object_data_get(obj, "typed_data");
- p_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
-
- if (typed_data->ly_content == cinput_d->ly_url_last)
- {
- btn_minus = elm_button_add(typed_data->ly_content);
- p_retm_if(NULL == btn_minus, "elm_button_add() return NULL");
-
- elm_object_style_set(btn_minus, "minus");
- evas_object_data_set(btn_minus, "typed_data", typed_data);
- elm_object_part_content_set(typed_data->ly_content, "elm.icon.edit",
- btn_minus);
- evas_object_smart_callback_add(btn_minus, "clicked",
- input_website_del_clicked_cb, cinput_d);
-
- p_retm_if(NULL == input_new_layout_website(cinput_d),
- "input_new_layout_website() return NULL");
- }
-
-}
-
-static Evas_Object *input_website_get_edit_rename(ct_input_data *cinput_d,
- ct_input_typed_data *typed_data)
-{
- PH_TRACE;
- char *val_str;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *entry;
- Evas_Object *editfield;
- Evas_Object *ly_content = typed_data->ly_content;
-
- editfield = ct_input_add_editfield(ly_content, T_(CT_GET_TEXT_BASIC, CTTEXT_URL),
- T_(CT_GET_TEXT_BASIC, CTTEXT_URL), input_website_unfocused_cb,
- typed_data->record);
- p_retvm_if(NULL == editfield, NULL, "ct_input_add_editfield() return NULL");
-
- entry = elm_object_part_content_get(editfield, "elm.swallow.content");
- typed_data->data = entry;
-
- evas_object_data_set(entry, "typed_data", typed_data);
- evas_object_data_set(entry, KEY_INPUT_DATA, cinput_d);
- elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_URL);
-
- err = contacts_record_get_str_p(typed_data->record, _contacts_url.url,
- &val_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (val_str && *val_str)
- ctui_entry_entry_set(entry, val_str);
- else
- evas_object_smart_callback_add(entry, "changed",
- input_website_changed_cb, cinput_d);
- return editfield;
-
-}
-
-static Evas_Object* input_fill_layout_url(ct_input_data *cinput_d,
- contacts_record_h record)
-{
- PH_TRACE;
- char *custom_type;
- char *val_str;
- int type_int;
- Evas_Object *ly_content;
- Evas_Object *box = cinput_d->box;
- Evas_Object *ef;
- Evas_Object *btn_type;
- Evas_Object *btn_minus;
- int err = CONTACTS_ERROR_NONE;
- ct_input_typed_data *typed_data;
-
- if (!cinput_d->ly_seperator_more)
- {
- cinput_d->ly_seperator_more = ct_input_fill_layout_separator(cinput_d,
- "separator/hd33/with_line");
- p_retvm_if(NULL == cinput_d->ly_seperator_more, EINA_FALSE,
- "ct_input_fill_layout_separator() return NULL");
- elm_box_pack_after(cinput_d->box, cinput_d->ly_seperator_more,
- cinput_d->ly_addr_last);
- }
-
- ly_content = elm_layout_add(box);
- p_retvm_if(NULL == ly_content, NULL, "elm_layout_add() return NULL");
- elm_layout_file_set(ly_content, CONTACTS_EDJ, "dialogue/1icon.1type.1edit");
- evas_object_size_hint_align_set(ly_content, EVAS_HINT_FILL, 0.0);
- evas_object_show(ly_content);
-
- err = contacts_record_get_int(record, _contacts_url.type, &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- btn_type = elm_button_add(ly_content);
- if (NULL == btn_type)
- {
- ERR("elm_button_add() return NULL");
- evas_object_del(ly_content);
- return NULL;
- }
-
- custom_type =
- (char *) T_(CT_GET_TEXT_WEBSITE_TYPE, phone_get_website_type_index(type_int));
- if (CONTACTS_URL_TYPE_CUSTOM == type_int)
- {
- err = contacts_record_get_str_p(record, _contacts_url.label,
- &custom_type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (NULL == custom_type || '\0' == custom_type[0])
- custom_type =
- (char *) T_(CT_GET_TEXT_WEBSITE_TYPE, phone_get_website_type_index(CONTACTS_URL_TYPE_OTHER));
- }
- elm_object_text_set(btn_type, custom_type);
-
- evas_object_data_set(btn_type, KEY_INPUT_DATA, cinput_d);
- elm_object_part_content_set(ly_content, "elm.icon.type", btn_type);
-
- typed_data = (ct_input_typed_data *) calloc(1, sizeof(ct_input_typed_data));
- p_retvm_if(NULL == typed_data, NULL, "calloc() return NULL");
-
- typed_data->record = record;
- typed_data->ly_content = ly_content;
- typed_data->view_uri = _contacts_url._uri;
- evas_object_data_set(ly_content, "typed_data", typed_data);
-
- err = contacts_record_get_str_p(record, _contacts_url.url, &val_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- if (val_str && *val_str)
- {
- btn_minus = elm_button_add(ly_content);
- if (NULL == btn_minus)
- {
- ERR("elm_button_add() return NULL");
- evas_object_del(ly_content);
- free(typed_data);
- return NULL;
- }
- elm_object_style_set(btn_minus, "minus");
- evas_object_data_set(btn_minus, "typed_data", typed_data);
- elm_object_part_content_set(ly_content, "elm.icon.edit", btn_minus);
- evas_object_smart_callback_add(btn_minus, "clicked",
- input_website_del_clicked_cb, cinput_d);
- }
-
- ef = input_website_get_edit_rename(cinput_d, typed_data);
- if (NULL == ef)
- {
- ERR("input_website_get_edit_rename() return NULL");
- evas_object_del(ly_content);
- free(typed_data);
- return NULL;
- }
- ct_input_add_name_field(ef, cinput_d);
-
- elm_object_part_content_set(ly_content, "elm.icon", ef);
- evas_object_event_callback_add(ly_content, EVAS_CALLBACK_DEL,
- ct_input_typed_layout_del_cb, typed_data);
- evas_object_smart_callback_add(btn_type, "clicked",
- ct_input_data_type_clicked_cb, typed_data);
-
- if (cinput_d->ly_url_last)
- elm_box_pack_after(box, ly_content, cinput_d->ly_url_last);
- else
- {
- if (cinput_d->ly_messenger_last)
- elm_box_pack_after(box, ly_content, cinput_d->ly_messenger_last);
- else
- elm_box_pack_after(box, ly_content, cinput_d->ly_seperator_more);
- }
-
- return ly_content;
-}
-
-static Evas_Object* input_new_layout_website(ct_input_data *cinput_d)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- Evas_Object *layout;
-
- record = ct_input_new_record_web(cinput_d->contact);
- p_retvm_if(NULL == record, NULL, "ct_input_new_record_web() return NULL");
-
- layout = input_fill_layout_url(cinput_d, record);
- p_retvm_if(NULL == layout, NULL, "input_fill_layout_url() return NULL");
-
- if (NULL == cinput_d->ly_url_first)
- cinput_d->ly_url_first = layout;
- cinput_d->ly_url_last = layout;
-
- return layout;
-}
-
-static int input_fill_layout_websites(ct_input_data *cinput_d)
-{
- PH_TRACE;
- int count = 0;
- Evas_Object *ly;
- contacts_record_h record = NULL;
-
- ly = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(cinput_d->contact,
- _contacts_contact.url, count++, &record))
- {
- ly = input_fill_layout_url(cinput_d, record);
- p_retvm_if(NULL == ly, count-1, "input_fill_layout_url() return NULL");
-
- if (NULL == cinput_d->ly_url_first)
- cinput_d->ly_url_first = ly;
- cinput_d->ly_url_last = ly;
- }
- return count - 1;
-}
-
-inline static Evas_Object* input_fill_layout_nickname(ct_input_data & cinput_d)
-{
- PH_TRACE;
-
- if (!cinput_d.ly_seperator_more)
- {
- cinput_d.ly_seperator_more = ct_input_fill_layout_separator(&cinput_d,
- "separator/hd33/with_line");
- p_retvm_if(NULL == cinput_d.ly_seperator_more, EINA_FALSE,
- "ct_input_fill_layout_separator() return NULL");
- elm_box_pack_after(cinput_d.box, cinput_d.ly_seperator_more,
- cinput_d.ly_addr_last);
- }
-
- Evas_Object *box = cinput_d.box;
- Evas_Object * ly_content = ct_input_create_dg_layout(box, "1icon");
- p_retvm_if(NULL == ly_content, NULL,
- "ct_input_create_dg_layout() return NULL");
- evas_object_size_hint_align_set(ly_content, EVAS_HINT_FILL, 0.0);
- evas_object_show(ly_content);
-
- contacts_record_h record = ct_input_get_record_nickname(cinput_d.contact);
- p_retvm_if(NULL == record, NULL, "ct_input_get_record_nickname() return NULL");
-
- Evas_Object * ef = ctui_create_editfield(ly_content, T_(CT_GET_TEXT_BASIC, CTTEXT_NICKNAME),
- T_(CT_GET_TEXT_BASIC, CTTEXT_NICKNAME), true);
- p_retvm_if(NULL == ef, NULL, "ctui_create_editfield() return NULL");
- ct_input_add_name_field(ef, &cinput_d);
-
- Evas_Object * en = elm_object_part_content_get(ef, "elm.swallow.content");
- evas_object_smart_callback_add(en, "unfocused", input_nickname_unfocused_cb,
- record);
- evas_object_smart_callback_add(en, "changed", ct_input_entry_changed_cb,
- ef);
- elm_object_part_content_set(ly_content, "elm.icon", ef);
- evas_object_data_set(en, KEY_INPUT_DATA, &cinput_d);
-
- char *nicknameStr = NULL;
- int err = CONTACTS_ERROR_NONE;
- err = contacts_record_get_str_p(record, _contacts_nickname.name, &nicknameStr);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- char * nickNameMarkup = elm_entry_utf8_to_markup(nicknameStr);
- __input_editfield_entry_set(ef, nickNameMarkup);
- if(nickNameMarkup)
- {
- free(nickNameMarkup);
- }
-
- if(cinput_d.ly_addr_last)
- {
- elm_box_pack_after(cinput_d.box, ly_content, cinput_d.ly_addr_last);
- }
- else if (cinput_d.ly_addr_first)
- {
- elm_box_pack_after(cinput_d.box, ly_content, cinput_d.ly_addr_first);
- }
- else
- {
- elm_box_pack_after(cinput_d.box, ly_content, cinput_d.ly_seperator_more);
- }
-
- cinput_d.ly_basic_info_nickname = ly_content;
-
- return ly_content;
-}
-
-static Evas_Object* input_fill_layout_note(ct_input_data & cinput_d)
-{
- PH_TRACE;
-
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- if (!cinput_d.ly_seperator_more)
- {
- cinput_d.ly_seperator_more = ct_input_fill_layout_separator(&cinput_d,
- "separator/hd33/with_line");
- p_retvm_if(NULL == cinput_d.ly_seperator_more, EINA_FALSE,
- "ct_input_fill_layout_separator() return NULL");
- elm_box_pack_after(cinput_d.box, cinput_d.ly_seperator_more,
- cinput_d.ly_addr_last);
- }
-
- Evas_Object *box = cinput_d.box;
- Evas_Object * ly_content = ct_input_create_dg_layout(box, "1icon");
- p_retvm_if(NULL == ly_content, NULL,
- "ct_input_create_dg_layout() return NULL");
- evas_object_size_hint_align_set(ly_content, EVAS_HINT_FILL, 0.0);
- evas_object_show(ly_content);
-
- record = ct_input_get_record_note(cinput_d.contact);
- p_retvm_if(NULL == record, NULL, "ct_input_get_record_note() return NULL");
-
- Evas_Object * ef = ctui_create_editfield(ly_content, T_(CT_GET_TEXT_BASIC, CTTEXT_NOTE),
- T_(CT_GET_TEXT_BASIC, CTTEXT_NOTE), true);
- p_retvm_if(NULL == ef, NULL, "ctui_create_editfield() return NULL");
- ct_input_add_name_field(ef, &cinput_d);
-
- Evas_Object * en = elm_object_part_content_get(ef, "elm.swallow.content");
- evas_object_smart_callback_add(en, "unfocused", input_note_unfocused_cb,
- record);
- evas_object_smart_callback_add(en, "changed", ct_input_entry_changed_cb,
- ef);
- elm_object_part_content_set(ly_content, "elm.icon", ef);
- evas_object_data_set(en, KEY_INPUT_DATA, &cinput_d);
-
- char *note_str = NULL;
- err = contacts_record_get_str_p(record, _contacts_note.note, &note_str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- __input_editfield_entry_set(ef, note_str);
-
- if (cinput_d.ly_event_last)
- elm_box_pack_after(cinput_d.box, ly_content, cinput_d.ly_event_last);
- else if (cinput_d.ly_relationship_last)
- elm_box_pack_after(cinput_d.box, ly_content,
- cinput_d.ly_relationship_last);
- else if (cinput_d.ly_url_last)
- elm_box_pack_after(cinput_d.box, ly_content, cinput_d.ly_url_last);
- else if (cinput_d.ly_messenger_last)
- elm_box_pack_after(cinput_d.box, ly_content,
- cinput_d.ly_messenger_last);
- else
- elm_box_pack_after(cinput_d.box, ly_content,
- cinput_d.ly_seperator_more);
-
- cinput_d.ly_note = ly_content;
-
- return ly_content;
-}
-
-static Evas_Object* input_fill_layout_addresses(ct_input_data & cinput_d)
-{
- PH_TRACE;
- int count = 0;
- Evas_Object *layout = NULL;
- contacts_record_h record = NULL;
-
- while (CONTACTS_ERROR_NONE
- == contacts_record_get_child_record_at_p(cinput_d.contact,
- _contacts_contact.address, count++, &record))
- {
- layout = input_fill_layout_address(&cinput_d, record);
- p_retvm_if(NULL == layout, NULL,
- "input_fill_layout_address() return NULL");
-
- if (NULL == cinput_d.ly_addr_first)
- cinput_d.ly_addr_first = layout;
- cinput_d.ly_addr_last = layout;
- }
-
- p_retvm_if(NULL == input_new_layout_address(&cinput_d), NULL,
- "input_new_layout_address() return NULL");
-
- return layout;
-}
-
-static void input_update_moreinfo(ct_input_data *cinput_d)
-{
- PH_TRACE;
- p_ret_if(!cinput_d);
- p_ret_if(!cinput_d->ly_moreinfo);
-
- if (cinput_d->ly_event_last && cinput_d->add_department
- && cinput_d->add_job_title && cinput_d->ly_messenger_last
- && cinput_d->ly_note && cinput_d->ly_url_last && cinput_d->ly_basic_info_nickname)
- {
-
- evas_object_del(cinput_d->ly_moreinfo);
- }
-}
-
-static void input_moreinfo_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
-
- assert(obj);
- if(obj)
- {
- int field = (int) data;
- ct_input_data *cinput_d = (ct_input_data *) evas_object_data_get(obj, KEY_INPUT_DATA);;
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- Evas_Object *btn_expand = NULL;
-
- ct_detail_popup_hide_cb(cinput_d, NULL, NULL);
-
- switch (field)
- {
- case INPUT_MORE_ORGANIZATION:
- // Expand basic info
- btn_expand = elm_object_part_content_get(cinput_d->ly_basic_info, "elm.edit.icon");
- __input_basic_info_expand_clicked_cb(cinput_d, btn_expand, NULL);
- break;
- case INPUT_MORE_NICKNAME:
- // Expand basic info
- btn_expand = elm_object_part_content_get(cinput_d->ly_basic_info, "elm.edit.icon");
- __input_basic_info_expand_clicked_cb(cinput_d, btn_expand, NULL);
- break;
- case INPUT_MORE_MESSENGER:
- input_new_layout_messenger(cinput_d);
- break;
- case INPUT_MORE_URL:
- input_new_layout_website(cinput_d);
- break;
- case INPUT_MORE_RELATIONSHIP:
- input_new_layout_relationship(*cinput_d);
- break;
- case INPUT_MORE_EVENT:
- input_new_layout_event(*cinput_d);
- break;
- case INPUT_MORE_NOTE:
- input_fill_layout_note(*cinput_d);
- break;
- default:
- // Do nothing
- break;
- }
-
- input_update_moreinfo(cinput_d);
- }
-}
-
-static void onAddAnotherFieldButtonClick(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
-
- assert(data && event_info && e && obj);
- if(data && event_info && e && obj)
- {
- // Get data
- ct_input_data *cinput_d = (ct_input_data *) data;
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *) event_info;
-
- int x, y, w, h;
- evas_object_geometry_get(obj, &x, &y, &w, &h);
- if (ev->output.y < y || y + h < ev->output.y)
- return;
-
- elm_object_tree_focus_allow_set(cinput_d->navi, EINA_FALSE);
-
- if (cinput_d->popup)
- {
- ct_detail_popup_hide_cb(cinput_d, NULL, NULL);
- }
-
- cinput_d->popup = elm_ctxpopup_add(cinput_d->cdetail_d->navi);
- p_retm_if(NULL == cinput_d->popup, "elm_ctxpopup_add() return NULL");
-
- int rotate = (int) evas_object_data_get(cinput_d->cdetail_d->navi, "phone_rotate");
- if (rotate == 0 || rotate == 180)
- {
- elm_ctxpopup_direction_priority_set(cinput_d->popup,
- ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP,
- ELM_CTXPOPUP_DIRECTION_LEFT, ELM_CTXPOPUP_DIRECTION_RIGHT);
- }
-
- if (cinput_d->keypad_on == true)
- {
- if (rotate == 0 || rotate == 180)
- {
- evas_object_move(cinput_d->popup, x + (w / 2),
- CT_INPUT_MOREINFO_PORTRAIT_Y + (h / 2));
- }
- else
- {
- evas_object_move(cinput_d->popup, x + (w / 2),
- CT_INPUT_MOREINFO_LANDSCAPE_Y + (h / 2));
- }
- }
- else
- {
- evas_object_move(cinput_d->popup, x + (w / 2), y + (h / 2));
- }
-
- evas_object_smart_callback_add(cinput_d->popup, "dismissed",
- ct_detail_popup_hide_cb, cinput_d);
-
- evas_object_data_set(cinput_d->popup, KEY_INPUT_DATA, cinput_d);
-
- // Fill popup with buttons
- if (!cinput_d->ly_basic_info_nickname)
- {
- elm_ctxpopup_item_append(cinput_d->popup,
- T_(CT_GET_TEXT_BASIC, CTTEXT_NICKNAME), NULL,
- input_moreinfo_cb, (void *) INPUT_MORE_NICKNAME);
- }
- if (!cinput_d->ly_basic_info_job_title && !cinput_d->ly_basic_info_company)
- {
- elm_ctxpopup_item_append(cinput_d->popup,
- T_(CT_GET_TEXT_BASIC, CTTEXT_ORGANIZATION), NULL,
- input_moreinfo_cb, (void *) INPUT_MORE_ORGANIZATION);
- }
- if (!cinput_d->ly_messenger_last)
- {
- elm_ctxpopup_item_append(cinput_d->popup,
- T_(CT_GET_TEXT_BASIC, CTTEXT_INSTANT_MESSENGER), NULL,
- input_moreinfo_cb, (void *) INPUT_MORE_MESSENGER);
- }
- if (!cinput_d->ly_url_last)
- {
- elm_ctxpopup_item_append(cinput_d->popup,
- T_(CT_GET_TEXT_BASIC, CTTEXT_URL), NULL, input_moreinfo_cb,
- (void *) INPUT_MORE_URL);
- }
- if (!cinput_d->ly_note)
- {
- elm_ctxpopup_item_append(cinput_d->popup,
- T_(CT_GET_TEXT_BASIC, CTTEXT_NOTE), NULL,
- input_moreinfo_cb, (void *) INPUT_MORE_NOTE);
- }
-
- if (!cinput_d->ly_event_last) // TODO: Fixme
- {
- elm_ctxpopup_item_append(cinput_d->popup,
- T_(CT_GET_TEXT_BASIC, CTTEXT_EVENT), NULL,
- input_moreinfo_cb, (void *) INPUT_MORE_EVENT);
- }
-
- if (!cinput_d->ly_relationship_last)
- {
- elm_ctxpopup_item_append(cinput_d->popup,
- T_(CT_GET_TEXT_BASIC, CTTEXT_RELATIONSHIP), NULL,
- input_moreinfo_cb, (void *) INPUT_MORE_RELATIONSHIP);
- }
-
- evas_object_show(cinput_d->popup);
- }
-}
-
-static Evas_Object* input_fill_layout_moreinfo(ct_input_data *cinput_d)
-{
- PH_TRACE;
- // TODO: Fixme
- /*
- Evas_Object *button;
- Evas_Object *box = cinput_d->box;
- Evas_Object *ly_content;
-
- ly_content = ct_input_create_dg_layout(box, "bg/1icon");
- p_retvm_if(NULL == ly_content, NULL, "ct_input_create_dg_layout() return NULL");
-
- button = elm_button_add(box);
- p_retvm_if(NULL == button, NULL, "elm_button_add() return NULL");
- elm_object_text_set(button, T_(CT_GET_TEXT_BASIC, CTTEXT_MORE_INFORMATION));
- elm_object_part_content_set(ly_content, "elm.icon", button);
- evas_object_smart_callback_add(button, "clicked", onAddAnotherFieldButtonClick, cinput_d);
-
- cinput_d->ly_moreinfo = ly_content;
- return ly_content;
- */
- Evas_Object *box = cinput_d->box;
- Evas_Object *ly_content;
-
- ly_content = ct_input_create_dg_layout(box, "1text");
- p_retvm_if(NULL == ly_content, NULL,
- "ct_input_create_dg_layout() return NULL");
-
- input_layout_selectable_set(ly_content);
- evas_object_event_callback_add(ly_content, EVAS_CALLBACK_MOUSE_UP,
- onAddAnotherFieldButtonClick, cinput_d);
- elm_object_part_text_set(ly_content, "elm.text",
- T_(CT_GET_TEXT_BASIC, CTTEXT_MORE_INFORMATION));
-
- cinput_d->ly_moreinfo = ly_content;
- return ly_content;
-}
-
-inline static std::string getNicknameFromDB(contacts_record_h record)
-{
- PH_TRACE;
-
- std::string result;
-
- char * nicknameStr = NULL;
- int errCode = contacts_record_get_str_p(record, _contacts_nickname.name, &nicknameStr);
- p_warn_if(CONTACTS_ERROR_NONE != errCode, "contacts_record_get_str_p() Failed(%d)", errCode);
-
- if(nicknameStr)
- {
- result = nicknameStr;
- }
-
- return result;
-}
-
-static void input_fill_layout(ct_input_data *cinput_d)
-{
- PH_TRACE;
- int i;
- int cnt;
- char *str;
- Evas_Object *layout;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- for (i = cinput_d->idx_append; i < INPUT_ITEMS_MAX; i++)
- {
- switch (i)
- {
- case INPUT_IMAGE:
- layout = __input_fill_layout_image(cinput_d);
- p_retm_if(NULL == layout,
- "__input_fill_layout_image() return NULL");
- elm_box_pack_end(cinput_d->box, layout);
- break;
- case INPUT_BASIC_INFO:
- record = ct_input_get_record_company(cinput_d->contact);
- if (record)
- {
- if (!cinput_d->add_department)
- {
- err = contacts_record_get_str_p(record,
- _contacts_company.department, &str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- if (str && *str)
- cinput_d->add_department = true;
- }
- if (!cinput_d->add_job_title)
- {
- err = contacts_record_get_str_p(record,
- _contacts_company.job_title, &str);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- if (str && *str)
- cinput_d->add_job_title = true;
- }
- }
- layout = __input_fill_layout_basic_info(cinput_d);
- p_retm_if(NULL == layout,
- "__input_fill_layout_basic_info() return NULL");
- elm_box_pack_end(cinput_d->box, layout);
-
- if (!cinput_d->ly_seperator_basic_info)
- {
- cinput_d->ly_seperator_basic_info =
- ct_input_fill_layout_separator(cinput_d,
- "separator/hd18/with_line");
- p_retm_if(NULL == layout,
- "ct_input_fill_layout_separator() return NULL");
- elm_box_pack_end(cinput_d->box,
- cinput_d->ly_seperator_basic_info);
- }
- break;
-
- case INPUT_NUMBER:
- ct_input_fill_layout_numbers(cinput_d);
- break;
-
- case INPUT_EMAIL:
- ct_input_fill_layout_emails(cinput_d);
- break;
-
- case INPUT_ADDRESS:
- input_fill_layout_addresses(*cinput_d);
- break;
-
- case INPUT_NICKNAME:
- // Do nothing
- break;
- case INPUT_MESSENGER:
- cnt = input_fill_layout_messengers(cinput_d);
- if (cnt)
- {
- input_new_layout_messenger(cinput_d);
- }
- break;
-
- case INPUT_URL:
- cnt = input_fill_layout_websites(cinput_d);
- if (cnt)
- {
- input_new_layout_website(cinput_d);
- }
- break;
- case INPUT_RELATIONSHIP:
- cnt = input_fill_layout_relationship_list(*cinput_d);
- if (cnt)
- input_new_layout_relationship(*cinput_d);
- break;
- case INPUT_EVENT:
- cnt = input_fill_layout_event_list(*cinput_d);
- if (cnt)
- input_new_layout_event(*cinput_d);
- break;
- case INPUT_NOTE:
- if (cinput_d->cdetail_d->list_note)
- input_fill_layout_note(*cinput_d);
- break;
- case INPUT_GROUP:
- layout = ct_input_fill_layout_separator(cinput_d,
- "separator/hd33/with_line");
- p_retm_if(NULL == layout,
- "ct_input_fill_layout_separator() return NULL");
- elm_box_pack_end(cinput_d->box, layout);
-
- /* group */
- layout = input_fill_layout_group(cinput_d);
- p_retm_if(NULL == layout,
- "input_fill_layout_group() return NULL");
- elm_box_pack_end(cinput_d->box, layout);
- break;
-
- case INPUT_RINGTONE:
- /* ringtone */
- layout = input_fill_layout_ringtone(cinput_d);
- p_retm_if(NULL == layout,
- "input_fill_layout_ringtone() return NULL");
- elm_box_pack_end(cinput_d->box, layout);
- break;
-
- case INPUT_VIBRATION:
- /* vibration */
- layout = input_fill_layout_vibration(cinput_d);
- p_retm_if(NULL == layout,
- "input_fill_layout_vibration() return NULL");
- elm_box_pack_end(cinput_d->box, layout);
- break;
-
- case INPUT_ADDRBOOK:
- /* address book */
- if (0 == cinput_d->contact_id)
- {
- layout = input_fill_layout_addrbook(cinput_d);
- p_retm_if(NULL == layout,
- "input_fill_layout_addrbook() return NULL");
- elm_box_pack_end(cinput_d->box, layout);
-
- }
- break;
-
- case INPUT_MORE_INFO:
- if (cinput_d->add_job_title && cinput_d->add_department
- && cinput_d->ly_messenger_last && cinput_d->ly_url_last
- && cinput_d->ly_relationship_last
- && cinput_d->ly_event_last && cinput_d->ly_note)
- break;
-
- layout = ct_input_fill_layout_separator(cinput_d,
- "separator/hd16");
- p_retm_if(NULL == layout,
- "ct_input_fill_layout_separator() return NULL");
- elm_box_pack_end(cinput_d->box, layout);
-
- layout = input_fill_layout_moreinfo(cinput_d);
- p_retm_if(NULL == layout,
- "input_fill_layout_moreinfo() return NULL");
- elm_box_pack_end(cinput_d->box, layout);
-
- layout = ct_input_fill_layout_separator(cinput_d,
- "separator/hd16");
- p_retm_if(NULL == layout,
- "ct_input_fill_layout_separator() return NULL");
- elm_box_pack_end(cinput_d->box, layout);
-
- input_update_moreinfo(cinput_d);
- break;
-
- default:
- ERR("Unknown item(%d)", i);
- }
- }
-}
-
-static Evas_Object* input_create_layout(ct_input_data *cinput_d)
-{
- PH_TRACE;
- char temp[PH_TEXT_MAX_LEN];
- Evas_Object *box;
- Evas_Object *scroller;
- Evas_Object *layout;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record_addressbook = NULL;
- ct_detail_data *cdetail_d = cinput_d->cdetail_d;
-
- layout = phone_create_base_layout(cdetail_d->navi, false);
- p_retvm_if(NULL == layout, NULL, "elm_layout_add() return NULL");
- evas_object_data_set(layout, KEY_INPUT_DATA, cinput_d);
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_show(layout);
-
- scroller = elm_scroller_add(layout);
- p_retvm_if(NULL == scroller, NULL, "elm_scroller_add() return NULL");
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_AUTO);
- evas_object_show(scroller);
- elm_object_part_content_set(layout, "elm.swallow.content", scroller);
- cinput_d->scroller = scroller;
-
- box = elm_box_add(scroller);
- p_retvm_if(NULL == box, NULL, "elm_box_add() return NULL");
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 0.0);
- elm_object_content_set(scroller, box);
- evas_object_show(box);
- cinput_d->box = box;
-
- cdetail_d->has_input = true;
- if (!cinput_d->contact)
- {
- err = contacts_record_create(_contacts_contact._uri,
- &(cinput_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d))", err);
-
- if (cdetail_d->base_grp)
- {
- contacts_record_h record_group_relation = NULL;
- err = contacts_record_create(_contacts_group_relation._uri,
- &(record_group_relation));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_int(record_group_relation,
- _contacts_group_relation.group_id, cdetail_d->base_grp);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_add_child_record(cinput_d->contact,
- _contacts_contact.group_relation, record_group_relation);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_add_child_record() Failed(%d)", err);
-
- err = contacts_record_destroy(record_group_relation, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- }
-
- if (cinput_d->base_ab < 0)
- cinput_d->base_ab = ct_input_get_base_ab();
-
- err = contacts_db_get_record(_contacts_address_book._uri,
- cinput_d->base_ab, &record_addressbook);
- if (CONTACTS_ERROR_NONE == err)
- {
- free(cinput_d->base_ab_name);
- cinput_d->base_ab_name = NULL;
-
- temp[0] = '\0';
- ctui_get_addressbook_name(cinput_d->base_ab, temp, sizeof(temp));
- if (*temp)
- cinput_d->base_ab_name = strdup(temp);
- err = contacts_record_get_int(record_addressbook,
- _contacts_address_book.mode, &(cinput_d->base_ab_mode));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_destroy(record_addressbook, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- }
- else
- {
- cinput_d->base_ab = 0;
- cinput_d->base_ab_mode = CONTACTS_ADDRESS_BOOK_MODE_NONE;
- cinput_d->base_ab_name = strdup(
- T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE));
- }
-
- }
- else if (cinput_d->contact_id)
- {
- err = contacts_record_get_int(cinput_d->contact,
- _contacts_contact.address_book_id, &(cinput_d->base_ab));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- if (cinput_d->base_ab)
- {
- err = contacts_db_get_record(_contacts_address_book._uri,
- cinput_d->base_ab, &record_addressbook);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
-
- err = contacts_record_get_int(record_addressbook,
- _contacts_address_book.mode, &(cinput_d->base_ab_mode));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- free(cinput_d->base_ab_name);
-
- temp[0] = '\0';
- ctui_get_addressbook_name(cinput_d->base_ab, temp, sizeof(temp));
- if (*temp)
- cinput_d->base_ab_name = strdup(temp);
-
- err = contacts_record_destroy(record_addressbook, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- }
- }
- if (cinput_d->base_ab < 0)
- {
- cinput_d->base_ab = ct_input_get_base_ab();
- temp[0] = '\0';
- ctui_get_addressbook_name(cinput_d->base_ab, temp, sizeof(temp));
- if (*temp)
- cinput_d->base_ab_name = strdup(temp);
- }
- input_fill_layout(cinput_d);
- evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL,
- input_view_delete_cb, cinput_d);
-
- return layout;
-}
-
-void ct_input_language_changed(Evas_Object *navi)
-{
- PH_TRACE;
- ct_input_data *cinput_d;
-
- cinput_d = (ct_input_data *) evas_object_data_get(navi, KEY_INPUT_DATA);
- p_retm_if(NULL == cinput_d, "evas_object_data_get() return NULL");
-
- // update title
- if (cinput_d->navi_item)
- {
- if (!cinput_d->contact_id)
- elm_object_item_text_set(cinput_d->navi_item,
- S_(CT_SYS_BODY_CREATE));
- else
- elm_object_item_text_set(cinput_d->navi_item, S_(PH_SYS_SK_EDIT));
- }
-
- // update content
- ct_input_remove_empty_fields(cinput_d->contact);
- input_refresh_layout(cinput_d);
-}
-
-static void __input_ug_destroy_me_cb(void *data)
-{
- PH_TRACE;
- ct_input_data *cinput_d = (ct_input_data *) data;
-
- if (cinput_d->cdetail_d->service_operation)
- phone_service_reply_simple(cinput_d->cdetail_d->service_operation,
- SERVICE_RESULT_FAILED);
-
- ug_destroy_me(cinput_d->cdetail_d->ug);
-}
-
-void ct_input_push_navi_content(ct_detail_data *cdetail_d,
- contacts_record_h contact, int contact_id)
-{
- PH_TRACE;
- const char *navi_title;
- Evas_Object *content;
- Elm_Object_Item *navi_item;
- ct_input_data *cinput_d = (ct_input_data *) calloc(1, sizeof(ct_input_data));
- p_retm_if(NULL == cinput_d, "calloc() return NULL");
- cinput_d->cdetail_d = cdetail_d;
- cinput_d->contact = contact;
- cinput_d->contact_id = contact_id;
- if (cdetail_d->base_ab < 0)
- cinput_d->base_ab = 0;
- else
- cinput_d->base_ab = cdetail_d->base_ab;
- cinput_d->base_ab_mode = cdetail_d->base_ab_mode;
- cinput_d->base_ab_name = SAFE_STRDUP(cdetail_d->base_ab_name);
- cinput_d->pre_item = elm_naviframe_top_item_get(cdetail_d->navi);
- cinput_d->save_disable = EINA_FALSE;
- evas_object_data_set(cdetail_d->navi, KEY_INPUT_DATA, cinput_d);
-
- if (cdetail_d->has_detail)
- {
- ct_detail_delete_namecards(cdetail_d);
- }
-
- content = input_create_layout(cinput_d);
- p_retm_if(NULL == content, "input_create_layout() Failed");
- cinput_d->layout = content;
-
- navi_title = S_(CT_SYS_BODY_CREATE);
-
- navi_item = elm_naviframe_item_push(cdetail_d->navi, navi_title, NULL, NULL,
- content, NULL);
- cinput_d->navi_item = navi_item;
- phone_navi_item_reset(navi_item, cinput_d);
-
- cinput_d->save_button = phone_create_toolbar_btn(cinput_d->cdetail_d->navi,
- S_(CT_SYS_SK_DONE), ct_input_save_cb, cinput_d);
- elm_object_item_part_content_set(navi_item, "toolbar",
- cinput_d->save_button);
-
- ct_input_save_button_update(cinput_d);
-
- if (cinput_d->cdetail_d->ug && NULL == cinput_d->pre_item)
- {
- cinput_d->back_cb = __input_ug_destroy_me_cb;
- }
- else
- {
- elm_object_style_set(cinput_d->save_button, "naviframe/toolbar/left");
- }
-
- PH_DBG("##### [TSP_TEST] detail->edit end.#####");
-}
diff --git a/lib/details/ct-input-view.h b/lib/details/ct-input-view.h
deleted file mode 100755
index a982641..0000000
--- a/lib/details/ct-input-view.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Helper view-module responsible for filling contacts-list.
- */
-
-#ifndef __CONTACTS_INPUT_VIEW_H__
-#define __CONTACTS_INPUT_VIEW_H__
-
-#define KEY_INPUT_DATA "cinput_d"
-
-void ct_input_push_navi_content(ct_detail_data *cdetail_d,
- contacts_record_h contact, int contact_id);
-void ct_input_language_changed(Evas_Object *navi);
-void ct_input_update_image(ct_input_data *i_data);
-Evas_Object* ct_input_fill_layout_separator(ct_input_data *i_data,
- const char *theme);
-
-#endif //__CONTACTS_INPUT_VIEW_H__
diff --git a/lib/details/ct-share-info-ug.cpp b/lib/details/ct-share-info-ug.cpp
deleted file mode 100755
index dd9b585..0000000
--- a/lib/details/ct-share-info-ug.cpp
+++ /dev/null
@@ -1,1129 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <unicode/udatpg.h>
-#include <unicode/ucal.h>
-#include <unicode/ustring.h>
-#include <ui-gadget-module.h>
-#include <bundle.h>
-
-#include "phone.h"
-#include "ct-detail.h"
-#include "ct-detail-utils.h"
-
-#define KEY_SHARE_INFO_UG_DATA "cshare_info_d"
-
-typedef struct
-{
- int person_id;
- ui_gadget_h ug;
-
- Evas_Object *navi;
- Evas_Object *genlist;
- Evas_Object *select_all_layout;
-
- UDateFormat* formatter;
-
- Eina_List *list_contacts;
-} ct_share_info_ug_data;
-
-typedef struct
-{
- contacts_record_h record;
- const char *view_uri;
- Eina_Bool checked;
-} ct_value_info;
-
-enum DETAIL_ITC_TYPE
-{
- CT_SHARE_INFO_UG_ITC_GROUP_TITLE,
- CT_SHARE_INFO_UG_ITC_NUMBER,
- CT_SHARE_INFO_UG_ITC_EMAIL,
- CT_SHARE_INFO_UG_ITC_ADDRESS,
- CT_SHARE_INFO_UG_ITC_MESSENGER,
- CT_SHARE_INFO_UG_ITC_WEBSITE,
- CT_SHARE_INFO_UG_ITC_EVENT,
- CT_SHARE_INFO_UG_ITC_NOTE,
-};
-
-static Elm_Genlist_Item_Class share_info_ug_itcs[] =
-{
- {
- 0, 0, 1, "grouptitle", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "2text.3", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "2text.3", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "2text.3", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "2text.3", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "2text.3", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "2text.3", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "2text.3", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
-};
-
-static char* share_info_ug_gl_group_title_label_get(void *data,
- Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- char *group_index = (char *) data;
- if (0 == strcmp(part, "elm.text") && group_index && *group_index)
- return strdup(group_index);
- else
- return NULL;
-}
-
-static char* share_info_ug_gl_number_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int type_int;
- char *number = NULL;
- char buf[PH_TEXT_MAX_LEN];
- ct_value_info *value_info = (ct_value_info *) data;
- int err = CONTACTS_ERROR_NONE;
- p_retv_if(NULL == value_info, NULL);
-
- if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_record_get_int(value_info->record, _contacts_number.type,
- &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- ctui_get_number_type_str(value_info->record, type_int, buf,
- sizeof(buf));
- return strdup(buf);
- }
- else if (0 == strcmp(part, "elm.text.1"))
- {
- err = contacts_record_get_str_p(value_info->record,
- _contacts_number.number, &number);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- return SAFE_STRDUP(number);
- }
- return NULL;
-}
-
-static char* share_info_ug_gl_email_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int type_int;
- char *email = NULL;
- int err = CONTACTS_ERROR_NONE;
- ct_value_info *value_info = (ct_value_info *) data;
- p_retv_if(NULL == value_info, NULL);
-
- if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_record_get_int(value_info->record, _contacts_email.type,
- &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- return strdup(
- T_(CT_GET_TEXT_EMAIL_TYPE, ctui_get_email_type_index(type_int)));
- }
- else if (0 == strcmp(part, "elm.text.1"))
- {
- err = contacts_record_get_str_p(value_info->record,
- _contacts_email.email, &email);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- return SAFE_STRDUP(email);
- }
- return NULL;
-}
-
-static char* share_info_ug_gl_address_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int type_int;
- char buf[PH_TEXT_MAX_LEN];
- int err = CONTACTS_ERROR_NONE;
- ct_value_info *value_info = (ct_value_info *) data;
- p_retv_if(NULL == value_info, NULL);
-
- if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_record_get_int(value_info->record,
- _contacts_address.type, &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- return strdup(
- T_(CT_GET_TEXT_POSTAL_TYPE, phone_get_address_type_index(type_int)));
- }
- else if (0 == strcmp(part, "elm.text.1"))
- {
- buf[0] = '\0';
- ct_detail_get_full_addr(value_info->record, buf, sizeof(buf));
- return elm_entry_utf8_to_markup(buf);
- }
- return NULL;
-}
-
-static char* share_info_ug_gl_messenger_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int type_int;
- char *im_id;
- ct_value_info *value_info = (ct_value_info *) data;
- int err = CONTACTS_ERROR_NONE;
- p_retv_if(NULL == value_info, NULL);
-
- if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_record_get_int(value_info->record,
- _contacts_messenger.type, &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- return strdup(T_(CT_GET_TEXT_IM_TYPE, type_int));
- }
- else if (0 == strcmp(part, "elm.text.1"))
- {
- err = contacts_record_get_str_p(value_info->record,
- _contacts_messenger.im_id, &im_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- return SAFE_STRDUP(im_id);
- }
- return NULL;
-}
-
-static char* share_info_ug_gl_website_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int type_int;
- char *url;
- ct_value_info *value_info = (ct_value_info *) data;
- int err = CONTACTS_ERROR_NONE;
- p_retv_if(NULL == value_info, NULL);
-
- if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_record_get_int(value_info->record, _contacts_url.type,
- &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- return strdup(
- T_(CT_GET_TEXT_WEBSITE_TYPE, phone_get_website_type_index(type_int)));
- }
- else if (0 == strcmp(part, "elm.text.1"))
- {
- err = contacts_record_get_str_p(value_info->record, _contacts_url.url,
- &url);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- return SAFE_STRDUP(url);
- }
- return NULL;
-}
-
-static char* share_info_ug_gl_event_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int type_int;
- int err = CONTACTS_ERROR_NONE;
- ct_value_info *value_info = (ct_value_info *) data;
- ct_share_info_ug_data *cshare_info_d;
- p_retv_if(NULL == value_info, NULL);
-
- cshare_info_d = (ct_share_info_ug_data *) evas_object_data_get(obj, KEY_SHARE_INFO_UG_DATA);
- p_retvm_if(NULL == cshare_info_d, NULL,
- "evas_object_data_get() return NULL");
-
- if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_record_get_int(value_info->record, _contacts_url.type,
- &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- return strdup(T_(CT_GET_TEXT_EVENT_TYPE, type_int));
- }
- else if (0 == strcmp(part, "elm.text.1"))
- {
- int date;
- int day;
- int mon;
- int year;
-
- err = contacts_record_get_int(value_info->record, _contacts_event.date,
- &date);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- day = date % 100;
- mon = (date % 10000) / 100;
- year = date / 10000;
-
- p_retvm_if(mon < 1 || 12 < mon || day < 1 || 31 < day, NULL,
- "Invalid date(mon=%d,day=%d)", mon, day);
- return phone_get_datetime_str(cshare_info_d->formatter, year, mon,
- day);
- }
- return NULL;
-}
-
-static char* share_info_ug_gl_note_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- char *note;
- ct_value_info *value_info = (ct_value_info *) data;
- int err = CONTACTS_ERROR_NONE;
- p_retv_if(NULL == value_info, NULL);
-
- if (0 == strcmp(part, "elm.text.2"))
- {
- return strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_NOTE));
- }
- else if (0 == strcmp(part, "elm.text.1"))
- {
- err = contacts_record_get_str_p(value_info->record, _contacts_note.note,
- &note);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- return SAFE_STRDUP(note);
- }
- return NULL;
-}
-static void share_info_ug_check_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- bool check_all;
- Evas_Object *check;
- Elm_Object_Item * item;
- Elm_Genlist_Item_Type type;
- ct_value_info *value_info;
- ct_share_info_ug_data *cshare_info_d = (ct_share_info_ug_data *) data;
- p_retm_if(NULL == cshare_info_d, "parameter(cshare_info_d) is NULL");
-
- check = elm_object_part_content_get(cshare_info_d->select_all_layout,
- "elm.icon");
- p_retm_if(NULL == check, "elm_object_part_content_get() return NULL");
-
- check_all = true;
- item = elm_genlist_first_item_get(cshare_info_d->genlist);
- while (item)
- {
- value_info = (ct_value_info *) elm_object_item_data_get(item);
- type = elm_genlist_item_type_get(item);
-
- item = elm_genlist_item_next_get(item);
- if (ELM_GENLIST_ITEM_GROUP == type)
- continue;
-
- if (NULL == value_info)
- {
- ERR("elm_object_item_data_get() return NULL");
- continue;
- }
- if (!value_info->checked)
- {
- check_all = false;
- break;
- }
- }
- elm_check_state_set(check, check_all);
-}
-
-static Evas_Object* share_info_ug_gl_content_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- Evas_Object *check;
- ct_value_info *value_info = (ct_value_info *) data;
- ct_share_info_ug_data *cshare_info_d;
-
- cshare_info_d = (ct_share_info_ug_data *) evas_object_data_get(obj, KEY_SHARE_INFO_UG_DATA);
- p_retvm_if(NULL == cshare_info_d, NULL,
- "evas_object_data_get() return NULL");
-
- if (0 == strcmp(part, "elm.edit.icon.1"))
- {
- check = elm_check_add(obj);
- elm_check_state_pointer_set(check, &value_info->checked);
- evas_object_propagate_events_set(check, EINA_FALSE);
- evas_object_smart_callback_add(check, "changed",
- share_info_ug_check_changed_cb, cshare_info_d);
- return check;
- }
- return NULL;
-}
-
-static void share_info_ug_gl_del(void *data, Evas_Object *obj)
-{
- PH_TRACE;
- ct_value_info *value_info = (ct_value_info *) data;
- free(value_info);
-}
-
-static void share_info_ug_create_itcs()
-{
- PH_TRACE;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_GROUP_TITLE].func.text_get =
- share_info_ug_gl_group_title_label_get;
-
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_NUMBER].func.text_get =
- share_info_ug_gl_number_label_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_NUMBER].func.content_get =
- share_info_ug_gl_content_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_NUMBER].func.del =
- share_info_ug_gl_del;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_NUMBER].decorate_all_item_style =
- "edit_default";
-
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_EMAIL].func.text_get =
- share_info_ug_gl_email_label_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_EMAIL].func.content_get =
- share_info_ug_gl_content_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_EMAIL].func.del =
- share_info_ug_gl_del;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_EMAIL].decorate_all_item_style =
- "edit_default";
-
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_ADDRESS].func.text_get =
- share_info_ug_gl_address_label_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_ADDRESS].func.content_get =
- share_info_ug_gl_content_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_ADDRESS].func.del =
- share_info_ug_gl_del;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_ADDRESS].decorate_all_item_style =
- "edit_default";
-
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_MESSENGER].func.text_get =
- share_info_ug_gl_messenger_label_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_MESSENGER].func.content_get =
- share_info_ug_gl_content_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_MESSENGER].func.del =
- share_info_ug_gl_del;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_MESSENGER].decorate_all_item_style =
- "edit_default";
-
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_WEBSITE].func.text_get =
- share_info_ug_gl_website_label_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_WEBSITE].func.content_get =
- share_info_ug_gl_content_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_WEBSITE].func.del =
- share_info_ug_gl_del;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_WEBSITE].decorate_all_item_style =
- "edit_default";
-
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_EVENT].func.text_get =
- share_info_ug_gl_event_label_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_EVENT].func.content_get =
- share_info_ug_gl_content_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_EVENT].func.del =
- share_info_ug_gl_del;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_EVENT].decorate_all_item_style =
- "edit_default";
-
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_NOTE].func.text_get =
- share_info_ug_gl_note_label_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_NOTE].func.content_get =
- share_info_ug_gl_content_get;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_NOTE].func.del =
- share_info_ug_gl_del;
- share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_NOTE].decorate_all_item_style =
- "edit_default";
-
-}
-
-static void share_info_ug_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- ct_value_info *value_info = (ct_value_info *) data;
- ct_share_info_ug_data *cshare_info_d;
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- value_info->checked = !value_info->checked;
- elm_genlist_item_fields_update(item, "elm.edit.icon.1",
- ELM_GENLIST_ITEM_FIELD_CONTENT);
-
- cshare_info_d = (ct_share_info_ug_data *) evas_object_data_get(obj, KEY_SHARE_INFO_UG_DATA);
- share_info_ug_check_changed_cb(cshare_info_d, obj, NULL);
-}
-
-static void share_info_ug_fill_number_list(Evas_Object *genlist,
- Eina_List *list_contacts)
-{
- PH_TRACE;
- Eina_List *l;
- Eina_List *list;
- void *v_record;
- ct_value_info *value_info;
-
- list = ctui_person_get_number_list(list_contacts);
- p_retm_if(NULL == list, "ctui_person_get_number_list() return NULL");
-
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_GROUP_TITLE],
- T_(CT_GET_TEXT_BASIC, CTTEXT_NUMBER), NULL,
- ELM_GENLIST_ITEM_GROUP, NULL, NULL);
-
- EINA_LIST_FOREACH(list, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- value_info = (ct_value_info *) calloc(1, sizeof(ct_value_info));
- if (NULL == value_info)
- {
- ERR("calloc() return NULL");
- continue;
- }
- value_info->view_uri = _contacts_number._uri;
- value_info->record = record;
-
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_NUMBER], value_info,
- NULL, ELM_GENLIST_ITEM_NONE, share_info_ug_sel, value_info);
- }
- eina_list_free(list);
-}
-
-static void share_info_ug_fill_email_list(Evas_Object *genlist,
- Eina_List *list_contacts)
-{
- PH_TRACE;
- Eina_List *l;
- Eina_List *list;
- void *v_record = NULL;
- ct_value_info *value_info;
-
- list = ctui_person_get_email_list(list_contacts);
- p_retm_if(NULL == list, "ctui_person_get_email_list() return NULL");
-
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_GROUP_TITLE],
- T_(CT_GET_TEXT_BASIC, CTTEXT_EMAIL), NULL,
- ELM_GENLIST_ITEM_GROUP, NULL, NULL);
-
- EINA_LIST_FOREACH(list, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- value_info = (ct_value_info *) calloc(1, sizeof(ct_value_info));
- if (NULL == value_info)
- {
- ERR("calloc() return NULL");
- continue;
- }
- value_info->view_uri = _contacts_email._uri;
- value_info->record = record;
-
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_EMAIL], value_info,
- NULL, ELM_GENLIST_ITEM_NONE, share_info_ug_sel, value_info);
- }
- eina_list_free(list);
-}
-
-static void share_info_ug_fill_address_list(Evas_Object *genlist,
- Eina_List *list_contacts)
-{
- PH_TRACE;
- Eina_List *l;
- Eina_List *list;
- void *v_record = NULL;
- ct_value_info *value_info;
-
- list = ct_detail_person_get_postal_list(list_contacts);
- p_retm_if(NULL == list, "ct_detail_person_get_postal_list() return NULL");
-
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_GROUP_TITLE],
- T_(CT_GET_TEXT_BASIC, CTTEXT_POSTAL_ADDRESS), NULL,
- ELM_GENLIST_ITEM_GROUP, NULL, NULL);
-
- EINA_LIST_FOREACH(list, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- value_info = (ct_value_info *) calloc(1, sizeof(ct_value_info));
- if (NULL == value_info)
- {
- ERR("calloc() return NULL");
- continue;
- }
- value_info->view_uri = _contacts_address._uri;
- value_info->record = record;
-
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_ADDRESS], value_info,
- NULL, ELM_GENLIST_ITEM_NONE, share_info_ug_sel, value_info);
- }
- eina_list_free(list);
-}
-
-static void share_info_ug_fill_messenger_list(Evas_Object *genlist,
- Eina_List *list_contacts)
-{
- PH_TRACE;
- Eina_List *l;
- Eina_List *list;
- void *v_record = NULL;
- ct_value_info *value_info;
-
- list = ct_detail_person_get_messenger_list(list_contacts);
- p_retm_if(NULL == list,
- "ct_detail_person_get_messenger_list() return NULL");
-
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_GROUP_TITLE],
- T_(CT_GET_TEXT_BASIC, CTTEXT_INSTANT_MESSENGER), NULL,
- ELM_GENLIST_ITEM_GROUP, NULL, NULL);
-
- EINA_LIST_FOREACH(list, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- value_info = (ct_value_info *) calloc(1, sizeof(ct_value_info));
- if (NULL == value_info)
- {
- ERR("calloc() return NULL");
- continue;
- }
- value_info->view_uri = _contacts_messenger._uri;
- value_info->record = record;
-
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_MESSENGER], value_info,
- NULL, ELM_GENLIST_ITEM_NONE, share_info_ug_sel, value_info);
- }
- eina_list_free(list);
-}
-
-static void share_info_ug_fill_website_list(Evas_Object *genlist,
- Eina_List *list_contacts)
-{
- PH_TRACE;
- Eina_List *l;
- Eina_List *list;
- void *v_record = NULL;
- ct_value_info *value_info;
-
- list = ct_detail_person_get_website_list(list_contacts);
- p_retm_if(NULL == list, "ct_detail_person_get_website_list() return NULL");
-
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_GROUP_TITLE],
- T_(CT_GET_TEXT_BASIC, CTTEXT_URL), NULL,
- ELM_GENLIST_ITEM_GROUP, NULL, NULL);
-
- EINA_LIST_FOREACH(list, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- value_info = (ct_value_info *) calloc(1, sizeof(ct_value_info));
- if (NULL == value_info)
- {
- ERR("calloc() return NULL");
- continue;
- }
- value_info->view_uri = _contacts_url._uri;
- value_info->record = record;
-
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_WEBSITE], value_info,
- NULL, ELM_GENLIST_ITEM_NONE, share_info_ug_sel, value_info);
- }
- eina_list_free(list);
-}
-
-static void share_info_ug_fill_event_list(Evas_Object *genlist,
- Eina_List *list_contacts)
-{
- PH_TRACE;
- Eina_List *l;
- Eina_List *list;
- void *v_record = NULL;
- ct_value_info *value_info;
-
- list = ct_detail_person_get_event_list(list_contacts);
- p_retm_if(NULL == list, "ct_detail_person_get_event_list() return NULL");
-
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_GROUP_TITLE],
- T_(CT_GET_TEXT_BASIC, CTTEXT_EVENT), NULL,
- ELM_GENLIST_ITEM_GROUP, NULL, NULL);
-
- EINA_LIST_FOREACH(list, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- value_info = (ct_value_info *) calloc(1, sizeof(ct_value_info));
- if (NULL == value_info)
- {
- ERR("calloc() return NULL");
- continue;
- }
- value_info->view_uri = _contacts_event._uri;
- value_info->record = record;
-
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_EVENT], value_info,
- NULL, ELM_GENLIST_ITEM_NONE, share_info_ug_sel, value_info);
- }
- eina_list_free(list);
-}
-
-static void share_info_ug_fill_note_list(Evas_Object *genlist,
- Eina_List *list_contacts)
-{
- PH_TRACE;
- bool group_title_added = false;
- Eina_List *l;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- void *v_record_contact = NULL;
- ct_value_info *value_info;
-
- EINA_LIST_FOREACH(list_contacts, l, v_record_contact)
- {
- contacts_record_h record_contact = (contacts_record_h) v_record_contact;
- if (NULL == record_contact)
- continue;
-
- err = contacts_record_get_child_record_at_p(record_contact,
- _contacts_contact.note, 0, &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_child_record_at_p() Failed(%d)", err);
- continue;
- }
-
- value_info = (ct_value_info *) calloc(1, sizeof(ct_value_info));
- if (NULL == value_info)
- {
- ERR("calloc() return NULL");
- continue;
- }
- value_info->view_uri = _contacts_note._uri;
- value_info->record = record;
-
- if (!group_title_added)
- {
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_GROUP_TITLE],
- T_(CT_GET_TEXT_BASIC, CTTEXT_NOTE), NULL,
- ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- group_title_added = true;
- }
-
- elm_genlist_item_append(genlist,
- &share_info_ug_itcs[CT_SHARE_INFO_UG_ITC_NOTE], value_info,
- NULL, ELM_GENLIST_ITEM_NONE, share_info_ug_sel, value_info);
- }
-}
-
-static void share_info_ug_fill_layout(ct_share_info_ug_data *cshare_info_d,
- int person_id)
-{
- PH_TRACE;
- Eina_List *list_contacts;
- Evas_Object *genlist;
-
- p_retm_if(NULL == cshare_info_d, "parameter(cshare_info_d) is NULL");
- genlist = cshare_info_d->genlist;
-
- cshare_info_d->person_id = person_id;
- cshare_info_d->formatter = phone_init_time_formatter();
-
- list_contacts = ctui_person_get_contact_list(person_id);
- p_retm_if(NULL == list_contacts,
- "ctui_person_get_contact_list() return NULL");
- cshare_info_d->list_contacts = list_contacts;
-
- share_info_ug_create_itcs();
- share_info_ug_fill_number_list(genlist, list_contacts);
- share_info_ug_fill_email_list(genlist, list_contacts);
- share_info_ug_fill_address_list(genlist, list_contacts);
- share_info_ug_fill_messenger_list(genlist, list_contacts);
- share_info_ug_fill_website_list(genlist, list_contacts);
- share_info_ug_fill_event_list(genlist, list_contacts);
- share_info_ug_fill_note_list(genlist, list_contacts);
-}
-
-static void share_info_ug_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_share_info_ug_data *cshare_info_d = (ct_share_info_ug_data *) data;
- p_retm_if(NULL == cshare_info_d, "paramter(cshare_info_d) is NULL");
-
- if (cshare_info_d->formatter)
- udat_close(cshare_info_d->formatter);
-
- ctui_free_record_list(cshare_info_d->list_contacts);
-
- free(cshare_info_d);
-}
-
-static void share_info_ug_append_value_str(ct_value_info *value_info,
- UDateFormat* formatter, char *buf, int buf_len)
-{
- PH_TRACE;
- int date;
- int day;
- int mon;
- int year;
- int type_int;
- char *text;
- char *date_str;
- char temp[PH_TEXT_MAX_LEN];
- char temp_str[PH_TEXT_MAX_LEN];
- int err = CONTACTS_ERROR_NONE;
-
- p_retm_if(NULL == value_info, "parameter(value_info) is NULL");
-
- if (0 == strcmp(value_info->view_uri, _contacts_number._uri))
- {
- temp_str[0] = '\0';
-
- err = contacts_record_get_int(value_info->record, _contacts_number.type,
- &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- ctui_get_number_type_str(value_info->record, type_int, temp_str,
- sizeof(temp_str));
-
- err = contacts_record_get_str_p(value_info->record,
- _contacts_number.number, &text);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- snprintf(temp, sizeof(temp), "%s%s\n%s\n", buf, temp_str,
- SAFE_STR(text));
- snprintf(buf, buf_len, "%s", temp);
- }
- else if (0 == strcmp(value_info->view_uri, _contacts_email._uri))
- {
- temp_str[0] = '\0';
-
- err = contacts_record_get_int(value_info->record, _contacts_email.type,
- &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_get_str_p(value_info->record,
- _contacts_email.email, &text);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- snprintf(temp, sizeof(temp), "%s%s\n%s\n", buf,
- T_(CT_GET_TEXT_EMAIL_TYPE, ctui_get_email_type_index(type_int)),
- SAFE_STR(text));
- snprintf(buf, buf_len, "%s", temp);
- }
- else if (0 == strcmp(value_info->view_uri, _contacts_address._uri))
- {
- temp_str[0] = '\0';
-
- err = contacts_record_get_int(value_info->record,
- _contacts_address.type, &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- ct_detail_get_full_addr(value_info->record, temp_str, sizeof(temp_str));
-
- snprintf(temp, sizeof(temp), "%s%s\n%s\n", buf,
- T_(CT_GET_TEXT_POSTAL_TYPE, phone_get_address_type_index(type_int)),
- temp_str);
- snprintf(buf, buf_len, "%s", temp);
- }
- else if (0 == strcmp(value_info->view_uri, _contacts_messenger._uri))
- {
- temp_str[0] = '\0';
-
- err = contacts_record_get_int(value_info->record,
- _contacts_messenger.type, &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_get_str_p(value_info->record,
- _contacts_messenger.im_id, &text);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- snprintf(temp, sizeof(temp), "%s%s\n%s\n", buf,
- T_(CT_GET_TEXT_IM_TYPE, type_int), SAFE_STR(text));
- snprintf(buf, buf_len, "%s", temp);
- }
- else if (0 == strcmp(value_info->view_uri, _contacts_url._uri))
- {
- temp_str[0] = '\0';
-
- err = contacts_record_get_int(value_info->record, _contacts_url.type,
- &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_get_str_p(value_info->record, _contacts_url.url,
- &text);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- snprintf(temp, sizeof(temp), "%s%s\n%s\n", buf,
- T_(CT_GET_TEXT_WEBSITE_TYPE, phone_get_website_type_index(type_int)),
- SAFE_STR(text));
- snprintf(buf, buf_len, "%s", temp);
- }
- else if (0 == strcmp(value_info->view_uri, _contacts_event._uri))
- {
- temp_str[0] = '\0';
-
- err = contacts_record_get_int(value_info->record, _contacts_event.type,
- &type_int);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_get_int(value_info->record, _contacts_event.date,
- &date);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- day = date % 100;
- mon = (date % 10000) / 100;
- year = date / 10000;
-
- date_str = phone_get_datetime_str(formatter, year, mon, day);
- snprintf(temp, sizeof(temp), "%s%s\n%s\n", buf,
- T_(CT_GET_TEXT_EVENT_TYPE, type_int), SAFE_STR(date_str));
- snprintf(buf, buf_len, "%s", temp);
- free(date_str);
- }
- else if (0 == strcmp(value_info->view_uri, _contacts_note._uri))
- {
- temp_str[0] = '\0';
-
- err = contacts_record_get_str_p(value_info->record, _contacts_note.note,
- &text);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- snprintf(temp, sizeof(temp), "%s%s\n%s\n", buf,
- T_(CT_GET_TEXT_BASIC, CTTEXT_NOTE), SAFE_STR(text));
- snprintf(buf, buf_len, "%s", temp);
- }
-}
-
-static void share_info_ug_get_person_str(Evas_Object *genlist,
- UDateFormat* formatter, char *buf, int buf_len)
-{
- PH_TRACE;
- Elm_Object_Item * item;
- Elm_Genlist_Item_Type type;
- ct_value_info *value_info;
-
- p_retm_if(NULL == genlist, "parameter(genlist) is NULL");
- p_retm_if(NULL == buf, "parameter(buf) is NULL");
-
- item = elm_genlist_first_item_get(genlist);
- while (item)
- {
- value_info = (ct_value_info *) elm_object_item_data_get(item);
- type = elm_genlist_item_type_get(item);
-
- item = elm_genlist_item_next_get(item);
- if (ELM_GENLIST_ITEM_GROUP == type)
- continue;
-
- if (NULL == value_info)
- {
- ERR("elm_object_item_data_get() return NULL");
- continue;
- }
-
- if (value_info->checked)
- share_info_ug_append_value_str(value_info, formatter, buf, buf_len);
- }
- return;
-}
-
-static void share_info_ug_get_person_display_name(int person_id, char *buf,
- int buf_len)
-{
- PH_TRACE;
- char *display_name;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- err = contacts_db_get_record(_contacts_person._uri, person_id, &record);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)",
- err);
-
- err = contacts_record_get_str_p(record, _contacts_person.display_name,
- &display_name);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- snprintf(buf, buf_len, "%s\n", SAFE_STR(display_name));
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-}
-
-static void share_info_ug_save_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char buf[PH_TEXT_MAX_LEN * 10];
- service_h service;
- ct_share_info_ug_data *cshare_info_d = (ct_share_info_ug_data *) data;
- p_retm_if(NULL == cshare_info_d,
- "parameter(ct_share_info_ug_data) is NULL");
- service_create(&service);
-
- buf[0] = '\0';
- share_info_ug_get_person_display_name(cshare_info_d->person_id, buf,
- sizeof(buf));
- share_info_ug_get_person_str(cshare_info_d->genlist,
- cshare_info_d->formatter, buf, sizeof(buf));
- if (*buf)
- service_add_extra_data(service, CT_UG_BUNDLE_RESULT_PERSON_INFO, buf);
- ug_send_result(cshare_info_d->ug, service);
- service_destroy(service);
- ug_destroy_me(cshare_info_d->ug);
-}
-
-static void share_info_ug_cancel_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *navi = (Evas_Object *) data;
- elm_naviframe_item_pop(navi);
-}
-
-static void share_info_ug_select_all_changed_cb(void *data, Eina_Bool checked)
-{
- PH_TRACE;
- Elm_Object_Item * item;
- Elm_Genlist_Item_Type type;
- ct_value_info *value_info;
- ct_share_info_ug_data *cshare_info_d = (ct_share_info_ug_data *) data;
-
- item = elm_genlist_first_item_get(cshare_info_d->genlist);
- while (item)
- {
- value_info = (ct_value_info *) elm_object_item_data_get(item);
- type = elm_genlist_item_type_get(item);
-
- item = elm_genlist_item_next_get(item);
- if (ELM_GENLIST_ITEM_GROUP == type)
- continue;
-
- if (NULL == value_info)
- {
- ERR("elm_object_item_data_get() return NULL");
- continue;
- }
- value_info->checked = checked;
- }
- elm_genlist_realized_items_update(cshare_info_d->genlist);
-}
-
-API void ctui_create_share_info_ug_layout(Evas_Object *navi, int person_id,
- ui_gadget_h ug)
-{
- PH_TRACE;
- Evas_Object *btn;
- Evas_Object *base;
- Evas_Object *box;
- Evas_Object *genlist;
- Evas_Object *toolbar;
- Evas_Object *select_all_layout;
- Evas_Object *done_button;
- Elm_Object_Item *navi_item;
- ct_share_info_ug_data *cshare_info_d;
-
- base = phone_create_base_layout(navi, false);
- evas_object_show(base);
-
- box = elm_box_add(base);
- p_retm_if(NULL == box, "elm_box_add() return NULL");
- evas_object_show(box);
-
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_content_set(base, "elm.swallow.content", box);
-
- genlist = elm_genlist_add(box);
- p_retm_if(NULL == genlist, "elm_genlist_add() return NULL");
- evas_object_show(genlist);
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_box_pack_end(box, genlist);
- elm_genlist_decorate_mode_set(genlist, EINA_TRUE);
-
- cshare_info_d = (ct_share_info_ug_data *) calloc(1, sizeof(ct_share_info_ug_data));
- p_retm_if(NULL == cshare_info_d, "calloc() return NULL");
- cshare_info_d->ug = ug;
- cshare_info_d->navi = navi;
- cshare_info_d->genlist = genlist;
- evas_object_data_set(genlist, KEY_SHARE_INFO_UG_DATA, cshare_info_d);
-
- share_info_ug_fill_layout(cshare_info_d, person_id);
- evas_object_event_callback_add(base, EVAS_CALLBACK_DEL,
- share_info_ug_delete_cb, cshare_info_d);
-
- select_all_layout = phone_create_select_all(box, S_(PH_SYS_BODY_SELECT_ALL),
- share_info_ug_select_all_changed_cb, cshare_info_d);
- elm_box_pack_start(box, select_all_layout);
- cshare_info_d->select_all_layout = select_all_layout;
-
- navi_item = elm_naviframe_item_push(navi,
- T_(CT_GET_TEXT_BASIC, CTTEXT_SHARE_CONTACT_INFO), NULL, NULL,
- base, NULL);
- toolbar = elm_toolbar_add(navi);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_object_item_part_content_set(navi_item, "controlbar", toolbar);
-
- btn = elm_button_add(navi);
- elm_object_style_set(btn, "naviframe/back_btn/default");
- evas_object_smart_callback_add(btn, "clicked", share_info_ug_cancel_cb,
- cshare_info_d->navi);
- elm_object_item_part_content_set(navi_item, "prev_btn", btn);
-
- done_button = phone_create_toolbar_btn(navi, S_(CT_SYS_SK_DONE),
- share_info_ug_save_cb, cshare_info_d);
- elm_object_item_part_content_set(navi_item, "toolbar", done_button);
-}
-
diff --git a/lib/details/include/ct-detail.h b/lib/details/include/ct-detail.h
deleted file mode 100755
index 7519d16..0000000
--- a/lib/details/include/ct-detail.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CONTACTS_DETAIL_H__
-#define __CONTACTS_DETAIL_H__
-
-#include "phone-common.h"
-
-#define CT_DETAIL_DEFAULT_NUM_COLOR 213, 129, 31, 255
-#define CT_DETAIL_IMAGE_SIZE 128
-#define CT_DETAIL_RESET_BUTTON_SIZE 32
-#define CT_VCARD_FILE_MAX_SIZE 1024*1024
-
-int ctui_create_detail_view(ct_list_data *clist_d, ct_person_list *person_info);
-void ct_detail_view_language_changed(ct_detail_data *cdetail_d);
-int ctui_create_input_view(ct_detail_data *cdetail_d);
-int ctui_create_detail_view_from_phone(Evas_Object *win, Evas_Object *navi,
- ui_gadget_h ug, int id);
-void ctui_create_share_info_ug_layout(Evas_Object *navi, int person_id,
- ui_gadget_h ug);
-
-Evas_Object* ctui_contacts_viewer(Evas_Object *win, Evas_Object *navi,
- int personid_vcardidx, const char *vcard_path);
-Evas_Object* ctui_detail_genlist_update(ct_detail_data *cdetail_d);
-
-#endif //__CONTACTS_DETAIL_H__
diff --git a/lib/dialer/CMakeLists.txt b/lib/dialer/CMakeLists.txt
deleted file mode 100755
index 31f072d..0000000
--- a/lib/dialer/CMakeLists.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
-
-SET(TARGET ${PH_DIALER})
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
-FILE(GLOB SRCS *.cpp Search/*.cpp)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(dialer_pkgs REQUIRED tapi feedback)
-
-FOREACH(flag ${dialer_pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-ADD_LIBRARY(${TARGET} SHARED ${SRCS})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES VERSION ${VERSION})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
-TARGET_LINK_LIBRARIES(${TARGET} ${COMMON_LIB} ${ug_pkgs_LDFLAGS} ${SPEEDDIAL} ${dialer_pkgs_LDFLAGS})
-
-ADD_DEPENDENCIES(${TARGET} dialer_edj_build dialer_theme_build)
-
-INSTALL(TARGETS ${TARGET} DESTINATION ${UGLIBDIR})
-
-INSTALL(FILES ${CMAKE_BINARY_DIR}/lib/dialer/dialer-efl.xml DESTINATION "/usr/share/packages")
diff --git a/lib/dialer/KeypadTouchManager.cpp b/lib/dialer/KeypadTouchManager.cpp
deleted file mode 100644
index 416946a..0000000
--- a/lib/dialer/KeypadTouchManager.cpp
+++ /dev/null
@@ -1,339 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include "KeypadTouchManager.h"
-#include "phone.h"
-#include "phone-dialer.h"
-#include <assert.h>
-
-#define DIALER_PADDING_SIZE 3
-#define START_KEYPAD_RESET_TIMER 0.3
-#define MOUSE_UP_SIGNAL "mouse,up,1"
-#define MOUSE_DOWN_SIGNAL "mouse,down,1"
-
-namespace Dialer
-{
- KeypadTouchManager::KeypadTouchManager()
- : m_lastDown(false), m_lastMultiDown(false), m_keypadResetTimer(
- NULL), m_pLayout(NULL)
- {
- PH_TRACE;
- m_digitalButtonNames.reserve(MULTI_TOUCH_SUPPORT_KEY_COUNT);
- m_digitalButtonNames.push_back("1");
- m_digitalButtonNames.push_back("2");
- m_digitalButtonNames.push_back("3");
- m_digitalButtonNames.push_back("4");
- m_digitalButtonNames.push_back("5");
- m_digitalButtonNames.push_back("6");
- m_digitalButtonNames.push_back("7");
- m_digitalButtonNames.push_back("8");
- m_digitalButtonNames.push_back("9");
- m_digitalButtonNames.push_back("0");
- m_digitalButtonNames.push_back("star");
- m_digitalButtonNames.push_back("sharp");
-
- m_lastDownPt.x = 0;
- m_lastDownPt.y = 0;
-
- memset(&m_background, 0, sizeof(Evas_Coord_Rectangle));
- for (size_t i = 0; i < MULTI_TOUCH_SUPPORT_KEY_COUNT; ++i)
- {
- memset(&m_dialButtonRects[i], 0, sizeof(Evas_Coord_Rectangle));
- }
- }
-
- KeypadTouchManager::~KeypadTouchManager()
- {
- PH_TRACE;
- m_pLayout = NULL;
- }
-
- void KeypadTouchManager::initKeyPadArea(const Evas_Object* pLayout)
- {
- PH_TRACE;
- assert(pLayout != NULL);
- p_retm_if(pLayout == NULL, "pLayout is NULL");
- m_pLayout = const_cast<Evas_Object*>(pLayout);
- for (size_t i = 0; i < MULTI_TOUCH_SUPPORT_KEY_COUNT; ++i)
- {
- Evas_Coord_Rectangle* rect = &m_dialButtonRects[i];
- const char* btnName = m_digitalButtonNames[i].c_str();
- const Evas_Object* evasKeyArea = edje_object_part_object_get(_EDJ(pLayout), btnName);
- if (evasKeyArea)
- {
- evas_object_geometry_get(evasKeyArea, &rect->x, &rect->y, &rect->w, &rect->h);
- PH_DBG("edje_object_part_geometry_get : [%s]x %d y %d w %d h %d",
- btnName, rect->x, rect->y, rect->w, rect->h);
- }
- }
-
- const Evas_Object *evasKpdArea = edje_object_part_object_get(_EDJ(pLayout), "keypad/swallow");
- if (evasKpdArea)
- {
- Evas_Coord_Rectangle* rect = &m_background;
- evas_object_geometry_get(evasKpdArea, &rect->x, &rect->y, &rect->w, &rect->h);
- PH_DBG("edje_object_part_geometry_get : x=%d y=%d w=%d h=%d", rect->x, rect->y, rect->w, rect->h);
-
- // remove bottom line btn area from layout geometry value
- rect->h -= m_dialButtonRects[0].h;
-
- Evas* evas = evas_object_evas_get(pLayout);
- if (evas)
- {
- // Temporary patch for UG slide effect problem
- Evas_Coord h, w, x, y;
- evas_output_viewport_get(evas, &x, &y, &w, &h);
- if (m_background.x >= w - DIALER_PADDING_SIZE)
- {
- PH_DBG("evas_output_viewport_get : x %d y %d w %d h %d", x, y, w, h);
- w -= DIALER_PADDING_SIZE;
- m_background.x -= w;
- for (size_t i = 0; i < MULTI_TOUCH_SUPPORT_KEY_COUNT; ++i)
- {
- rect = &m_dialButtonRects[i];
- rect->x -= w;
- }
- }
-
- Evas_Object *kpdArea = evas_object_rectangle_add(evas);
- if (kpdArea)
- {
- evas_object_color_set(kpdArea, 0, 0, 0, 0);
- elm_object_part_content_set(m_pLayout, "keypad/swallow", kpdArea);
- evas_object_show(kpdArea);
-
- evas_object_event_callback_add(kpdArea,
- EVAS_CALLBACK_MOUSE_DOWN,
- static_cast<Evas_Object_Event_Cb>(KeypadTouchManager::onKeyDown),
- this);
-
- evas_object_event_callback_add(kpdArea,
- EVAS_CALLBACK_MOUSE_UP,
- static_cast<Evas_Object_Event_Cb>(KeypadTouchManager::onKeyUp),
- this);
-
- evas_object_event_callback_add(kpdArea,
- EVAS_CALLBACK_MULTI_DOWN,
- static_cast<Evas_Object_Event_Cb>(KeypadTouchManager::onMultiKeyDown),
- this);
-
- evas_object_event_callback_add(kpdArea,
- EVAS_CALLBACK_MULTI_UP,
- static_cast<Evas_Object_Event_Cb>(KeypadTouchManager::onMultiKeyUp),
- this);
- }
- }
- }
- }
-
- void KeypadTouchManager::stopTimer()
- {
- PH_TRACE;
- if (m_keypadResetTimer)
- {
- ecore_timer_del(m_keypadResetTimer);
- m_keypadResetTimer = NULL;
- }
- }
-
- void KeypadTouchManager::storeTouchedKey(int x, int y)
- {
- PH_TRACE;
- const size_t keyIndex = getTouchedKeyRectIndex(x, y);
- if (keyIndex != WRONG_KEY_INDEX)
- {
- DBG("%s was pressed", m_digitalButtonNames[keyIndex].c_str());
- m_touchedBtns.insert(keyIndex);
- }
- }
-
- size_t KeypadTouchManager::getTouchedKeyRectIndex(int x, int y) const
- {
- PH_TRACE;
- size_t btnIndex = WRONG_KEY_INDEX;
- if (isPtInRect(m_background, x, y))
- {
- for (size_t i = 0; i < MULTI_TOUCH_SUPPORT_KEY_COUNT; ++i)
- {
- if (isPtInRect(m_dialButtonRects[i], x, y))
- {
- btnIndex = i;
- break;
- }
- }
- }
- else
- {
- DBG("point(%d,%d) is out of keypad", x, y);
- }
-
- return btnIndex;
- }
-
- bool KeypadTouchManager::isPtInRect(const Evas_Coord_Rectangle& rect, int x,
- int y)
- {
- PH_TRACE;
- return (x >= rect.x && y >= rect.y && x <= rect.x + rect.w && y <= rect.y + rect.h);
- }
-
- void KeypadTouchManager::sendEdjeSignal(int x, int y, const char* signal)
- {
- PH_TRACE;
- assert(m_pLayout);
- if (m_pLayout)
- {
- const size_t keyIndex = getTouchedKeyRectIndex(x, y);
- if (keyIndex != WRONG_KEY_INDEX)
- {
- PH_DBG("%s, %s", signal, m_digitalButtonNames[keyIndex].c_str());
- edje_object_signal_emit(_EDJ(m_pLayout), signal, m_digitalButtonNames[keyIndex].c_str());
- }
- }
- }
-
- void KeypadTouchManager::handleTouchedKeys()
- {
- PH_TRACE;
- assert(m_pLayout);
- if (m_pLayout)
- {
- for (TouchedButtonsIndexes::const_iterator it = m_touchedBtns.begin(); it != m_touchedBtns.end(); ++it)
- {
- const size_t keyIndex = *it;
- edje_object_signal_emit(_EDJ(m_pLayout), MOUSE_UP_SIGNAL, m_digitalButtonNames[keyIndex].c_str());
- }
- }
- m_touchedBtns.clear();
- m_keypadResetTimer = NULL;
- }
-
- Eina_Bool KeypadTouchManager::onTimer(void* data)
- {
- PH_TRACE;
- KeypadTouchManager* pTouchMgr = static_cast<KeypadTouchManager*>(data);
- assert(pTouchMgr);
- if (pTouchMgr)
- {
- pTouchMgr->handleTouchedKeys();
- }
- return EINA_FALSE;
- }
-
- void KeypadTouchManager::handleKeyUp(int x, int y)
- {
- PH_TRACE;
- if (m_lastMultiDown)
- {
- // Multi-key pressed sceanario should reset all dial key
- stopTimer();
- m_keypadResetTimer = ecore_timer_add(START_KEYPAD_RESET_TIMER,
- static_cast<Ecore_Task_Cb>(KeypadTouchManager::onTimer),
- this);
- }
- else if (m_lastDown && (m_lastDownPt.x != x || m_lastDownPt.y != y))
- {
- // normal scenario for touch & drag + release
- sendEdjeSignal(m_lastDownPt.x, m_lastDownPt.y, MOUSE_UP_SIGNAL);
- }
-
- m_lastDown = false;
- m_lastMultiDown = false;
- sendEdjeSignal(x, y, MOUSE_UP_SIGNAL);
- }
-
- void KeypadTouchManager::onKeyUp(void *data, Evas *e, Evas_Object *o, void *event_info)
- {
- PH_TRACE;
- assert(data && event_info);
- if (data && event_info)
- {
- KeypadTouchManager* pTouchMgr = static_cast<KeypadTouchManager*>(data);
- Evas_Event_Mouse_Up *ev = static_cast<Evas_Event_Mouse_Up*>(event_info);
- PH_DBG("KeypadTouchManager::onKeyUp : x=%d y=%d", ev->output.x, ev->output.y);
- pTouchMgr->handleKeyUp(ev->output.x, ev->output.y);
- }
- }
-
- void KeypadTouchManager::handleKeyDown(int x, int y)
- {
- PH_TRACE;
- m_lastDownPt.x = x;
- m_lastDownPt.y = y;
- m_lastDown = true;
- sendEdjeSignal(x, y, MOUSE_DOWN_SIGNAL);
- }
-
- void KeypadTouchManager::onKeyDown(void *data, Evas *e, Evas_Object *o, void *event_info)
- {
- PH_TRACE;
- assert(data && event_info);
- if (data && event_info)
- {
- KeypadTouchManager* pTouchMgr = static_cast<KeypadTouchManager*>(data);
- Evas_Event_Mouse_Down *ev = static_cast<Evas_Event_Mouse_Down*>(event_info);
- PH_DBG("KeypadTouchManager::onKeyDown : x=%d y=%d", ev->output.x, ev->output.y);
- pTouchMgr->handleKeyDown(ev->output.x, ev->output.y);
- }
- }
-
- void KeypadTouchManager::handleMultiKeyUp(int x, int y)
- {
- PH_TRACE;
- sendEdjeSignal(x, y, MOUSE_UP_SIGNAL);
- }
-
- void KeypadTouchManager::onMultiKeyUp(void *data, Evas *e, Evas_Object *o, void *event_info)
- {
- PH_TRACE;
- assert(data && event_info);
- if (data && event_info)
- {
- KeypadTouchManager* pTouchMgr = static_cast<KeypadTouchManager*>(data);
- Evas_Event_Multi_Up *ev = static_cast<Evas_Event_Multi_Up*>(event_info);
- PH_DBG("KeypadTouchManager::onMultiKeyUp : x=%d y=%d", ev->output.x, ev->output.y);
- pTouchMgr->handleMultiKeyUp(ev->output.x, ev->output.y);
- }
- }
-
- void KeypadTouchManager::handleMultiKeyDown(int x, int y)
- {
- PH_TRACE;
- m_lastMultiDown = true;
- if (m_lastDown)
- {
- sendEdjeSignal(m_lastDownPt.x, m_lastDownPt.y, MOUSE_UP_SIGNAL);
- m_lastDownPt.x = x;
- m_lastDownPt.y = y;
- m_lastDown = true;
- }
-
- storeTouchedKey(x, y);
- sendEdjeSignal(x, y, MOUSE_DOWN_SIGNAL);
- }
-
- void KeypadTouchManager::onMultiKeyDown(void *data, Evas *e, Evas_Object *o, void *event_info)
- {
- PH_TRACE;
- assert(data && event_info);
- if (data && event_info)
- {
- KeypadTouchManager* pTouchMgr = static_cast<KeypadTouchManager*>(data);
- Evas_Event_Multi_Down *ev = static_cast<Evas_Event_Multi_Down*>(event_info);
- PH_DBG("KeypadTouchManager::onMultiKeyDown : x=%d y=%d", ev->output.x, ev->output.y);
- pTouchMgr->handleMultiKeyDown(ev->output.x, ev->output.y);
- }
- }
-} /* namespace TizenRefApps */
diff --git a/lib/dialer/Search/ContactData.cpp b/lib/dialer/Search/ContactData.cpp
deleted file mode 100644
index 7ad0d7e..0000000
--- a/lib/dialer/Search/ContactData.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Search/ContactData.h"
-
-#include "phone.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- ContactData::ContactData()
- {
- PH_TRACE;
- }
-
- ContactData::ContactData(const ContactData &other)
- {
- PH_TRACE;
- *this = other;
- }
-
- const std::string & ContactData::getName() const
- {
- return m_Name;
- }
-
- const std::string & ContactData::getNumber() const
- {
- return m_Number;
- }
-
- const std::string & ContactData::getImagePath() const
- {
- return m_ImagePath;
- }
-
- ContactData & ContactData::operator=(const ContactData &other)
- {
- PH_TRACE;
- m_Name = other.m_Name;
- m_Number = other.m_Number;
- m_ImagePath = other.m_ImagePath;
- return *this;
- }
- }
- }
-}
diff --git a/lib/dialer/Search/ContactData.h b/lib/dialer/Search/ContactData.h
deleted file mode 100644
index 57e41bf..0000000
--- a/lib/dialer/Search/ContactData.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_DIALER_SEARCH_CONTACT_DATA_H__
-#define __PHONE_DIALER_SEARCH_CONTACT_DATA_H__
-
-#include "Contact.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- /*
- * @brief Contact data storage class
- */
- class ContactData : public Common::Contact
- {
- public:
- ContactData();
- ContactData(const ContactData &other);
-
- /*
- * @see Contact::getName
- */
- virtual const std::string & getName() const;
-
- /*
- * @see Contact::getNumber
- */
- virtual const std::string & getNumber() const;
-
- /*
- * @see Contact::getImagePath
- */
- virtual const std::string & getImagePath() const;
-
- ContactData & operator=(const ContactData &other);
-
- protected:
- std::string m_Name;
- std::string m_Number;
- std::string m_ImagePath;
- };
- }
- }
-}
-
-#endif /* __PHONE_DIALER_SEARCH_CONTACT_DATA_H__ */
diff --git a/lib/dialer/Search/ContactItem.cpp b/lib/dialer/Search/ContactItem.cpp
deleted file mode 100644
index d492df2..0000000
--- a/lib/dialer/Search/ContactItem.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Search/ContactItem.h"
-#include "phone.h"
-#include "phone-common.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- ContactItem::ContactItem(const Result &result)
- : ResultItem(result)
- {
- PH_TRACE;
- }
-
- char * ContactItem::getText(const char *part) const
- {
- PH_TRACE;
- if(strcmp(part, "elm.text.1") == 0)
- {
- if(getResult().getMatchType() == Result::ByName)
- {
- return strdup(getMatch());
- }
- else
- {
- return strdup(getResult().getContact()->getName().c_str());
- }
- }
- else
- {
- return ResultItem::getText(part);
- }
- }
-
- Elm_Genlist_Item_Class * ContactItem::getClass() const
- {
- static Elm_Genlist_Item_Class *itemClass = createClass("2text.1icon.4.tb");
- return itemClass;
- }
- }
- }
-}
diff --git a/lib/dialer/Search/ContactItem.h b/lib/dialer/Search/ContactItem.h
deleted file mode 100644
index a2fcad9..0000000
--- a/lib/dialer/Search/ContactItem.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_DIALER_SEARCH_CONTACT_ITEM_H__
-#define __PHONE_DIALER_SEARCH_CONTACT_ITEM_H__
-
-#include "Search/ResultItem.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- /*
- * @brief Search results list item with Contact name
- * @displays Contact name and number and highlights the match.
- */
- namespace Search
- {
- class ContactItem : public ResultItem
- {
- public:
- /*
- * @param result Search result associated with the item
- */
- ContactItem(const Result &result);
-
- /*
- * @see Genlist::Item::getText
- */
- char * getText(const char *part) const;
-
- /*
- * @see Genlist::Item::getClass
- */
- Elm_Genlist_Item_Class * getClass() const;
- };
- }
- }
-}
-
-#endif /* __PHONE_DIALER_SEARCH_CONTACT_ITEM_H__ */
diff --git a/lib/dialer/Search/ContactLogRecord.cpp b/lib/dialer/Search/ContactLogRecord.cpp
deleted file mode 100644
index d2d70a1..0000000
--- a/lib/dialer/Search/ContactLogRecord.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Search/ContactLogRecord.h"
-
-#include "phone.h"
-#include "phone-common.h"
-#include "Database/Database.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- using Database::Database;
-
- ContactLogRecord::ContactLogRecord()
- {
- PH_TRACE;
- }
-
- ContactLogRecord::ContactLogRecord(const ContactLogRecord &other)
- : ContactData(other)
- {
- PH_TRACE;
- }
-
- bool ContactLogRecord::initialize(int id)
- {
- PH_TRACE;
- contacts_query_h query = NULL;
- contacts_filter_h filter = NULL;
- contacts_list_h list = NULL;
- contacts_record_h record = NULL;
- unsigned ids[] = {
- _contacts_person_phone_log.person_id,
- _contacts_person_phone_log.address,
- };
-
- bool success = Database::isSuccess(
- contacts_filter_create(_contacts_person_phone_log._uri, &filter))
- && Database::isSuccess(
- contacts_filter_add_int(filter, _contacts_person_phone_log.log_id, CONTACTS_MATCH_EQUAL, id))
- && Database::isSuccess(
- contacts_query_create(_contacts_person_phone_log._uri, &query))
- && Database::isSuccess(
- contacts_query_set_filter(query, filter))
- && Database::isSuccess(
- contacts_query_set_projection(query, ids, sizeof(ids) / sizeof(*ids)))
- && Database::isSuccess(
- contacts_db_get_records_with_query(query, 0, 0, &list))
- && Database::isSuccess(
- contacts_list_get_current_record_p(list, &record))
- && initialize(record);
-
- if(filter)
- {
- contacts_filter_destroy(filter);
- }
-
- if(query)
- {
- contacts_query_destroy(query);
- }
-
- if(list)
- {
- contacts_list_destroy(list, true);
- }
-
- return success;
- }
-
- bool ContactLogRecord::initialize(contacts_record_h record)
- {
- PH_TRACE;
- char *number = NULL;
- int id = 0;
-
- bool success = Database::isSuccess(
- contacts_record_get_str_p(record, _contacts_person_phone_log.address, &number))
- && Database::isSuccess(
- contacts_record_get_int(record, _contacts_person_phone_log.person_id, &id));
-
- if(success)
- {
- m_Number.clear();
- if(number)
- {
- m_Number = number;
- }
- m_PersonId = id;
- }
-
- return success;
- }
-
- int ContactLogRecord::getPersonId() const
- {
- return m_PersonId;
- }
-
- ContactLogRecord & ContactLogRecord::operator=(const ContactLogRecord &other)
- {
- PH_TRACE;
- ContactData::operator=(other);
- return *this;
- }
- }
- }
-}
diff --git a/lib/dialer/Search/ContactLogRecord.h b/lib/dialer/Search/ContactLogRecord.h
deleted file mode 100644
index b64446c..0000000
--- a/lib/dialer/Search/ContactLogRecord.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_DIALER_SEARCH_CONTACT_LOG_RECORD_H__
-#define __PHONE_DIALER_SEARCH_CONTACT_LOG_RECORD_H__
-
-#include <contacts.h>
-#include "ContactData.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- /*
- * @brief Contact data access object based on database record
- * from _contacts_person_phone_log view.
- */
- class ContactLogRecord : public ContactData
- {
- public:
- ContactLogRecord();
- ContactLogRecord(const ContactLogRecord &other);
-
- /*
- * @brief Initialize by fetching contact data from database by Log ID
- * @param id Log ID from _contacts_phone_log view
- * @return true on success, false otherwise
- */
- bool initialize(int id);
-
- /*
- * @brief Initialize with data from database log record
- * @param record Record from _contacts_person_phone_log view
- */
- bool initialize(contacts_record_h record);
-
- /*
- * @brief Get person ID associated with log record
- * @return Person ID or 0 for unsaved number
- */
- int getPersonId() const;
-
- ContactLogRecord & operator=(const ContactLogRecord &other);
-
- private:
- int m_PersonId;
- };
- }
- }
-}
-
-#endif /* __PHONE_DIALER_SEARCH_CONTACT_LOG_RECORD_H__ */
diff --git a/lib/dialer/Search/ContactNumberRecord.cpp b/lib/dialer/Search/ContactNumberRecord.cpp
deleted file mode 100644
index 0a399ad..0000000
--- a/lib/dialer/Search/ContactNumberRecord.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Search/ContactNumberRecord.h"
-
-#include "phone.h"
-#include "phone-common.h"
-#include "Database/Database.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- using Database::Database;
-
- ContactNumberRecord::ContactNumberRecord()
- {
- PH_TRACE;
- }
-
- ContactNumberRecord::ContactNumberRecord(const ContactNumberRecord &other)
- : ContactData(other)
- {
- PH_TRACE;
- }
-
- bool ContactNumberRecord::initialize(int id)
- {
- PH_TRACE;
- contacts_query_h query = NULL;
- contacts_filter_h filter = NULL;
- contacts_list_h list = NULL;
- contacts_record_h record = NULL;
- unsigned ids[] = {
- _contacts_contact_number.display_name,
- _contacts_contact_number.number,
- _contacts_contact_number.image_thumbnail_path
- };
-
- bool success = Database::isSuccess(
- contacts_filter_create(_contacts_contact_number._uri, &filter))
- && Database::isSuccess(
- contacts_filter_add_int(filter, _contacts_contact_number.number_id, CONTACTS_MATCH_EQUAL, id))
- && Database::isSuccess(
- contacts_query_create(_contacts_contact_number._uri, &query))
- && Database::isSuccess(
- contacts_query_set_filter(query, filter))
- && Database::isSuccess(
- contacts_query_set_projection(query, ids, sizeof(ids) / sizeof(*ids)))
- && Database::isSuccess(
- contacts_db_get_records_with_query(query, 0, 0, &list))
- && Database::isSuccess(
- contacts_list_get_current_record_p(list, &record))
- && initialize(record);
-
- if(filter)
- {
- contacts_filter_destroy(filter);
- }
-
- if(query)
- {
- contacts_query_destroy(query);
- }
-
- if(list)
- {
- contacts_list_destroy(list, true);
- }
-
- return success;
- }
-
- bool ContactNumberRecord::initialize(contacts_record_h record)
- {
- PH_TRACE;
- char *name = NULL;
- char *number = NULL;
- char *image = NULL;
-
- bool success = Database::isSuccess(
- contacts_record_get_str_p(record, _contacts_contact_number.display_name, &name))
- && Database::isSuccess(
- contacts_record_get_str_p(record, _contacts_contact_number.number, &number))
- && Database::isSuccess(
- contacts_record_get_str_p(record, _contacts_contact_number.image_thumbnail_path, &image));
-
- if(success)
- {
- m_Name.clear();
- if(name)
- {
- m_Name = name;
- }
-
- m_Number.clear();
- if(number)
- {
- m_Number = number;
- }
-
- m_ImagePath.clear();
- if(image)
- {
- m_ImagePath = image;
- }
- }
-
- return success;
- }
-
- ContactNumberRecord & ContactNumberRecord::operator=(const ContactNumberRecord &other)
- {
- PH_TRACE;
- ContactData::operator=(other);
- return *this;
- }
- }
- }
-}
diff --git a/lib/dialer/Search/ContactNumberRecord.h b/lib/dialer/Search/ContactNumberRecord.h
deleted file mode 100644
index bb4eb35..0000000
--- a/lib/dialer/Search/ContactNumberRecord.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_DIALER_SEARCH_CONTACT_NUMBER_RECORD_H__
-#define __PHONE_DIALER_SEARCH_CONTACT_NUMBER_RECORD_H__
-
-#include <contacts.h>
-#include "Search/ContactData.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- /*
- * @brief Contact data access object based on database record
- * from _contacts_contact_number view.
- */
- class ContactNumberRecord : public ContactData
- {
- public:
- ContactNumberRecord();
- ContactNumberRecord(const ContactNumberRecord &other);
-
- /*
- * @brief Initialize by fetching contact data from database by number ID
- * @param id Number ID from _contacts_number view
- * @return true on success, false otherwise
- */
- bool initialize(int id);
-
- /*
- * @brief Initialize with data from database number record
- * @param record Record from _contacts_contact_number view
- */
- bool initialize(contacts_record_h record);
-
- ContactNumberRecord & operator=(const ContactNumberRecord &other);
- };
- }
- }
-}
-
-#endif /* __PHONE_DIALER_SEARCH_CONTACT_NUMBER_RECORD_H__ */
diff --git a/lib/dialer/Search/Controller.cpp b/lib/dialer/Search/Controller.cpp
deleted file mode 100644
index 0d55fae..0000000
--- a/lib/dialer/Search/Controller.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Search/Controller.h"
-
-#include "phone.h"
-#include "phone-dialer.h"
-#include "ph-dialer-view.h"
-#include "ph-dialer-utils.h"
-#include "Search/ContactItem.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- Controller::Controller()
- : m_DialerView(NULL)
- {
- PH_TRACE;
- }
-
- Controller::~Controller()
- {
- PH_TRACE;
- }
-
- bool Controller::initialize(DialerView *dialer)
- {
- PH_TRACE;
- if(!dialer)
- {
- return false;
- }
-
- bool success = m_DataProvider.initialize()
- && m_Engine.initialize(m_DataProvider)
- && m_ResultWidget.initialize(dialer->layout)
- && m_ResultPopup.initialize(dialer->navi);
-
- if(success)
- {
- m_DialerView = dialer;
- m_Engine.setListener(this);
- m_ResultWidget.setListener(this);
- m_ResultPopup.setListener(this);
- evas_object_smart_callback_priority_add(m_DialerView->entry, "changed", EVAS_CALLBACK_PRIORITY_AFTER, onTextChange, this);
- }
-
- return success;
- }
-
- void Controller::onSearchResultsChange(const Results &results)
- {
- PH_TRACE;
- if(!m_Engine.getQuery().empty())
- {
- const Results &results = m_Engine.getResults();
- DBG("count: %d", results.size());
-
- if(!results.empty())
- {
- m_ResultWidget.setResult(results.front());
- }
- m_ResultWidget.setResultCount(results.size());
- }
- else
- {
- m_ResultWidget.hide();
- }
- }
-
- void Controller::onSearchResultSelect(const Result &result)
- {
- PH_TRACE;
- ph_dialer_entry_set_number(*m_DialerView, result.getContact()->getNumber(), CURSOR_END);
- }
-
- void Controller::onAddToContacts()
- {
- PH_TRACE;
- dialer_add_contact(m_DialerView);
- }
-
- void Controller::onTopResultSelect()
- {
- PH_TRACE;
- onSearchResultSelect(m_Engine.getResults().front());
- }
-
- void Controller::onShowMoreResults()
- {
- PH_TRACE;
- m_ResultPopup.setResults(m_Engine.getResults());
- m_ResultPopup.show();
- m_DialerView->popup = m_ResultPopup.getPopup();
- }
-
- void Controller::onTextChange(void *data, Evas_Object *obj, void *event_info)
- {
- PH_TRACE;
- if(!data || !obj)
- {
- return;
- }
-
- Controller *pthis = static_cast<Controller*>(data);
- char text[PH_TEXT_MAX_LEN];
- ph_dialer_util_get_pure_numstr_with_plus(pthis->m_DialerView, text);
- pthis->m_Engine.setQuery(text);
- }
- }
- }
-}
diff --git a/lib/dialer/Search/Controller.h b/lib/dialer/Search/Controller.h
deleted file mode 100644
index eac5f0f..0000000
--- a/lib/dialer/Search/Controller.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_DIALER_SEARCH_CONTROLLER_H__
-#define __PHONE_DIALER_SEARCH_CONTROLLER_H__
-
-#include "Search/Engine.h"
-#include "Search/DbDataProvider.h"
-#include "Search/ResultWidget.h"
-#include "Search/ResultPopup.h"
-
-struct DialerView;
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- /*
- * @brief Dialer search controller
- * @details Controls search result widget and popup,
- * initializes data provider and search engine.
- * Handles widget events and initiates the search
- * using search engine whenever dialer's text is changed.
- */
- class Controller :
- public EngineListener,
- public ResultWidgetListener,
- public ResultPopupListener
- {
- public:
- Controller();
- ~Controller();
-
- /*
- * @brief Initialize dialer search controller
- * @param dialer Dialer view
- */
- bool initialize(DialerView *dialer);
-
- private:
- void onSearchResultsChange(const Results &results);
- void onSearchResultSelect(const Result &result);
-
- void onAddToContacts();
- void onTopResultSelect();
- void onShowMoreResults();
-
- static void onTextChange(void *data, Evas_Object *obj, void *event_info);
-
- Engine m_Engine;
- DbDataProvider m_DataProvider;
-
- DialerView *m_DialerView;
- ResultWidget m_ResultWidget;
- ResultPopup m_ResultPopup;
- };
- }
- }
-}
-
-#endif /* __PHONE_DIALER_SEARCH_CONTROLLER_H__ */
diff --git a/lib/dialer/Search/DataProvider.h b/lib/dialer/Search/DataProvider.h
deleted file mode 100644
index 576a3f6..0000000
--- a/lib/dialer/Search/DataProvider.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_DIALER_SEARCH_DATA_PROVIDER_H__
-#define __PHONE_DIALER_SEARCH_DATA_PROVIDER_H__
-
-#include "Contact.h"
-#include "NonCopyable.h"
-#include "SharedPtr.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- typedef Utils::SharedPtr<Common::Contact> ContactPtr;
-
- /*
- * @brief Data provider interface for dialer search engine
- */
- class DataProvider : public Utils::NonCopyable
- {
- public:
- virtual ~DataProvider() { }
-
- /*
- * @return The current count of data items that can be provided
- */
- virtual size_t getCount() const = 0;
-
- /*
- * @brief Get contact data item by index
- * @param index Index of data item
- * @return Shared pointer to contact data or NULL if out of range
- */
- virtual ContactPtr getData(size_t index) const = 0;
- };
- }
- }
-}
-
-#endif /* __PHONE_DIALER_SEARCH_DATA_PROVIDER_H__ */
diff --git a/lib/dialer/Search/DbDataProvider.cpp b/lib/dialer/Search/DbDataProvider.cpp
deleted file mode 100644
index 91906f3..0000000
--- a/lib/dialer/Search/DbDataProvider.cpp
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Search/DbDataProvider.h"
-
-#include "phone.h"
-#include "phone-common.h"
-#include "Search/ContactLogRecord.h"
-#include "Search/ContactNumberRecord.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- using Database::Database;
-
- DbDataProvider::DbDataProvider()
- : m_Initialized(false)
- {
- PH_TRACE;
- }
-
- DbDataProvider::~DbDataProvider()
- {
- PH_TRACE;
- contacts_db_remove_changed_cb(_contacts_number._uri, onContactNumberChange, this);
- Database::getInstance().removeListener(_contacts_phone_log._uri, this);
- }
-
- bool DbDataProvider::initialize()
- {
- PH_TRACE;
- if(!m_Initialized)
- {
- bool success = fetchNumbers() && fetchLogs();
-
- if(success)
- {
- success = Database::isSuccess(
- contacts_db_add_changed_cb(_contacts_number._uri, onContactNumberChange, this));
- }
-
- if(success)
- {
- success = Database::getInstance().addListener(_contacts_phone_log._uri, this);
- }
- else
- {
- contacts_db_remove_changed_cb(_contacts_number._uri, onContactNumberChange, this);
- }
-
- if(!success)
- {
- m_Numbers.clear();
- m_Logs.clear();
- }
- else
- {
- m_Initialized = true;
- }
- }
-
- return m_Initialized;
- }
-
- size_t DbDataProvider::getCount() const
- {
- return m_Numbers.size() + m_Logs.size();
- }
-
- ContactPtr DbDataProvider::getData(size_t index) const
- {
- if(index < m_Numbers.size())
- {
- return m_Numbers[index];
- }
- else
- {
- index -= m_Numbers.size();
- if (index < m_Logs.size())
- {
- return m_Logs[index];
- }
- else
- {
- return ContactPtr();
- }
- }
- }
-
- bool DbDataProvider::fetchNumbers()
- {
- PH_TRACE;
- contacts_query_h query = NULL;
- contacts_list_h numbers = NULL;
- unsigned count = 0;
- unsigned ids[] = {
- _contacts_contact_number.display_name,
- _contacts_contact_number.number,
- _contacts_contact_number.image_thumbnail_path
- };
-
- bool success = Database::isSuccess(
- contacts_query_create(_contacts_contact_number._uri, &query))
- && Database::isSuccess(
- contacts_query_set_projection(query, ids, sizeof(ids) / sizeof(*ids)))
- && Database::isSuccess(
- contacts_db_get_records_with_query(query, 0, 0, &numbers))
- && Database::isSuccess(
- contacts_list_get_count(numbers, &count));
-
- if(query)
- {
- contacts_query_destroy(query);
- }
-
- m_Numbers.clear();
- DBG("count: %d", count);
- while(success && count--)
- {
- contacts_record_h record = NULL;
- success = Database::isSuccess(contacts_list_get_current_record_p(numbers, &record));
-
- if(success)
- {
- ContactNumberRecord *contactNumber = new ContactNumberRecord();
- success = contactNumber->initialize(record);
- if(success)
- {
- m_Numbers.push_back(contactNumber);
- }
- else
- {
- delete contactNumber;
- }
-
- if(count)
- {
- success = Database::isSuccess(contacts_list_next(numbers));
- }
- }
- }
-
- if(numbers)
- {
- contacts_list_destroy(numbers, true);
- }
-
- return success;
- }
-
- bool DbDataProvider::fetchLogs()
- {
- PH_TRACE;
- bool success = true;
- unsigned ids[] = {
- _contacts_person_phone_log.person_id,
- _contacts_person_phone_log.address,
- };
- contacts_query_h query = NULL;
- contacts_list_h logs = NULL;
- unsigned count = 0;
-
- success = Database::isSuccess(
- contacts_query_create(_contacts_person_phone_log._uri, &query))
- && Database::isSuccess(
- contacts_query_set_projection(query, ids, sizeof(ids) / sizeof(*ids)))
- && Database::isSuccess(
- contacts_query_set_distinct(query, true))
- && Database::isSuccess(
- contacts_db_get_records_with_query(query, 0, 0, &logs))
- && Database::isSuccess(
- contacts_list_get_count(logs, &count));
-
- if(query)
- {
- contacts_query_destroy(query);
- }
-
- DBG("count: %d", count);
- while(success && count--)
- {
- int id = 0;
- contacts_record_h record = NULL;
-
- success = Database::isSuccess(
- contacts_list_get_current_record_p(logs, &record))
- && Database::isSuccess(
- contacts_record_get_int(record, _contacts_person_phone_log.person_id, &id));
-
- if(success)
- {
- if(id == 0)
- {
- ContactLogRecord *contactLog = new ContactLogRecord();
- success = contactLog->initialize(record);
- if(success)
- {
- m_Logs.push_back(contactLog);
- }
- else
- {
- delete contactLog;
- }
- }
-
- if(count)
- {
- success = Database::isSuccess(contacts_list_next(logs));
- }
- }
- }
-
- if(logs)
- {
- contacts_list_destroy(logs, true);
- }
-
- return success;
- }
-
- void DbDataProvider::onRecordInsert(const char *uri, int id)
- {
- PH_TRACE;
- if(!uri)
- {
- return;
- }
-
- if(strcmp(uri, _contacts_phone_log._uri) == 0)
- {
- onLogInsert(id);
- }
- }
-
- void DbDataProvider::onNumberInsert(int id)
- {
- PH_TRACE;
- ContactNumberRecord *contactNumber = new ContactNumberRecord();
- if(contactNumber->initialize(id))
- {
- m_Numbers.push_back(contactNumber);
- }
- else
- {
- delete contactNumber;
- }
- }
-
- void DbDataProvider::onLogInsert(int id)
- {
- PH_TRACE;
- ContactLogRecord *contactLog = new ContactLogRecord();
-
- if(contactLog->initialize(id))
- {
- bool exists = false;
-
- //check if it's an unsaved number
- if(contactLog->getPersonId() == 0)
- {
- //check if number wasn't already added
- for(Contacts::iterator
- it = m_Logs.begin();
- it != m_Logs.end(); ++it)
- {
- if(contactLog->getNumber().compare((*it)->getNumber()) == 0)
- {
- exists = true;
- break;
- }
- }
- }
- else
- {
- exists = true;
- }
-
- if(!exists)
- {
- m_Logs.push_back(contactLog);
- }
- else
- {
- delete contactLog;
- }
- }
- else
- {
- delete contactLog;
- }
- }
-
-
- void DbDataProvider::onContactNumberChange(const char *uri, void *data)
- {
- PH_TRACE;
- DbDataProvider *dbDataProvider = static_cast<DbDataProvider*>(data);
- if (!uri || !dbDataProvider)
- {
- return;
- }
-
- DBG("uri = %s", uri);
- if (strcmp(uri,_contacts_number._uri) == 0)
- {
- dbDataProvider->fetchNumbers();
- }
- }
- }
- }
-}
diff --git a/lib/dialer/Search/DbDataProvider.h b/lib/dialer/Search/DbDataProvider.h
deleted file mode 100644
index 1d52082..0000000
--- a/lib/dialer/Search/DbDataProvider.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_DIALER_SEARCH_DB_DATA_PROVIDER_H__
-#define __PHONE_DIALER_SEARCH_DB_DATA_PROVIDER_H__
-
-#include <vector>
-#include <contacts.h>
-
-#include "Contact.h"
-#include "Database/Database.h"
-#include "Database/Listener.h"
-#include "Search/DataProvider.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- /*
- * @brief Database data provider for dialer search engine
- * @details The provider fetches numbers from the address book
- * and unsaved numbers from call logs and provides
- * encapsulated access to this data.
- * Provider updates its data based on changes made to the database.
- */
- class DbDataProvider :
- public DataProvider,
- public Database::Listener
- {
- public:
- DbDataProvider();
- virtual ~DbDataProvider();
-
- /*
- * @brief Initialize data provider and fetch initial data
- * @return true on success, false otherwise
- */
- bool initialize();
-
- /*
- * @see DataProvider::getCount
- */
- virtual size_t getCount() const;
-
- /*
- * @see DataProvider::getData
- */
- virtual ContactPtr getData(size_t index) const;
-
- private:
- bool fetchNumbers();
- bool fetchLogs();
-
- void onRecordInsert(const char *uri, int id);
- void onNumberInsert(int id);
- void onLogInsert(int id);
- static void onContactNumberChange(const char *uri, void *data);
-
- bool m_Initialized;
-
- typedef std::vector<ContactPtr> Contacts;
- Contacts m_Numbers;
- Contacts m_Logs;
- };
- }
- }
-}
-
-#endif /* __PHONE_DIALER_SEARCH_DB_DATA_PROVIDER_H__ */
diff --git a/lib/dialer/Search/Engine.cpp b/lib/dialer/Search/Engine.cpp
deleted file mode 100644
index a1b1d5d..0000000
--- a/lib/dialer/Search/Engine.cpp
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Search/Engine.h"
-
-#include "phone.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- Engine::Engine()
- : m_DataProvider(NULL), m_Listener(NULL)
- {
- PH_TRACE;
- }
-
- Engine::~Engine()
- {
- PH_TRACE;
- clearQuery();
- }
-
- bool Engine::initialize(const DataProvider &provider)
- {
- PH_TRACE;
- m_DataProvider = &provider;
- m_History.resize(1);
- return true;
- }
-
- void Engine::setListener(EngineListener *listener)
- {
- PH_TRACE;
- m_Listener = listener;
- }
-
- const std::string & Engine::getQuery() const
- {
- return m_Query;
- }
-
- void Engine::setQuery(const std::string &query)
- {
- PH_TRACE;
- DBG("old query: %s", m_Query.c_str());
- DBG("new query: %s", query.c_str());
-
- std::string::const_iterator it1 = m_Query.begin();
- std::string::const_iterator it2 = query.begin();
-
- //find first position where old and new query mismatch
- while(it1 != m_Query.end()
- && it2 != query.end()
- && *it1 == *it2)
- {
- ++it1;
- ++it2;
- }
-
- if(it1 != m_Query.end())
- {
- truncateQuery(m_Query.end() - it1);
- }
-
- if(it2 != query.end())
- {
- appendQuery(query.substr(it2 - query.begin()));
- }
- }
-
- void Engine::appendQuery(const std::string &str)
- {
- PH_TRACE;
- DBG("old query: %s", m_Query.c_str());
- m_Query.append(str);
- DBG("new query: %s", m_Query.c_str());
-
- //if there are no previous results
- if(m_HistoryIndex.empty())
- {
- searchInContacts();
- }
- else
- {
- //use previous results for search
- int prev = m_HistoryIndex.back();
- if(!m_History.at(prev).empty())
- {
- m_History.resize(m_History.size() + 1);
- searchInResults(m_History.at(prev));
- }
- }
-
- m_HistoryIndex.resize(m_Query.length(), -1);
- m_HistoryIndex.back() = m_History.size() - 1;
- }
-
- void Engine::truncateQuery(unsigned count)
- {
- PH_TRACE;
- DBG("old query: %s", m_Query.c_str());
-
- if(count >= m_Query.length())
- {
- clearQuery();
- }
- else
- {
- m_Query.erase(m_Query.length() - count);
- DBG("new query: %s", m_Query.c_str());
- m_HistoryIndex.resize(m_Query.length(), -1);
-
- int prev = -1;
- //find nearest previous results
- for(HistoryIndex::reverse_iterator
- it = m_HistoryIndex.rbegin();
- it != m_HistoryIndex.rend(); ++it)
- {
- if(*it > -1)
- {
- prev = *it;
- break;
- }
- }
-
- //previous results found
- if(prev > -1)
- {
- DBG("prev: %d", prev);
- //remove all results after found results
- m_History.erase(m_History.begin() + prev + 1, m_History.end());
-
- //if found results correspond exactly to the new query
- if(prev == m_HistoryIndex.back())
- {
- notifyChange();
- }
- else
- {
- m_History.resize(m_History.size() + 1);
- searchInResults(m_History[prev]);
- }
- }
- else
- {
- //no previous results found
- m_History.back().clear();
- searchInContacts();
- }
-
- m_HistoryIndex.back() = m_History.size() - 1;
- }
- }
-
- void Engine::clearQuery()
- {
- PH_TRACE;
- m_Query.clear();
- m_HistoryIndex.clear();
- m_History.resize(1);
- m_History.back().clear();
- notifyChange();
- }
-
- const Results & Engine::getResults() const
- {
- return m_History.back();
- }
-
- bool Engine::match(const ContactPtr &contact, Result &result)
- {
- return matchByNumber(contact, result) || matchByName(contact, result);
- }
-
- bool Engine::matchByNumber(const ContactPtr &contact, Result &result)
- {
- PH_TRACE;
- size_t pos = contact->getNumber().find(m_Query);
-
- if(pos != std::string::npos)
- {
- result = Result(contact, Result::ByNumber, pos, m_Query.length());
- DBG("matched: %s", contact->getNumber().c_str());
- return true;
- }
- else
- {
- return false;
- }
- }
-
- bool Engine::matchByName(const ContactPtr &contact, Result &result)
- {
- PH_TRACE;
- //TODO: implement match by name
- return false;
- }
-
- void Engine::notifyChange()
- {
- PH_TRACE;
- if(m_Listener)
- {
- m_Listener->onSearchResultsChange(m_History.back());
- }
- }
-
- void Engine::searchInContacts()
- {
- PH_TRACE;
- Result result;
- Results &current = m_History.back();
-
- size_t count = m_DataProvider->getCount();
- for(size_t i = 0; i < count; ++i)
- {
- const ContactPtr &contact = m_DataProvider->getData(i);
- if(contact && match(contact, result))
- {
- current.push_back(result);
- }
- }
-
- DBG("count: %d", current.size());
- notifyChange();
- }
-
- void Engine::searchInResults(const Results &results)
- {
- PH_TRACE;
- Result result;
- Results &current = m_History.back();
-
- for(Results::const_iterator
- it = results.begin();
- it != results.end(); ++it)
- {
- if(match(it->getContact(), result))
- {
- current.push_back(result);
- }
- }
-
- DBG("count: %d", current.size());
- notifyChange();
- }
- }
- }
-}
diff --git a/lib/dialer/Search/Engine.h b/lib/dialer/Search/Engine.h
deleted file mode 100644
index 0374953..0000000
--- a/lib/dialer/Search/Engine.h
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_DIALER_SEARCH_ENGINE_H__
-#define __PHONE_DIALER_SEARCH_ENGINE_H__
-
-#include <vector>
-#include <string>
-
-#include "NonCopyable.h"
-#include "Search/DataProvider.h"
-#include "Search/Result.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- /*
- * @brief Dialer search engine event listener
- */
- class EngineListener
- {
- public:
- virtual ~EngineListener() { }
-
- /*
- * @brief Called whenever search results were changed
- * @param results Search results
- */
- virtual void onSearchResultsChange(const Results &results) = 0;
- };
-
- /*
- * @brief Dialer incremental search engine
- * @details Implements incremental search through provided contact data.
- * Maintains incremental result history allowing to narrow the search
- * for each next input into query and to fall back to previous results
- * on query truncation.
- */
- class Engine : public Utils::NonCopyable
- {
- public:
- Engine();
- ~Engine();
-
- /*
- * @brief Initialize search engine
- * @param provider Input data provider
- * @see DataProvider
- */
- bool initialize(const DataProvider &provider);
-
- /*
- * @brief Set listener for search events
- * @see EngineListener
- */
- void setListener(EngineListener *listener);
-
- /*
- * @return Current search query string
- */
- const std::string & getQuery() const;
-
- /*
- * @brief Set new query string and begin search
- * @details Calculates the difference between the current query
- * and the new query and uses appendQuery and truncateQuery
- * as needed
- * @param query Query string
- */
- void setQuery(const std::string &query);
-
- /*
- * @brief Append string to the current query string
- * and begin search
- * @details Search is performed through previous results if any
- * or data provider is used
- * @param str String to append to current query
- */
- void appendQuery(const std::string &str);
-
- /*
- * @brief Remove character from the end of current query string
- * and begin search
- * @details Falls back to previous results and performs search if necessary
- * or uses data provider if there are no results to fall back to
- * @param count Number of character to remove form the end of query string
- */
- void truncateQuery(unsigned count);
-
- /*
- * @brief Clear query string and remove all results
- */
- void clearQuery();
-
- /*
- * @return Current search results
- */
- const Results & getResults() const;
-
- private:
- bool match(const ContactPtr &contact, Result &result);
- bool matchByNumber(const ContactPtr &contact, Result &result);
- bool matchByName(const ContactPtr &contact, Result &result);
-
- void notifyChange();
-
- /*
- * @brief Search through contact data using data provider
- * @remarks Results are saved into m_History.back()
- */
- void searchInContacts();
-
- /*
- * @brief Search through provided results
- * @remarks Results are saved into m_History.back()
- * @param results Results to use as input data
- */
- void searchInResults(const Results &results);
-
- typedef std::vector<Results> History;
- typedef std::vector<int> HistoryIndex;
-
- /*
- * @brief Current search query
- */
- std::string m_Query;
-
-
- /*
- * @brief Incremental search history, maintains sets of results
- * @details Each call to appendQuery adds one set of results
- * to the history if previous results weren't empty.
- * Each call to truncateQuery removes one or more
- * result sets from the history.
- */
- History m_History;
-
- /*
- * @brief Maps each substring of the query string that begins at 0
- * to the corresponding result set in result history.
- * @details History index is always the same size as search query.
- * Each substring of the query string that begins at 0
- * and ends at N (subquery) has a corresponding element
- * in history index at position N that contains the index
- * of the result set for this subquery in search history.
- *
- * If there are no results for a subquery in search history
- * then the value of corresponding element in history index
- * is -1.
- * @example
- * @code
- *
- * DataProvider *provider = new SomeProvider();
- * Engine engine;
- * engine.initialize(*provider);
- *
- * engine.appendQuery("0");
- * engine.appendQuery("9");
- * engine.appendQuery("1");
- * engine.setQuery("0913051032");
- *
- * @endcode
- *
- * Given the appropriate data provided by SomeProvider
- * the engine will be in the following internal state:
- *
- * | 0| 9| 1| 3| 0| 5| 1| 0| 3| 2| <- m_Query
- * | 0| 1| 2|-1|-1|-1|-1|-1|-1| 3| <- m_HistoryIndex
- *
- * | 0| 1| 2| 3| <- m_History indices
- * ^ ^ ^ ^
- * | | | 1 result (0913051032)
- * | | 10 results
- * | 16 results
- * 23 results
- */
- HistoryIndex m_HistoryIndex;
-
- const DataProvider *m_DataProvider;
- EngineListener *m_Listener;
- };
- }
- }
-}
-
-#endif /* __PHONE_DIALER_SEARCH_ENGINE_H__ */
diff --git a/lib/dialer/Search/Result.cpp b/lib/dialer/Search/Result.cpp
deleted file mode 100644
index 60a565a..0000000
--- a/lib/dialer/Search/Result.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Search/Result.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- Result::Result()
- : m_MatchType(ByNumber), m_MatchPos(0), m_MatchLength(0)
- {
- PH_TRACE;
- }
-
- Result::Result(const Result &result)
- {
- PH_TRACE;
- *this = result;
- }
-
- Result::Result(const ContactPtr &contact, MatchType matchType,
- size_t matchPos, size_t matchLength)
- : m_Contact(contact), m_MatchType(matchType),
- m_MatchPos(matchPos), m_MatchLength(matchLength)
- {
- PH_TRACE;
- }
-
- Result::MatchType Result::getMatchType() const
- {
- return m_MatchType;
- }
-
- const ContactPtr & Result::getContact() const
- {
- return m_Contact;
- }
-
- size_t Result::getMatchPos() const
- {
- return m_MatchPos;
- }
-
- size_t Result::getMatchLength() const
- {
- return m_MatchLength;
- }
-
- bool Result::formatMatch(std::string &formattedMatch,
- const std::string &matchBegin,
- const std::string &matchEnd) const
- {
- PH_TRACE;
- const std::string *match = NULL;
- if(m_MatchType == ByNumber)
- {
- match = &getContact()->getNumber();
- }
- else
- {
- match = &getContact()->getName();
- }
-
- if(match && match->length() >= m_MatchPos + m_MatchLength)
- {
- formattedMatch.clear();
- if(m_MatchPos > 0)
- {
- formattedMatch.append(match->c_str(), m_MatchPos);
- }
-
- formattedMatch
- .append(matchBegin)
- .append(match->c_str() + m_MatchPos, m_MatchLength)
- .append(matchEnd)
- .append(match->c_str() + m_MatchPos + m_MatchLength);
-
- return true;
- }
- else
- {
- return false;
- }
- }
-
- Result & Result::operator=(const Result &result)
- {
- PH_TRACE;
- m_MatchType = result.m_MatchType;
- m_Contact = result.m_Contact;
- m_MatchPos = result.m_MatchPos;
- m_MatchLength = result.m_MatchLength;
- return *this;
- }
- }
- }
-}
diff --git a/lib/dialer/Search/Result.h b/lib/dialer/Search/Result.h
deleted file mode 100644
index 6bc8b1a..0000000
--- a/lib/dialer/Search/Result.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_DIALER_SEARCH_RESULT_H__
-#define __PHONE_DIALER_SEARCH_RESULT_H__
-
-#include <vector>
-#include <string>
-
-#include "Contact.h"
-#include "SharedPtr.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- typedef Utils::SharedPtr<Common::Contact> ContactPtr;
-
- /*
- * @brief Dialer search result data
- */
- class Result
- {
- public:
- /*
- * @brief Specifies by which field contact data matches search query
- */
- enum MatchType
- {
- ByNumber,
- ByName
- };
-
- Result();
- Result(const Result &result);
- Result(const ContactPtr &contact, MatchType matchType,
- size_t matchPos, size_t matchLength);
-
- /*
- * @return Type of the result
- * @see Result::MatchType
- */
- MatchType getMatchType() const;
-
- /*
- * @return Contact data associated with result
- */
- const ContactPtr & getContact() const;
-
- /*
- * @return Start position of the match in matched string
- */
- size_t getMatchPos() const;
-
- /*
- * @return Length of matched substring (i.e. length of search query)
- */
- size_t getMatchLength() const;
-
- /*
- * @brief Format matched field by prepending matchBegin
- * and appending matchEnd strings to the matching substring.
- * @par example
- * If contact's number is "1234567" and search query is "34"
- * then the following code:
- *
- * @code
- * std::string match;
- * result.formatMatch(match, "<match>", "</>");
- * @endcode
- *
- * will write "12<match>34</>567" in "match" string
- *
- * @param[out] formattedMatch Formatted match string
- * @param[in] matchBegin String to prepend matching substring with
- * @param[in] matchEnd String to append to matching substring
- * @return true on success, false otherwise
- */
- bool formatMatch(std::string &formattedMatch,
- const std::string &matchBegin,
- const std::string &matchEnd) const;
-
- Result & operator=(const Result &result);
-
- private:
- ContactPtr m_Contact;
- MatchType m_MatchType;
- size_t m_MatchPos;
- size_t m_MatchLength;
- };
-
- typedef std::vector<Result> Results;
- }
- }
-}
-
-#endif /* __PHONE_DIALER_SEARCH_RESULT_H__ */
diff --git a/lib/dialer/Search/ResultItem.cpp b/lib/dialer/Search/ResultItem.cpp
deleted file mode 100644
index f002fb8..0000000
--- a/lib/dialer/Search/ResultItem.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Search/ResultItem.h"
-#include "phone.h"
-#include "phone-common.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- ResultItem::ResultItem(const Result &result)
- : m_Result(result)
- {
- PH_TRACE;
- getResult().formatMatch(m_Match, "<match>", "</>");
- }
-
- char * ResultItem::getText(const char *part) const
- {
- PH_TRACE;
- if(getResult().getMatchType() == Result::ByNumber)
- {
- return strdup(getMatch());
- }
- else
- {
- return strdup(getResult().getContact()->getNumber().c_str());
- }
- }
-
- Evas_Object * ResultItem::getContent(const char *part, Evas_Object *parent) const
- {
- PH_TRACE;
- Evas_Object *icon = elm_icon_add(parent);
- if(icon)
- {
- const char *path = NULL;
- if(getResult().getContact()->getImagePath().empty())
- {
- path = IMG_DEFAULT;
- }
- else
- {
- path = getResult().getContact()->getImagePath().c_str();
- }
-
- Eina_Bool success = elm_image_file_set(icon, path, NULL);
- if(!success)
- {
- evas_object_del(icon);
- ERR("elm_image_file_set failed, path: %s", path);
- }
- }
- else
- {
- ERR("elm_icon_add failed");
- }
-
- return icon;
- }
-
- Elm_Genlist_Item_Class * ResultItem::getClass() const
- {
- static Elm_Genlist_Item_Class *itemClass = createClass("1text.1icon.2.tb");
- return itemClass;
- }
-
- const Result & ResultItem::getResult() const
- {
- return m_Result;
- }
-
- const char * ResultItem::getMatch() const
- {
- return m_Match.c_str();
- }
- }
- }
-}
diff --git a/lib/dialer/Search/ResultItem.h b/lib/dialer/Search/ResultItem.h
deleted file mode 100644
index fcb1ed8..0000000
--- a/lib/dialer/Search/ResultItem.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_DIALER_SEARCH_RESULT_ITEM_H__
-#define __PHONE_DIALER_SEARCH_RESULT_ITEM_H__
-
-#include <string>
-#include "Item.h"
-#include "Search/Result.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- /*
- * @brief Search results list item without Contact name
- * @details Displays matched number and highlights the match.
- */
- class ResultItem : public Ui::Genlist::Item
- {
- public:
- /*
- * @param result Search result associated with the item
- */
- ResultItem(const Result &result);
-
- /*
- * @see Genlist::Item::getText
- */
- char * getText(const char *part) const;
-
- /*
- * @see Genlist::Item::getContent
- */
- Evas_Object * getContent(const char *part, Evas_Object *parent) const;
-
- /*
- * @see Genlist::Item::getClass
- */
- Elm_Genlist_Item_Class * getClass() const;
-
- /*
- * @return Search result associated with item
- */
- const Result & getResult() const;
-
- protected:
- /*
- * @return Search match string with textblock markup
- */
- const char * getMatch() const;
-
- private:
- Result m_Result;
- std::string m_Match;
- };
- }
- }
-}
-
-#endif /* __PHONE_DIALER_SEARCH_RESULT_ITEM_H__ */
diff --git a/lib/dialer/Search/ResultPopup.cpp b/lib/dialer/Search/ResultPopup.cpp
deleted file mode 100644
index fa06be8..0000000
--- a/lib/dialer/Search/ResultPopup.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Search/ResultPopup.h"
-
-#include "phone.h"
-#include "phone-common.h"
-#include "Search/ContactItem.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- ResultPopup::ResultPopup()
- : m_Popup(NULL), m_Listener(NULL)
- {
- PH_TRACE;
- }
-
- ResultPopup::~ResultPopup()
- {
- PH_TRACE;
- if(m_Popup)
- {
- evas_object_del(m_Popup);
- m_Popup = NULL;
- }
- }
-
- bool ResultPopup::initialize(Evas_Object *parent)
- {
- PH_TRACE;
- m_Popup = elm_popup_add(parent);
- if(!m_Popup)
- {
- return false;
- }
-
- elm_object_style_set(m_Popup, "min_menustyle");
- evas_object_smart_callback_add(m_Popup, "block,clicked", onHide, this);
- evas_object_size_hint_weight_set(m_Popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- Evas_Object *button = elm_button_add(m_Popup);
- if(!button)
- {
- evas_object_del(m_Popup);
- m_Popup = NULL;
- return false;
- }
-
- elm_object_text_set(button, S_(PH_SYS_SK_CANCEL));
- elm_object_part_content_set(m_Popup, "button1", button);
- evas_object_smart_callback_add(button, "clicked", onHide, this);
-
- if(!m_ResultList.create(m_Popup))
- {
- evas_object_del(m_Popup);
- m_Popup = NULL;
- return false;
- }
-
- elm_object_content_set(m_Popup, m_ResultList.getObject());
- evas_object_smart_callback_add(m_ResultList.getObject(), "selected", onResultSelect, this);
- return true;
- }
-
- void ResultPopup::setListener(ResultPopupListener *listener)
- {
- m_Listener = listener;
- }
-
- Evas_Object * ResultPopup::getPopup() const
- {
- return m_Popup;
- }
-
- void ResultPopup::setResults(const Results &results)
- {
- PH_TRACE;
- elm_genlist_clear(m_ResultList.getObject());
- for(Results::const_iterator
- it = results.begin();
- it != results.end(); ++it)
- {
- if(!it->getContact()->getName().empty())
- {
- m_ResultList.append(new ContactItem(*it));
- }
- else
- {
- m_ResultList.append(new ResultItem(*it));
- }
- }
- }
-
- void ResultPopup::show()
- {
- PH_TRACE;
- if(m_Popup)
- {
- evas_object_show(m_Popup);
- }
- }
-
- void ResultPopup::hide()
- {
- PH_TRACE;
- if(m_Popup)
- {
- evas_object_hide(m_Popup);
- }
- }
-
- void ResultPopup::onHide(void *data, Evas_Object *obj, void *event)
- {
- PH_TRACE;
- if(data)
- {
- static_cast<ResultPopup*>(data)->hide();
- }
- }
-
- void ResultPopup::onResultSelect(void *data, Evas_Object *obj, void *event_info)
- {
- PH_TRACE;
- if(!data || !event_info)
- {
- return;
- }
-
- ResultPopup *popup = static_cast<ResultPopup*>(data);
- Elm_Object_Item *objItem = static_cast<Elm_Object_Item*>(event_info);
- ResultItem *item = static_cast<ResultItem*>(elm_object_item_data_get(objItem));
-
- popup->hide();
- if(popup->m_Listener)
- {
- popup->m_Listener->onSearchResultSelect(item->getResult());
- }
- }
- }
- }
-}
-
diff --git a/lib/dialer/Search/ResultPopup.h b/lib/dialer/Search/ResultPopup.h
deleted file mode 100644
index e4500c3..0000000
--- a/lib/dialer/Search/ResultPopup.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_DIALER_SEARCH_RESULT_POPUP_H__
-#define __PHONE_DIALER_SEARCH_RESULT_POPUP_H__
-
-#include <Elementary.h>
-#include "NonCopyable.h"
-#include "Genlist.h"
-#include "Search/Result.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- /*
- * @brief Dialer search result popup event listener
- */
- class ResultPopupListener
- {
- public:
- virtual ~ResultPopupListener() { }
-
- /*
- * @brief Called when result is selected from result list
- * @param result Selected result
- */
- virtual void onSearchResultSelect(const Result &result) = 0;
- };
-
- class ResultPopup : public Utils::NonCopyable
- {
- public:
- ResultPopup();
- ~ResultPopup();
-
- /*
- * @brief Initialize popup.
- * @param parent Parent Evas object for popup
- */
- bool initialize(Evas_Object *parent);
-
- /*
- * @param listener Popup events listener
- */
- void setListener(ResultPopupListener *listener);
-
- /*
- * @return Popup Evas object
- */
- Evas_Object * getPopup() const;
-
- /*
- * @brief Set search results to be displayed in popup.
- * @param results Search results
- */
- void setResults(const Results &results);
-
- /*
- * @brief Show popup.
- */
- void show();
-
- /*
- * @brief Hide popup.
- */
- void hide();
-
- private:
- static void onHide(void *data, Evas_Object *obj, void *event_info);
- static void onResultSelect(void *data, Evas_Object *obj, void *event_info);
-
- Evas_Object *m_Popup;
- Ui::Genlist::Genlist m_ResultList;
- ResultPopupListener *m_Listener;
- };
- }
- }
-}
-
-#endif /* __PHONE_DIALER_SEARCH_RESULT_POPUP_H__ */
diff --git a/lib/dialer/Search/ResultWidget.cpp b/lib/dialer/Search/ResultWidget.cpp
deleted file mode 100644
index ab89fc2..0000000
--- a/lib/dialer/Search/ResultWidget.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Search/ResultWidget.h"
-
-#include "phone.h"
-#include "phone-common.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- ResultWidget::ResultWidget()
- : m_Layout(NULL), m_Icon(NULL), m_Listener(NULL)
- {
- PH_TRACE;
- }
-
- ResultWidget::~ResultWidget()
- {
- PH_TRACE;
- if(m_Icon)
- {
- evas_object_del(m_Icon);
- m_Icon = NULL;
- }
- }
-
- bool ResultWidget::initialize(Evas_Object *layout)
- {
- PH_TRACE;
- if(!layout)
- {
- return false;
- }
-
- m_Icon = elm_icon_add(layout);
- if(!m_Icon)
- {
- return false;
- }
- elm_object_part_content_set(layout, "icon", m_Icon);
- edje_object_signal_callback_add(_EDJ(layout), "softkey_clicked", "*", onLayoutEvent, this);
-
- m_Layout = layout;
- return true;
- }
-
- void ResultWidget::setListener(ResultWidgetListener *listener)
- {
- m_Listener = listener;
- }
-
- void ResultWidget::setResult(const Result &result)
- {
- PH_TRACE;
-
- std::string number;
- result.formatMatch(number, "<mark>", "</mark>");
-
- elm_object_part_text_set(m_Layout, "textName", result.getContact()->getName().c_str());
- elm_object_part_text_set(m_Layout, "textNumber", number.c_str());
-
- const char *path = NULL;
- if(result.getContact()->getImagePath().empty())
- {
- path = IMG_DEFAULT;
- }
- else
- {
- path = result.getContact()->getImagePath().c_str();
- }
-
- elm_image_file_set(m_Icon, path, NULL);
- }
-
- void ResultWidget::setResultCount(unsigned count)
- {
- PH_TRACE;
- if(count == 0)
- {
- char buffer[PH_TEXT_MAX_LEN] = { 0 };
- sprintf(buffer, "+ %s", T_(PH_GET_TEXT_BASIC, PHTEXT_ADD_TO_CONTACTS));
- elm_object_part_text_set(m_Layout, "textAddToContacts", buffer);
- edje_object_signal_emit(_EDJ(m_Layout), "suggestion/showAddToContacts", "suggestion");
- }
- else if(count == 1)
- {
- edje_object_signal_emit(_EDJ(m_Layout), "suggestion/showSingleItemView", "suggestion");
- }
- else
- {
- char matchCount[16];
- sprintf(matchCount, "%d", count);
- elm_object_part_text_set(m_Layout, "textNumberOfMatches", matchCount);
- edje_object_signal_emit(_EDJ(m_Layout), "suggestion/showMultiItemView", "suggestion");
- }
- }
-
- void ResultWidget::hide()
- {
- PH_TRACE;
- edje_object_signal_emit(_EDJ(m_Layout), "suggestion/hide", "suggestion");
- }
-
- void ResultWidget::onLayoutEvent(void *data, Evas_Object *obj, const char *emission, const char *source)
- {
- PH_TRACE;
- if(!data || !source)
- {
- return;
- }
-
- ResultWidgetListener *listener = static_cast<ResultWidget*>(data)->m_Listener;
- if(!listener)
- {
- DBG("no listener");
- return;
- }
-
- if(strcmp(source, "suggestion") == 0)
- {
- listener->onAddToContacts();
- }
- else if(strcmp(source, "suggestionListTopItem") == 0)
- {
- listener->onTopResultSelect();
- }
- else if(strcmp(source, "suggestionListButton") == 0)
- {
- listener->onShowMoreResults();
- }
- }
- }
- }
-}
diff --git a/lib/dialer/Search/ResultWidget.h b/lib/dialer/Search/ResultWidget.h
deleted file mode 100644
index fda0d2b..0000000
--- a/lib/dialer/Search/ResultWidget.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_DIALER_SEARCH_RESULT_WIDGET_H__
-#define __PHONE_DIALER_SEARCH_RESULT_WIDGET_H__
-
-#include <Elementary.h>
-#include "Search/Result.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- /*
- * @brief Listener for search result widget events
- */
- class ResultWidgetListener
- {
- public:
- virtual ~ResultWidgetListener() { }
-
- /*
- * @brief Called when "Add to Contact" button is pressed
- */
- virtual void onAddToContacts() = 0;
-
- /*
- * @brief Called when displayed top search result is selected
- */
- virtual void onTopResultSelect() = 0;
-
- /*
- * @brief Called when show more results button is pressed
- */
- virtual void onShowMoreResults() = 0;
- };
-
- /*
- * @brief Displays information about last search
- * @details Displays top search result and number of results
- * on More Results button or "Add to Contacts" button if no results
- */
- class ResultWidget
- {
- public:
- ResultWidget();
- ~ResultWidget();
-
- /*
- * @brief Initialize widget.
- * @param layout Widget Edje layout
- */
- bool initialize(Evas_Object *layout);
-
- /*
- * @param listener Widget event listener
- */
- void setListener(ResultWidgetListener *listener);
-
- /*
- * @brief Set search result to be displayed by widget.
- * @param result Top search result
- */
- void setResult(const Result &result);
-
- /*
- * @brief Set search results count to be displayed on More Results button.
- * @param count Results count
- */
- void setResultCount(unsigned count);
-
- /*
- * @brief Hide widget
- */
- void hide();
-
- private:
- static void onLayoutEvent(void *data, Evas_Object *obj, const char *emission, const char *source);
-
- Evas_Object *m_Layout;
- Evas_Object *m_Icon;
- ResultWidgetListener *m_Listener;
- };
- }
- }
-}
-
-#endif /* __PHONE_DIALER_SEARCH_RESULT_WIDGET_H__ */
diff --git a/lib/dialer/dialer-efl.desktop.in b/lib/dialer/dialer-efl.desktop.in
deleted file mode 100644
index ea965ed..0000000
--- a/lib/dialer/dialer-efl.desktop.in
+++ /dev/null
@@ -1,10 +0,0 @@
-Name=dialer-efl
-Exec=/opt/ug/bin/dialer-efl
-Icon=
-Type=Application
-Version=0.1.0-0
-NoDisplay=true
-X-TIZEN-Multiple=true
-X-TIZEN-TaskManage=false
-X-TIZEN-Removable=true
-X-TIZEN-SVC=http://tizen.org/appsvc/operation/test|NULL|NULL
diff --git a/lib/dialer/dialer-efl.xml b/lib/dialer/dialer-efl.xml
deleted file mode 100644
index 9d0926d..0000000
--- a/lib/dialer/dialer-efl.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="dialer-efl" version="0.1.0-0" install-location="internal-only">
- <label>dialer</label>
- <author email="ensung.park@samsung.com" href="www.samsung.com">ensung park</author>
- <description>dialer-efl Application</description>
- <ui-application appid="dialer-efl" exec="/usr/ug/bin/dialer-efl" nodisplay="true" multiple="true" type="capp" taskmanage="false">
- <icon>org.tizen.phone.png</icon>
- <label>dialer</label>
- <label xml:lang="en-us">dialer</label>
- <label xml:lang="nl-nl">dialer</label>
- <label xml:lang="de-de">dialer</label>
- <label xml:lang="en-gb">dialer</label>
- <label xml:lang="zh-hk">dialer</label>
- <label xml:lang="zh-cn">dialer</label>
- <label xml:lang="ru-ru">dialer</label>
- <label xml:lang="zh-tw">dialer</label>
- <label xml:lang="ja-jp">dialer</label>
- <label xml:lang="es-es">dialer</label>
- <label xml:lang="el-gr">dialer</label>
- <label xml:lang="it-it">dialer</label>
- <label xml:lang="tr-tr">dialer</label>
- <label xml:lang="pt-pt">dialer</label>
- <label xml:lang="fr-fr">dialer</label>
- <label xml:lang="ko-kr">dialer</label>
- <application-service>
- <operation name="http://tizen.org/ns/packages"/>
- </application-service>
- </ui-application>
-</manifest>
diff --git a/lib/dialer/include/KeypadTouchManager.h b/lib/dialer/include/KeypadTouchManager.h
deleted file mode 100644
index 03b02fc..0000000
--- a/lib/dialer/include/KeypadTouchManager.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef KEYPADTOUCHMANAGER_H_
-#define KEYPADTOUCHMANAGER_H_
-
-#include <stddef.h>
-#include <Ecore.h>
-#include <Evas.h>
-#include <string>
-#include <vector>
-#include <set>
-
-namespace Dialer
-{
- /**
- * KeypadTouchManager is responsible for managing and handling touch-events on numeric keypad.
- * After initialising it start listening the following events:
- * - EVAS_CALLBACK_MOUSE_DOWN
- * - EVAS_CALLBACK_MOUSE_UP
- * - EVAS_CALLBACK_MULTI_DOWN
- * - EVAS_CALLBACK_MULTI_UP.
- *
- * At the moment of multiple down event KeypadTouchManager starts single-tick timer that will
- * send key-up for keys that were pressed before.
- * */
- class KeypadTouchManager
- {
- static const size_t ROWS = 4;
- static const size_t COLS = 3;
- static const size_t MULTI_TOUCH_SUPPORT_KEY_COUNT = ROWS * COLS;
- static const size_t WRONG_KEY_INDEX = MULTI_TOUCH_SUPPORT_KEY_COUNT + 1;
- public:
- KeypadTouchManager();
- virtual ~KeypadTouchManager();
-
- /**
- * Initialises the manager and key-pad area with numeric buttons.
- * @param pLayout is a layout-object keypad will be based on.
- * */
- void initKeyPadArea(const Evas_Object* pLayout);
-
- /**
- * Stops timer if it was started otherwise does nothing.
- * */
- void stopTimer();
- private:
- static Eina_Bool onTimer(void *data);
- static void onKeyUp(void *data, Evas *e, Evas_Object *o, void *event_info);
- static void onKeyDown(void *data, Evas *e, Evas_Object *o, void *event_info);
- static void onMultiKeyUp(void *data, Evas *e, Evas_Object *o, void *event_info);
- static void onMultiKeyDown(void *data, Evas *e, Evas_Object *o, void *event_info);
-
- static bool isPtInRect(const Evas_Coord_Rectangle& rect, int x, int y);
- private:
- void handleKeyUp(int x, int y);
- void handleMultiKeyUp(int x, int y);
- void handleKeyDown(int x, int y);
- void handleMultiKeyDown(int x, int y);
- void storeTouchedKey(int x, int y);
- void sendEdjeSignal(int x, int y, const char* sygnal);
- void handleTouchedKeys();
- size_t getTouchedKeyRectIndex(int x, int y) const;
-
- typedef std::vector<std::string> ButtonNameContainer;
- ButtonNameContainer m_digitalButtonNames;
-
- Evas_Coord_Rectangle m_dialButtonRects[MULTI_TOUCH_SUPPORT_KEY_COUNT];
- Evas_Coord_Rectangle m_background;
-
- _Evas_Point m_lastDownPt;
- bool m_lastDown;
- bool m_lastMultiDown;
- Ecore_Timer *m_keypadResetTimer;
-
- typedef std::set<size_t> TouchedButtonsIndexes;
- TouchedButtonsIndexes m_touchedBtns;
-
- Evas_Object* m_pLayout;
- };
-} /* namespace Dialer */
-#endif /* KEYPADTOUCHMANAGER_H_ */
diff --git a/lib/dialer/include/phone-dialer.h b/lib/dialer/include/phone-dialer.h
deleted file mode 100755
index b9fbe96..0000000
--- a/lib/dialer/include/phone-dialer.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_DIALER_H__
-#define __PHONE_DIALER_H__
-
-#include "phone-common.h"
-
-namespace Phone
-{
- namespace Dialer
- {
- namespace Search
- {
- class Controller;
- }
- }
-}
-
-#define MAX_DIAL_NUMBER_FONT_SIZE 100
-#define MIN_DIAL_NUMBER_FONT_SIZE 67
-
-#define CURSOR_BEGIN -1
-#define CURSOR_END -2
-
-#define PH_TAG_TEXT_MAX_LEN (PH_TEXT_MAX_LEN*2)
-
-enum PH_DAILER_TYPES
-{
- PH_DAILER_NORMAL = 0,
- PH_DAILER_DURING_CALL,
- PH_DAILER_EMERGENCY
-};
-
-enum
-{
- CONTACT_DATA_CHAGNED = 1 << 0,
- LOG_DATA_CHAGNED = 1 << 1,
- SPEEDDIAL_DATA_CHAGNED = 1 << 2,
-};
-
-typedef enum
-{
- MODE_DIAL_NUMBER = 0,
- MODE_COUNTRY_CODE
-} ListMode;
-
-typedef enum
-{
- DASH_REAL = 1,
- DASH_PREVIEW = DASH_REAL
-} DashMode;
-
-typedef struct _InputNumber
-{
- char num;
-
- struct _InputNumber *prev;
- struct _InputNumber *next;
-} InputNumber;
-
-typedef struct
-{
- bool alive;
- bool success;
- bool completed;
- pthread_t thread;
- Ecore_Pipe *epipe;
-} ph_thread_info;
-
-typedef struct DialerView : public Common::View
-{
- Evas_Object *entry;
- Evas_Object *genlist;
- Evas_Object *fast_index;
- Evas_Object *count_button;
- Evas_Object *count_layout;
- Ecore_Timer *search_timer;
- Ecore_Timer *dash_timer;
- Ecore_Timer *longpress_timer;
- Ecore_Timer *update_timer;
- Ecore_Timer *slide_timer;
- Ecore_Job *job;
- Ecore_Idler *search_idler;
- Ecore_Event_Handler *key_press;
- Ecore_Event_Handler *key_release;
- char *longpress_source;
- char *searched_text;
- char* selected_text;
- InputNumber number_head;
- InputNumber *number_cursor;
- int cur_mcc;
- int cur_sim_mcc;
- int cur_cc_index;
- int roaming;
- int entry_font_size;
- int count_button_status;
- int run_mode;
- int compare_N;
- int show_N;
- int searched_speed_id;
- int data_dirty_flag;
- int touch_x;
- int touch_y;
- ListMode list_mode;
- bool is_background;
- bool is_emergency;
- bool cursor_changed;
- bool is_show_items;
- bool has_focus;
- bool initialized;
- bool searching;
- bool loading;
- bool slide;
- ph_thread_info *t_info; // load contact
- Eina_List *search_list;
- Eina_List *contact_list;
- Eina_List *speeddial_list;
- Eina_List *log_list;
- Eina_List *cc_list;
- Eina_List *cc_list_sorted;
- Phone::Dialer::Search::Controller *m_Search;
-} ph_dialer_data;
-
-Evas_Object* phone_create_dialer_view(ph_view_info *view_info);
-void phone_dialer_set_navi(Evas_Object *layout);
-void phone_dialer_check_focus(Evas_Object *base);
-void phone_dialer_view_reset(Evas_Object *base);
-void phone_dialer_view_language_changed(Evas_Object *layout);
-void phone_dialer_view_resume(Evas_Object *base);
-void phone_dialer_set_background(Evas_Object *obj, bool is_background);
-void phone_dialer_view_set_num(Evas_Object *layout, char *number);
-void phone_dialer_view_send_key(Evas_Object *layout);
-
-#endif /* __PHONE_DIALER_H__ */
diff --git a/lib/dialer/ph-dialer-main.cpp b/lib/dialer/ph-dialer-main.cpp
deleted file mode 100755
index 618623a..0000000
--- a/lib/dialer/ph-dialer-main.cpp
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <bundle.h>
-#include <ui-gadget-module.h>
-#include <efl_assist.h>
-
-#include "phone.h"
-#include "phone-dialer.h"
-
-#include "ph-dialer-view.h"
-#include "ph-dialer-utils.h"
-#include "ViewManager.h"
-
-static bool is_ug_exist = false;
-
-static bool dialer_create_ug_view(ph_dialer_data *dial_d, Evas_Object *base)
-{
- PH_TRACE;
- int ret;
- const char *title;
- p_retvm_if(NULL == dial_d, false, "Parameter is null");
-
- if (NULL == dial_d->navi)
- {
- dial_d->navi = elm_naviframe_add(base);
- p_retvm_if(NULL == dial_d->navi, false, "elm_naviframe_add is failed");
- ea_object_event_callback_add(dial_d->navi, EA_CALLBACK_BACK, &Common::ViewManager::onBack, dial_d->win);
- ea_object_event_callback_add(dial_d->navi, EA_CALLBACK_MORE, &Common::ViewManager::onMenu, NULL);
- elm_object_part_content_set(base, "elm.swallow.content", dial_d->navi);
- evas_object_show(dial_d->navi);
- }
-
- ret = ph_dialer_create_content(dial_d);
- p_retvm_if(ret < 0, false, "Fail to ph_dialer_create_content");
- if (dial_d->is_emergency)
- title = T_(PH_GET_TEXT_BASIC, PHTEXT_EMERGENCY_CALL);
- else
- title = T_(PH_GET_TEXT_BASIC, PHTEXT_KEYPAD);
-
- elm_naviframe_item_push(dial_d->navi, title, NULL, NULL, dial_d->layout,
- NULL);
-
- return true;
-}
-
-void* dialer_on_create(ui_gadget_h ug, enum ug_mode mode, service_h service,
- void *priv)
-{
- PH_TRACE;
- int ret;
- char *val = NULL;
- Evas_Object *bg;
- Evas_Object *parent;
- Evas_Object *base;
- ph_dialer_data *dial_d = (ph_dialer_data *) priv;
- bundle *data;
-
- p_retvm_if(true == is_ug_exist, NULL, "dialer_emergency ug already exist");
- is_ug_exist = true;
-
- p_retvm_if(NULL == ug || NULL == priv, NULL,
- "The parameter is invalid(ug=%p, priv=%p)", ug, priv);
-
- parent = (Evas_Object *) ug_get_parent_layout(ug);
- p_retvm_if(NULL == parent, NULL, "ug_get_parent_layout() return NULL");
- dial_d->ug = ug;
- dial_d->win = (Evas_Object *) ug_get_window();
- elm_win_wm_rotation_available_rotations_set(dial_d->win, NULL, 0);
- elm_win_wm_rotation_preferred_rotation_set(dial_d->win, 0);
-
- bindtextdomain(PACKAGE, LOCALEDIR);
-
- service_to_bundle(service, &data);
- ret = contacts_connect2();
- if (CONTACTS_ERROR_NONE != ret)
- {
- bundle_free(data);
- p_warn_if(CONTACTS_ERROR_NONE != ret, "contacts_connect2() Failed(%d)",
- ret);
- return NULL;
- }
-
- val = (char*) bundle_get_val(data, "emergency_dialer");
- if (val && 0 == strcmp(val, "emergency"))
- dial_d->is_emergency = true;
- else
- dial_d->is_emergency = false;
- bundle_free(data);
-
- if (UG_MODE_FULLVIEW == mode)
- base = phone_create_base_layout(parent, true);
- else
- base = phone_create_base_layout(parent, false);
-
- bg = phone_create_bg(base);
- if (NULL == bg)
- {
- PH_DBG("phone_create_bg() return NULL");
- evas_object_del(base);
- ret = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != ret,
- "contacts_disconnect2() Failed(%d)", ret);
- return NULL;
- }
-
- if (!dialer_create_ug_view(dial_d, base))
- {
- evas_object_del(base);
- ret = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != ret,
- "contacts_disconnect2() Failed(%d)", ret);
- base = NULL;
- }
- return base;
-}
-
-static void dialer_on_event(ui_gadget_h ug, enum ug_event event,
- service_h service, void *priv)
-{
- PH_TRACE;
- ph_dialer_data *dial_d = (ph_dialer_data *) priv;
-
- switch (event)
- {
- case UG_EVENT_ROTATE_PORTRAIT:
- case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
- case UG_EVENT_ROTATE_LANDSCAPE:
- case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
- break;
- case UG_EVENT_LANG_CHANGE:
- phone_dialer_view_language_changed(dial_d->layout);
- break;
- default:
- break;
- }
-}
-
-static void dialer_on_pause(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- ph_dialer_data *dial_d = (ph_dialer_data *) priv;
- dial_d->is_background = true;
-}
-
-static void dialer_on_resume(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- ph_dialer_data *dial_d = (ph_dialer_data *) priv;
- dial_d->is_background = false;
- if (dial_d->update_timer)
- {
- ecore_timer_del(dial_d->update_timer);
- dial_d->update_timer = NULL;
- ph_dialer_reload_data(dial_d);
- }
-}
-
-static void dialer_on_destroy(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- if (!ug)
- return;
- elm_win_wm_rotation_preferred_rotation_set((Evas_Object *) ug_get_window(), -1);
- evas_object_del((Evas_Object *) ug_get_layout(ug));
- contacts_disconnect2();
-}
-
-static void dialer_on_message(ui_gadget_h ug, service_h msg, service_h service,
- void *priv)
-{
- PH_TRACE;
-}
-
-extern "C" API int UG_MODULE_INIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- ph_dialer_data *dial_d;
- p_retvm_if(NULL == ops, -1, "ops is NULL");
-
- dial_d = (ph_dialer_data *) calloc(1, sizeof(ph_dialer_data));
- p_retvm_if(NULL == dial_d, -1, "dial_d is NULL, Not enough memory");
-
- ops->create = dialer_on_create;
- ops->start = NULL;
- ops->pause = dialer_on_pause;
- ops->resume = dialer_on_resume;
- ops->destroy = dialer_on_destroy;
- ops->message = dialer_on_message;
- ops->event = dialer_on_event;
- ops->priv = dial_d;
- ops->opt = UG_OPT_INDICATOR_ENABLE;
-
- return 0;
-}
-
-extern "C" API void UG_MODULE_EXIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- p_retm_if(!ops, "ops is NULL");
-
- ops->priv = NULL;
-}
-
-API Evas_Object* phone_create_dialer_view(ph_view_info *view_info)
-{
- PH_TRACE;
- p_retvm_if(NULL == view_info, NULL, "The parameter(view_info) is NULL");
-
- ph_dialer_data *dial_d = (ph_dialer_data *) calloc(1, sizeof(ph_dialer_data));
- p_retvm_if(NULL == dial_d, NULL, "dial_d is NULL, Not enough memory");
- dial_d->ug = view_info->ug;
- dial_d->win = view_info->win;
- dial_d->navi = view_info->navi;
- dial_d->is_emergency = !isSimPresent();
- dial_d->is_background = true;
-
- if (!ph_dialer_create_content(dial_d))
- {
- free(dial_d);
- return NULL;
- }
- return dial_d->layout;
-}
-
diff --git a/lib/dialer/ph-dialer-search.cpp b/lib/dialer/ph-dialer-search.cpp
deleted file mode 100755
index b72cc10..0000000
--- a/lib/dialer/ph-dialer-search.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE // for strcasestr
-#endif
-
-#include <feedback.h>
-#include <pthread.h>
-#include <unistd.h>
-
-#include <app_manager.h>
-
-#include "phone.h"
-#include "phone-dialer.h"
-#include "ph-dialer-utils.h"
-#include "ph-dialer-view.h"
-#include "ph-dialer-search.h"
-#include "ph-dialer-tapi.h"
-
-void ph_dialer_search_request(void *data, int force_search)
-{
- PH_TRACE;
- return;
-}
-
diff --git a/lib/dialer/ph-dialer-search.h b/lib/dialer/ph-dialer-search.h
deleted file mode 100755
index 66f2a1e..0000000
--- a/lib/dialer/ph-dialer-search.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PH_DIALER_SEARCH_H__
-#define __PH_DIALER_SEARCH_H__
-
-void ph_dialer_search_request(void *data, int force_search);
-void ph_dialer_search_result_clicked(void *data, Evas_Object *obj,
- const char *emission, const char *source);
-void ph_dialer_search_free_search_data(ph_dialer_data *dial_d);
-void ph_dialer_search_free_log_data(ph_dialer_data *dial_d);
-void ph_dialer_search_free_cc_data(ph_dialer_data *dial_d);
-void ph_dialer_search_find_cur_sim_cc(ph_dialer_data *dial_d);
-void ph_dialer_search_fill_genlist_by_list(ph_dialer_data *dial_d);
-void ph_dialer_search_fill_genlist_by_cc_list(ph_dialer_data *dial_d);
-void ph_dialer_search_set_genlist_item_style();
-
-#endif /* __PH_DIALER_SEARCH_H__ */
diff --git a/lib/dialer/ph-dialer-tapi.cpp b/lib/dialer/ph-dialer-tapi.cpp
deleted file mode 100755
index 57cebe6..0000000
--- a/lib/dialer/ph-dialer-tapi.cpp
+++ /dev/null
@@ -1,533 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <tapi_common.h>
-#include <ITapiSim.h>
-#include <ITapiPhonebook.h>
-#include <TapiUtility.h>
-#include <regex.h>
-
-#include "phone.h"
-#include "phone-dialer.h"
-#include "ph-dialer-utils.h"
-
-#ifdef Status
-#undef Status
-#endif
-
-static TapiHandle *handle = NULL;
-
-typedef enum
-{
- SIM_INCORRECT_PIN1_CODE,
- SIM_INCORRECT_PIN2_CODE,
- SIM_PIN1_CHANGE_SUCCESS,
- SIM_PIN2_CHANGE_SUCCESS,
- SIM_PIN1_BLOCKED,
- SIM_PIN2_BLOCKED,
-} sim_stat_value;
-
-typedef enum
-{
- TYPE_PIN1 = 0,
- TYPE_PIN2,
-} pin_type_value;
-typedef struct _tapi_receive_info
-{
- sim_stat_value stat;
- int retry_cnt;
-} tapi_receive_info;
-
-#define PIN1_REGEX "^\\*\\*04\\*[0-9]{4}\\*[0-9]{4}\\*[0-9]{4}#$"
-#define PIN2_REGEX "^\\*\\*042\\*[0-9]{4}\\*[0-9]{4}\\*[0-9]{4}#$"
-#define PUK_REGEX "\\*\\*05\\*[0-9]{8}\\*[0-9]{4}\\*[0-9]{4}#$"
-
-int dialer_tapi_init()
-{
- PH_TRACE;
- handle = tel_init(NULL);
- if (NULL == handle)
- return FALSE;
- return TRUE;
-}
-
-int dialer_tapi_deinit()
-{
- PH_TRACE;
- int ret = tel_deinit(handle);
- handle = NULL;
- return ret;
-}
-
-int dialer_check_pin_str(const char* number, char **old_pin, char **new_pin,
- char **com_pin, int* pin_type)
-{
- PH_TRACE;
- regex_t fsm;
- regmatch_t str[strlen(number) + 1];
- char* origin_string;
- char * str_temp;
-
- if (regcomp(&fsm, PIN1_REGEX, REG_EXTENDED))
- {
- PH_DBG("regular expression fail");
- regfree(&fsm);
- return FALSE;
- }
- else
- {
- if (regexec(&fsm, number, strlen(number) + 1, str, 0) == REG_NOMATCH)
- {
- PH_DBG("regular expression 1 matching fail");
- regfree(&fsm);
- }
- else
- {
- PH_DBG("regular expression 1 matching success");
- origin_string = strdup(number);
- str_temp = origin_string + 5;
- *old_pin = strdup(strtok(str_temp, "*"));
- *new_pin = strdup(strtok(NULL, "*"));
- *com_pin = strdup(strtok(NULL, "#"));
- *pin_type = TYPE_PIN1;
- free(origin_string);
- regfree(&fsm);
- return TRUE;
- }
- }
-
- if (regcomp(&fsm, PIN2_REGEX, REG_EXTENDED))
- {
- PH_DBG("regular expression fail");
- regfree(&fsm);
- return FALSE;
- }
- else
- {
- if (regexec(&fsm, number, strlen(number) + 1, str, 0) == REG_NOMATCH)
- {
- PH_DBG("regular expression 2 matching fail");
- regfree(&fsm);
- }
- else
- {
- PH_DBG("regular expression 2 matching success");
- origin_string = strdup(number);
- str_temp = origin_string + 5;
- *old_pin = strdup(strtok(str_temp, "*"));
- *new_pin = strdup(strtok(NULL, "*"));
- *com_pin = strdup(strtok(NULL, "#"));
- *pin_type = TYPE_PIN2;
- free(origin_string);
- regfree(&fsm);
- return TRUE;
- }
- }
- return FALSE;
-}
-
-void dialer_pin_result_popup(tapi_receive_info* result, void* data)
-{
- PH_TRACE;
- Evas_Object *popup;
- ph_dialer_data *dial_d = (ph_dialer_data *) data;
-
- popup = elm_popup_add(dial_d->win);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- switch (result->stat)
- {
- case SIM_PIN1_CHANGE_SUCCESS:
- case SIM_PIN2_CHANGE_SUCCESS:
- phone_show_popup(dial_d->navi, S_(CT_SYS_POP_SUCCESS), 2.0);
- break;
- case SIM_INCORRECT_PIN1_CODE:
- case SIM_INCORRECT_PIN2_CODE:
- phone_show_popup(dial_d->navi, S_(PH_SYS_POP_INCORRECT_PASSWORD),
- 2.0);
- break;
- case SIM_PIN1_BLOCKED:
- case SIM_PIN2_BLOCKED:
- phone_show_popup(dial_d->navi, S_(PH_SYS_SK3_BLOCK), 2.0);
- break;
- default:
- elm_object_text_set(popup, "dafault case called");
- break;
- }
-}
-
-void dialer_sim_change_pins_cb(TapiHandle *handle, int result, void *data,
- void *user_data)
-{
- PH_TRACE;
- TelSimPinOperationResult_t sec_rt = (TelSimPinOperationResult_t) result;
- TelSimSecResult_t *sim_event_data = (TelSimSecResult_t *) data;
- tapi_receive_info result_info = { (sim_stat_value) 0, 0,};
-
- PH_DBG("sec_rt[%d]", sec_rt);
- PH_DBG("sim_event_data->type:%d", sim_event_data->type);
- PH_DBG("sim_event_data->retry_count[%d]", sim_event_data->retry_count);
-
- if (sec_rt == TAPI_SIM_PIN_OPERATION_SUCCESS)
- {
- if (sim_event_data->type == TAPI_SIM_PTYPE_PIN1)
- result_info.stat = SIM_PIN1_CHANGE_SUCCESS;
- else if (sim_event_data->type == TAPI_SIM_PTYPE_PIN2)
- result_info.stat = SIM_PIN2_CHANGE_SUCCESS;
- }
- else if (sec_rt == TAPI_SIM_PIN_INCORRECT_PASSWORD)
- {
- if (sim_event_data->type == TAPI_SIM_PTYPE_PIN1)
- {
- result_info.stat = SIM_INCORRECT_PIN1_CODE;
- result_info.retry_cnt = sim_event_data->retry_count;
- }
- else if (sim_event_data->type == TAPI_SIM_PTYPE_PIN2)
- {
- result_info.stat = SIM_INCORRECT_PIN2_CODE;
- result_info.retry_cnt = sim_event_data->retry_count;
- }
- }
- else if (sec_rt == TAPI_SIM_PUK_REQUIRED)
- {
- if (sim_event_data->type == TAPI_SIM_PTYPE_PIN1)
- result_info.stat = SIM_PIN1_BLOCKED;
- else if (sim_event_data->type == TAPI_SIM_PTYPE_PIN2)
- result_info.stat = SIM_PIN2_BLOCKED;
- }
- else
- {
- ERR("INCORRECTED");
- return;
- }
- dialer_pin_result_popup(&result_info, user_data);
-}
-
-void dialer_pin_operation(int type, const char *old_pin, const char *new_pin,
- void* data)
-{
- PH_TRACE;
- int tapi_ret = -100;
- ph_dialer_data *dial_d = (ph_dialer_data *) data;
-
- char old_pw[PH_TEXT_MAX_LEN] = { 0 };
- char new_pw[PH_TEXT_MAX_LEN] = { 0 };
-
- TelSimSecPw_t sim_old_sec_data = { (TelSimPinType_t) 0, 0, 0};
- TelSimSecPw_t sim_new_sec_data = { (TelSimPinType_t) 0, 0, 0};
-
- if (handle == NULL)
- PH_DBG("tapi handle is null");
-
- snprintf(old_pw, sizeof(old_pw), "%s", old_pin);
- snprintf(new_pw, sizeof(new_pw), "%s", new_pin);
-
- switch (type)
- {
- case TYPE_PIN1:
- sim_old_sec_data.type = TAPI_SIM_PTYPE_PIN1;
- sim_new_sec_data.type = TAPI_SIM_PTYPE_PIN1;
- sim_old_sec_data.pw_len = STRLEN(old_pw);
- sim_old_sec_data.pw = (unsigned char *) calloc(1,
- sim_old_sec_data.pw_len);
- memcpy(sim_old_sec_data.pw, old_pw, sim_old_sec_data.pw_len);
- sim_new_sec_data.pw_len = STRLEN(new_pw);
- sim_new_sec_data.pw = (unsigned char *) calloc(1,
- sim_new_sec_data.pw_len);
- memcpy(sim_new_sec_data.pw, new_pw, sim_new_sec_data.pw_len);
- break;
- case TYPE_PIN2:
- sim_old_sec_data.type = TAPI_SIM_PTYPE_PIN2;
- sim_new_sec_data.type = TAPI_SIM_PTYPE_PIN2;
- sim_old_sec_data.pw_len = STRLEN(old_pw);
- sim_old_sec_data.pw = (unsigned char *) calloc(1,
- sim_old_sec_data.pw_len);
- memcpy(sim_old_sec_data.pw, old_pw, sim_old_sec_data.pw_len);
- sim_new_sec_data.pw_len = STRLEN(new_pw);
- sim_new_sec_data.pw = (unsigned char *) calloc(1,
- sim_new_sec_data.pw_len);
- memcpy(sim_new_sec_data.pw, new_pw, sim_new_sec_data.pw_len);
- break;
- default:
- ERR("Never get here(type: %d)", type);
- break;
- }
-
- tapi_ret = tel_change_sim_pins(handle, &sim_old_sec_data, &sim_new_sec_data,
- dialer_sim_change_pins_cb, data);
- PH_DBG("return_num:%d", tapi_ret);
-
- if (tapi_ret != TAPI_API_SUCCESS)
- {
- ERR("TelTapiSimChangePIN err=%d ", tapi_ret);
- phone_show_popup(dial_d->navi, S_(CT_SYS_POP_ERROR), 2.0);
- }
- free(sim_old_sec_data.pw);
- free(sim_new_sec_data.pw);
-}
-
-int GCF_tapi_init()
-{
- PH_TRACE;
- int status;
- int ret;
- TelSimPbList_t pb_list;
-
- handle = tel_init(NULL);
- if (NULL == handle)
- return FALSE;
-
- ret = tel_get_sim_pb_init_info(handle, &status, &pb_list);
- if (TAPI_API_SUCCESS != ret)
- {
- ERR("tel_get_sim_pb_init_info() is failed(%d)", ret);
- tel_deinit(handle);
- handle = NULL;
- return FALSE;
- }
-
- if (!status)
- {
- ERR("SIM is not available");
- tel_deinit(handle);
- handle = NULL;
- return FALSE;
- }
- return TRUE;
-}
-
-int GCF_tapi_deinit()
-{
- PH_TRACE;
- int ret = tel_deinit(handle);
- handle = NULL;
- return ret;
-}
-
-static void sim_async_response_verify_puk(TapiHandle *handle, int result,
- void *data, void *user_data)
-{
- PH_TRACE;
- TelSimPinOperationResult_t sec_rt = (TelSimPinOperationResult_t) result;
- TelSimSecResult_t *pPinInfo = (TelSimSecResult_t *) data;
-
- if (sec_rt == TAPI_SIM_PIN_OPERATION_SUCCESS)
- {
- if (pPinInfo->type == TAPI_SIM_PTYPE_PUK1)
- {
- ph_dialer_data *dial_d = (ph_dialer_data *) user_data;
- phone_show_popup(dial_d->navi,
- T_(PH_GET_TEXT_BASIC, PHTEXT_REQUEST_SUCCESS), 2.0);
- }
- else if (pPinInfo->type == TAPI_SIM_PTYPE_PIN2)
- PH_DBG("Unblock PIN2 Success!");
- }
- else
- {
- if (pPinInfo->type == TAPI_SIM_PTYPE_PUK1)
- {
- ph_dialer_data *dial_d = (ph_dialer_data *) user_data;
- phone_show_popup(dial_d->navi,
- T_(PH_GET_TEXT_BASIC, PHTEXT_REQUEST_FAIL), 2.0);
- }
- else if (pPinInfo->type == TAPI_SIM_PTYPE_PIN1
- || pPinInfo->type == TAPI_SIM_PTYPE_PIN2
- || pPinInfo->type == TAPI_SIM_PTYPE_PUK2)
- {
- ERR("%d Verification Failed! - PIN Required", pPinInfo->type);
- PH_DBG("Remainint attempts [%d]", pPinInfo->retry_count);
- }
- }
-
- GCF_tapi_deinit();
-}
-
-void GCF_test_puk_operation(const char *puk1, const char *pin1, void *user_data)
-{
- PH_TRACE;
- char init_pin_val[PH_TEXT_MAX_LEN] = { 0 };
- char init_puk_val[PH_TEXT_MAX_LEN] = { 0 };
-
- TelSimSecPw_t puk_data;
- TelSimSecPw_t new_pin_data;
- int ret;
-
- memset(&puk_data, 0, sizeof(TelSimSecPw_t));
- memset(&new_pin_data, 0, sizeof(TelSimSecPw_t));
-
- PH_DBG("puk1:%s", puk1);
- PH_DBG("pin1: %s", pin1);
-
- snprintf(init_puk_val, sizeof(init_puk_val), "%s", puk1);
- snprintf(init_pin_val, sizeof(init_pin_val), "%s", pin1);
-
- puk_data.type = TAPI_SIM_PTYPE_PUK1; // 0x00
- puk_data.pw_len = strlen(init_puk_val);
- puk_data.pw = (unsigned char*) calloc(1, puk_data.pw_len);
- memcpy(puk_data.pw, init_puk_val, puk_data.pw_len);
-
- new_pin_data.type = TAPI_SIM_PTYPE_PIN1; // 0x00
- new_pin_data.pw_len = strlen(init_pin_val);
- new_pin_data.pw = (unsigned char*) calloc(1, new_pin_data.pw_len);
- memcpy(new_pin_data.pw, init_pin_val, new_pin_data.pw_len);
-
- ret = tel_verify_sim_puks(handle, &puk_data, &new_pin_data,
- sim_async_response_verify_puk, user_data);
- if (ret != TAPI_API_SUCCESS)
- {
- ERR("TAPI API FAIL: Error Code [0x%x]", ret);
- GCF_tapi_deinit();
- }
-
- free(puk_data.pw);
- free(new_pin_data.pw);
-}
-
-static void sim_async_response_read_contact(TapiHandle *handle, int result,
- void *data, void *user_data)
-{
- PH_TRACE;
- TelSimPbAccessResult_t sec_rt = (TelSimPbAccessResult_t) result;
- TelSimPbRecord_t *sim_acces_info = (TelSimPbRecord_t *) data;
-
- if (sec_rt != TAPI_SIM_PB_SUCCESS)
- {
- ERR("SIM phone book access error [%d]", sec_rt);
- GCF_tapi_deinit();
- return;
- }
-
- if (sim_acces_info->phonebook_type == TAPI_SIM_PB_ADN) //KKC - ADN number value!
- ph_dialer_util_show_matched_one_number((ph_dialer_data *) user_data,
- (char *) sim_acces_info->name, (char *) sim_acces_info->number);
- else if (sim_acces_info->phonebook_type == TAPI_SIM_PB_3GSIM)
- {
- if (strlen((const char *) sim_acces_info->number) > 0)
- ph_dialer_util_show_matched_one_number((ph_dialer_data *) user_data,
- (char *) sim_acces_info->name,
- (char *) (sim_acces_info->number));
- if (sim_acces_info->anr1_ton == TAPI_SIM_TON_ABBREVIATED_NUMBER) //KKC - USIM ADN number value!
- ph_dialer_util_show_matched_one_number((ph_dialer_data *) user_data, NULL,
- (char *) (sim_acces_info->anr1));
- if (sim_acces_info->anr2_ton == TAPI_SIM_TON_ABBREVIATED_NUMBER) //KKC - USIM ADN number value!
- ph_dialer_util_show_matched_one_number((ph_dialer_data *) user_data, NULL,
- (char *) (sim_acces_info->anr2));
- if (sim_acces_info->anr3_ton == TAPI_SIM_TON_ABBREVIATED_NUMBER) //KKC - USIM ADN number value!
- ph_dialer_util_show_matched_one_number((ph_dialer_data *) user_data, NULL,
- (char *) (sim_acces_info->anr3));
- }
- GCF_tapi_deinit();
-}
-
-void GCF_test_read_contact(int index, void *user_data)
-{
- PH_TRACE;
- TelSimPbType_t pb_type = (TelSimPbType_t) 0;
- TelSimCardType_t card_type = (TelSimCardType_t) 0;
- int ret;
-
- tel_get_sim_type(handle, &card_type);
- if (card_type == TAPI_SIM_CARD_TYPE_GSM)
- pb_type = TAPI_SIM_PB_ADN;
- else if (card_type == TAPI_SIM_CARD_TYPE_USIM)
- pb_type = TAPI_SIM_PB_3GSIM;
-
- ret = tel_read_sim_pb_record(handle, pb_type, index,
- sim_async_response_read_contact, user_data);
- if (ret != TAPI_API_SUCCESS)
- {
- ERR("TAPI API FAIL: Error Code [0x%x]", ret);
- GCF_tapi_deinit();
- }
-}
-
-/* Gcf Puk1*/
-#define GCF_PUK1_PRE_VALUE "**05*"
-
-int GCF_check_puk_str(const char* number, char **dest_puk, char **dest_pin1,
- char **dest_pin2, int size_dest)
-{
- PH_TRACE;
- regex_t fsm;
- regmatch_t str[strlen(number) + 1];
- char* origin_string;
- char * str_temp;
-
- if (regcomp(&fsm, PUK_REGEX, REG_EXTENDED))
- {
- PH_DBG("regular expression fail");
- regfree(&fsm);
- return FALSE;
- }
- else
- {
- if (regexec(&fsm, number, strlen(number) + 1, str, 0) == REG_NOMATCH)
- {
- PH_DBG("matching fail");
- regfree(&fsm);
- }
- else
- {
- PH_DBG("matching success");
- origin_string = strdup(number);
- str_temp = origin_string + 5;
- *dest_puk = strdup(strtok(str_temp, "*"));
- *dest_pin1 = strdup(strtok(NULL, "*"));
- *dest_pin2 = strdup(strtok(NULL, "#"));
- free(origin_string);
- regfree(&fsm);
- return TRUE;
- }
- }
- return FALSE;
-}
-
-bool GCF_check_admin_sim(const char *number, int *ret_index)
-{
- PH_TRACE;
- int count;
- char *dest;
- bool success;
- p_retvm_if(number==NULL || ret_index==NULL, FALSE, "Parameter is null");
-
- count = strlen(number);
- p_retvm_if(count < 2, FALSE, "number length is too short");
- dest = (char*) calloc(1, count);
-
- success = true;
- if (number[count - 1] == '#')
- {
- int i = 0;
- for (; i < count - 1; i++)
- {
- if ('0' <= number[i] && number[i] <= '9')
- dest[i] = number[i];
- else
- {
- success = false;
- break;
- }
- }
- if (success)
- *ret_index = atoi(dest);
- }
- else
- success = false;
- free(dest);
-
- return success;
-}
-
diff --git a/lib/dialer/ph-dialer-tapi.h b/lib/dialer/ph-dialer-tapi.h
deleted file mode 100755
index f9f71e4..0000000
--- a/lib/dialer/ph-dialer-tapi.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PH_DIALER_TAPI_H__
-#define __PH_DIALER_TAPI_H__
-
-int GCF_tapi_init();
-int GCF_tapi_deinit();
-void GCF_test_puk_operation(const char *puk1, const char *pin1,
- void *user_data);
-void GCF_test_read_contact(int index, void *user_data);
-int GCF_check_puk1_str(const char *number, char *dest_puk, char *dest_pin1,
- char *dest_pin2, int size_dest);
-bool GCF_check_admin_sim(const char *number, int *ret_index);
-
-#endif /* __PH_DIALER_TAPI_H__ */
diff --git a/lib/dialer/ph-dialer-utils.cpp b/lib/dialer/ph-dialer-utils.cpp
deleted file mode 100755
index 2de38f1..0000000
--- a/lib/dialer/ph-dialer-utils.cpp
+++ /dev/null
@@ -1,966 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
-
-#include <string.h>
-#include <vconf.h>
-#include <vconf-keys.h>
-#include <bundle.h>
-#include <aul.h>
-#include <tapi_common.h>
-#include <ITapiSim.h>
-#include <TapiUtility.h>
-#include <feedback.h>
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-#include "phone-dialer.h"
-#include "phone-speed.h"
-
-#include "ph-dialer-utils.h"
-#include "ph-dialer-view.h"
-#include "ph-dialer-search.h"
-
-#define PH_DIALER_KEY_MAX_LEN 256
-
-ph_speeddial_info* ph_dialer_util_get_speeddial_by_number(void *data,
- int number)
-{
- PH_TRACE;
- void *v_find_sd = NULL;
- ph_dialer_data *dial_d = (ph_dialer_data *) data;
- Eina_List *l;
-
- p_retvm_if(NULL == dial_d->speeddial_list, NULL,
- "There is no speeddial list");
-
- EINA_LIST_FOREACH(dial_d->speeddial_list, l, v_find_sd)
- {
- ph_speeddial_info * find_sd = (ph_speeddial_info *) v_find_sd;
- if (!find_sd)
- continue;
- if (number == find_sd->dial_number && find_sd->ph_number)
- {
- if (number == 1)
- {
- free(find_sd->ph_number);
- find_sd->ph_number = phone_get_voice_mail_number();
- }
- break;
- }
- }
- return (ph_speeddial_info *) v_find_sd;
-}
-
-void ph_dialer_util_entry_clear(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- ph_dialer_util_del_all_number(dial_d);
- ph_dialer_entry_set_number(*dial_d, "", 0);
- if (dial_d->has_focus)
- {
- elm_object_focus_set(dial_d->entry, EINA_FALSE);
- dial_d->has_focus = false;
- }
- ph_dialer_search_request(dial_d, FALSE);
-}
-
-void ph_dialer_util_launch_call(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- char num[PH_TEXT_MAX_LEN] = { 0 };
- int text_len;
- bundle* kb;
-
- p_retm_if(dial_d == NULL, "Invalid argument: ph_dialer_data *is NULL");
-
- text_len = ph_dialer_util_get_pure_numstr_with_plus(dial_d, num);
- if (0 < text_len)
- {
- if (PH_DAILER_EMERGENCY == dial_d->run_mode)
- {
- kb = bundle_create();
- p_retm_if(NULL == kb, "bundle_create() Failed");
- bundle_add(kb, "launch-type", "EMERGENCY");
- bundle_add(kb, "number", num);
- aul_launch_app(VOICECALL_PKG, kb);
- bundle_free(kb);
- }
- else
- phone_launch_voice_call(-1, num);
- }
-
- ph_dialer_util_entry_clear(dial_d);
-}
-
-int ph_dialer_util_get_cursor_pos(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- InputNumber *node;
- int pos = 0;
- p_retvm_if(NULL == dial_d->number_cursor, 0, "cursor of number is null");
-
- node = &dial_d->number_head;
- while (dial_d->number_cursor != node)
- {
- node = node->next;
- if (!node)
- break;
- pos++;
- }
- return pos;
-}
-
-int ph_dialer_util_is_dash(char ch)
-{
- PH_TRACE;
- if (ch == '-' || ch == '(' || ch == ')' || ch == ' ')
- return TRUE;
- return FALSE;
-}
-
-static int dialer_util_is_dash_and_plus(char ch)
-{
- PH_TRACE;
- if (ch == '-' || ch == '+' || ch == '(' || ch == ')' || ch == ' ')
- return TRUE;
- return FALSE;
-}
-
-int ph_dialer_util_get_pure_numstr(ph_dialer_data *dial_d, char *dest)
-{
- PH_TRACE;
- InputNumber *node;
- int cnt = 0;
- p_retvm_if(NULL == dest, 0, "dest is null");
-
- node = dial_d->number_head.next;
- while (1)
- {
- if (!node)
- break;
- if (dialer_util_is_dash_and_plus(node->num) == FALSE)
- dest[cnt++] = node->num;
- node = node->next;
- }
- dest[cnt] = '\0';
- return cnt;
-}
-
-InputNumber *ph_dialer_util_get_node_by_index(ph_dialer_data *dial_d, int index)
-{
- PH_TRACE;
- InputNumber *node;
- int i = 0;
-
- node = &dial_d->number_head;
- for (; i < index; i++)
- {
- if (node->next)
- node = node->next;
- }
- return node;
-}
-
-int ph_dialer_util_get_pure_numstr_with_plus(ph_dialer_data *dial_d, char *dest)
-{
- PH_TRACE;
- InputNumber *node;
- int cnt = 0;
- p_retvm_if(NULL == dest, 0, "dest is null");
-
- node = dial_d->number_head.next;
- while (node)
- {
- if (ph_dialer_util_is_dash(node->num) == FALSE)
- dest[cnt++] = node->num;
- node = node->next;
- }
- dest[cnt] = '\0';
- return cnt;
-}
-
-int ph_dialer_util_get_numstr_from_node(ph_dialer_data *dial_d, char *dest)
-{
- PH_TRACE;
- InputNumber *node;
- int cnt = 0;
- p_retvm_if(NULL == dest, 0, "dest is null");
-
- node = dial_d->number_head.next;
- while (node)
- {
- dest[cnt++] = node->num;
- node = node->next;
- }
- dest[cnt] = '\0';
- return cnt;
-}
-
-int ph_dialer_util_del_all_number(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- int len = 0;
- InputNumber *node = NULL;
- InputNumber *tmp_node = NULL;
- p_retvm_if(NULL == dial_d, 0, "dialer data is null");
-
- node = dial_d->number_head.next;
- while (node)
- {
- tmp_node = node;
-
- if (node->next)
- node->next->prev = node->prev;
- if (node->prev)
- node->prev->next = node->next;
-
- node = node->next;
- len++;
-
- free(tmp_node);
- }
- dial_d->number_cursor = &dial_d->number_head;
- dial_d->entry_font_size = MAX_DIAL_NUMBER_FONT_SIZE;
-
- return len;
-}
-
-static int dialer_util_is_num_length_over(int len)
-{
- PH_TRACE;
- if (len >= PH_DIALER_KEY_MAX_LEN)
- return TRUE;
- return FALSE;
-}
-
-int ph_dialer_util_append_node_from_numstr(ph_dialer_data *dial_d, char *string)
-{
- PH_TRACE;
- int i = 0;
- int j = 0;
- int len = 0;
- InputNumber *node;
- InputNumber *tmp_node = NULL;
- char *tmp_string = NULL;
-
- ph_dialer_util_del_all_number(dial_d);
-
- p_retvm_if(NULL == string, 0, "string data is null");
-
- node = &dial_d->number_head;
-
- len = strlen(string);
- if (dialer_util_is_num_length_over(len - 1) == TRUE)
- {
- phone_show_popup(dial_d->navi,
- T_(PH_GET_TEXT_BASIC, PHTEXT_EXCEED_NUM_MAX_LENGTH), 2.0);
- len = PH_DIALER_KEY_MAX_LEN;
- string[len] = '\0';
- }
-
- tmp_string = (char *) calloc(1, len + 1);
- memset(tmp_string, 0x00, len + 1);
-
- for (i = 0; i < len; i++)
- {
- if ((string[i] >= '0' && string[i] <= '9') || string[i] == '*'
- || string[i] == '#' || string[i] == '+')
- {
- tmp_string[j++] = string[i];
- }
- }
-
- len = strlen(tmp_string);
- for (i = 0; i < len; i++)
- {
- tmp_node = (InputNumber *) calloc(1, sizeof(InputNumber));
- tmp_node->next = NULL;
- tmp_node->prev = node;
- tmp_node->num = tmp_string[i];
-
- node->next = tmp_node;
- node = node->next;
- }
- dial_d->number_cursor = tmp_node;
- free(tmp_string);
-
- return len;
-}
-
-int ph_dialer_util_append_node_from_numstr_with_strip(ph_dialer_data *dial_d,
- char *string)
-{
- PH_TRACE;
- int i = 0, cnt = 0, len = 0;
- InputNumber *node;
- InputNumber *tmp_node = NULL;
- p_retvm_if(NULL == string, 0, "Number string is null");
- ph_dialer_util_del_all_number(dial_d);
-
- node = &dial_d->number_head;
- len = strlen(string);
- if (dialer_util_is_num_length_over(len - 1) == TRUE)
- {
- phone_show_popup(dial_d->navi,
- T_(PH_GET_TEXT_BASIC, PHTEXT_EXCEED_NUM_MAX_LENGTH), 2.0);
- len = PH_DIALER_KEY_MAX_LEN;
- string[len] = '\0';
- }
-
- for (; i < len; i++)
- {
- if (ph_dialer_util_is_dash(string[i]) == TRUE)
- continue;
-
- tmp_node = (InputNumber *) calloc(1, sizeof(InputNumber));
- tmp_node->next = NULL;
- tmp_node->prev = node;
- tmp_node->num = string[i];
- node->next = tmp_node;
-
- node = node->next;
- cnt++;
- }
- dial_d->number_cursor = tmp_node;
- return cnt;
-}
-
-char ph_dialer_util_get_value_word(char in)
-{
- PH_TRACE;
- switch (in)
- {
- case '2':
- return 'a';
- case '3':
- return 'd';
- case '4':
- return 'g';
- case '5':
- return 'j';
- case '6':
- return 'm';
- case '7':
- return 'p';
- case '8':
- return 't';
- case '9':
- return 'w';
- default:
- return ' ';
- }
-}
-
-char ph_dialer_util_get_next_value_abcmode(char in)
-{
- PH_TRACE;
- switch (in)
- {
- case 'a':
- return 'b';
- case 'b':
- return 'c';
- case 'c':
- return 'a';
- case 'd':
- return 'e';
- case 'e':
- return 'f';
- case 'f':
- return 'd';
- case 'g':
- return 'h';
- case 'h':
- return 'i';
- case 'i':
- return 'g';
- case 'j':
- return 'k';
- case 'k':
- return 'l';
- case 'l':
- return 'j';
- case 'm':
- return 'n';
- case 'n':
- return 'o';
- case 'o':
- return 'm';
- case 'p':
- return 'q';
- case 'q':
- return 'r';
- case 'r':
- return 's';
- case 's':
- return 'p';
- case 't':
- return 'u';
- case 'u':
- return 'v';
- case 'v':
- return 't';
- case 'w':
- return 'x';
- case 'x':
- return 'y';
- case 'y':
- return 'z';
- case 'z':
- return 'w';
- default:
- return ' ';
- }
-}
-
-static InputNumber* dialer_util_insert_number_after(InputNumber *node, char num)
-{
- PH_TRACE;
- InputNumber *tmp;
- p_retvm_if(NULL == node, NULL, "number node is null");
-
- tmp = (InputNumber *) calloc(1, sizeof(InputNumber));
- tmp->next = node->next;
- tmp->prev = node;
- tmp->num = num;
-
- if (node->next)
- node->next->prev = tmp;
- node->next = tmp;
-
- return tmp;
-}
-
-void ph_dialer_util_insert_number_at_cursor(ph_dialer_data *dial_d, char num)
-{
- PH_TRACE;
- InputNumber *cursor;
- InputNumber *tmp;
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- int len;
-
- if (dial_d->number_cursor)
- cursor = dial_d->number_cursor;
- else
- cursor = &dial_d->number_head;
-
- /* check length */
- len = ph_dialer_util_get_numstr_from_node(dial_d, buf);
- if (dialer_util_is_num_length_over(len) == TRUE)
- {
- phone_show_popup(dial_d->navi,
- T_(PH_GET_TEXT_BASIC, PHTEXT_EXCEED_NUM_MAX_LENGTH), 2.0);
- return;
- }
-
- tmp = dialer_util_insert_number_after(cursor, num);
- dial_d->number_cursor = tmp;
-}
-
-char ph_dialer_util_get_number_at_cursor(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- if (dial_d->number_cursor == NULL)
- return '\0';
-
- return dial_d->number_cursor->num;
-}
-
-int ph_dialer_util_remove_node_at_cursor(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- InputNumber *cursor = NULL;
- InputNumber *node_prev = NULL;
- p_retvm_if(NULL == dial_d->number_cursor, 0, "current cursor is null");
- cursor = dial_d->number_cursor;
-
- if (cursor == &dial_d->number_head)
- return 0;
-
- if (cursor)
- node_prev = cursor->prev;
-
- if (node_prev)
- node_prev->next = cursor->next;
-
- if (cursor->next)
- cursor->next->prev = node_prev;
-
- free(cursor);
- dial_d->number_cursor = node_prev;
- return ph_dialer_util_get_cursor_pos(dial_d);
-}
-
-void ph_dialer_util_strip_from_number_node(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- InputNumber *node, *tmp_node;
- node = dial_d->number_head.next;
-
- while (node)
- {
- if (ph_dialer_util_is_dash(node->num) == TRUE)
- {
- if (dial_d->number_cursor == node)
- dial_d->number_cursor = node->prev;
- tmp_node = node;
-
- if (node->next)
- node->next->prev = node->prev;
- if (node->prev)
- node->prev->next = node->next;
-
- node = node->next;
- free(tmp_node);
- }
- else
- node = node->next;
- }
-}
-
-void ph_dialer_util_add_dashes(ph_dialer_data *dial_d, DashMode kMode)
-{
- PH_TRACE;
- InputNumber *cursor __attribute__ ((unused)), *node;
- int len = 0;
- int remain = 0;
- char numstr[PH_TEXT_MAX_LEN] = { 0 };
-
- cursor = dial_d->number_cursor;
- node = dial_d->number_head.next;
-
- len = ph_dialer_util_get_numstr_from_node(dial_d, numstr);
- p_retm_if(len < 2, "number is too short");
- p_retm_if(numstr[0] == '*' || numstr[0] == '#',
- "the character is reserved string");
-
- remain = len;
- /* 123 ~ 12345678901(123-4567-8901) */
- if (len > (2 - kMode) && len < (12 + kMode) && node)
- { /* 02, 010, 011, ... 0xx */
- if (node->num == '0')
- { /* 02, +cc 2 */
- remain--;
- node = node->next;
- remain--;
-
- if (node->num == '2')
- { /* 02-, +cc 2- */
- node = dialer_util_insert_number_after(node, '-');
- if (node)
- {
- if (kMode)
- {
- if (dial_d->number_cursor == node->prev)
- {
- dial_d->number_cursor = node;
- }
- }
- if (node->next)
- node = node->next;
- }
- }
- else
- { /* 0xx, +cc xx */
- if (node->next)
- {
- node = node->next;
- remain--;
- }
-
- if (len > 3 - kMode)
- { /* 0xx-, +cc xx- */
- node = dialer_util_insert_number_after(node, '-');
- if (node)
- {
- if (kMode)
- {
- if (dial_d->number_cursor == node->prev)
- {
- dial_d->number_cursor = node;
- }
- }
- if (node->next)
- node = node->next;
- }
- }
- }
-
- if (remain == 8)
- { /* xxx-1234-1234, +cc xx-1234-1234 */
- node = node->next;
- p_ret_if(node == NULL);
- node = node->next;
- p_ret_if(node == NULL);
- node = node->next;
- dialer_util_insert_number_after(node, '-');
- }
- else if (remain > (int) (3 - kMode) && remain < 8)
- { /* xxx-123-1234, +cc xx-123-1234 */
- node = node->next;
- p_ret_if(node == NULL);
- node = node->next;
- node = dialer_util_insert_number_after(node, '-');
- if (node && kMode)
- {
- if (dial_d->number_cursor == node->prev)
- {
- dial_d->number_cursor = node;
- }
- }
- }
- else if (remain > 8)
- { /* not match rule */
- ph_dialer_util_strip_from_number_node(dial_d);
- }
- }
-
- else
- { /* 02, +cc 2 *//* 1234-1234 */
- if (len > 4 - kMode && len < 9 + kMode)
- {
- node = node->next;
- p_ret_if(node == NULL);
- node = node->next;
- p_ret_if(node == NULL);
- node = node->next;
- node = dialer_util_insert_number_after(node, '-');
- if (node && kMode)
- {
- if (dial_d->number_cursor == node->prev)
- {
- dial_d->number_cursor = node;
- }
- }
- }
- }
- }
-}
-
-void ph_dialer_util_highlight_substring(char *dest, int dest_len, char *string,
- char *substr)
-{
- PH_TRACE;
- char middle[PH_TAG_TEXT_MAX_LEN] = { 0 };
- char first[PH_TAG_TEXT_MAX_LEN] = { 0 };
-
- p_retm_if(NULL == string, "string is null");
-
- if (substr && *substr)
- {
- int len = strlen(substr);
- snprintf(first, sizeof(first), "%s", string);
- char *last = strcasestr(first, substr);
- if (last)
- {
- snprintf(middle, strlen(substr) + 1, "%s", last);
- *(last) = '\0';
- snprintf(dest, dest_len, "%s<match>%s</>%s", first, middle,
- last + len);
- }
- else
- snprintf(dest, dest_len, "%s", string);
- }
- else
- snprintf(dest, dest_len, "%s", string);
-}
-
-void ph_dialer_util_highlight_substring_with_pos(char *dest, int dest_len,
- char *string, int position, int length)
-{
- PH_TRACE;
- char middle[PH_TEXT_MAX_LEN] = { 0 };
- char first[PH_TEXT_MAX_LEN] = { 0 };
-
- p_retm_if(NULL == string, "string is null");
-
- if (0 < length)
- {
- snprintf(first, sizeof(first), "%s", string);
- snprintf(middle, length + 1, "%s", string + position);
- first[position] = '\0';
- snprintf(dest, dest_len, "%s<match>%s</>%s", first, middle,
- string + position + length);
- }
- else
- snprintf(dest, dest_len, "%s", string);
-}
-
-int ph_dialer_util_show_matched_one_number(ph_dialer_data *dial_d, char *name,
- char *number)
-{
- PH_TRACE;
- p_retvm_if(dial_d==NULL, 0, "dialer data is null");
-
- if (dial_d->slide)
- {
- edje_object_signal_emit(_EDJ(dial_d->layout), "elm,state,slide,stop",
- "elm");
- dial_d->slide = false;
- }
-
- edje_object_signal_emit(_EDJ(dial_d->layout), "viewcontrol/search_result",
- "viewcontrol");
- edje_object_part_text_set(_EDJ(dial_d->layout),
- "search_result/item/number/textblock", number);
-
- if (name && *name)
- {
- edje_object_part_text_set(_EDJ(dial_d->layout),
- "search_result/item/name/text", name);
- edje_object_signal_emit(_EDJ(dial_d->layout),
- "viewobject/search_result/search_number",
- "viewobject/search_result");
- }
- else
- edje_object_signal_emit(_EDJ(dial_d->layout),
- "viewobject/search_result/noname", "viewobject/search_result");
-
- ph_dialer_update_cnt_btn(dial_d, 1);
- dial_d->is_show_items = true;
- return 0;
-}
-
-static void __ph_dialer_speed_dial_view_ug_destroy_cb(ui_gadget_h ug,
- void *priv)
-{
- PH_TRACE;
- check_if(!priv, return);
- ph_dialer_data *dial_d = static_cast<ph_dialer_data*>(priv);
- ug_destroy(dial_d->child_ug);
- dial_d->child_ug = NULL;
-}
-
-static void __ph_dialer_speed_dial_view_ug_result_cb(ui_gadget_h ug,
- service_h service, void *priv)
-{
- PH_TRACE;
- ug_destroy(ug);
-}
-
-static void __ph_dialer_speed_dial_view_ug_layout_cb(ui_gadget_h ug,
- enum ug_mode mode, void *priv)
-{
- PH_TRACE;
- Evas_Object *base = (Evas_Object *) ug_get_layout(ug);
- p_retm_if(base == NULL, "base == NULL");
-
- evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(base);
-}
-
-void ph_dialer_util_speeddial_show_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_dialer_data *dial_d = (ph_dialer_data *) data;
-
- //phone_create_speeddial_view(dial_d->ug, dial_d->win, dial_d->navi);
-
- struct ug_cbs cbs = { 0, };
-
- cbs.priv = (void *) dial_d;
- cbs.layout_cb = __ph_dialer_speed_dial_view_ug_layout_cb;
- cbs.result_cb = __ph_dialer_speed_dial_view_ug_result_cb;
- cbs.destroy_cb = __ph_dialer_speed_dial_view_ug_destroy_cb;
-
- dial_d->child_ug = ug_create(dial_d->ug, "speeddial-efl",
- UG_MODE_FULLVIEW, NULL, &cbs);
-
- if(dial_d->popup)
- {
- evas_object_del(dial_d->popup);
- dial_d->popup = NULL;
- }
- if(dial_d->m_Menu)
- {
- evas_object_del(dial_d->m_Menu);
- dial_d->m_Menu = NULL;
- }
- if(dial_d->m_ContextMenu)
- {
- evas_object_del(dial_d->m_ContextMenu);
- dial_d->m_ContextMenu = NULL;
- }
-}
-
-void ph_dialer_speed_add_start_cb(void *data, void *data2)
-{
- PH_TRACE;
- check_if(!data || !data2, return);
- ph_dialer_data *dial_d = static_cast<ph_dialer_data *>(data);
- int number_id = *static_cast<int *>(data2);
- check_if(number_id < 0, return);
-
- int result = speed_set_speeddial(dial_d->searched_speed_id, number_id);
- if (result < 0)
- {
- phone_show_popup(dial_d->navi, S_(PH_SYS_POP_ALREDY_EXISTS), 2.0);
- }
-}
-
-void ph_dialer_util_speeddial_set_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- check_if(!data, return);
- ph_dialer_data *dial_d = static_cast<ph_dialer_data *>(data);
-
- dial_d->child_ug = phone_launch_contact_list_ug(dial_d->ug,
- CT_UG_REQUEST_SELECT_NUMBER, ph_dialer_speed_add_start_cb,
- NULL, dial_d);
-
- if(dial_d->popup)
- {
- evas_object_del(dial_d->popup);
- dial_d->popup = NULL;
- }
-}
-
-void ph_dialer_util_show_speeddial_msg(ph_dialer_data *dial_d, const char *msg)
-{
- PH_TRACE;
- char dest[PH_TEXT_MAX_LEN] = { 0 };
- snprintf(dest, sizeof(dest), "%s", msg);
- phone_create_confirm_popup(&dial_d->popup, dial_d->win, msg,
- ph_dialer_util_speeddial_set_cb, dial_d);
-}
-
-void ph_dialer_util_setup_run_mode(ph_dialer_data& dial_d)
-{
- PH_TRACE;
- if (dial_d.is_emergency)
- {
- dial_d.run_mode = PH_DAILER_EMERGENCY;
- }
- else
- {
- dial_d.run_mode = PH_DAILER_NORMAL;
- }
-
- /* Check call state */
- int value = 0;
- int ret = vconf_get_int(VCONFKEY_CALL_STATE, &value);
- if (ret < 0)
- ERR("vconf_get_int is failed(%d)", ret);
- else
- {
- if (value == VCONFKEY_CALL_OFF
- || value == VCONFKEY_CALL_VOICE_CONNECTING
- || value == VCONFKEY_CALL_VIDEO_CONNECTING)
- {
- if (dial_d.run_mode == PH_DAILER_EMERGENCY)
- {
- edje_object_signal_emit(_EDJ(dial_d.layout),
- "softkey/emergency", "softkey");
- }
- else
- {
- if (dial_d.run_mode == PH_DAILER_NORMAL)
- return;
- dial_d.run_mode = PH_DAILER_NORMAL;
- edje_object_signal_emit(_EDJ(dial_d.layout), "softkey/normal",
- "softkey");
- }
- }
- else
- { // VCONFKEY_CALL_VOICE_ACTIVE, VCONFKEY_CALL_VIDEO_ACTIVE
- if (dial_d.run_mode == PH_DAILER_DURING_CALL)
- return;
- dial_d.run_mode = PH_DAILER_DURING_CALL;
- edje_object_signal_emit(_EDJ(dial_d.layout), "softkey/dc", "softkey");
- }
- PH_DBG("run_mode:%d", dial_d.run_mode);
- }
-}
-
-void ph_dialer_util_init_sim_value(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- /* Network MCC */
- int value = 0;
- int ret;
- TelSimImsiInfo_t sim_imsi_info;
- TapiHandle *handle;
- ret = vconf_get_int(VCONFKEY_TELEPHONY_PLMN, &value);
- if (ret < 0)
- dial_d->cur_mcc = -1;
- else
- dial_d->cur_mcc = value / 1000;
-
- /* SIM MCC/MNC */
- dial_d->cur_sim_mcc = -1;
- handle = tel_init(NULL);
- if (NULL == handle)
- {
- ERR("tel_init() Failed");
- }
- else
- {
- ret = tel_get_sim_imsi(handle, &sim_imsi_info);
- DBG("tel_get_sim_imsi returned %d", ret);
- if (0 == ret)
- dial_d->cur_sim_mcc = atoi(sim_imsi_info.szMcc);
- else
- ERR("tel_get_sim_imsi() Failed(%d)", ret);
- tel_deinit(handle);
- }
- dial_d->cur_cc_index = -1;
-
- ret = vconf_get_int(VCONFKEY_TELEPHONY_SVC_ROAM, &value);
- if (ret < 0)
- dial_d->roaming = 0;
- else
- dial_d->roaming = value;
-}
-
-void ph_dialer_util_svi_play(int vibration_key, int sound_key)
-{
- PH_TRACE;
- int effect_status = FALSE;
- vconf_get_bool(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, &effect_status);
- if (effect_status)
- feedback_play_type(FEEDBACK_TYPE_SOUND, (feedback_pattern_e) sound_key);
-
- vconf_get_bool(VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL, &effect_status);
- if (effect_status)
- feedback_play_type(FEEDBACK_TYPE_VIBRATION, (feedback_pattern_e) vibration_key);
-}
-
-bool isSimPresent()
-{
- PH_TRACE;
- TelSimImsiInfo_t sim_imsi_info;
- TapiHandle *handle = tel_init(NULL);
- bool simCardFound = true;
- int simStatus = tel_get_sim_imsi(handle, &sim_imsi_info);
- if (simStatus != TAPI_API_SUCCESS)
- {
- simCardFound = (TAPI_API_SIM_CARD_ERROR != simStatus)
- && (TAPI_API_SIM_NOT_FOUND != simStatus)
- && (TAPI_API_SIM_NOT_INITIALIZED != simStatus)
- && (TAPI_API_OPERATION_FAILED != simStatus)
- && (TAPI_API_SIM_LOCKED != simStatus);
- }
-
- tel_deinit(handle);
- DBG("isSimPresent returns %d", simCardFound);
- return simCardFound;
-}
diff --git a/lib/dialer/ph-dialer-utils.h b/lib/dialer/ph-dialer-utils.h
deleted file mode 100755
index dc77bae..0000000
--- a/lib/dialer/ph-dialer-utils.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PH_DIALER_UTIL_H__
-#define __PH_DIALER_UTIL_H__
-
-#include <stdio.h>
-
-typedef struct
-{
- char *plog_number;
-} ph_dial_log_d;
-
-typedef struct
-{
- char *display;
- char *number;
- char *find_number;
- char *img_path;
- char *numtype_label;
-
- int number_type;
- int type;
- int contact_id;
- int position;
- int len;
-} ph_dial_search_d;
-
-typedef struct
-{
- char *cc;
- char *name;
- int mcc;
-} ph_cc_name_mcc_info;
-
-void ph_dialer_util_launch_call(ph_dialer_data *dial_d);
-
-int ph_dialer_util_get_pure_numstr_with_plus(ph_dialer_data *dial_d,
- char *dest);
-int ph_dialer_util_get_pure_numstr(ph_dialer_data *dial_d, char *dest);
-int ph_dialer_util_get_numstr_from_node(ph_dialer_data *dial_d, char *dest);
-int ph_dialer_util_del_all_number(ph_dialer_data *dial_d);
-
-int ph_dialer_util_append_node_from_numstr(ph_dialer_data *dial_d,
- char *string);
-int ph_dialer_util_append_node_from_numstr_with_strip(ph_dialer_data *dial_d,
- char *string);
-int ph_dialer_util_remove_node_at_cursor(ph_dialer_data *dial_d);
-
-void ph_dialer_util_insert_number_at_cursor(ph_dialer_data *dial_d, char num);
-char ph_dialer_util_get_number_at_cursor(ph_dialer_data *dial_d);
-int ph_dialer_util_get_cursor_pos(ph_dialer_data *dial_d);
-
-char ph_dialer_util_get_next_value_abcmode(char in);
-char ph_dialer_util_get_value_word(char in);
-InputNumber *ph_dialer_util_get_node_by_index(ph_dialer_data *dial_d,
- int index);
-void ph_dialer_util_strip_from_number_node(ph_dialer_data *dial_d);
-int ph_dialer_util_is_dash(char ch);
-void ph_dialer_util_add_dashes(ph_dialer_data *dial_d, DashMode kMode);
-void ph_dialer_util_entry_clear(ph_dialer_data *dial_d);
-
-void ph_dialer_util_highlight_substring(char *dest, int dest_len, char *allpart,
- char *part);
-void ph_dialer_util_highlight_substring_with_pos(char *dest, int dest_len,
- char *string, int position, int length);
-
-ph_speeddial_info* ph_dialer_util_get_speeddial_by_number(void *data,
- int speednumber);
-
-int ph_dialer_util_show_matched_one_number(ph_dialer_data *dial_d, char *name,
- char *number);
-void ph_dialer_util_show_speeddial_msg(ph_dialer_data *dial_d, const char *msg);
-void ph_dialer_util_speeddial_show_cb(void *data, Evas_Object *obj,
- void *event_info);
-
-void ph_dialer_util_init_sim_value(ph_dialer_data *dial_d);
-void ph_dialer_util_setup_run_mode(ph_dialer_data& dial_d);
-void ph_dialer_util_svi_play(int vibration_key, int sound_key);
-
-/**
- * Checks sim-card presence.
- * @return true if sim-card is present, false - if not
- * */
-bool isSimPresent();
-
-#endif //__PH_DIALER_UTIL_H__
diff --git a/lib/dialer/ph-dialer-view.cpp b/lib/dialer/ph-dialer-view.cpp
deleted file mode 100755
index 4765728..0000000
--- a/lib/dialer/ph-dialer-view.cpp
+++ /dev/null
@@ -1,2174 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <string.h>
-#include <feedback.h>
-#include <Ecore_X.h>
-#include <vconf.h>
-#include <vconf-keys.h>
-#include <Evas.h>
-#include <Ecore_X.h>
-
-#include <string.h>
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-#include "ph-front.h"
-#include "phone-dialer.h"
-
-#include "ph-dialer-view.h"
-#include "ph-dialer-utils.h"
-#include "ph-dialer-search.h"
-
-#include "KeypadTouchManager.h"
-#include "Search/Controller.h"
-#include "ct-list.h"
-
-#define PH_DIALER_ENTRY_DEFAULT_STYLE "<align=left font=Tizen:style=Thin text_class=tizen font_size=%d color=#FFFFFF>%s</>"
-#define PH_DIALER_ENTRY_EMPTY_STYLE ""
-#define PH_DIALER_ENTRY_STAR "*"
-#define PH_PAUSE_CHAR ';'
-#define PH_WAIT_CHAR ','
-
-static const int displaySize = 1200;
-static const int numberMinSize = 40;
-static const int minNumberEntry = 12;
-static const int maxNumberEntry = 32;
-static const char starCharacter = '*';
-static const char *backspaceButton = "normal/backspace";
-
-#define PH_DIALER_ENTRY_STYLE_END_TAG "</>"
-
-static Dialer::KeypadTouchManager touchManager;
-
-static void dialer_hide_popup_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- if(dial_d->popup)
- {
- evas_object_del(dial_d->popup);
- dial_d->popup = NULL;
- }
- }
-}
-
-static void dialer_hide_menu_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- if(dial_d->m_Menu)
- {
- evas_object_del(dial_d->m_Menu);
- dial_d->m_Menu = NULL;
- }
- }
-}
-
-static void dialer_hide_context_menu_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- if(dial_d->m_ContextMenu)
- {
- evas_object_del(dial_d->m_ContextMenu);
- dial_d->m_ContextMenu = NULL;
- }
- }
-}
-
-void dialer_suggestion_item_sel_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- dialer_hide_popup_cb(data, obj, event_info);
- // TODO: fill the number field with the selected number
-}
-
-static void dialer_entry_selection_changed(void *data, Evas_Object *entry, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- dial_d->selected_text = (char *) elm_entry_selection_get(entry);
- }
-}
-
-static void dialer_entry_cursor_changed(void *data, Evas_Object *entry, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- dial_d->cursor_changed = true;
- }
-}
-
-static void dialer_show_search_list_toggle(ph_dialer_data *dial_d, bool show)
-{
- PH_TRACE;
- assert(dial_d);
- if (NULL != dial_d)
- {
- if (show)
- {
- edje_object_signal_emit(_EDJ(dial_d->layout), "viewobject/search_list/show", "viewobject/search_list");
- dial_d->count_button_status = COUNT_BUTTON_OPEN;
- edje_object_signal_emit(_EDJ(dial_d->count_layout), "count_button/closed", "count_button");
- }
- else
- {
- edje_object_signal_emit(_EDJ(dial_d->layout), "viewobject/search_list/hide", "viewobject/search_list");
- dial_d->count_button_status = COUNT_BUTTON_CLOSE;
- edje_object_signal_emit(_EDJ(dial_d->count_layout), "count_button/opened", "count_button");
- }
-
- edje_object_signal_emit(_EDJ(dial_d->layout), "viewobject/search_list/index/hide", "viewobject/search_list/index");
- }
-}
-
-static void dialer_entry_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
-
- if (dial_d->list_mode == MODE_DIAL_NUMBER)
- {
- if (NULL == dial_d->search_list || eina_list_count(dial_d->search_list) < 2 || !dial_d->is_show_items)
- edje_object_signal_emit(_EDJ(dial_d->layout), "viewobject/search_result/count/hide", "viewobject/search_result/count");
- else
- edje_object_signal_emit(_EDJ(dial_d->layout), "viewobject/search_result/count/show", "viewobject/search_result/count");
- }
- else
- {
- if (NULL == dial_d->cc_list_sorted || eina_list_count(dial_d->cc_list_sorted) < 2 || !dial_d->is_show_items)
- edje_object_signal_emit(_EDJ(dial_d->layout), "viewobject/search_result/count/hide", "viewobject/search_result/count");
- else
- edje_object_signal_emit(_EDJ(dial_d->layout), "viewobject/search_result/count/show", "viewobject/search_result/count");
- }
-
- dialer_show_search_list_toggle(dial_d, false);
- }
-}
-
-static void dialer_entry_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- if (dial_d->cursor_changed)
- {
- int pos = 0;
- dial_d->cursor_changed = false;
- pos = elm_entry_cursor_pos_get(dial_d->entry);
- dial_d->number_cursor = ph_dialer_util_get_node_by_index( (ph_dialer_data *) data, pos);
- }
- dial_d->has_focus = true;
- }
-}
-
-void dialer_pw_context_menu(void *data);
-static void dialer_softkey_longpress(char *source, ph_dialer_data &dial_d)
-{
- PH_TRACE;
- int pos __attribute__ ((unused)) = 0;
- char dest[PH_TEXT_MAX_LEN] = { 0 };
- if (strcmp(source, "star") == 0 || strcmp(source, "*") == 0)
- {
- if (ph_dialer_util_get_number_at_cursor(&dial_d) == '*')
- {
- pos = ph_dialer_util_remove_node_at_cursor(&dial_d);
- dialer_pw_context_menu(&dial_d);
- ph_dialer_util_get_numstr_from_node(&dial_d, dest);
- ph_dialer_entry_set_number(dial_d, dest, 0);
- }
- }
- else if (strcmp(source, "sharp") == 0 || strcmp(source, "#") == 0)
- {
- ph_dialer_util_get_numstr_from_node(&dial_d, dest);
- if (strlen(dest) > 1) /* '#' longpress disable after number typed */
- return;
-
- int value = 1;
- vconf_get_bool(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, &value);
-
- if (!value)
- {
- vconf_set_bool(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, TRUE);
- phone_show_popup(dial_d.win, T_(PH_GET_TEXT_BASIC, PHTEXT_SOUND_ON), 2.0);
- }
- else
- {
- feedback_play_type(FEEDBACK_TYPE_VIBRATION, FEEDBACK_PATTERN_HW_TAP);
- vconf_set_bool(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, FALSE);
- phone_show_popup(dial_d.win, T_(PH_GET_TEXT_BASIC, PHTEXT_SOUND_OFF), 2.0);
- }
-
- if (ph_dialer_util_get_number_at_cursor(&dial_d) == '#')
- {
- pos = ph_dialer_util_remove_node_at_cursor(&dial_d);
- ph_dialer_util_get_numstr_from_node(&dial_d, dest);
- ph_dialer_entry_set_number(dial_d, dest, 0);
- ph_dialer_search_request(&dial_d, FALSE);
- }
- }
- else if (strcmp(source, backspaceButton) == 0)
- {
- ph_dialer_util_entry_clear(&dial_d);
- dial_d.entry_font_size = MAX_DIAL_NUMBER_FONT_SIZE;
- }
-}
-
-static Eina_Bool dialer_keypad_longpress(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- int text_len = 0;
- int pos __attribute__ ((unused)) = 0;
- char dest[PH_TEXT_MAX_LEN] = { 0 };
- char *source;
-
- p_retv_if(NULL == dial_d, -1);
-
- source = dial_d->longpress_source;
- text_len = ph_dialer_util_get_pure_numstr_with_plus(dial_d, dest);
-
- switch (source[0])
- {
- case '0' ... '9':
- PH_DBG("number(len=%d):[%s]", text_len, dest);
- if (source[0] == '0')
- {
- pos = ph_dialer_util_remove_node_at_cursor(dial_d); edje_object_signal_emit(_EDJ(dial_d->layout), "pad_clicked", "+"); break;
- }
- /* speed dial: 2 ~ 9 */
- if (0 < text_len && text_len <= 2)
- {
- if ('0' <= dest[0] && dest[0] <= '9' && atoi(dest) < 10)
- {
- ph_speeddial_info * speed_info = NULL;
- if ((speed_info = ph_dialer_util_get_speeddial_by_number(dial_d, atoi(dest))) != NULL)
- {
- ph_dialer_util_append_node_from_numstr_with_strip(dial_d, speed_info->ph_number);
- ph_dialer_util_add_dashes(dial_d, DASH_REAL);
- ph_dialer_util_get_numstr_from_node(dial_d, dest);
- ph_dialer_entry_set_number(*dial_d, dest, CURSOR_END);
- ph_dialer_util_launch_call(dial_d);
- }
- else
- {
- dial_d->searched_speed_id = dest[0] - '0';
- ph_dialer_util_show_speeddial_msg(dial_d, T_(PH_GET_TEXT_BASIC, PHTEXT_SPEED_DIAL_REQUEST));
- }
- }
- }
- break;
-
- case starCharacter:
- if(strcmp(dest, PH_DIALER_ENTRY_STAR))
- {
- dialer_softkey_longpress(source,*dial_d);
- }
- break;
-
- default:
- dialer_softkey_longpress(source,*dial_d);
- break;
- }
- if (dial_d->longpress_source)
- {
- free(dial_d->longpress_source);
- dial_d->longpress_source = NULL;
- }
- dial_d->longpress_timer = NULL;
- return ECORE_CALLBACK_CANCEL;
- }
- return false;
-}
-
-static void dialer_add_pause_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- p_retm_if(NULL == dial_d, "dial_d is null");
-
- char dest[PH_TEXT_MAX_LEN] = { 0 };
-
- dialer_show_search_list_toggle(dial_d, false);
- ph_dialer_util_strip_from_number_node(dial_d);
- ph_dialer_util_insert_number_at_cursor(dial_d, PH_PAUSE_CHAR);
- ph_dialer_util_add_dashes(dial_d, DASH_REAL);
- ph_dialer_util_get_numstr_from_node(dial_d, dest);
- ph_dialer_entry_set_number(*dial_d, dest, 0);
- ph_dialer_search_request(dial_d, FALSE);
- dialer_hide_popup_cb(dial_d, NULL, NULL);
- dialer_hide_menu_cb(dial_d, NULL, NULL);
- dialer_hide_context_menu_cb(dial_d, NULL, NULL);
- }
-}
-
-static void dialer_add_wait_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- p_retm_if(NULL == dial_d, "dial_d is null");
-
- char dest[PH_TEXT_MAX_LEN] = { 0 };
-
- dialer_show_search_list_toggle(dial_d, false);
- ph_dialer_util_strip_from_number_node(dial_d);
- ph_dialer_util_insert_number_at_cursor(dial_d, PH_WAIT_CHAR);
- ph_dialer_util_add_dashes(dial_d, DASH_REAL);
- ph_dialer_util_get_numstr_from_node(dial_d, dest);
- ph_dialer_entry_set_number(*dial_d, dest, 0);
- ph_dialer_search_request(dial_d, FALSE);
- dialer_hide_popup_cb(dial_d, NULL, NULL);
- dialer_hide_menu_cb(dial_d, NULL, NULL);
- dialer_hide_context_menu_cb(dial_d, NULL, NULL);
- }
-}
-
-void dialer_pw_context_menu(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>(data);
-
- if (dial_d->m_ContextMenu)
- evas_object_del(dial_d->m_ContextMenu);
-
- dial_d->m_ContextMenu = elm_ctxpopup_add(dial_d->navi);
- if (NULL != dial_d->m_ContextMenu)
- {
- elm_ctxpopup_direction_priority_set(dial_d->m_ContextMenu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_UNKNOWN, ELM_CTXPOPUP_DIRECTION_UNKNOWN);
-
- char buf[PH_TEXT_SHORT_LEN] = { 0 };
- ph_dialer_util_get_pure_numstr_with_plus(dial_d, buf);
-
- evas_object_smart_callback_add(dial_d->m_ContextMenu, "dismissed", dialer_hide_context_menu_cb, dial_d);
-
- snprintf(buf, sizeof(buf), T_(PH_GET_TEXT_BASE_OP, PHTEXT_ADD_PAUSE), 2);
- elm_ctxpopup_item_append(dial_d->m_ContextMenu, buf, NULL, dialer_add_pause_cb, dial_d);
- elm_ctxpopup_item_append(dial_d->m_ContextMenu, T_(PH_GET_TEXT_BASE_OP, PHTEXT_ADD_WAIT), NULL, dialer_add_wait_cb, dial_d);
-
- int x, y, w, h;
- edje_object_part_geometry_get(_EDJ(dial_d->layout), "star_BG", &x, &y, &w, &h);
-
- evas_object_move(dial_d->m_ContextMenu, x + (w / 2), (y + 167) + (h / 2));
- evas_object_show(dial_d->m_ContextMenu);
- }
- else
- {
- PH_DBG("dialer_pw_context_menu failed: %s", "elm_ctxpopup_add() return NULL");
- }
- }
- else
- {
- PH_DBG("dialer_pw_context_menu failed: %s", "data is null");
- }
-}
-
-static void dialer_keypad_down(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
-
- p_retm_if(dial_d == NULL, "Invalid argument: ph_dialer_data *is NULL");
- p_retm_if(source == NULL, "source is NULL");
-
- char dest[PH_TEXT_MAX_LEN] = { 0 };
- int snd_id = 0;
-
- if (dial_d->count_button_status == COUNT_BUTTON_OPEN)
- {
- dialer_show_search_list_toggle(dial_d, false);
- }
-
- if (dial_d->longpress_timer)
- {
- ecore_timer_del(dial_d->longpress_timer);
- dial_d->longpress_timer = NULL;
- }
-
- if (dial_d->dash_timer)
- {
- ecore_timer_del(dial_d->dash_timer);
- dial_d->dash_timer = NULL;
- }
-
- switch (source[0])
- {
- case '0' ... '9':
- snd_id = FEEDBACK_PATTERN_KEY0 + (source[0] - '0');
- break;
- default:
- if (0 == strcmp(source, "star"))
- {
- source = "*"; snd_id = FEEDBACK_PATTERN_KEY_STAR;
- }
- else if (0 == strcmp(source, "sharp"))
- {
- source = "#"; snd_id = FEEDBACK_PATTERN_KEY_SHARP;
- }
- else
- {
- snd_id = FEEDBACK_PATTERN_TOUCH_KEY;
- }
- break;
- }
-
- if (PH_DAILER_DURING_CALL != dial_d->run_mode)
- ph_dialer_util_svi_play(FEEDBACK_PATTERN_TOUCH_TAP, snd_id);
-
- ph_dialer_util_strip_from_number_node(dial_d);
- ph_dialer_util_insert_number_at_cursor(dial_d, source[0]);
- ph_dialer_util_add_dashes(dial_d, DASH_REAL);
- ph_dialer_util_get_numstr_from_node(dial_d, dest);
- ph_dialer_entry_set_number(*dial_d, dest, 0);
-
- /* create new longpress timer */
- if (dial_d->longpress_timer)
- {
- ecore_timer_del(dial_d->longpress_timer);
- dial_d->longpress_timer = NULL;
- }
- FREEandSTRDUP(dial_d->longpress_source, source);
- dial_d->longpress_timer = ecore_timer_add(elm_config_longpress_timeout_get(), dialer_keypad_longpress, dial_d);
- ph_dialer_search_request(dial_d, FALSE);
- }
-}
-
-static Eina_Bool dialer_dash_add_timer(void *data)
-{
- PH_TRACE;
- char dest[PH_TEXT_MAX_LEN] = { 0 };
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
-
- ph_dialer_util_strip_from_number_node(dial_d);
- ph_dialer_util_add_dashes(dial_d, DASH_PREVIEW);
- ph_dialer_util_get_numstr_from_node(dial_d, dest);
- ph_dialer_entry_set_number(*dial_d, dest, 0);
-
- dial_d->dash_timer = NULL;
- return ECORE_CALLBACK_CANCEL;
- }
- return false;
-}
-
-static void dialer_keypad_up(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- PH_TRACE;
- assert(data);
- p_retm_if(data == NULL, "Invalid argument: ph_dialer_data *is NULL");
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- PH_DBG("(source=%s)", source);
-
- if (dial_d->longpress_timer)
- {
- ecore_timer_del(dial_d->longpress_timer);
- dial_d->longpress_timer = NULL;
- }
-
- if (dial_d->dash_timer)
- {
- ecore_timer_del(dial_d->dash_timer);
- dial_d->dash_timer = NULL;
- }
- dial_d->dash_timer = ecore_timer_add(0.7, dialer_dash_add_timer, dial_d);
- }
-}
-
-static void dialer_keypad_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- char dest[PH_TEXT_MAX_LEN] = { 0 };
-
- p_retm_if(NULL == source, "source is null");
- p_retm_if(NULL == data, "Invalid argument: ph_dialer_data is NULL");
-
- if (0 != strcmp(source, "+") && 0 != strcmp(source, "P") && 0 != strcmp(source, "W"))
- return;
-
- if (dial_d->dash_timer)
- {
- ecore_timer_del(dial_d->dash_timer);
- dial_d->dash_timer = NULL;
- }
-
- ph_dialer_util_strip_from_number_node(dial_d);
- ph_dialer_util_insert_number_at_cursor(dial_d, source[0]);
- ph_dialer_util_add_dashes(dial_d, DASH_REAL);
- ph_dialer_util_get_numstr_from_node(dial_d, dest);
- ph_dialer_entry_set_number(*dial_d, dest, 0);
- ph_dialer_search_request(dial_d, FALSE);
- }
-}
-
-static void dialer_softkey_down(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
-
- char dest[PH_TEXT_MAX_LEN] = { 0 };
-
- if (0 == strcmp(source, "back_btn") || 0 == strcmp(source, "option_btn"))
- return;
-
- ph_dialer_util_svi_play(FEEDBACK_PATTERN_TOUCH_TAP, FEEDBACK_PATTERN_TOUCH_TAP);
- if (0 != strcmp(source, backspaceButton))
- return;
-
- if (dial_d->dash_timer)
- {
- ecore_timer_del(dial_d->dash_timer);
- dial_d->dash_timer = NULL;
- }
-
- char* entry_raw = strdup(elm_entry_entry_get(dial_d->entry));
- char* tok = strstr(entry_raw, PH_DIALER_ENTRY_STYLE_END_TAG);
- if (tok)
- tok[0] = '\0';
-
- if (dial_d->selected_text && strcmp(dial_d->selected_text, entry_raw) == 0)
- {
- ph_dialer_util_entry_clear(dial_d);
- free(entry_raw);
- return;
- }
-
- ph_dialer_util_strip_from_number_node(dial_d);
- ph_dialer_util_remove_node_at_cursor(dial_d);
- ph_dialer_util_add_dashes(dial_d, DASH_REAL);
- ph_dialer_util_get_numstr_from_node(dial_d, dest);
- ph_dialer_entry_set_number(*dial_d, dest, 0);
-
- if (!*dest && dial_d->has_focus)
- {
- elm_object_focus_set(dial_d->entry, EINA_FALSE);
- dial_d->has_focus = false;
- }
-
- if (dial_d->longpress_timer)
- {
- ecore_timer_del(dial_d->longpress_timer);
- dial_d->longpress_timer = NULL;
- }
- FREEandSTRDUP(dial_d->longpress_source, source);
- dial_d->longpress_timer = ecore_timer_add(elm_config_longpress_timeout_get(), dialer_keypad_longpress, dial_d);
-
- ph_dialer_search_request(dial_d, FALSE);
- }
-}
-
-static void dialer_softkey_up(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
-
- if (0 != strcmp(source, backspaceButton))
- return;
-
- if (dial_d->longpress_timer)
- {
- ecore_timer_del(dial_d->longpress_timer);
- dial_d->longpress_timer = NULL;
- }
-
- if (dial_d->dash_timer)
- {
- ecore_timer_del(dial_d->dash_timer);
- dial_d->dash_timer = NULL;
- }
- dial_d->dash_timer = ecore_timer_add(0.7, dialer_dash_add_timer, dial_d);
- }
-}
-
-static void dialer_destroy_child_ug(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- dial_d->child_ug = NULL;
- }
-}
-
-static bool dialer_get_recent_log_number(char** get_str)
-{
- PH_TRACE;
- contacts_list_h cts_list = NULL;
- contacts_query_h query = NULL;
- int err = CONTACTS_ERROR_NONE;
- contacts_filter_h filter = NULL;
-
- do
- {
- if ((err = contacts_query_create(_contacts_person_phone_log._uri, &query)) != CONTACTS_ERROR_NONE)
- break;
- if ((err = contacts_filter_create(_contacts_person_phone_log._uri, &filter)) != CONTACTS_ERROR_NONE)
- break;
- if ((err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_GREATER_THAN_OR_EQUAL, CONTACTS_PLOG_TYPE_VOICE_INCOMMING)) != CONTACTS_ERROR_NONE)
- break;
- if ((err = contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND)) != CONTACTS_ERROR_NONE)
- break;
- if ((err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type, CONTACTS_MATCH_LESS_THAN_OR_EQUAL, CONTACTS_PLOG_TYPE_VIDEO_BLOCKED)) != CONTACTS_ERROR_NONE)
- break;
- if ((err = contacts_query_set_filter(query, filter)) != CONTACTS_ERROR_NONE)
- break;
- if ((err = contacts_query_set_sort(query, _contacts_person_phone_log.log_time, false)) != CONTACTS_ERROR_NONE)
- break;
- if ((err = contacts_db_get_records_with_query(query, 0, 1, &cts_list)) != CONTACTS_ERROR_NONE)
- break;
-
- unsigned int record_cnt = 0;
- contacts_list_get_count(cts_list, &record_cnt);
- PH_DBG("get _contacts_person_phone_log table records(%d)", record_cnt);
-
- err = phone_cts_get_str_from_list(cts_list, _contacts_person_phone_log.address, get_str);
- PH_DBG("recent number : %s", *get_str);
- p_warn_if(CONTACTS_ERROR_NONE != err, "phone_cts_get_str_from_list() Failed(%d)", err);
-
- contacts_list_destroy(cts_list, true);
- contacts_query_destroy(query);
- contacts_filter_destroy(filter);
- return true;
- }
- while (0);
-
- //error case
- ERR("contacts_db_query Failed(%d)", err);
- if (query != NULL)
- contacts_query_destroy(query);
- if (filter != NULL)
- contacts_filter_destroy(filter);
-
- return false;
-}
-
-static void dialer_softkey_call_clicked(void *data, int type)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- p_retm_if(dial_d == NULL, "Invalid argument: ph_dialer_data *is NULL");
-
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- int len;
-
- len = ph_dialer_util_get_numstr_from_node(dial_d, buf);
- if (len == 0)
- {
- PH_DBG("text is NULL so input recent number ");
- char* get_str = NULL;
- if (dialer_get_recent_log_number(&get_str))
- {
- if (get_str && strlen(get_str) > 0)
- {
- ph_dialer_util_append_node_from_numstr(dial_d, get_str);
- ph_dialer_util_add_dashes(dial_d, DASH_REAL);
- ph_dialer_util_get_numstr_from_node(dial_d, buf);
- ph_dialer_entry_set_number(*dial_d, buf, CURSOR_END);
- ph_dialer_search_request(dial_d, FALSE);
- free(get_str);
- }
- }
- return;
- }
- if (0 == type)
- {
- ALOG(LOG_DEBUG, "call_start_log", "launch call button pressed");
- ph_dialer_util_launch_call(dial_d);
- }
- }
-}
-
-static void dialer_back_btn_cb(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- assert(dial_d);
- if (NULL != dial_d)
- {
- dial_d->initialized = FALSE;
- ph_dialer_util_entry_clear(dial_d);
- }
-}
-
-void dialer_add_contact(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- check_if(!dial_d, return);
-
- char dest[PH_TEXT_MAX_LEN] = { 0 };
- ph_dialer_util_get_pure_numstr_with_plus(dial_d, dest);
- dial_d->child_ug = phone_launch_contact_add_list_edit_ug(dial_d->ug, dest, dialer_destroy_child_ug, dial_d);
-}
-
-static void dialer_add_contact_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>(data);
-
- dialer_hide_popup_cb(dial_d, NULL, NULL);
- dialer_hide_menu_cb(dial_d, NULL, NULL);
- dialer_hide_context_menu_cb(dial_d, NULL, NULL);
-
- dialer_add_contact(dial_d);
- }
-}
-
-static void dialer_settings_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>(data);
-
- dialer_hide_popup_cb(dial_d, NULL, NULL);
- dialer_hide_menu_cb(dial_d, NULL, NULL);
- dialer_hide_context_menu_cb(dial_d, NULL, NULL);
-
- dial_d->child_ug = phone_launch_settings_ug(dial_d->ug, CALL_SETTINGS_UG, dialer_destroy_child_ug, dial_d);
- }
-}
-#ifdef _PHONE_LOCK_
-#define EMERGENCY "emergency"
-static void dialer_softkey_emergency_clicked(void *data)
-{
- PH_TRACE;
- assert(data);
- int err = CONTACTS_ERROR_NONE;
- if (NULL != data)
- {
- ph_dialer_data *dial_d = (ph_dialer_data *) data;
- contacts_record_h record = NULL;
- contacts_list_h group_list = NULL;
- phone_cts_get_list(_contacts_group._uri, _contacts_group.address_book_id, 0, &group_list);
- CONTACTS_LIST_FOREACH(group_list, record)
- {
- char* group_system_id = NULL;
- int id_grp = 0;
- contacts_record_get_int(record, _contacts_group.id, &id_grp);
- err = contacts_record_get_str_p(record, _contacts_group.extra_data, &group_system_id);
- if (group_system_id != NULL)
- {
- if (CONTACTS_ERROR_NONE == err)
- {
- if (strcmp(group_system_id, EMERGENCY) == 0)
- {
- ph_view_info *view_info = (ph_view_info *) calloc(1, sizeof(ph_view_info));
- phone_set_view_info(view_info, dial_d->win, dial_d->navi, dial_d->ug, 0, 0, NULL);
- ct_group_list *info = (ct_group_list *) calloc(1, sizeof(ct_group_list));
- info->id_ab = 0;
- info->id_grp = id_grp;
- info->name = (char *) (T_(CT_GET_TEXT_BASIC, CTTEXT_EMERGENCY_CONTACTS));
- ctui_list_create_contact_view_with_info(view_info, CT_GET_LIST_PERSON_OF_GROUP_ID, info);
- free(info);
- free(view_info);
- phone_cts_free_list(group_list);
- return;
- }
- }
- }
- }
- phone_cts_free_list(group_list);
- }
-}
-#endif //_PHONE_LOCK_
-
-static void dialer_softkey_msg_clicked(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>(data);
-
- dialer_hide_popup_cb(dial_d, NULL, NULL);
- dialer_hide_menu_cb(dial_d, NULL, NULL);
- dialer_hide_context_menu_cb(dial_d, NULL, NULL);
-
- char num[PH_TEXT_SHORT_LEN] = { 0 };
- ph_dialer_util_get_pure_numstr_with_plus(dial_d, num);
- dial_d->child_ug = phone_launch_msg_composer_ug(dial_d->ug, num, 0, dialer_destroy_child_ug, dial_d);
- }
-}
-
-static void dialer_ctx_message_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>(data);
-
- dialer_hide_popup_cb(dial_d, NULL, NULL);
- dialer_hide_menu_cb(dial_d, NULL, NULL);
- dialer_hide_context_menu_cb(dial_d, NULL, NULL);
-
- char num[PH_TEXT_SHORT_LEN] = { 0 };
- ph_dialer_util_get_pure_numstr_with_plus(dial_d, num);
- dial_d->child_ug = phone_launch_msg_composer_ug(dial_d->ug, num, 0, dialer_destroy_child_ug, dial_d);
- }
-}
-
-static void dialer_exit_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>(data);
-
- dialer_hide_popup_cb(dial_d, NULL, NULL);
- dialer_hide_menu_cb(dial_d, NULL, NULL);
- dialer_hide_context_menu_cb(dial_d, NULL, NULL);
-
- dialer_back_btn_cb(dial_d);
- elm_win_lower(dial_d->win);
-
- }
-}
-
-static void dialer_contactsearch_btn_cb(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
-
- ph_phoneui_data *phoneui_d = (ph_phoneui_data *) evas_object_data_get(dial_d->layout, "phoneui_d");
- phone_front_view_show_sub_view(phoneui_d); //temp : need to fix as embedding contact search list into dialer layout. (kc.jun)
- }
- return;
-}
-
-static void dialer_option_btn_cb(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- assert(dial_d);
- if (NULL != dial_d)
- {
- if (dial_d->m_Menu)
- evas_object_del(dial_d->m_Menu);
-
- dial_d->m_Menu = elm_ctxpopup_add(dial_d->navi);
- if (NULL != dial_d->m_Menu)
- {
- elm_ctxpopup_direction_priority_set(dial_d->m_Menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_UNKNOWN, ELM_CTXPOPUP_DIRECTION_UNKNOWN);
-
- char buf[PH_TEXT_SHORT_LEN] = { 0 };
- ph_dialer_util_get_pure_numstr_with_plus(dial_d, buf);
-
- evas_object_smart_callback_add(dial_d->m_Menu, "dismissed", dialer_hide_menu_cb, dial_d);
-
- if (!dial_d->ug)
- elm_ctxpopup_item_append(dial_d->m_Menu, S_(PH_SYS_BODY_MESSAGE), NULL, dialer_ctx_message_cb, dial_d);
- elm_ctxpopup_item_append(dial_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_SPEEDDIAL), NULL, ph_dialer_util_speeddial_show_cb, dial_d);
- snprintf(buf, sizeof(buf), T_(PH_GET_TEXT_BASE_OP, PHTEXT_ADD_PAUSE), 2);
- elm_ctxpopup_item_append(dial_d->m_Menu, buf, NULL, dialer_add_pause_cb, dial_d);
- elm_ctxpopup_item_append(dial_d->m_Menu, T_(PH_GET_TEXT_BASE_OP, PHTEXT_ADD_WAIT), NULL, dialer_add_wait_cb, dial_d);
-
- if (!dial_d->ug)
- elm_ctxpopup_item_append(dial_d->m_Menu, T_(PH_GET_TEXT_BASE_OP, PHTEXT_EXIT), NULL, dialer_exit_cb, dial_d);
-
- int x, y, w, h;
- edje_object_part_geometry_get(_EDJ(dial_d->layout), "option_btn", &x, &y, &w, &h);
-
- evas_object_move(dial_d->m_Menu, x + (w / 2), (y + 167) + (h / 2));
- evas_object_show(dial_d->m_Menu);
- }
- else
- {
- PH_DBG("dialer_option_btn_cb failed: %s", "elm_ctxpopup_add() return NULL");
- }
- }
- else
- {
- PH_DBG("dialer_option_btn_cb failed: %s", "data is null");
- }
-}
-
-static void dialer_number_options_popup(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- assert(dial_d);
- if (NULL != dial_d)
- {
- // removing current menu if there is any:
- if (dial_d->m_Menu)
- evas_object_del(dial_d->m_Menu);
-
- // adding a new menu ("Keypad menu")
- dial_d->m_Menu = elm_ctxpopup_add(dial_d->navi);
- if (NULL != dial_d->m_Menu)
- {
- elm_ctxpopup_direction_priority_set(dial_d->m_Menu, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UNKNOWN, ELM_CTXPOPUP_DIRECTION_UNKNOWN);
-
- char buf[PH_TEXT_SHORT_LEN] = { 0 };
- ph_dialer_util_get_pure_numstr_with_plus(dial_d, buf);
-
- evas_object_smart_callback_add(dial_d->m_Menu, "dismissed", dialer_hide_menu_cb, dial_d);
-
- // setting up the items of menu:
-
- elm_ctxpopup_item_append(dial_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_SPEEDDIAL), NULL, ph_dialer_util_speeddial_show_cb, dial_d);
-
- int len = ph_dialer_util_get_numstr_from_node(dial_d, buf);
- if (len > 0) // In case user inputted at least 1 number
- {
- elm_ctxpopup_item_append(dial_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_ADD_TO_CONTACTS), NULL, dialer_add_contact_cb, dial_d);
-
- snprintf(buf, sizeof(buf), T_(PH_GET_TEXT_BASE_OP, PHTEXT_ADD_PAUSE), 2);
- elm_ctxpopup_item_append(dial_d->m_Menu, buf, NULL, dialer_add_pause_cb, dial_d);
-
- elm_ctxpopup_item_append(dial_d->m_Menu, T_(PH_GET_TEXT_BASE_OP, PHTEXT_ADD_WAIT), NULL, dialer_add_wait_cb, dial_d);
- }
-
- if (!dial_d->ug)
- elm_ctxpopup_item_append(dial_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_SETTINGS), NULL, dialer_settings_cb, dial_d);
-
- // setting up the position of menu:
- int x, y, w, h;
- evas_object_geometry_get(dial_d->navi, &x, &y, &w, &h);
-
- evas_object_move(dial_d->m_Menu, 0, y + h);
- evas_object_show(dial_d->m_Menu);
- }
- else
- {
- PH_DBG("dialer_number_options_popup failed: %s", "elm_ctxpopup_add() return NULL");
- }
- }
- else
- {
- PH_DBG("dialer_number_options_popup failed: %s", "data is null");
- }
-}
-
-static void dialer_softkey_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- p_retm_if(dial_d == NULL, "Invalid argument: ph_dialer_data *is NULL");
-
- char buf[PH_TEXT_MAX_LEN] = { 0 };
-
- PH_DBG("source:[%s]", source);
-
- /* defense code for long-press */
- /* remove longpress timer */
- if (dial_d->longpress_timer)
- {
- ecore_timer_del(dial_d->longpress_timer);
- dial_d->longpress_timer = NULL;
- }
-
- if (strstr(source, "call") != NULL) /* normal/call, dc/call */
- dialer_softkey_call_clicked(dial_d, 0);
- else if (strcmp(source, "normal/message") == 0)
- dialer_softkey_msg_clicked(dial_d);
-#ifdef _PHONE_LOCK_
- else if (strcmp(source, "normal/emergency") == 0)
- dialer_softkey_emergency_clicked(dial_d);
-#endif //_PHONE_LOCK_
- else if (0 == strcmp(source, "return_btn"))
- {
- if (dial_d->ug)
- ug_destroy_me(dial_d->ug);
- return;
- }
- else if (0 == strcmp(source, "option_btn"))
- {
- dialer_option_btn_cb(dial_d);
- return;
- }
- else if (0 == strcmp(source, "search/inputarea/image"))
- {
- dialer_contactsearch_btn_cb(dial_d);
- return;
- }
-
- ph_dialer_util_get_numstr_from_node(dial_d, buf);
- if (strcmp(source, backspaceButton) != 0)
- ph_dialer_entry_set_number(*dial_d, buf, CURSOR_END);
- else
- ph_dialer_entry_set_number(*dial_d, buf, 0);
- }
-}
-
-static char* dialer_gl_cc_label_get(ph_dialer_data *dial_d, ph_cc_name_mcc_info *item, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- assert(dial_d);
- p_retvm_if(NULL == dial_d, NULL, "dial data is null");
- if (NULL != dial_d)
- {
- char buf[PH_TAG_TEXT_MAX_LEN] = { 0 };
- char text[PH_TAG_TEXT_MAX_LEN] = { 0 };
- int text_len __attribute__ ((unused));
-
- if (0 == strcmp(part, "elm.text.left.name"))
- {
- return strdup(item->name);
- }
- else if (0 == strcmp(part, "elm.text.left.number"))
- {
- text_len = ph_dialer_util_get_pure_numstr(dial_d, text);
- ph_dialer_util_highlight_substring(buf, sizeof(buf), item->cc, text);
- return strdup(buf);
- }
- else
- return NULL;
- }
- return NULL;
-}
-
-Evas_Object* ph_dialer_gl_icon_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- assert(data);
- p_retvm_if(NULL == data, NULL, "data is null");
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( evas_object_data_get(obj, KEY_DIALER_DATA) );
- p_retvm_if(NULL == dial_d, NULL, "ph_dialer_data dial_d is null");
-
- if (dial_d->list_mode == MODE_COUNTRY_CODE)
- return NULL;
-
- ph_dial_search_d *sd = (ph_dial_search_d *) data;
- Evas_Object *ic;
-
- if (0 == strcmp(part, "elm.icon.1"))
- {
- if (sd->img_path && *sd->img_path)
- {
- ic = elm_icon_add(obj);
- p_retvm_if(NULL == ic, NULL, "elm_icon_add is failed");
- elm_image_file_set(ic, sd->img_path, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return ic;
- }
- }
- }
- return NULL;
-}
-
-char* ph_dialer_gl_label_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- assert(data);
- p_retvm_if(NULL == data, NULL, "dialer is null");
- if (NULL != data)
- {
- ph_dial_search_d* sd = static_cast<ph_dial_search_d*>( data );
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( evas_object_data_get(obj, KEY_DIALER_DATA) );
- p_retvm_if(NULL == dial_d, NULL, "dialer data is null");
-
- char buf[PH_TAG_TEXT_MAX_LEN] = { 0 };
- char resultbuf[PH_TAG_TEXT_MAX_LEN] = { 0 };
-
- if (dial_d->list_mode == MODE_COUNTRY_CODE)
- return dialer_gl_cc_label_get(dial_d, (ph_cc_name_mcc_info *) data, obj, part);
-
- if (0 == strcmp(part, "elm.text.left.name"))
- {
- if (sd->display && *sd->display)
- {
- if (sd->type == SEARCH_CONTACT_NAME_TYPE)
- {
- ph_dialer_util_highlight_substring_with_pos(buf, sizeof(buf), sd->display, sd->position, sd->len);
- return strdup(buf);
- }
- else
- return strdup(sd->display);
- }
- return NULL;
- }
- else if (0 == strcmp(part, "elm.text.left.number"))
- {
- if (sd->type == SEARCH_LOG_TYPE)
- {
- ph_dialer_util_highlight_substring(buf, sizeof(buf), sd->number, sd->find_number);
- return strdup(buf);
- }
- else
- {
- if (sd->number_type & CONTACTS_NUMBER_TYPE_CUSTOM && sd->numtype_label && sd->numtype_label[0])
- snprintf(resultbuf, sizeof(resultbuf), "%s %s", sd->numtype_label, sd->number);
- else
- snprintf(resultbuf, sizeof(resultbuf), "%s %s", T_(CT_GET_TEXT_NUM_TYPE, phone_detail_log_get_phonenumber_type(sd->number_type)), sd->number);
- if (sd->type == SEARCH_CONTACT_NAME_TYPE)
- return strdup(resultbuf);
- else
- {
- ph_dialer_util_highlight_substring(buf, sizeof(buf), resultbuf, sd->find_number);
- return strdup(buf);
- }
- }
- }
- }
- return NULL;
-}
-
-static void dialer_fastscroll_level_up(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int level = elm_index_item_level_get(obj);
- const Elm_Object_Item *it;
- const Elm_Object_Item *index;
- ph_cc_name_mcc_info *item;
- char prev_ch[4] = { 0 };
- char prev_ch_first[2] = { 0 };
- p_retm_if(1 != level, "level is not 1");
-
- index = elm_index_selected_item_get(obj, level - 1);
- elm_index_item_clear(obj);
-
- it = (const Elm_Object_Item *) elm_object_item_data_get(index);
- p_retm_if(NULL == it, "elm_object_item_data_get(%p) returns NULL", index);
-
- item = (ph_cc_name_mcc_info *) elm_object_item_data_get(it);
- prev_ch_first[0] = item->name[0];
-
- while (it)
- {
- item = (ph_cc_name_mcc_info *) elm_object_item_data_get(it);
-
- if (prev_ch_first[0] != item->name[0])
- break;
-
- if (prev_ch[0] != item->name[1])
- {
- prev_ch[0] = item->name[1];
- elm_index_item_append(obj, prev_ch, NULL, it);
- }
- it = elm_genlist_item_next_get(it);
- }
- elm_index_level_go(obj, level);
-}
-
-static void dialer_fastscroll_level_down(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
-}
-
-static void dialer_fastscroll_index_changed(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- PH_DBG("obj:%x, level:%d", (unsigned int)obj, elm_index_item_level_get(obj));
- elm_genlist_item_bring_in((Elm_Object_Item *) elm_object_item_data_get((const Elm_Object_Item *) event_info), ELM_GENLIST_ITEM_SCROLLTO_TOP);
-}
-
-static void dialer_create_index(ph_dialer_data &dial_d)
-{
- PH_TRACE;
- dial_d.fast_index = elm_index_add(dial_d.layout);
- elm_object_part_content_set(dial_d.layout, "search_list/index", dial_d.fast_index);
- edje_object_signal_emit(_EDJ(dial_d.layout), "viewobject/search_list/index/hide", "viewobject/search_list/index");
-
- evas_object_smart_callback_add(dial_d.fast_index, "level,up", dialer_fastscroll_level_up, NULL);
- evas_object_smart_callback_add(dial_d.fast_index, "level,down", dialer_fastscroll_level_down, NULL);
- evas_object_smart_callback_add(dial_d.fast_index, "delay,changed", dialer_fastscroll_index_changed, NULL);
- evas_object_smart_callback_add(dial_d.fast_index, "selected", dialer_fastscroll_index_changed, NULL);
- elm_index_level_go(dial_d.fast_index, 0);
-}
-
-void ph_dialer_update_cnt_btn(ph_dialer_data *dial_d, int count)
-{
- PH_TRACE;
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- if (count < 2)
- {
- elm_object_part_text_set(dial_d->count_layout, "btn_style/number", NULL);
-// elm_object_disabled_set(dial_d->count_button, EINA_TRUE);
- edje_object_signal_emit(_EDJ(dial_d->count_layout), "count_button/hide", "count_button");
- }
- else
- {
- snprintf(buf, sizeof(buf), "%d", count);
- elm_object_part_text_set(dial_d->count_layout, "btn_style/number", buf);
- elm_object_disabled_set(dial_d->count_button, EINA_FALSE);
- edje_object_signal_emit(_EDJ(dial_d->count_layout), "count_button/opened", "count_button");
- }
-}
-
-static void dialer_entry_set_number_noresize(ph_dialer_data *dial_d,
- const char *text)
-{
- PH_TRACE;
- int size = MAX_DIAL_NUMBER_FONT_SIZE;
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- int pos;
-
- snprintf(buf, sizeof(buf), "DEFAULT='align=left font=Tizen:style=Thin text_class=tizen font_size=%d color=#FFFFFF'", size);
- elm_entry_text_style_user_push(dial_d->entry, buf);
-
- if (text && *text)
- snprintf(buf, sizeof(buf), PH_DIALER_ENTRY_DEFAULT_STYLE, size, text);
- else
- snprintf(buf, sizeof(buf), "%s", PH_DIALER_ENTRY_EMPTY_STYLE);
- elm_entry_entry_set(dial_d->entry, buf);
-
- pos = ph_dialer_util_get_cursor_pos(dial_d);
- elm_entry_cursor_pos_set(dial_d->entry, pos);
-}
-
-void ph_dialer_entry_set_number(ph_dialer_data &dial_d, const std::string &orig, int cursor)
-{
- PH_TRACE;
- char text[PH_TEXT_MAX_LEN] = { 0 };
-
- int numberEntry = orig.size();
- DBG("numberEntry %i",numberEntry);
-
- if((numberEntry-minNumberEntry)>=0)
- {
- if(dial_d.entry_font_size >=numberMinSize && (displaySize/dial_d.entry_font_size)<numberEntry )
- {
- if(numberEntry>=maxNumberEntry)
- {
- dial_d.entry_font_size = displaySize/maxNumberEntry;
- }
- else dial_d.entry_font_size = displaySize/numberEntry;
- }
- else if((displaySize/dial_d.entry_font_size)>numberEntry)
- {
- dial_d.entry_font_size = displaySize/numberEntry;
- }
- }
-
- if (orig.size() != 0)
- {
- snprintf(text, sizeof(text), PH_DIALER_ENTRY_DEFAULT_STYLE, dial_d.entry_font_size, orig.c_str());
- if (dial_d.run_mode != PH_DAILER_EMERGENCY && strcmp("hide", edje_object_part_state_get(_EDJ(dial_d.layout), "textblock/textarea", NULL)))
- edje_object_signal_emit(_EDJ(dial_d.layout), "viewobject/entry/show", "viewobject/entry");
- }
- else
- {
- snprintf(text, sizeof(text), "%s", PH_DIALER_ENTRY_EMPTY_STYLE);
-// if (dial_d->run_mode != PH_DAILER_EMERGENCY)
-// edje_object_signal_emit(_EDJ(dial_d->layout), "viewobject/entry/hide", "viewobject/entry");//temporalily HIDE for contact search implmentation (kc.jun)
- }
- elm_entry_entry_set(dial_d.entry, text);
-
- if (cursor == CURSOR_END)
- cursor = orig.size();
- else if (cursor == CURSOR_BEGIN)
- cursor = 0;
- else if (cursor == 0)
- cursor = ph_dialer_util_get_cursor_pos(&dial_d);
-
- dial_d.number_cursor = ph_dialer_util_get_node_by_index(&dial_d, cursor);
- elm_entry_cursor_pos_set(dial_d.entry, cursor);
-
- DBG("number end %i",cursor);
-}
-
-static void dialer_clear_thread(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- dial_d->t_info->alive = false;
- if (dial_d->t_info->epipe)
- {
- ecore_pipe_write_close(dial_d->t_info->epipe);
- ecore_pipe_read_close(dial_d->t_info->epipe);
- ecore_pipe_del(dial_d->t_info->epipe);
- dial_d->t_info->epipe = NULL;
- }
- pthread_join(dial_d->t_info->thread, NULL);
- free(dial_d->t_info);
- dial_d->t_info = NULL;
-}
-
-Eina_Bool ph_dialer_reload_data(void *data)
-{
- PH_TRACE;
- int count = 0;
- assert(data);
- p_retvm_if(NULL == data, ECORE_CALLBACK_CANCEL, "data is null");
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- p_retvm_if(!dial_d->data_dirty_flag, ECORE_CALLBACK_CANCEL, "data is not changed");
-
- if (dial_d->data_dirty_flag & CONTACT_DATA_CHAGNED)
- {
- phone_free_speeddial_data(dial_d->speeddial_list);
- dial_d->speeddial_list = phone_load_speeddial_data(&count);
-
- if (dial_d->t_info)
- dialer_clear_thread(dial_d);
- dial_d->loading = false;
-
- if (dial_d->contact_list)
- {
- phone_free_contacts(dial_d->contact_list);
- dial_d->contact_list = NULL;
- }
- }
- else if (dial_d->data_dirty_flag & SPEEDDIAL_DATA_CHAGNED)
- {
- phone_free_speeddial_data(dial_d->speeddial_list);
- dial_d->speeddial_list = phone_load_speeddial_data(&count);
- }
- dial_d->data_dirty_flag = 0;
- ph_dialer_search_request(dial_d, TRUE);
- dial_d->update_timer = NULL;
- return ECORE_CALLBACK_CANCEL;
- }
- return false;
-}
-
-static void dialer_contact_data_changed_cb(const char* view_uri, void* data)
-{
- PH_TRACE;
- assert(data);
- p_retm_if(NULL == data, "data is null");
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
-
- if (dial_d->update_timer)
- {
- ecore_timer_del(dial_d->update_timer);
- dial_d->update_timer = NULL;
- }
-
- if (dial_d->is_background)
- {
- dial_d->data_dirty_flag |= CONTACT_DATA_CHAGNED;
- dial_d->update_timer = ecore_timer_add(3.0, ph_dialer_reload_data, dial_d);
- }
- else
- {
- int count = 0;
- phone_free_speeddial_data(dial_d->speeddial_list);
- dial_d->speeddial_list = phone_load_speeddial_data(&count);
-
- if (dial_d->t_info)
- dialer_clear_thread(dial_d);
- dial_d->loading = false;
-
- if (dial_d->contact_list)
- {
- phone_free_contacts(dial_d->contact_list);
- dial_d->contact_list = NULL;
- }
-
- ph_dialer_search_request(dial_d, TRUE);
- }
- }
-}
-
-static void dialer_speeddial_data_changed_cb(const char* view_uri, void* data)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
-
- if (dial_d->update_timer)
- {
- ecore_timer_del(dial_d->update_timer);
- dial_d->update_timer = NULL;
- }
-
- if (dial_d->is_background)
- {
- dial_d->data_dirty_flag |= SPEEDDIAL_DATA_CHAGNED;
- dial_d->update_timer = ecore_timer_add(3.0, ph_dialer_reload_data, dial_d);
- }
- else
- {
- int count = 0;
- phone_free_speeddial_data(dial_d->speeddial_list);
- dial_d->speeddial_list = phone_load_speeddial_data(&count);
- ph_dialer_search_request(dial_d, TRUE);
- }
- }
-}
-
-static void dialer_log_data_changed_cb(const char* view_uri, void* data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- p_retm_if(NULL == dial_d, "dial_d is null");
-
- if (dial_d->update_timer)
- {
- ecore_timer_del(dial_d->update_timer);
- dial_d->update_timer = NULL;
- }
-
- if (dial_d->is_background)
- {
- dial_d->data_dirty_flag |= LOG_DATA_CHAGNED;
- dial_d->update_timer = ecore_timer_add(3.0, ph_dialer_reload_data, dial_d);
- }
- else
- ph_dialer_search_request(dial_d, TRUE);
- }
-}
-
-static void dialer_view_delete_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- p_retm_if(NULL == dial_d, "dial_d is null");
-
- int err = contacts_db_remove_changed_cb(_contacts_person._uri, dialer_contact_data_changed_cb, dial_d);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_remove_changed_cb() Failed(%d)", err);
- err = contacts_db_remove_changed_cb(_contacts_phone_log._uri, dialer_log_data_changed_cb, dial_d);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_remove_changed_cb() Failed(%d)", err);
- err = contacts_db_remove_changed_cb(_contacts_speeddial._uri, dialer_speeddial_data_changed_cb, dial_d);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_remove_changed_cb() Failed(%d)", err);
-
- ph_dialer_util_del_all_number(dial_d);
-
- if (dial_d->t_info)
- dialer_clear_thread(dial_d);
-
- if (dial_d->search_idler)
- ecore_idler_del(dial_d->search_idler);
-
- if (dial_d->popup)
- evas_object_del(dial_d->popup);
-
- if (dial_d->m_Menu)
- evas_object_del(dial_d->m_Menu);
-
- if (dial_d->m_ContextMenu)
- evas_object_del(dial_d->m_ContextMenu);
-
- if (dial_d->job)
- ecore_job_del(dial_d->job);
-
- if (dial_d->search_timer)
- ecore_timer_del(dial_d->search_timer);
-
- if (dial_d->dash_timer)
- ecore_timer_del(dial_d->dash_timer);
-
- if (dial_d->longpress_timer)
- ecore_timer_del(dial_d->longpress_timer);
-
- if (dial_d->update_timer)
- ecore_timer_del(dial_d->update_timer);
-
- if (dial_d->slide_timer)
- ecore_timer_del(dial_d->slide_timer);
-
- touchManager.stopTimer();
-
- if (dial_d->key_press)
- ecore_event_handler_del(dial_d->key_press);
-
- if (dial_d->key_release)
- ecore_event_handler_del(dial_d->key_release);
-
- feedback_deinitialize();
-
- if (dial_d->th)
- {
- elm_theme_extension_del(dial_d->th, DIALER_THEME_EDJ);
- elm_theme_free(dial_d->th);
- }
-
- phone_free_speeddial_data(dial_d->speeddial_list);
- phone_free_contacts(dial_d->contact_list);
-
- free(dial_d->longpress_source);
- free(dial_d->searched_text);
- free(dial_d);
- }
-}
-#ifdef _ADJUST_FONTSIZE
-static void dialer_entry_font_check(Evas_Object *entry, ph_dialer_data *dial_d, char *text, int pos)
-{
- PH_TRACE;
- static int status = 0;
- Ecore_X_Window win;
- int size;
- int win_width;
- int max_width;
- int entry_width;
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- int size_interval = 3;
-
- win = ecore_x_window_root_get(ecore_x_window_focus_get());
- ecore_x_window_size_get(win, &win_width, NULL);
- evas_object_size_hint_min_get(entry, &entry_width, NULL);
- max_width = win_width - 142;
-
- size = dial_d->entry_font_size;
-// PH_DBG("BEFORE: fontsize : %d, max_width : %d, entry_width : %d", size, max_width, entry_width);
- if (max_width < entry_width)
- {
- if (MIN_DIAL_NUMBER_FONT_SIZE < size)
- {
- size -= size_interval;
- snprintf(buf, sizeof(buf), PH_DIALER_ENTRY_DEFAULT_STYLE, size, text);
- status = -1;
- dial_d->entry_font_size = size;
- elm_entry_entry_set(dial_d->entry, buf);
-// PH_DBG("####### elm_entry_entry_set, %s", buf);
- elm_entry_cursor_pos_set(dial_d->entry, pos);
- }
- }
- else if (entry_width < max_width)
- {
- if (status == -1)
- {
- status = 0;
- return;
- }
- if (size < MAX_DIAL_NUMBER_FONT_SIZE)
- {
- size += size_interval;
- snprintf(buf, sizeof(buf), PH_DIALER_ENTRY_DEFAULT_STYLE, size, text);
- status = 1;
- dial_d->entry_font_size = size;
- elm_entry_entry_set(dial_d->entry, buf);
- elm_entry_cursor_pos_set(dial_d->entry, pos);
- }
- }
- else
- status = 0;
-// evas_object_size_hint_min_get(entry, &entry_width, NULL);
-// PH_DBG("AFTER: fontsize : %d, max_width : %d, entry_width : %d", size, max_width, entry_width);
-}
-#endif
-
-static int dialer_include_zero_space(char *text)
-{
- PH_TRACE;
- int len;
- int i;
-
- p_retv_if(NULL == text, -1);
-
- len = strlen(text);
- for (i = 0; i < len - 2; i++)
- {
- if (text[i] == (char) 0xe2 && text[i + 1] == (char) 0x80 && text[i + 2] == (char) 0x8b)
- return i;
- }
- return -1;
-}
-
-static int dialer_trim_dash_from_numstr(char *src, char *dest_buf, int buf_size, int cursor)
-{
- PH_TRACE;
- int number_index = 0;
- int scan_index = 0;
- int zero_pos;
-
- p_retvm_if(NULL == src || '\0' == *src, -1, "src is NULL");
- p_retvm_if(NULL == dest_buf, -1, "dest_buf is NULL");
-
- zero_pos = dialer_include_zero_space(src);
-
- while (src[scan_index] && number_index < buf_size)
- {
- if (scan_index == zero_pos)
- {
- scan_index += 3;
- if (number_index < cursor) cursor--;
- continue;
- }
- if (!ph_dialer_util_is_dash(src[scan_index]))
- dest_buf[number_index++] = src[scan_index];
- else if (number_index < cursor)
- cursor--;
- scan_index++;
- }
- dest_buf[number_index] = '\0';
- return cursor;
-}
-
-static void dialer_entry_text_changed(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- int pos, cursor;
- char node_text[PH_TEXT_MAX_LEN] = { 0 };
- char entry_text[PH_TEXT_MAX_LEN] = { 0 };
- const char *org;
- char *text;
- int differ = 0;
-
- org = elm_entry_entry_get(obj);
- p_retm_if(NULL == org, "entry text is null");
- text = elm_entry_markup_to_utf8(org);
-
- // set text when cut/copy/paste
- ph_dialer_util_get_pure_numstr_with_plus(dial_d, node_text);
- pos = elm_entry_cursor_pos_get(dial_d->entry);
- cursor = dialer_trim_dash_from_numstr(text, entry_text, sizeof(entry_text), pos);
- differ = strcmp(node_text, entry_text);
-
- if (0 <= dialer_include_zero_space(text) && strlen(text) == 3 && 0 == differ)
- {
- free(text);
- return;
- }
-
- const char* endtag = strstr(org, PH_DIALER_ENTRY_STYLE_END_TAG);
- if (0 != differ || (endtag && endtag[3] != '\0'))
- {
- PH_DBG("update entry");
- ph_dialer_util_append_node_from_numstr(dial_d, entry_text);
- dial_d->number_cursor = ph_dialer_util_get_node_by_index(dial_d, cursor);
- ph_dialer_util_add_dashes(dial_d, DASH_REAL);
- ph_dialer_util_get_numstr_from_node(dial_d, node_text);
- ph_dialer_entry_set_number(*dial_d, node_text, 0);
- ph_dialer_search_request(dial_d, FALSE);
- free(text);
- return;
- }
-
-#ifdef _ADJUST_FONTSIZE
- if (NULL == strstr(org, "font_size"))
- {
- if (MAX_DIAL_NUMBER_FONT_SIZE == dial_d->entry_font_size)
- dial_d->entry_font_size--;
- else if (MIN_DIAL_NUMBER_FONT_SIZE == dial_d->entry_font_size)
- dial_d->entry_font_size++;
- }
- PH_DBG("dial_d->entry_font_size : %d", dial_d->entry_font_size);
- dialer_entry_font_check(obj, dial_d, text, pos);
-#endif
-
- free(text);
- return;
- }
-}
-
-static void dialer_create_entry(ph_dialer_data &dial_d)
-{
- PH_TRACE;
- Evas_Object *scroller;
- Evas_Object *entry;
-
- scroller = elm_scroller_add(dial_d.layout);
- elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_FALSE);
- elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- elm_scroller_content_min_limit(scroller, EINA_FALSE, EINA_TRUE);
- elm_object_part_content_set(dial_d.layout, "textblock/textarea", scroller);
-
- entry = elm_entry_add(dial_d.layout);
- elm_entry_single_line_set(entry, EINA_TRUE);
- elm_entry_editable_set(entry, EINA_TRUE);
- elm_entry_magnifier_disabled_set(entry, EINA_TRUE);
- elm_entry_input_panel_enabled_set(entry, EINA_FALSE);
- evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_content_set(scroller, entry);
- dial_d.entry = entry;
-
- evas_object_smart_callback_add(entry, "selection,changed", dialer_entry_selection_changed, &dial_d);
- evas_object_smart_callback_add(entry, "cursor,changed", dialer_entry_cursor_changed, &dial_d);
- evas_object_smart_callback_add(entry, "changed", dialer_entry_text_changed, &dial_d);
- evas_object_event_callback_add(entry, EVAS_CALLBACK_MOUSE_DOWN, dialer_entry_mouse_down, &dial_d);
- evas_object_event_callback_add(entry, EVAS_CALLBACK_MOUSE_UP, dialer_entry_mouse_up, &dial_d);
-}
-
-static void dialer_entry_number_init(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
-
- p_retm_if(PH_DAILER_EMERGENCY == dial_d->run_mode, "It is Emergency mode");
-
- char *buf;
- int value = FALSE;
- char num[PH_TEXT_MAX_LEN] = { 0 };
- int ret __attribute__ ((unused)) = vconf_get_bool(VCONFKEY_CISSAPPL_PREFIX_DIAL_BOOL, &value);
- if (dial_d->searched_text)
- {
- ph_dialer_util_append_node_from_numstr_with_strip(dial_d, dial_d->searched_text);
- ph_dialer_util_add_dashes(dial_d, DASH_REAL);
- ph_dialer_util_get_numstr_from_node(dial_d, num);
- ph_dialer_entry_set_number(*dial_d, num, CURSOR_END);
- ph_dialer_search_request(dial_d, TRUE);
- }
- else if (value == TRUE)
- {
- ret = vconf_get_int(VCONFKEY_CISSAPPL_PREFIX_DIAL_VALUE_INT, &value);
- PH_DBG("prefix dial index: %d", value);
- buf = NULL;
- switch (value)
- {
- case 0: buf = vconf_get_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM1_STR); break;
- case 1: buf = vconf_get_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM2_STR); break;
- case 2: buf = vconf_get_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM3_STR); break;
- case 3: buf = vconf_get_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM4_STR); break;
- case 4: buf = vconf_get_str(VCONFKEY_CISSAPPL_PREFIX_DIAL_NUM5_STR); break;
- default: PH_DBG("wrong prefix index(%d)", value); break;
- }
-
- if (buf && *buf)
- {
- ph_dialer_util_append_node_from_numstr_with_strip(dial_d, buf);
- ph_dialer_util_add_dashes(dial_d, DASH_REAL);
- ph_dialer_util_get_numstr_from_node(dial_d, num);
- ph_dialer_entry_set_number(*dial_d, num, CURSOR_END);
- ph_dialer_search_request(dial_d, FALSE);
- free(buf);
- }
- }
- else
- dialer_entry_set_number_noresize(dial_d, "");
- dial_d->initialized = TRUE;
- }
-}
-
-static void dialer_menu_btn_cb(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- dialer_number_options_popup(dial_d);
- }
-}
-
-static void dialer_lazy_init(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- dialer_create_index(*dial_d);
- dialer_create_entry(*dial_d);
- dial_d->entry_font_size = MAX_DIAL_NUMBER_FONT_SIZE;
- dial_d->number_cursor = &(dial_d->number_head);
-
- feedback_initialize();
-
- edje_object_signal_callback_add(_EDJ(dial_d->layout), "pad_clicked", "*", dialer_keypad_clicked, dial_d);
- edje_object_signal_callback_add(_EDJ(dial_d->layout), "pad_down", "*", dialer_keypad_down, dial_d);
- edje_object_signal_callback_add(_EDJ(dial_d->layout), "pad_up", "*", dialer_keypad_up, dial_d);
- edje_object_signal_callback_add(_EDJ(dial_d->layout), "softkey_clicked", "*", dialer_softkey_clicked, dial_d);
- edje_object_signal_callback_add(_EDJ(dial_d->layout), "softkey_up", "*", dialer_softkey_up, dial_d);
- edje_object_signal_callback_add(_EDJ(dial_d->layout), "softkey_down", "*", dialer_softkey_down, dial_d);
-
- touchManager.initKeyPadArea(dial_d->layout);
-
- int count = 0;
- dial_d->speeddial_list = phone_load_speeddial_data(&count);
- dial_d->job = ecore_job_add(dialer_entry_number_init, dial_d);
-
- if(!dial_d->is_emergency)
- {
- if(!dial_d->m_Search->initialize(dial_d))
- {
- ERR("Search controller initialization failed");
- }
- }
- }
-}
-
-static void dialer_layout_flush_post_cb(void *data, Evas *e, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- if (evas_object_visible_get(dial_d->layout))
- {
- evas_event_callback_del(evas_object_evas_get(dial_d->layout), EVAS_CALLBACK_RENDER_FLUSH_POST, dialer_layout_flush_post_cb);
- dial_d->job = ecore_job_add(dialer_lazy_init, dial_d);
- }
- }
-}
-
-static void dialer_mousedown(void *data, Evas *evas, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- Evas_Event_Mouse_Up *ev = (Evas_Event_Mouse_Up *) event_info;
- dial_d->touch_x = ev->canvas.x;
- dial_d->touch_y = ev->canvas.y;
- }
-}
-
-static Eina_Bool _key_release_cb(void *data, int type, void *event)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- p_retvm_if(dial_d == NULL, false, "dial_d is NULL");
- p_retvm_if(dial_d->is_background == TRUE, false, "Dialer is not on top");
- p_retvm_if(dial_d->child_ug != NULL, false, "child UG is exist.");
- p_retvm_if(elm_object_focus_get(dial_d->entry)== TRUE, false, "Focus already has been set on entry.");
-
- Evas_Event_Key_Up *ev = (Evas_Event_Key_Up *) event;
- if (!ev)
- {
- PH_DBG("Invalid event object");
- return ECORE_CALLBACK_RENEW;
- }
- PH_DBG("%d type / %s released.", type, ev->keyname);
-
- if (dial_d->longpress_timer)
- {
- ecore_timer_del(dial_d->longpress_timer);
- dial_d->longpress_timer = NULL;
- }
-
- return ECORE_CALLBACK_RENEW;
- }
- return false;
-}
-
-static Eina_Bool _key_press_cb(void* data, int type, void* event)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( data );
- p_retvm_if(dial_d == NULL, false, "dial_d is NULL");
- p_retvm_if(dial_d->is_background == TRUE, false, "Dialer is not on top");
- p_retvm_if(dial_d->child_ug != NULL, false, "child UG is exist.");
- p_retvm_if(elm_object_focus_get(dial_d->entry)== TRUE, false, "Focus already has been set on entry.");
-
- Evas_Event_Key_Down *ev = (Evas_Event_Key_Down *) event;
- if (!ev)
- {
- PH_DBG("Invalid event object");
- return ECORE_CALLBACK_RENEW;
- }
- PH_DBG("%d type / %s pressed", type, ev->keyname);
-
- if (!strcmp(ev->keyname, "Return") || !strcmp(ev->keyname, "Phone"))
- {
- edje_object_signal_emit(_EDJ(dial_d->layout), "softkey_clicked", "call");
- }
- else if (!strcmp(ev->keyname, "BackSpace"))
- {
- edje_object_signal_emit(_EDJ(dial_d->layout), "softkey_down", backspaceButton);
- }
- else if (ev->keyname[0] >= '0' && ev->keyname[0] <= '9')
- {
- const Evas_Modifier *mods = evas_key_modifier_get( evas_object_evas_get(dial_d->layout));
- if (evas_key_modifier_is_set(mods, "Shift"))
- {
- if (ev->keyname[0] == '3')
- edje_object_signal_emit(_EDJ(dial_d->layout), "pad_down", "#");
- else if (ev->keyname[0] == '8')
- edje_object_signal_emit(_EDJ(dial_d->layout), "pad_down", "*");
- }
- else
- edje_object_signal_emit(_EDJ(dial_d->layout), "pad_down", ev->keyname);
- }
-
- return ECORE_CALLBACK_RENEW;
- }
- return false;
-}
-
-int ph_dialer_create_content(ph_dialer_data *dial_d)
-{
- PH_TRACE;
- assert(dial_d);
-
- if (NULL != dial_d)
- {
- dial_d->layout = elm_layout_add(dial_d->navi);
- p_retvm_if(NULL == dial_d->layout, 0, "elm_layout_add() Failed");
- elm_layout_file_set(dial_d->layout, DIALER_EDJ, "dialer/main");
- evas_object_size_hint_weight_set(dial_d->layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_event_callback_add(dial_d->layout, EVAS_CALLBACK_MOUSE_DOWN, dialer_mousedown, dial_d);
-
- ph_dialer_util_setup_run_mode(*dial_d);
-
- edje_object_signal_emit(_EDJ(dial_d->layout), "main/default", "main");
-
- evas_object_data_set(dial_d->layout, KEY_DIALER_DATA, dial_d);
-
- PH_DBG("run_mode(before emit):%d", dial_d->run_mode);
- if (PH_DAILER_NORMAL != dial_d->run_mode)
- {
- if (PH_DAILER_EMERGENCY == dial_d->run_mode)
- {
- edje_object_part_text_set(_EDJ(dial_d->layout), "return_btn/text", T_(PH_GET_TEXT_BASIC, PHTEXT_PREVIOUS_SCREEN_ABB));
- edje_object_signal_emit(_EDJ(dial_d->layout), "viewobject/entry/show", "viewobject/entry");
- }
- else if (PH_DAILER_DURING_CALL == dial_d->run_mode)
- {
- edje_object_part_text_set(_EDJ(dial_d->layout), "return_btn/text", T_(PH_GET_TEXT_BASIC, PHTEXT_BACK_TO_CALL));
- edje_object_signal_emit(_EDJ(dial_d->layout), "viewobject/entry/show", "viewobject/entry"); //temporalily HIDE for contact search implmentation (kc.jun)
- }
- edje_object_signal_emit(_EDJ(dial_d->layout), "return_btn/default", "return_btn");
- }
- else
- {
- edje_object_signal_emit(_EDJ(dial_d->layout), "return_btn/hide", "return_btn");
- edje_object_signal_emit(_EDJ(dial_d->layout), "softkey/normal", "softkey");
- edje_object_signal_emit(_EDJ(dial_d->layout), "viewobject/entry/show", "viewobject/entry"); //temporalily HIDE for contact search implmentation (kc.jun)
- }
-
- evas_object_event_callback_add(dial_d->layout, EVAS_CALLBACK_DEL, dialer_view_delete_cb, dial_d);
-
- int err = CONTACTS_ERROR_NONE;
-
- err = contacts_db_add_changed_cb(_contacts_person._uri, dialer_contact_data_changed_cb, dial_d);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_add_changed_cb() Failed(%d)", err);
- err = contacts_db_add_changed_cb(_contacts_phone_log._uri, dialer_log_data_changed_cb, dial_d);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_add_changed_cb() Failed(%d)", err);
- err = contacts_db_add_changed_cb(_contacts_speeddial._uri, dialer_speeddial_data_changed_cb, dial_d);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_add_changed_cb() Failed(%d)", err);
-
- evas_event_callback_add(evas_object_evas_get(dial_d->layout), EVAS_CALLBACK_RENDER_FLUSH_POST, dialer_layout_flush_post_cb, dial_d);
-
- dial_d->key_press = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, _key_press_cb, dial_d);
- if (!dial_d->key_press)
- PH_DBG("Failed to register a key down event handler");
- dial_d->key_release = ecore_event_handler_add(ECORE_EVENT_KEY_UP, _key_release_cb, dial_d);
- if (!dial_d->key_release)
- PH_DBG("Failed to register a key up event handler");
-
- dial_d->m_Search = new Phone::Dialer::Search::Controller();
-
- return 1;
- }
- return 0;
-}
-
-API void phone_dialer_set_navi(Evas_Object *layout)
-{
- PH_TRACE;
- assert(layout);
- if (NULL != layout)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( evas_object_data_get(layout, KEY_DIALER_DATA) );
- p_retm_if(NULL == dial_d, "dialer data is null");
-
- Elm_Object_Item *navi_it;
- navi_it = elm_naviframe_bottom_item_get(dial_d->navi);
-
- phone_navi_item_reset(navi_it, dial_d);
-
- if (!dial_d->is_emergency)
- {
- dial_d->menu_cb = dialer_menu_btn_cb;
- }
- }
-}
-
-API void phone_dialer_view_reset(Evas_Object *layout)
-{
- PH_TRACE;
- assert(layout);
- if (NULL != layout)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( evas_object_data_get(layout, KEY_DIALER_DATA) );
- p_retm_if(NULL == dial_d, "dialer data is null");
-
- Elm_Object_Item * item;
-
- if (dial_d->child_ug)
- {
- ug_destroy(dial_d->child_ug);
- dial_d->child_ug = NULL;
- }
-
- item = elm_naviframe_bottom_item_get(dial_d->navi);
- if (elm_naviframe_top_item_get(dial_d->navi) != item)
- elm_naviframe_item_pop_to(item);
- }
-}
-
-API void phone_dialer_view_language_changed(Evas_Object *layout)
-{
- PH_TRACE;
- // TODO: Fixme
-}
-
-API void phone_dialer_check_focus(Evas_Object *layout)
-{
- PH_TRACE;
- ph_dialer_data *dial_d;
-
- dial_d = (ph_dialer_data *) evas_object_data_get(layout, KEY_DIALER_DATA);
- p_retm_if(NULL == dial_d, "dialer data is null");
-
- char *text = elm_entry_markup_to_utf8(elm_entry_entry_get(dial_d->entry));
-
- if (dial_d->has_focus && text && dialer_include_zero_space(text) == -1)
- elm_object_focus_set(dial_d->entry, EINA_TRUE);
- else
- {
- elm_object_focus_set(dial_d->entry, EINA_FALSE);
- dial_d->has_focus = false;
- }
- free(text);
-}
-
-API void phone_dialer_view_resume(Evas_Object *layout)
-{
- PH_TRACE;
- assert(layout);
- if (NULL != layout)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( evas_object_data_get(layout, KEY_DIALER_DATA) );
- p_retm_if(NULL == dial_d, "dialer data is null");
-
- if (!dial_d->initialized)
- dialer_entry_number_init(dial_d);
- }
-}
-
-API void phone_dialer_view_set_num(Evas_Object *layout, char *number)
-{
- PH_TRACE;
- assert(layout);
- if (NULL != layout)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( evas_object_data_get(layout, KEY_DIALER_DATA) );
- p_retm_if(NULL == dial_d, "dialer data is null");
-
- char dest[PH_TEXT_MAX_LEN] = { 0 };
- if (number != NULL)
- {
- if (dial_d->entry)
- {
- ph_dialer_util_append_node_from_numstr_with_strip(dial_d, number);
- ph_dialer_util_add_dashes(dial_d, DASH_REAL);
- ph_dialer_util_get_numstr_from_node(dial_d, dest);
- ph_dialer_entry_set_number(*dial_d, dest, CURSOR_END);
- ph_dialer_search_request(dial_d, FALSE);
- }
- else
- dial_d->searched_text = SAFE_STRDUP(number);
- }
- else
- ph_dialer_util_entry_clear(dial_d);
- }
-}
-
-API void phone_dialer_view_send_key(Evas_Object *layout)
-{
- PH_TRACE;
- assert(layout);
- if (NULL != layout)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( evas_object_data_get(layout, KEY_DIALER_DATA) );
- p_retm_if(NULL == dial_d, "dialer data is null");
-
- dialer_softkey_call_clicked(dial_d, 0);
- }
-}
-
-API void phone_dialer_set_background(Evas_Object *obj, bool is_background)
-{
- PH_TRACE;
- assert(obj);
- if (NULL != obj)
- {
- ph_dialer_data* dial_d = static_cast<ph_dialer_data*>( evas_object_data_get(obj, KEY_DIALER_DATA) );
- p_retm_if(NULL == dial_d, "dialer data is null");
-
- dial_d->is_background = is_background;
- if (dial_d->update_timer)
- {
- ecore_timer_del(dial_d->update_timer);
- dial_d->update_timer = NULL;
- ph_dialer_reload_data(dial_d);
- }
- }
-}
diff --git a/lib/dialer/ph-dialer-view.h b/lib/dialer/ph-dialer-view.h
deleted file mode 100755
index 4b9b957..0000000
--- a/lib/dialer/ph-dialer-view.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PH_DIALER_VIEW_H__
-#define __PH_DIALER_VIEW_H__
-
-enum
-{
- COUNT_BUTTON_CLOSE,
- COUNT_BUTTON_OPEN
-};
-
-typedef enum
-{
- SEARCH_LOG_TYPE,
- SEARCH_SPEEDDIAL_TYPE,
- SEARCH_CONTACT_NUM_TYPE,
- SEARCH_CONTACT_NAME_TYPE,
-} search_type;
-
-#define KEY_DIALER_DATA "dialer_data"
-
-int ph_dialer_create_content(ph_dialer_data *dial_d);
-void ph_dialer_entry_set_number(ph_dialer_data &dial_d, const std::string &orig, int cursor);
-void ph_dialer_update_cnt_btn(ph_dialer_data *dial_d, int count);
-char* ph_dialer_gl_label_get(void *data, Evas_Object *obj, const char *part);
-Evas_Object* ph_dialer_gl_icon_get(void *data, Evas_Object *obj,
- const char *part);
-Eina_Bool ph_dialer_reload_data(void *data);
-void dialer_add_contact(ph_dialer_data *dial_d);
-
-#endif /* __PH_DIALER_VIEW_H__ */
diff --git a/lib/edc/contact_button.edc b/lib/edc/contact_button.edc
deleted file mode 100755
index 7d7e9aa..0000000
--- a/lib/edc/contact_button.edc
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-styles {
- style {
- name: "baseinfo_defaultnumber_textblock_style";
- base: "font=Tizen:style=Bold text_class=tizen color=#FFFFFF ellipsis=0.0 font_size=30 wrap=char";
- }
-}
-collections {
- group {
- name: "elm/button/base/transparency";
- parts {
- part {
- name: "bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- }
- }
- part {
- name: "icon";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- }
- }
- }
- }
- group {
- name: "quick.munu";
- parts {
- part {
- name: "bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "icon";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.5;
- rel1 { relative: 0.0 0.0; to: "bg";}
- rel2 { relative: 1.0 0.5; to: "bg";}
- }
- }
- part {
- name: "elm.text.quick";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.5; to: "bg"; }
- rel2 { relative: 1.0 1.0; to: "bg"; }
- text { style: "baseinfo_defaultnumber_textblock_style";}
- }
- }
- }
- }
-}
-
diff --git a/lib/edc/contacts.edc b/lib/edc/contacts.edc
deleted file mode 100755
index 93f8dfb..0000000
--- a/lib/edc/contacts.edc
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
-#include "list.edc"
-#include "input_theme.edc"
diff --git a/lib/edc/detail_theme.edc b/lib/edc/detail_theme.edc
deleted file mode 100644
index 1b44c8c..0000000
--- a/lib/edc/detail_theme.edc
+++ /dev/null
@@ -1,1732 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#define GENLIST_PART_BG_COLOR_INC 248 246 239 255
-#define GENLIST_PART_LIST_LINE_COLOR_INC 169 169 169 255
-#define GENLIST_DIALOGUE_FONT_SUB_TITLE_COLOR_INC 102 102 102 255
-#define GENLIST_PART_LIST_TEXT_DEFAULT 0 0 0 255
-
-#define IMAGE_PATH "../images/contact_images/"
-#define BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC 138 138
-#define BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC 138 138
-
-#define GENLIST_BASEINFO_PART_BASE(height) \
-part { \
- name: "base"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: 0 height; \
- color: GENLIST_PART_BG_COLOR_INC; \
- } \
-}
-
-#define GENLIST_PART_BASE( param_item_height ) \
-part { \
- name: "base"; \
- type: RECT; \
- repeat_events: 1; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: 0 param_item_height; \
- color: GENLIST_PART_BG_COLOR_INC; \
- } \
-}
-#define GENLIST_PART_BOTTOM_LINE \
-part { \
- name: "bottom_line"; \
- type: RECT; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- min: 0 1; \
- fixed: 0 1; \
- visible: 1; \
- color: GENLIST_PART_LIST_LINE_COLOR_INC; \
- rel1 { \
- relative: 0.0 1.0; \
- offset: 0 -1; \
- } \
- } \
-}
-
-#define GENLIST_PART_PADDING_TOP( param_padding_size ) \
-part { \
- name: "elm.padding.top"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: 0 param_padding_size; \
- fixed: 0 1; \
- visible: 0; \
- rel2.relative: 1.0 0.0; \
- align: 0.0 0.0; \
- } \
-}
-
-#define GENLIST_PART_PADDING_BOTTOM( param_padding_size ) \
-part { \
- name: "elm.padding.bottom"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: 0 param_padding_size; \
- fixed: 0 1; \
- visible: 0; \
- rel1.relative: 0.0 1.0; \
- align: 0.0 1.0; \
- } \
-}
-
-#define GENLIST_PART_PADDING_LEFT( param_padding_size ) \
-part { \
- name: "elm.padding.left"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: param_padding_size 0; \
- fixed: 1 0; \
- visible: 0; \
- rel2.relative: 0.0 1.0; \
- align: 0.0 0.0; \
- } \
-}
-
-#define GENLIST_PART_PADDING_RIGHT( param_padding_size ) \
-part { \
- name: "elm.padding.right"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: param_padding_size 0; \
- fixed: 1 0; \
- visible: 0; \
- rel1.relative: 1.0 0.0; \
- align: 1.0 0.0; \
- } \
-}
-
-styles {
- style {
- name: "baseinfo_defaultnumber_textblock_style";
- base: "font=Tizen:style=Bold text_class=tizen color=#000000 ellipsis=0.0 font_size=44 wrap=char";
- }
- style {
- name: "baseinfo_name_textblock_style";
- base: "font=Tizen:style=Bold text_class=tizen color=#3B73B6 ellipsis=1.0 font_size=56";
- }
- style {
- name: "baseinfo_subname_textblock_style";
- base: "font=Tizen:style=Medium text_class=tizen color=#000000 ellipsis=1.0 font_size=32";
- }
- style {
- name: "activity_textblock_style";
- base: "font=Tizen:style=Medium text_class=tizen color=#000000 ellipsis=0.0 font_size=32 wrap=char";
- }
- style {
- name: "detail_fieldtitle_textblock_style";
- base: "font=Tizen:style=Bold text_class=tizen color=#3B73B6 ellipsis=1.0 font_size=32";
- }
- style {
- name: "detail_field_textblock_style";
- base: "font=Tizen:style=Regular text_class=tizen color=#000000 ellipsis=1.0 font_size=44";
- }
- style {
- name: "detail_fieldtype_textblock_style";
- base: "font=Tizen:style=Bold text_class=tizen color=#808080 ellipsis=1.0 font_size=32";
- }
-}
-collections
-{
- group {
- name: "elm/genlist/item/baseinfo.1text/default";
- alias: "elm/genlist/item_odd/baseinfo.1text/default";
- alias: "elm/genlist/item_compress/baseinfo.1text/default";
- alias: "elm/genlist/item_compress_odd/baseinfo.1text/default";
- alias: "elm/genlist/tree/baseinfo.1text/default";
- alias: "elm/genlist/tree_odd/baseinfo.1text/default";
- alias: "elm/genlist/tree_compress/baseinfo.1text/default";
- alias: "elm/genlist/tree_compress_odd/baseinfo.1text/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text";
-
- parts {
- GENLIST_BASEINFO_PART_BASE(50)
- part {
- name: "elm.text";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; offset: 26 0; to: "base"; }
- rel2 { relative: 1.0 1.0; offset: -26 0 ; to: "base"; }
- text { style: "baseinfo_defaultnumber_textblock_style";}
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/detail.fieldtitle.1text/default";
- alias: "elm/genlist/item_odd/detail.fieldtitle.1text/default";
- alias: "elm/genlist/item_compress/detail.fieldtitle.1text/default";
- alias: "elm/genlist/item_compress_odd/detail.fieldtitle.1text/default";
- alias: "elm/genlist/tree/detail.fieldtitle.1text/default";
- alias: "elm/genlist/tree_odd/detail.fieldtitle.1text/default";
- alias: "elm/genlist/tree_compress/detail.fieldtitle.1text/default";
- alias: "elm/genlist/tree_compress_odd/detail.fieldtitle.1text/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text";
-
- parts {
- GENLIST_BASEINFO_PART_BASE(32)
- part {
- name: "elm.text";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; offset: 26 0; to: "base"; }
- rel2 { relative: 1.0 1.0; offset: -26 0 ; to: "base"; }
- text { style: "detail_fieldtitle_textblock_style";}
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/detail.field.2text/default";
- alias: "elm/genlist/item_odd/detail.field.2text/default";
- alias: "elm/genlist/item_compress/detail.field.2text/default";
- alias: "elm/genlist/item_compress_odd/detail.field.2text/default";
- alias: "elm/genlist/tree/detail.field.2text/default";
- alias: "elm/genlist/tree_odd/detail.field.2text/default";
- alias: "elm/genlist/tree_compress/detail.field.2text/default";
- alias: "elm/genlist/tree_compress_odd/detail.field.2text/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.1 elm.text.2";
-
- parts {
- GENLIST_BASEINFO_PART_BASE(113)
- part {
- name: "elm.text.2";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 1.0 0.0; offset: -176 0; to: "base"; }
- rel2 { relative: 1.0 1.0; offset: -26 0 ; to: "base"; }
- text {
- style: "detail_fieldtype_textblock_style";
- }
- }
- }
- part {
- name: "elm.text.1";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.0 0.0; offset: 26 0; to: "base"; }
- rel2 { relative: 0.0 1.0; offset: -26 0; to: "elm.text.2"; }
- text {
- style: "detail_field_textblock_style";
- }
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/baseinfo.1text.1icon/default";
- alias: "elm/genlist/item_odd/baseinfo.1text.1icon/default";
- alias: "elm/genlist/item_compress/baseinfo.1text.1icon/default";
- alias: "elm/genlist/item_compress_odd/baseinfo.1text.1icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.name";
- data.item: "contents" "elm.icon.favorite elm.icon.block";
- parts {
- GENLIST_BASEINFO_PART_BASE(110)
- part {
- name: "elm.icon.favorite.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- max: 50 50 ;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 55.0/110.0; offset: -76 0; to: "base"; }
- rel2 { relative: 1.0 105.0/110.0; offset: -26 0; to: "base"; }
- }
- }
- part {
- name: "elm.icon.favorite";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 50 50;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1.to: "elm.icon.favorite.rect";
- rel2.to: "elm.icon.favorite.rect";
- }
- }
- part {
- name: "elm.icon.block.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- max: 50 50 ;
- fixed: 1 0;
- align: 1.0 1.0;
- color: 0 0 0 0;
- rel2 { relative: 0.0 1.0; offset:-1 0; to: "elm.icon.favorite"; }
- }
- }
- part {
- name: "elm.icon.block";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 50 50;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1.to: "elm.icon.block.rect";
- rel2.to: "elm.icon.block.rect";
- }
- }
- part {
- name: "elm.text.name";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 42.0/110.0; offset: 26 0; to: "base"; }
- rel2 { relative: 0.0 110.0/110.0; offset: -16 0 ; to: "elm.icon.block"; }
- text {
- style: "baseinfo_name_textblock_style";
- }
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/baseinfo.1text.2icon/default";
- alias: "elm/genlist/item_odd/baseinfo.1text.2icon/default";
- alias: "elm/genlist/item_compress/baseinfo.1text.2icon/default";
- alias: "elm/genlist/item_compress_odd/baseinfo.1text.2icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.name";
- data.item: "contents" "elm.icon.image elm.icon.favorite elm.icon.block";
- parts {
- GENLIST_BASEINFO_PART_BASE(520)
- part {
- name: "elm.icon.image.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 180 0;
- max: 360 360;
- fixed: 1 0;
- align: 0.5 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; offset: 0 50; to: "base"; }
- }
- }
- part {
- name: "elm.icon.image";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "elm.icon.image.rect";
- rel2.to: "elm.icon.image.rect";
- }
- }
- part {
- name: "elm.icon.favorite.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- max: 50 50 ;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 465.0/520.0; offset: -76 0; to: "base"; }
- rel2 { relative: 1.0 515.0/520.0; offset: -26 0; to: "base"; }
- }
- }
- part {
- name: "elm.icon.favorite";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 50 50;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1.to: "elm.icon.favorite.rect";
- rel2.to: "elm.icon.favorite.rect";
- }
- }
- part {
- name: "elm.icon.block.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- max: 50 50 ;
- fixed: 1 0;
- align: 1.0 1.0;
- color: 0 0 0 0;
- rel2 { relative: 0.0 1.0; offset:-1 0; to: "elm.icon.favorite"; }
- }
- }
- part {
- name: "elm.icon.block";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 50 50;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1.to: "elm.icon.block.rect";
- rel2.to: "elm.icon.block.rect";
- }
- }
- part {
- name: "elm.text.name";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 452.0/520.0; offset: 26 0; to: "base"; }
- rel2 { relative: 0.0 1.0; offset: -16 0 ; to: "elm.icon.block"; }
- text {
- style: "baseinfo_name_textblock_style";
- }
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/baseinfo.2text.1icon/default";
- alias: "elm/genlist/item_odd/baseinfo.2text.1icon/default";
- alias: "elm/genlist/item_compress/baseinfo.2text.1icon/default";
- alias: "elm/genlist/item_compress_odd/baseinfo.2text.1icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.name elm.text.subname";
- data.item: "contents" "elm.icon.favorite elm.icon.block";
- parts {
- GENLIST_BASEINFO_PART_BASE(160)
- part {
- name: "elm.icon.favorite.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- max: 50 50 ;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 55.0/160.0; offset: -76 0; to: "base"; }
- rel2 { relative: 1.0 105.0/160.0; offset: -26 0; to: "base"; }
- }
- }
- part {
- name: "elm.icon.favorite";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 50 50;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1.to: "elm.icon.favorite.rect";
- rel2.to: "elm.icon.favorite.rect";
- }
- }
- part {
- name: "elm.icon.block.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- max: 50 50 ;
- fixed: 1 0;
- align: 1.0 1.0;
- color: 0 0 0 0;
- rel2 { relative: 0.0 1.0; offset:-1 0; to: "elm.icon.favorite"; }
- }
- }
- part {
- name: "elm.icon.block";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 50 50;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1.to: "elm.icon.block.rect";
- rel2.to: "elm.icon.block.rect";
- }
- }
- part {
- name: "elm.text.name";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 42.0/160.0; offset: 26 0; to: "base"; }
- rel2 { relative: 0.0 1.0; offset: -16 0 ; to: "elm.icon.block"; }
- text {
- style: "baseinfo_name_textblock_style";
- }
- }
- }
- part {
- name: "elm.text.subname";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 120.0/160.0; offset: 26 0; to: "base"; }
- rel2 { relative: 1.0 160.0/160.0; offset: -26 0; to: "base"; }
- text {
- style: "baseinfo_subname_textblock_style";
- }
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/baseinfo.2text.2icon/default";
- alias: "elm/genlist/item_odd/baseinfo.2text.2icon/default";
- alias: "elm/genlist/item_compress/baseinfo.2text.2icon/default";
- alias: "elm/genlist/item_compress_odd/baseinfo.2text.2icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.name elm.text.subname";
- data.item: "contents" "elm.icon.image elm.icon.favorite elm.icon.block";
- parts {
- GENLIST_BASEINFO_PART_BASE(570)
- part {
- name: "elm.icon.image.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 180 0;
- max: 360 360;
- fixed: 1 0;
- align: 0.5 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; offset: 0 50; to: "base"; }
- }
- }
- part {
- name: "elm.icon.image";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "elm.icon.image.rect";
- rel2.to: "elm.icon.image.rect";
- }
- }
- part {
- name: "elm.icon.favorite.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- max: 50 50 ;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 465.0/570.0; offset: -76 0; to: "base"; }
- rel2 { relative: 1.0 515.0/570.0; offset: -26 0; to: "base"; }
- }
- }
- part {
- name: "elm.icon.favorite";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 50 50;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1.to: "elm.icon.favorite.rect";
- rel2.to: "elm.icon.favorite.rect";
- }
- }
- part {
- name: "elm.icon.block.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- max: 50 50 ;
- fixed: 1 0;
- align: 1.0 1.0;
- color: 0 0 0 0;
- rel2 { relative: 0.0 1.0; offset:-1 0; to: "elm.icon.favorite"; }
- }
- }
- part {
- name: "elm.icon.block";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 50 50;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1.to: "elm.icon.block.rect";
- rel2.to: "elm.icon.block.rect";
- }
- }
- part {
- name: "elm.text.name";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 452.0/570.0; offset: 26 0; to: "base"; }
- rel2 { relative: 0.0 1.0; offset: -16 0 ; to: "elm.icon.block"; }
- text {
- style: "baseinfo_name_textblock_style";
- }
- }
- }
- part {
- name: "elm.text.subname";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 530.0/570.0; offset: 26 0; to: "base"; }
- rel2 { relative: 1.0 570.0/570.0; offset: -26 0; to: "base"; }
- text {
- style: "baseinfo_subname_textblock_style";
- }
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/baseinfo.3text.1icon/default";
- alias: "elm/genlist/item_odd/baseinfo.3text.1icon/default";
- alias: "elm/genlist/item_compress/baseinfo.3text.1icon/default";
- alias: "elm/genlist/item_compress_odd/baseinfo.3text.1icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.name elm.text.subname elm.text.subname2";
- data.item: "contents" "elm.icon.favorite elm.icon.block";
- parts {
- GENLIST_BASEINFO_PART_BASE(210)
- part {
- name: "elm.icon.favorite.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- max: 50 50 ;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 55.0/210.0; offset: -76 0; to: "base"; }
- rel2 { relative: 1.0 105.0/210.0; offset: -26 0; to: "base"; }
- }
- }
- part {
- name: "elm.icon.favorite";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 50 50;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1.to: "elm.icon.favorite.rect";
- rel2.to: "elm.icon.favorite.rect";
- }
- }
- part {
- name: "elm.icon.block.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- max: 50 50 ;
- fixed: 1 0;
- align: 1.0 1.0;
- color: 0 0 0 0;
- rel2 { relative: 0.0 1.0; offset:-1 0; to: "elm.icon.favorite"; }
- }
- }
- part {
- name: "elm.icon.block";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 50 50;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1.to: "elm.icon.block.rect";
- rel2.to: "elm.icon.block.rect";
- }
- }
- part {
- name: "elm.text.name";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 42.0/210.0; offset: 26 0; to: "base"; }
- rel2 { relative: 0.0 1.0; offset: -16 0 ; to: "elm.icon.block"; }
- text {
- style: "baseinfo_name_textblock_style";
- }
- }
- }
- part {
- name: "elm.text.subname";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 120.0/210.0; offset: 26 0; to: "base"; }
- rel2 { relative: 1.0 160.0/210.0; offset: -26 0; to: "base"; }
- text {
- style: "baseinfo_subname_textblock_style";
- }
- }
- }
- part {
- name: "elm.text.subname2";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 160.0/210.0; offset: 26 0; to: "base"; }
- rel2 { relative: 1.0 210.0/210.0; offset: -26 0; to: "base"; }
- text {
- style: "baseinfo_subname_textblock_style";
- }
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/baseinfo.3text.2icon/default";
- alias: "elm/genlist/item_odd/baseinfo.3text.2icon/default";
- alias: "elm/genlist/item_compress/baseinfo.3text.2icon/default";
- alias: "elm/genlist/item_compress_odd/baseinfo.3text.2icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.name elm.text.subname elm.text.subname2";
- data.item: "contents" "elm.icon.image elm.icon.favorite elm.icon.block";
- parts {
- GENLIST_BASEINFO_PART_BASE(620)
- part {
- name: "elm.icon.image.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 180 0;
- max: 360 360;
- fixed: 1 0;
- align: 0.5 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; offset: 0 50; to: "base"; }
- }
- }
- part {
- name: "elm.icon.image";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "elm.icon.image.rect";
- rel2.to: "elm.icon.image.rect";
- }
- }
- part {
- name: "elm.icon.favorite.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- max: 50 50 ;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 465.0/620.0; offset: -76 0; to: "base"; }
- rel2 { relative: 1.0 515.0/620.0; offset: -26 0; to: "base"; }
- }
- }
- part {
- name: "elm.icon.favorite";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 50 50;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1.to: "elm.icon.favorite.rect";
- rel2.to: "elm.icon.favorite.rect";
- }
- }
- part {
- name: "elm.icon.block.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- max: 50 50 ;
- fixed: 1 0;
- align: 1.0 1.0;
- color: 0 0 0 0;
- rel2 { relative: 0.0 1.0; offset:-1 0; to: "elm.icon.favorite"; }
- }
- }
- part {
- name: "elm.icon.block";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 50 50;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1.to: "elm.icon.block.rect";
- rel2.to: "elm.icon.block.rect";
- }
- }
- part {
- name: "elm.text.name";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 452.0/620.0; offset: 26 0; to: "base"; }
- rel2 { relative: 0.0 1.0; offset: -16 0 ; to: "elm.icon.block"; }
- text {
- style: "baseinfo_name_textblock_style";
- }
- }
- }
- part {
- name: "elm.text.subname";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 530.0/620.0; offset: 26 0; to: "base"; }
- rel2 { relative: 1.0 570.0/620.0; offset: -26 0; to: "base"; }
- text {
- style: "baseinfo_subname_textblock_style";
- }
- }
- }
- part {
- name: "elm.text.subname2";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 570.0/620.0; offset: 26 0; to: "base"; }
- rel2 { relative: 1.0 620.0/620.0; offset: -26 0; to: "base"; }
- text {
- style: "baseinfo_subname_textblock_style";
- }
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/detail.title/default";
- alias: "elm/genlist/item_odd/detail.title/default";
- alias: "elm/genlist/item_compress/detail.title/default";
- alias: "elm/genlist/item_compress_odd/detail.title/default";
- data.item: "stacking" "above";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text";
- parts {
- GENLIST_BASEINFO_PART_BASE(77);
- part {
- name: "elm.text";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GENLIST_DIALOGUE_FONT_SUB_TITLE_COLOR_INC;
- text {
- font: "Tizen:style=Medium";
- text_class: "tizen";
- size: 28;
- min: 0 1;
- align: 0.0 1.0;
- }
- rel1 { offset: 10 0; }
- rel2 { offset: -10 -10; }
- }
- }
- }
- }
-
- group {
- name: "elm/genlist/item/detail.3icon/default";
- alias: "elm/genlist/item_odd/detail.3icon/default";
- alias: "elm/genlist/item_compress/detail.3icon/default";
- alias: "elm/genlist/item_compress_odd/detail.3icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "contents" "elm.icon.1.bg elm.icon.2.bg elm.icon.3.bg elm.icon.1 elm.icon.2 elm.icon.3";
- parts {
- GENLIST_BASEINFO_PART_BASE(222);
- part {
- name: "elm.icon.1.bg";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min:0 0;
- max:138 138;
- fixed: 1 0;
- align: 0.0 0.5;
- rel1 { relative: 0.0 0.0; offset: 38 0; to: "base"; }
- }
- }
- part {
- name: "elm.icon.2.bg";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 69 0;
- max:138 138;
- fixed: 1 0;
- align: 0.5 0.5;
- rel1 { relative: 0.0 0.0; offset: 0 0; to: "base"; }
- }
- }
- part {
- type: SWALLOW;
- name: "elm.icon.3.bg";
- scale:1 ;
- description {
- state: "default" 0.0;
- max: 138 138;
- fixed:1 0;
- align: 1.0 0.0;
- rel1 { relative: 1.0 42.0/222.0; offset: -176 0; to: "base"; }
- rel2 { relative: 1.0 180.0/222.0; offset: -38 0; to: "base"; }
- }
- }
- part {
- name: "elm.icon.1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min:138 138;
- max:138 138;
- fixed: 1 1;
- align: 0.5 1.0;
- rel1 { relative: 0.0 1.0;to: "elm.icon.1.bg"; }
- rel2 { relative: 1.0 1.0;to: "elm.icon.1.bg"; }
- }
- }
- part {
- name: "elm.icon.2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min:138 138;
- max:138 138;
- fixed: 1 1;
- align: 0.5 1.0;
- rel1 { relative: 0.0 1.0;to: "elm.icon.2.bg"; }
- rel2 { relative: 1.0 1.0;to: "elm.icon.2.bg"; }
- }
- }
- part {
- type: SWALLOW;
- name: "elm.icon.3";
- scale:1 ;
- description {
- state: "default" 0.0;
- min:138 138;
- max:138 138;
- fixed: 1 1;
- align: 0.5 1.0;
- rel1 { relative: 0.0 1.0;to: "elm.icon.3.bg"; }
- rel2 { relative: 1.0 1.0;to: "elm.icon.3.bg"; }
- }
- }
- }
- }
-
- group {
- name: "elm/genlist/item/history_list/default";
- alias: "elm/genlist/item_odd/history_list/default";
- alias: "elm/genlist/item_compress/history_list/default";
- alias: "elm/genlist/item_compress_odd/history_list/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.1 elm.text.2 elm.text.3";
- data.item: "contents" "elm.icon.1 elm.icon.2";
- data.item: "flips" "elm.flip.content";
- parts {
- GENLIST_PART_BASE(128)
- GENLIST_PART_BOTTOM_LINE
- GENLIST_PART_PADDING_TOP(10)
- GENLIST_PART_PADDING_BOTTOM(10)
- GENLIST_PART_PADDING_LEFT(16)
- GENLIST_PART_PADDING_RIGHT(16)
- part {
- name: "elm.icon.1";
- clip_to: "disclip";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 32 32;
- max: 32 32;
- fixed: 1 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.left";
- to_y: "elm.text.1";
- }
- rel2 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.bottom";
- }
- align: 0.0 0.5;
- }
- }
- part {
- name: "elm.padding.icon1.right";
- clip_to: "disclip";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 16 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.icon.1";
- }
- rel2.to_x: "elm.icon.1";
- align: 0.0 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.icon.2";
- clip_to: "disclip";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 32 32;
- max: 32 32;
- fixed: 1 1;
- rel1 {
- relative: 0.0 1.0;
- to_x: "elm.padding.right";
- to_y: "elm.padding.top";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.padding.right";
- to_y: "elm.text.1";
- }
- align: 1.0 0.5;
- }
- }
- part {
- name: "elm.padding.icon2.left";
- clip_to: "disclip";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 16 0;
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.0;
- to_x: "elm.icon.2";
- }
- rel2.to_x: "elm.icon.2";
- align: 1.0 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.text.1";
- clip_to: "disclip";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 60;
- fixed: 0 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.top";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.padding.icon2.left";
- to_y: "elm.padding.top";
- }
- align: 0.0 0.0;
- color: GENLIST_PART_LIST_TEXT_DEFAULT;
- text {
- font: "Tizen:style=Roman";
- size: 44;
- min: 0 1;
- align: 0.0 0.5;
- text_class: "list_item";
- }
- }
- }
- part {
- name: "elm.text.2";
- clip_to: "disclip";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.icon1.right";
- to_y: "elm.text.1";
- }
- rel2 {
- relative: 0.8 0.0;
- to_x: "elm.text.1";
- to_y: "elm.padding.bottom";
- }
- color: 68 68 68 255;
- text {
- font: "Tizen:style=Medium";
- size: 32;
- min: 0 1;
- align: 0.0 0.5;
- text_class: "tizen";
- }
- }
- }
- part {
- name: "elm.text.3";
- clip_to: "disclip";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.text.2";
- to_y: "elm.text.1";
- }
- rel2 {
- relative: 0.0 0.0;
- offset: 5 0;
- to_x: "elm.padding.right";
- to_y: "elm.padding.bottom";
- }
- color: 68 68 68 255;
- text {
- font: "Tizen:style=Medium";
- size: 32;
- min: 0 1;
- align: 1.0 0.5;
- text_class: "tizen";
- }
- }
- }
- part {
- name: "disclip";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/activity_list/default";
- alias: "elm/genlist/item_odd/activity_list/default";
- alias: "elm/genlist/item_compress/activity_list/default";
- alias: "elm/genlist/item_compress_odd/activity_list/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.1 elm.text.2";
- data.item: "contents" "elm.icon.1 elm.icon.2";
- data.item: "flips" "elm.flip.content";
- parts {
- GENLIST_PART_BOTTOM_LINE
- GENLIST_PART_PADDING_TOP(10)
- GENLIST_PART_PADDING_BOTTOM(10)
- GENLIST_PART_PADDING_LEFT(16)
- GENLIST_PART_PADDING_RIGHT(16)
- part {
- name: "elm.icon.1";
- clip_to: "disclip";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 32 32;
- max: 32 32;
- fixed: 1 1;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.bottom";
- }
- rel2 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.bottom";
- }
- align: 0.0 1.0;
- }
- }
- part {
- name: "elm.padding.icon1.right";
- clip_to: "disclip";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 16 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.icon.1";
- }
- rel2.to_x: "elm.icon.1";
- align: 0.0 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.padding.icon1.top";
- clip_to: "disclip";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 16;
- fixed: 0 1;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- }
- rel2.to_y: "elm.icon.1";
- align: 0.0 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.icon.2";
- clip_to: "disclip";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 321 321;
- max: 321 321;
- fixed: 1 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.top";
- }
- rel2 {
- relative: 1.0 1.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.top";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "elm.text.2";
- clip_to: "disclip";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.icon1.right";
- to_y: "elm.text.1";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "elm.padding.right";
- to_y: "elm.padding.bottom";
- }
- color: 68 68 68 255;
- text {
- font: "Tizen:style=Medium";
- size: 32;
- min: 0 1;
- align: 0.0 1.0;
- text_class: "tizen";
- }
- }
- }
- part {
- name: "elm.text.1";
- clip_to: "disclip";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.left";
- to_y: "elm.icon.2";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.padding.right";
- to_y: "elm.icon.2";
- }
- align: 0.0 0.0;
- color: GENLIST_PART_LIST_TEXT_DEFAULT;
- text {
- style: "activity_textblock_style";
- min: 0 1;
- align: 0.0 1.0;
- }
- }
- }
- part {
- name: "disclip";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/activity_list_no_img/default";
- alias: "elm/genlist/item_odd/activity_list_no_img/default";
- alias: "elm/genlist/item_compress/activity_list_no_img/default";
- alias: "elm/genlist/item_compress_odd/activity_list_no_img/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.1 elm.text.2";
- data.item: "contents" "elm.icon.1";
- data.item: "flips" "elm.flip.content";
- parts {
- GENLIST_PART_BOTTOM_LINE
- GENLIST_PART_PADDING_TOP(10)
- GENLIST_PART_PADDING_BOTTOM(10)
- GENLIST_PART_PADDING_LEFT(16)
- GENLIST_PART_PADDING_RIGHT(16)
- part {
- name: "elm.icon.1";
- clip_to: "disclip";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 32 32;
- max: 32 32;
- fixed: 1 1;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.bottom";
- }
- rel2 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.bottom";
- }
- align: 0.0 1.0;
- }
- }
- part {
- name: "elm.padding.icon1.right";
- clip_to: "disclip";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 16 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.icon.1";
- }
- rel2.to_x: "elm.icon.1";
- align: 0.0 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.text.2";
- clip_to: "disclip";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.icon1.right";
- to_y: "elm.text.1";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "elm.padding.right";
- to_y: "elm.padding.bottom";
- }
- color: 68 68 68 255;
- text {
- font: "Tizen:style=Medium";
- size: 32;
- min: 0 1;
- align: 0.0 1.0;
- text_class: "tizen";
- }
- }
- }
- part {
- name: "elm.text.1";
- clip_to: "disclip";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.top";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "elm.padding.right";
- to_y: "elm.icon.1";
- }
- color: GENLIST_PART_LIST_TEXT_DEFAULT;
- text {
- style: "activity_textblock_style";
- min: 0 1;
- align: 0.0 1.0;
- }
- }
- }
- part {
- name: "disclip";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/detail.5icon/default";
- alias: "elm/genlist/item_odd/detail.5icon/default";
- alias: "elm/genlist/item_compress/detail.5icon/default";
- alias: "elm/genlist/item_compress_odd/detail.5icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "contents" "elm.icon.1 elm.icon.2 elm.icon.3 elm.icon.4 elm.icon.5";
-
- parts {
- part {
- name: "base";
- type: RECT;
- repeat_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 112;
- }
- }
- part {
- name: "elm.icon.1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min:0 74;
- fixed: 0 1;
- rel1.relative: 0.021 0.5;
- rel2.relative: 0.196 0.5;
- align: 0.5 0.5;
- }
- }
-
- part {
- name: "elm.icon.2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 74;
- fixed: 0 1;
- rel1.relative: 0.218 0.5;
- rel2.relative: 0.392 0.5;
- align: 0.5 0.5;
- }
- }
-
- part {
- name: "elm.icon.3";
- type: SWALLOW;
- scale:1 ;
- description {
- state: "default" 0.0;
- min: 0 74;
- fixed: 0 1;
- rel1.relative: 0.414 0.5;
- rel2.relative: 0.588 0.5;
- align: 0.5 0.5;
- }
- }
- part {
- name: "elm.icon.4";
- type: SWALLOW;
- scale:1 ;
- description {
- state: "default" 0.0;
- min: 0 74;
- fixed: 0 1;
- rel1.relative: 0.61 0.5;
- rel2.relative: 0.783 0.5;
- align: 0.5 0.5;
- }
- }
- part {
- name: "elm.icon.5";
- type: SWALLOW;
- scale:1 ;
- description {
- state: "default" 0.0;
- min: 0 74;
- fixed: 0 1;
- rel1.relative: 0.806 0.5;
- rel2.relative: 0.979 0.5;
- align: 0.5 0.5;
- }
- }
- }
- }
- group { name: "elm/button/base/detail.circle/empty";
- alias: "elm/button/base/detail.circle/empty";
- images {
- image: IMAGE_PATH"C02_circle_button.png" COMP;
- image: IMAGE_PATH"C02_circle_button_press.png" COMP;
- }
- parts {
- part { name: "button_image";
- scale: 1;
- description { state: "default" 0.0;
- min: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
- max: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
- fixed: 1 1;
- image.normal: IMAGE_PATH"C02_circle_button.png";
- }
- description { state: "clicked" 0.0;
- inherit: "default" 0.0;
- image.normal: IMAGE_PATH"C02_circle_button_press.png";
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- image.normal: IMAGE_PATH"C02_circle_button.png";
- }
- }
- part { name: "elm.swallow.content";
- type: SWALLOW;
- clip_to: "icon_clipper";
- scale: 1;
- description { state: "default" 0.0;
- min: BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC;
- max: BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC;
- fixed: 1 1;
- visible: 0;
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description { state: "disabled" 0.0;
- inherit: "visible" 0.0;
- }
- }
- part { name: "icon_clipper";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- }
- description { state: "visible" 0.0;
- }
- description { state: "disabled" 0.0;
- }
- }
- part { name: "over1";
- type: RECT;
- ignore_flags: ON_HOLD;
- description { state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part { name: "over2";
- repeat_events: 1;
- description { state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part { name: "disabler";
- type: RECT;
- description { state: "default" 0.0;
- color: 0 0 0 0;
- visible: 0;
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- }
- programs {
- program { name: "button_click";
- signal: "mouse,down,1";
- source: "over1";
- action: SIGNAL_EMIT "elm,action,press" "";
- after: "button_click_anim";
- }
- program { name: "button_click_anim";
- action: STATE_SET "clicked" 0.0;
- target: "button_image";
- target: "icon_clipper";
- }
- program { name: "touch_snd";
- signal: "mouse,clicked,1";
- source: "over1";
-// action: PLAY_SAMPLE "touch_sound" 1.0;
- after: button_unclick2;
- }
- program { name: "button_unclick2";
- action: SIGNAL_EMIT "elm,action,click" "";
- }
- program { name: "button_unclick";
- signal: "mouse,up,1";
- source: "over2";
- action: SIGNAL_EMIT "elm,action,unpress" "";
- after: "button_unclick_anim";
- }
- program { name: "button_unclick_anim";
- action: STATE_SET "default" 0.0;
- target: "button_image";
- target: "icon_clipper";
- }
- program { name: "disable";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "disabler";
- target: "button_image";
- target: "icon_clipper";
- }
- program { name: "enable";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "disabler";
- target: "button_image";
- target: "icon_clipper";
- }
- program { name: "icon_show";
- signal: "elm,state,icon,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.swallow.content";
- }
- program { name: "icon_hide";
- signal: "elm,state,icon,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.swallow.content";
- }
- }
- }
-}
diff --git a/lib/edc/dialer.edc b/lib/edc/dialer.edc
deleted file mode 100755
index a6ed9fa..0000000
--- a/lib/edc/dialer.edc
+++ /dev/null
@@ -1,1744 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#define MAIN_H (1280)
-#define MAIN_W (720)
-
-#define INDICATOR_H (50)
-#define TABBAR_H (121)
-#define MAIN_H_PURE (MAIN_H-INDICATOR_H-TABBAR_H)
-
-#define KEYPAD_H (785)
-#define KEYPAD_START (MAIN_H_PURE-KEYPAD_H)
-
-#define TEXT_AREA_H (KEYPAD_START)
-#define TEXT_AREA_W (630)
-#define TEXT_ENTRY_H (156)
-
-#define PSEARCH_ITEM_H (140)
-
-#define BUTTON_W (218)
-#define BUTTON_W_PAD (19)
-#define BUTTON_H (130)
-#define BUTTON_H_PRESSED (150)
-#define BUTTON_H_PAD (24)
-#define BTN_1_COL_X (10)
-#define BTN_2_COL_X (BTN_1_COL_X+BUTTON_W+BUTTON_W_PAD)
-#define BTN_3_COL_X (BTN_1_COL_X+(BUTTON_W*2)+(BUTTON_W_PAD*2))
-#define BTN_1_ROW_Y (43)
-#define BTN_2_ROW_Y (BTN_1_ROW_Y+BUTTON_H+BUTTON_H_PAD)
-#define BTN_3_ROW_Y (BTN_2_ROW_Y+BUTTON_H+BUTTON_H_PAD)
-#define BTN_4_ROW_Y (BTN_3_ROW_Y+BUTTON_H+BUTTON_H_PAD)
-#define BTN_5_ROW_Y (BTN_4_ROW_Y+BUTTON_H+23)
-#define KEYPAD_TOP_ICON_W (218)
-#define KEYPAD_TOP_ICON_H (90)
-#define KEYPAD_BTM_ICON_W (50)
-#define KEYPAD_BTM_ICON_H (40)
-#define SOFTKEY_ICON_W (64)
-#define SOFTKEY_ICON_H (64)
-#define SOFTKEY_BTN_H (104)
-#define SOFTKEY_BTN_PAD (24)
-#define SOFTKEY_BTN1_X (36)
-#define SOFTKEY_BTN1_W (180)
-#define SOFTKEY_BTN_W (160)
-#define SOFTKEY_BTN_OFFSET (10)
-#define SOFTKEY_BTN2_X (SOFTKEY_BTN1_X+SOFTKEY_BTN1_W+SOFTKEY_BTN_PAD+KEYPAD_BTM_ICON_H)
-#define SOFTKEY_BTN2_W (240)
-#define SOFTKEY_BTN3_X (SOFTKEY_BTN1_X+SOFTKEY_BTN1_W+SOFTKEY_BTN_PAD+SOFTKEY_BTN2_W+SOFTKEY_BTN_PAD)
-#define SOFTKEY_BTN3_W (SOFTKEY_BTN1_W)
-
-#define SUGGESTION_PART_NORMAL_BG_COLOR 249 249 249 255
-#define SUGGESTION_PART_PRESSED_BG_COLOR 42 137 194 255
-#define SUGGESTION_PART_PRIMARY_COLOR 0 0 64 255
-#define SUGGESTION_PART_SECONDARY_COLOR 96 96 96 255
-
-#define IMAGE_PATH "../images/dialer_images/"
-#define IMAGES "../images/phoneug_images/"
-#define KEYPAD_ANI_TIME 0.03
-
-#define _DBG_OPA (30)
-
-images {
-//NUMBER KEY BUTTON
- image: IMAGE_PATH"keypad/C01-3_keypad_number_00.png" COMP;
- image: IMAGE_PATH"keypad/C01-3_keypad_number_01.png" COMP;
- image: IMAGE_PATH"keypad/C01-3_keypad_number_02.png" COMP;
- image: IMAGE_PATH"keypad/C01-3_keypad_number_03.png" COMP;
- image: IMAGE_PATH"keypad/C01-3_keypad_number_04.png" COMP;
- image: IMAGE_PATH"keypad/C01-3_keypad_number_05.png" COMP;
- image: IMAGE_PATH"keypad/C01-3_keypad_number_06.png" COMP;
- image: IMAGE_PATH"keypad/C01-3_keypad_number_07.png" COMP;
- image: IMAGE_PATH"keypad/C01-3_keypad_number_08.png" COMP;
- image: IMAGE_PATH"keypad/C01-3_keypad_number_09.png" COMP;
- image: IMAGE_PATH"keypad/C01-3_keypad_number_asterisk.png" COMP;
- image: IMAGE_PATH"keypad/C01-3_keypad_number_auto_answer.png" COMP;
- image: IMAGE_PATH"keypad/C01-3_keypad_number_mute.png" COMP;
- image: IMAGE_PATH"keypad/C01-3_keypad_number_sharp.png" COMP;
- image: IMAGE_PATH"C01-3_keypad_bg.png" COMP;
- image: IMAGE_PATH"C01-3_keypad_press.png" COMP;
- image: IMAGE_PATH"C01-3_keypad_bg_reduction.png" COMP;
-
-//SOFT KEY BUTTON
- image: IMAGE_PATH"C01-3_button_01.png" COMP;
- image: IMAGE_PATH"C01-3_button_01_dim.png" COMP;
- image: IMAGE_PATH"C01-3_button_02.png" COMP;
- image: IMAGE_PATH"C01-3_button_02_dim.png" COMP;
- image: IMAGE_PATH"C01-3_dialer_button_01_press.png" COMP;
- image: IMAGE_PATH"C01-3_icon_call.png" COMP;
- image: IMAGE_PATH"C01-3_icon_call_dim.png" COMP;
- image: IMAGE_PATH"C01-3_icon_call_press.png" COMP;
- image: IMAGE_PATH"C01-3_icon_delete.png" COMP;
- image: IMAGE_PATH"C01-3_icon_expand_01.png" COMP;
- image: IMAGE_PATH"C01-3_icon_expand_02.png" COMP;
- image: IMAGE_PATH"C01-3_icon_message.png" COMP;
- image: IMAGE_PATH"C01-3_icon_message_dim.png" COMP;
- image: IMAGE_PATH"C01-3_icon_message_press.png" COMP;
- image: IMAGE_PATH"C01-3_icon_video_call.png" COMP;
- image: IMAGE_PATH"C01-3_icon_video_call_dim.png" COMP;
- image: IMAGE_PATH"C01-3_icon_video_call_press.png" COMP;
-
-//SEARCH BAR
- image: IMAGE_PATH"C01-3_search_bg_01.png" COMP;
- image: IMAGE_PATH"C01-3_search_bg_02.png" COMP;
- image: IMAGE_PATH"C01-3_search_field.png" COMP;
- image: IMAGE_PATH"C01-3_search_icon.png" COMP;
-
-// image: IMAGE_PATH"C01-3_thumbnail_bg.png" COMP; //CONTACT SEARCH LIST
-// image: IMAGE_PATH"C01-3_title_divider.png" COMP; //TABBAR DIVIDER
-
-//SUGGESTION BOX
- image: IMAGE_PATH"C01-3_icon_expand_01.png" COMP;
- image: IMAGES"caller_ID_default_70x70_man.png" COMP;
- image: IMAGE_PATH"C01-3_title_divider.png" COMP;
-}
-
-color_classes {
- color_class {
- name: "color/textblock/bg";
- color: 177 164 150 255;
- }
-}
-
-collections {
- #include "dialer_btn.edc"
- /*****************************************************************************
- * dialer main edc group
- *****************************************************************************/
- group {
- name: "dialer/main";
- styles {
- style
- {
- name: "chapter_text_style";
- base: "style=Regular font="Tizen" linesize=40 font_size=32 color=#81796D valign=top wrap=word";
- tag: "mark" "+ font_weight=Bold color=#0000ff";
- }
- }
-
- parts {
- /*****************************************************************************
- * Main background
- *****************************************************************************/
- part {
- name: "background";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color_class: "color/textblock/bg"; //right below input_field to the end
- }
- }
-
- /*****************************************************************************
- * Entry area
- *****************************************************************************/
- part {
- name: "entry/bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.0 0.0; to: "background";}
- rel2 { relative: 1.0 KEYPAD_START/MAIN_H_PURE; to: "background";}
- }
- }
- part {
- name: "entry/bg/image";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.0 0.0; to: "entry/bg";}
- rel2 { relative: 1.0 1.0; to: "entry/bg";}
- image.normal: IMAGE_PATH"C01-3_search_bg_01.png";
- }
- }
-
- /*****************************************************************************
- * Number Keypad bg
- *****************************************************************************/
- part {
- name: "keypad/bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 KEYPAD_START/MAIN_H_PURE; to: "background";}
- rel2 { relative: 1.0 1.0; to: "background";}
- }
- }
- part {
- name: "keypad/bg/image";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: "keypad/bg";}
- rel2 { relative: 1.0 1.0; to: "keypad/bg";}
- image.normal: IMAGE_PATH"C01-3_keypad_bg.png";
- }
- }
- //Number Keypad swallow
- part {
- name: "keypad/swallow";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.0 0.0; to: "keypad/bg"; }
- rel2 { relative: 1.0 1.0; to: "keypad/bg"; }
- }
- }
-
-
- /*****************************************************************************
- * Softkey button
- *****************************************************************************/
-/***************/
-/**** call btn ****/
-/***************/
- part {
- name: "normal/call";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: (SOFTKEY_BTN2_X-SOFTKEY_BTN_OFFSET)/MAIN_W BTN_5_ROW_Y/KEYPAD_H; to:"keypad/bg";}
- rel2 { relative: (SOFTKEY_BTN2_X+SOFTKEY_BTN_W)/MAIN_W (BTN_5_ROW_Y+SOFTKEY_BTN_H)/KEYPAD_H; to:"keypad/bg";}
- image {
- normal: IMAGE_PATH"C01-3_button_01.png";
- border: 52 52 52 52;
- border_scale: 1;
- }
- }
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: IMAGE_PATH"C01-3_dialer_button_01_press.png";
- }
- description {
- state: "expand_R" 0.0;
- rel1 { relative: (SOFTKEY_BTN2_X-SOFTKEY_BTN_OFFSET)/MAIN_W BTN_5_ROW_Y/KEYPAD_H; to:"keypad/bg";}
- rel2 { relative: (SOFTKEY_BTN2_X+SOFTKEY_BTN_W)/MAIN_W (BTN_5_ROW_Y+SOFTKEY_BTN_H)/KEYPAD_H; to:"keypad/bg";}
- image {
- normal: IMAGE_PATH"C01-3_button_01.png";
- border: 52 52 52 52;
- border_scale: 1;
- }
- }
- description {
- state: "expand_R_pressed" 0.0;
- inherit: "expand_R" 0.0;
- image.normal: IMAGE_PATH"C01-3_dialer_button_01_press.png";
- }
- description {
- state: "expand_L" 0.0;
- rel1 { relative: (SOFTKEY_BTN2_X-SOFTKEY_BTN_OFFSET)/MAIN_W BTN_5_ROW_Y/KEYPAD_H; to:"keypad/bg";}
- rel2 { relative: (SOFTKEY_BTN2_X+SOFTKEY_BTN_W)/MAIN_W (BTN_5_ROW_Y+SOFTKEY_BTN_H)/KEYPAD_H; to:"keypad/bg";}
- image {
- normal: IMAGE_PATH"C01-3_button_01.png";
- border: 52 52 52 52;
- border_scale: 1;
- }
- }
- description {
- state: "expand_L_pressed" 0.0;
- inherit: "expand_L" 0.0;
- image.normal: IMAGE_PATH"C01-3_dialer_button_01_press.png";
- }
- }
- part {
- name: "normal/call_icon";
- type: IMAGE;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: SOFTKEY_ICON_W SOFTKEY_ICON_H;
- fixed: 1 1;
- rel1 { relative: 0.5 0.5; to: "normal/call";}
- rel2 { relative: 0.5 0.5; to: "normal/call";}
- align: 0.5 0.5;
- image.normal: IMAGE_PATH"C01-3_icon_call.png";
- }
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: IMAGE_PATH"C01-3_icon_call_press.png";
- }
- }
-/********************/
-/**** MESSAGE btn ****/
-/********************/
- part {
- name: "normal/message";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: (INDICATOR_H)/MAIN_W BTN_5_ROW_Y/KEYPAD_H; to:"keypad/bg";}
- rel2 { relative: (SOFTKEY_BTN2_W-SOFTKEY_BTN_OFFSET-SOFTKEY_BTN_OFFSET)/MAIN_W (BTN_5_ROW_Y+SOFTKEY_BTN_H)/KEYPAD_H; to:"keypad/bg";}
- image {
- normal: IMAGE_PATH"C01-3_button_02.png";
- border: 52 52 52 52;
- border_scale: 1;
- }
- }
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: IMAGE_PATH"C01-3_dialer_button_01_press.png";
- }
- description {
- state: "hide" 0.0;
- visible: 0;
- }
- }
- part {
- name: "normal/message_icon";
- type: IMAGE;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: SOFTKEY_ICON_W SOFTKEY_ICON_H;
- fixed: 1 1;
- rel1 { relative: 0.5 0.5; to: "normal/message";}
- rel2 { relative: 0.5 0.5; to: "normal/message";}
- align: 0.5 0.5;
- image.normal: IMAGE_PATH"C01-3_icon_message.png";
- }
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: IMAGE_PATH"C01-3_icon_message_press.png";
- }
- description {
- state: "hide" 0.0;
- visible: 0;
- }
- }
-/********************/
-/**** EMERGENCY btn ****/
-/********************/
- part {
- name: "normal/emergency";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: (INDICATOR_H)/MAIN_W BTN_5_ROW_Y/KEYPAD_H; to:"keypad/bg";}
- rel2 { relative: (SOFTKEY_BTN2_W-SOFTKEY_BTN_OFFSET-SOFTKEY_BTN_OFFSET)/MAIN_W (BTN_5_ROW_Y+SOFTKEY_BTN_H)/KEYPAD_H; to:"keypad/bg";}
- image {
- normal: IMAGE_PATH"C01-3_button_02.png";
- border: 52 52 52 52;
- border_scale: 1;
- }
- }
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: IMAGE_PATH"C01-3_dialer_button_01_press.png";
- }
- description {
- state: "hide" 0.0;
- visible: 0;
- }
- }
- part {
- name: "normal/emergency_icon";
- type: IMAGE;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: SOFTKEY_ICON_W SOFTKEY_ICON_H;
- fixed: 1 1;
- rel1 { relative: 0.5 0.5; to: "normal/emergency";}
- rel2 { relative: 0.5 0.5; to: "normal/emergency";}
- align: 0.5 0.5;
- image.normal: IMAGE_PATH"C01-3_icon_message.png";
- }
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: IMAGE_PATH"C01-3_icon_message_press.png";
- }
- description {
- state: "hide" 0.0;
- visible: 0;
- }
- }
-/*******************/
-/**** BackSpace btn ****/
-/*******************/
- part {
- name: "normal/backspace";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: SOFTKEY_BTN3_X/MAIN_W BTN_5_ROW_Y/KEYPAD_H; to:"keypad/bg";}
- rel2 { relative: (SOFTKEY_BTN3_X+SOFTKEY_BTN_W)/MAIN_W (BTN_5_ROW_Y+SOFTKEY_BTN_H)/KEYPAD_H; to:"keypad/bg";}
- image {
- normal: IMAGE_PATH"C01-3_button_02.png";
- border: 52 52 52 52;
- border_scale: 1;
- }
- }
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: IMAGE_PATH"C01-3_dialer_button_01_press.png";
- }
- description {
- state: "hide" 0.0;
- visible: 0;
- }
- }
- part {
- name: "normal/backspace_icon";
- type: IMAGE;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- min: SOFTKEY_ICON_W 40;
- fixed: 1 1;
- rel1 { relative: 0.5 0.5; to: "normal/backspace";}
- rel2 { relative: 0.5 0.5; to: "normal/backspace";}
- align: 0.5 0.5;
- image.normal: IMAGE_PATH"C01-3_icon_delete.png";
- }
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: IMAGE_PATH"C01-3_icon_delete.png";
- }
- description {
- state: "hide" 0.0;
- visible: 0;
- }
- }
-/*****************************************************************************
-* Number Keypad button
-*****************************************************************************/
-#define PART_KEYPAD_TWO_ICON(_TXT, _X_POS, _Y_POS, _TOP_ICON, _BOTTOM_ICON) \
- part { \
- name: _TXT; \
- type: RECT; \
- scale: 1; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- rel1 { relative: _X_POS/MAIN_W _Y_POS/KEYPAD_H; to:"keypad/bg";} \
- rel2 { relative: (_X_POS+BUTTON_W)/MAIN_W (_Y_POS+BUTTON_H)/KEYPAD_H; to:"keypad/bg"; } \
- fixed: 1 1; \
- align: 0.5 0.5; \
- color: 255 0 0 0; \
- visible: 1; \
- } \
- description { \
- state: "hide" 0.0; \
- inherit: "default" 0.0; \
- } \
- } \
- part { \
- name: _TXT"_TOP"; \
- type: IMAGE; \
- scale: 1; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- min: 218 90; \
- fixed: 1 1; \
- rel1 { relative: 0.0 0.0; to: _TXT;} \
- rel2 { relative: 1.0 90/BUTTON_H; to: _TXT;} \
- align: 0.5 0.5; \
- image.normal: _TOP_ICON; \
- } \
- description { \
- state: "pressed" 0.0; \
- inherit: "default" 0.0; \
- image.normal: _TOP_ICON; \
- } \
- description { \
- state: "hide" 0.0; \
- visible: 0; \
- } \
- } \
- part { \
- name: _TXT"_BOTTOM"; \
- type: IMAGE; \
- scale: 0; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- min: 50 40; \
- fixed: 1 1; \
- rel1 { relative: 0.5 90/BUTTON_H; to: _TXT;} \
- rel2 { relative: 0.5 1.0; to: _TXT;} \
- align: 0.5 0.5; \
- image.normal: _BOTTOM_ICON; \
- } \
- description { \
- state: "pressed" 0.0; \
- inherit: "default" 0.0; \
- image.normal: _BOTTOM_ICON; \
- } \
- description { \
- state: "hide" 0.0; \
- visible: 0; \
- } \
- } \
- part { \
- name: _TXT"_BG"; \
- type: IMAGE; \
- scale: 1; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- min: BUTTON_W BUTTON_H_PRESSED; \
- fixed: 1 1; \
- align: 0.5 0.5; \
- rel1 { relative: 0.5 0.5; to:_TXT;} \
- rel2 { relative: 0.5 0.5; to:_TXT;} \
- image { \
- normal: IMAGE_PATH"C01-3_keypad_press.png"; \
- } \
- visible: 0; \
- } \
- description { \
- state: "pressed" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- } \
- description { \
- state: "hide" 0.0; \
- visible: 0; \
- } \
- }
-
-#define PART_KEYPAD_ONE_ICON_ONE_LABEL(_TXT, _X_POS, _Y_POS, _TOP_ICON, _BOTTOM_TEXT) \
- part { \
- name: _TXT; \
- type: RECT; \
- scale: 1; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- fixed: 1 1; \
- rel1 { relative: _X_POS/MAIN_W _Y_POS/KEYPAD_H; to:"keypad/bg";} \
- rel2 { relative: (_X_POS+BUTTON_W)/MAIN_W (_Y_POS+BUTTON_H)/KEYPAD_H; to:"keypad/bg"; } \
- align: 0.5 0.5; \
- color: 0 255 0 0; \
- visible: 1; \
- } \
- description { \
- state: "hide" 0.0; \
- inherit: "default" 0.0; \
- } \
- } \
- part { \
- name: _TXT"_TOP"; \
- type: IMAGE; \
- scale: 1; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- min: 218 90; \
- fixed: 1 1; \
- rel1 { relative: 0.0 0.0; to: _TXT;} \
- rel2 { relative: 1.0 90/BUTTON_H; to: _TXT;} \
- align: 0.5 0.5; \
- image.normal: _TOP_ICON; \
- } \
- description { \
- state: "pressed" 0.0; \
- inherit: "default" 0.0; \
- image.normal: _TOP_ICON; \
- } \
- description { \
- state: "hide" 0.0; \
- visible: 0; \
- } \
- } \
- part { \
- name: _TXT"_BOTTOM"; \
- type: TEXT; \
- scale: 1; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- fixed: 1 1; \
- rel1 { relative: 0.0 90/BUTTON_H; to: _TXT;} \
- rel2 { relative: 1.0 1.0; to: _TXT;} \
- align: 0.5 0.5; \
- color: 145 135 114 255; \
- text { \
- text: _BOTTOM_TEXT; \
- font: "Tizen:style=Regular"; \
- text_class: "tizen"; \
- size: 28; \
- min: 1 1; \
- fit: 1 1; \
- } \
- visible: 1; \
- } \
- description { \
- state: "hide" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
- } \
- } \
- part { \
- name: _TXT"_BG"; \
- type: IMAGE; \
- scale: 1; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- min: BUTTON_W BUTTON_H_PRESSED; \
- fixed: 1 1; \
- align: 0.5 0.5; \
- rel1 { relative: 0.5 0.5; to:_TXT;} \
- rel2 { relative: 0.5 0.5; to:_TXT;} \
- image { \
- normal: IMAGE_PATH"C01-3_keypad_press.png"; \
- } \
- visible: 0; \
- } \
- description { \
- state: "pressed" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- } \
- description { \
- state: "hide" 0.0; \
- visible: 0; \
- } \
- }
-
- PART_KEYPAD_TWO_ICON("1",BTN_1_COL_X, BTN_1_ROW_Y, IMAGE_PATH"keypad/C01-3_keypad_number_01.png", IMAGE_PATH"keypad/C01-3_keypad_number_auto_answer.png")
- PART_KEYPAD_ONE_ICON_ONE_LABEL("2",BTN_2_COL_X, BTN_1_ROW_Y, IMAGE_PATH"keypad/C01-3_keypad_number_02.png", "ABC")
- PART_KEYPAD_ONE_ICON_ONE_LABEL("3",BTN_3_COL_X, BTN_1_ROW_Y, IMAGE_PATH"keypad/C01-3_keypad_number_03.png", "DEF")
-
- PART_KEYPAD_ONE_ICON_ONE_LABEL("4",BTN_1_COL_X, BTN_2_ROW_Y, IMAGE_PATH"keypad/C01-3_keypad_number_04.png", "GHI")
- PART_KEYPAD_ONE_ICON_ONE_LABEL("5",BTN_2_COL_X, BTN_2_ROW_Y, IMAGE_PATH"keypad/C01-3_keypad_number_05.png", "JKL")
- PART_KEYPAD_ONE_ICON_ONE_LABEL("6",BTN_3_COL_X, BTN_2_ROW_Y, IMAGE_PATH"keypad/C01-3_keypad_number_06.png", "MNO")
-
- PART_KEYPAD_ONE_ICON_ONE_LABEL("7",BTN_1_COL_X, BTN_3_ROW_Y, IMAGE_PATH"keypad/C01-3_keypad_number_07.png", "PQRS")
- PART_KEYPAD_ONE_ICON_ONE_LABEL("8",BTN_2_COL_X, BTN_3_ROW_Y, IMAGE_PATH"keypad/C01-3_keypad_number_08.png", "TUV")
- PART_KEYPAD_ONE_ICON_ONE_LABEL("9",BTN_3_COL_X, BTN_3_ROW_Y, IMAGE_PATH"keypad/C01-3_keypad_number_09.png", "WXYZ")
-
- PART_KEYPAD_ONE_ICON_ONE_LABEL("star", BTN_1_COL_X, BTN_4_ROW_Y, IMAGE_PATH"keypad/C01-3_keypad_number_asterisk.png", "P")
- PART_KEYPAD_ONE_ICON_ONE_LABEL("0", BTN_2_COL_X, BTN_4_ROW_Y, IMAGE_PATH"keypad/C01-3_keypad_number_00.png", "+")
- PART_KEYPAD_TWO_ICON("sharp",BTN_3_COL_X, BTN_4_ROW_Y, IMAGE_PATH"keypad/C01-3_keypad_number_sharp.png", IMAGE_PATH"keypad/C01-3_keypad_number_mute.png")
-
-
-/*****************************************************************************
-* "Contact Search" input field
-*****************************************************************************/
- part {
- name: "search/bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: "entry/bg";}
- rel2 { relative: 1.0 TEXT_ENTRY_H/TEXT_AREA_H; to: "entry/bg";}
- align: 0.5 1.0;
- color: 255 0 0 0;
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "search/inputarea/image";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 66;
- fixed: 1 1;
- rel1 { relative: 0.0 0.5; offset: 26+74+10 0; to: "search/bg"; }
- rel2 { relative: 1.0 0.5; offset: -26 0; to: "search/bg"; }
- image{
- border: 8 8 33 33;
- border_scale: 1;
- normal: IMAGE_PATH"C01-3_search_field.png";
- }
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
-
-/* part {
- name: "search/inputarea";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: "search/inputarea/image"; }
- rel2 { relative: 1.0 1.0; to: "search/inputarea/image"; }
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
-*/
- part {
- name: "search/icon";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 74 74;
- fixed: 1 1;
- rel1 { relative: 26/MAIN_W 0.5; to: "search/bg";}
- rel2 { relative: (26+74)/MAIN_W 0.5; to: "search/bg";}
- image.normal: IMAGE_PATH"C01-3_search_icon.png";
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "search/defaulttext";
- type: TEXT;
- scale: 1;
- effect: SHADOW;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; offset: 16 0; to: "search/inputarea/image";}
- rel2 { relative: 1.0 1.0; offset: -16 0; to: "search/inputarea/image";}
- fixed: 1 1;
- align: 0.0 0.5;
- color: 156 159 162 153;
- text {
- text: "Contact Search";
- font: "Tizen:style=Regular";
- text_class: "tizen";
- size: 36;
- min: 1 1;
- fit: 1 1;
- align: 0.0 0.5;
- }
- visible: 1;
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
-
-/*****************************************************************************
-* Entry area
-*****************************************************************************/
- part {
- name: "textblock/bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.0 0.0; to: "entry/bg";}
- rel2 { relative: 1.0 TEXT_ENTRY_H/TEXT_AREA_H; to: "entry/bg";}
- align: 0.5 1.0;
- color: 0 255 0 0;
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "textblock/bg/image";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.0 0.0; to: "textblock/bg";}
- rel2 { relative: 1.0 1.0; to: "textblock/bg";}
- image.normal: IMAGE_PATH"C01-3_search_bg_02.png";
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "textblock/textarea";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 0.0 0.5; offset: 26 0; to: "textblock/bg"; }
- rel2 { relative: 1.0 0.5; offset: -26 0; to: "textblock/bg"; }
- color: 0 0 255 100;
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
-
-/*****************************************************************************
-* Suggestion box
-*****************************************************************************/
- part {
- name: "suggestion";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.05 TEXT_ENTRY_H/TEXT_AREA_H; to: "entry/bg";}
- rel2 { relative: 0.95 0.9; to: "entry/bg";}
- color: SUGGESTION_PART_NORMAL_BG_COLOR;
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description {
- state: "pressed" 0.0;
- inherit: "show" 0.0;
- color: SUGGESTION_PART_PRESSED_BG_COLOR;
- }
- }
- part {
- name: "suggestionListTopItem";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.05 TEXT_ENTRY_H/TEXT_AREA_H; to: "entry/bg";}
- rel2 { relative: 0.95 0.9; to: "entry/bg";}
- color: SUGGESTION_PART_NORMAL_BG_COLOR;
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description {
- state: "pressed" 0.0;
- inherit: "show" 0.0;
- color: SUGGESTION_PART_PRESSED_BG_COLOR;
- }
- }
- part {
- name: "icon";
- type: SWALLOW;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.0 0.0;
- offset: 12 12;
- to: "suggestion";
- }
- rel2 {
- relative: 0.2 1.0;
- offset: -12 -12;
- to: "suggestion";
- }
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "textName";
- type: TEXT;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- color: SUGGESTION_PART_PRIMARY_COLOR;
- rel1 {
- relative: 1.0 0.1;
- offset: 18 2;
- to_x: "icon";
- to_y: "suggestion";
- }
- rel2 {
- relative: 1.0 0.5;
- offset: -2 -2;
- to: "suggestion";
- }
- text {
- font: "Tizen:style=Bold";
- text_class: "tizen";
- size: 25;
- align: 0.0 0.5;
- }
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "textNumber";
- type: TEXTBLOCK;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- color: SUGGESTION_PART_SECONDARY_COLOR;
- align: 0 0;
- rel1 {
- relative: 1.0 0.5;
- offset: 18 0;
- to_x: "icon";
- to_y: "suggestion";
- }
- rel2 {
- relative: 1.0 0.9;
- offset: -2 -2;
- to: "suggestion";
- }
- text {
- style: "chapter_text_style";
- font: "Tizen:style=Bold";
- text_class: "tizen";
- size: 21;
- align: 0.0 0.5;
- }
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "delimeter";
- type: IMAGE;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.8 0.0;
- offset: 0 0;
- to: "suggestion";
- }
- rel2 {
- relative: 0.8 1.0;
- offset: 2 -1;
- to: "suggestion";
- }
- image.normal: IMAGE_PATH"C01-3_title_divider.png";
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "suggestionListButton";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 0.8 0.0;
- offset: 2 0;
- to: "suggestion";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "suggestion";
- }
- color: SUGGESTION_PART_NORMAL_BG_COLOR;
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description {
- state: "pressed" 0.0;
- inherit: "show" 0.0;
- color: SUGGESTION_PART_PRESSED_BG_COLOR;
- }
- }
- part {
- name: "textNumberOfMatches";
- type: TEXT;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- color: SUGGESTION_PART_PRIMARY_COLOR;
- rel1 {
- relative: 0.8 0.1;
- to: "suggestion";
- }
- rel2 {
- relative: 1.0 0.6;
- to: "suggestion";
- }
- text {
- font: "Tizen:style=Bold";
- text_class: "tizen";
- size: 28;
- min: 1 1;
- fit: 1 1;
- align: 0.5 1.0;
- }
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "arrow";
- type: IMAGE;
- scale: 1;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 {
- relative: 0.88 0.6;
- offset: 0 5;
- to: "suggestion";
- }
- rel2 {
- relative: 0.92 0.75;
- to: "suggestion";
- }
- image.normal: IMAGE_PATH"C01-3_icon_expand_01.png";
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- part {
- name: "textAddToContacts";
- type: TEXT;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- color: SUGGESTION_PART_SECONDARY_COLOR;
- align: 0 0;
- rel1 {
- relative: 0.0 0.0;
- to: "suggestion";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "suggestion";
- }
- text {
- font: "Tizen:style=Bold";
- text_class: "tizen";
- size: 28;
- align: 0.5 0.5;
- }
- visible: 0;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
-
- /*****************************************************************************
- * Programs
- *****************************************************************************/
- programs {
- program {
- name: "click_exit";
- source: "background";
- signal: "mouse,clicked,1";
- action: SIGNAL_EMIT "EXIT" "EDJ";
- }
- program {
- name: "prog/viewobject/entry/hide";
- source: "viewobject/entry";
- signal: "viewobject/entry/hide";
- script {
- set_state (PART:"textblock/bg", "default", 0.0);
- set_state (PART:"textblock/bg/image", "default", 0.0);
- set_state (PART:"textblock/textarea", "default", 0.0);
- set_state (PART:"search/bg", "default", 0.0);
- set_state (PART:"search/inputarea/image", "default", 0.0);
-// set_state (PART:"search/inputarea", "default", 0.0);
- set_state (PART:"search/icon", "default", 0.0);
- set_state (PART:"search/defaulttext", "default", 0.0);
- }
- }
-
- program {
- name: "prog/viewobject/entry/show";
- source: "viewobject/entry";
- signal: "viewobject/entry/show";
- script {
- set_state (PART:"search/bg", "hide", 0.0);
- set_state (PART:"search/inputarea/image", "hide", 0.0);
-// set_state (PART:"search/inputarea", "hide", 0.0);
- set_state (PART:"search/icon", "hide", 0.0);
- set_state (PART:"search/defaulttext", "hide", 0.0);
- set_state (PART:"textblock/bg", "show", 0.0);
- set_state (PART:"textblock/bg/image", "show", 0.0);
- set_state (PART:"textblock/textarea", "show", 0.0);
- }
- }
-
- // suggestion box ////////////////////////////////////////////////
- program {
- name: "prog/suggestion/hide";
- source: "suggestion";
- signal: "suggestion/hide";
- script {
- set_state (PART:"suggestion", "default", 0.0);
- set_state (PART:"suggestionListTopItem", "default", 0.0);
- set_state (PART:"icon", "default", 0.0);
- set_state (PART:"textName", "default", 0.0);
- set_state (PART:"textNumber", "default", 0.0);
- set_state (PART:"delimeter", "default", 0.0);
- set_state (PART:"suggestionListButton", "default", 0.0);
- set_state (PART:"textNumberOfMatches", "default", 0.0);
- set_state (PART:"arrow", "default", 0.0);
- set_state (PART:"textAddToContacts", "default", 0.0);
- }
- }
-
- program {
- name: "prog/suggestion/showSingleItemView";
- source: "suggestion";
- signal: "suggestion/showSingleItemView";
- script {
- set_state (PART:"suggestion", "default", 0.0);
- set_state (PART:"suggestionListTopItem", "show", 0.0);
- set_state (PART:"icon", "show", 0.0);
- set_state (PART:"textName", "show", 0.0);
- set_state (PART:"textNumber", "show", 0.0);
- set_state (PART:"delimeter", "default", 0.0);
- set_state (PART:"suggestionListButton", "default", 0.0);
- set_state (PART:"textNumberOfMatches", "default", 0.0);
- set_state (PART:"arrow", "default", 0.0);
- set_state (PART:"textAddToContacts", "default", 0.0);
- }
- }
-
- program {
- name: "prog/suggestion/showMultiItemView";
- source: "suggestion";
- signal: "suggestion/showMultiItemView";
- script {
- set_state (PART:"suggestion", "default", 0.0);
- set_state (PART:"suggestionListTopItem", "show", 0.0);
- set_state (PART:"icon", "show", 0.0);
- set_state (PART:"textName", "show", 0.0);
- set_state (PART:"textNumber", "show", 0.0);
- set_state (PART:"delimeter", "show", 0.0);
- set_state (PART:"suggestionListButton", "show", 0.0);
- set_state (PART:"textNumberOfMatches", "show", 0.0);
- set_state (PART:"arrow", "show", 0.0);
- set_state (PART:"textAddToContacts", "default", 0.0);
- }
- }
-
- program {
- name: "prog/suggestion/showAddToContacts";
- source: "suggestion";
- signal: "suggestion/showAddToContacts";
- script {
- set_state (PART:"suggestion", "show", 0.0);
- set_state (PART:"suggestionListTopItem", "default", 0.0);
- set_state (PART:"icon", "default", 0.0);
- set_state (PART:"textName", "default", 0.0);
- set_state (PART:"textNumber", "default", 0.0);
- set_state (PART:"delimeter", "default", 0.0);
- set_state (PART:"suggestionListButton", "default", 0.0);
- set_state (PART:"textNumberOfMatches", "default", 0.0);
- set_state (PART:"arrow", "default", 0.0);
- set_state (PART:"arrow", "default", 0.0);
- set_state (PART:"textAddToContacts", "show", 0.0);
- }
- }
-
- program {
- name: "down_suggestion";
- signal: "mouse,down,*";
- source: "suggestion";
- script {
- set_state(PART:"suggestion", "pressed", 0.0);
- emit("softkey_down", "suggestion");
- }
- }
- program {
- name: "up_suggestion";
- signal: "mouse,up,1";
- source: "suggestion";
- script {
- set_state(PART:"suggestion", "show", 0.0);
- emit("softkey_up", "suggestion");
- }
- }
-
- program {
- name: "clicked_suggestion";
- signal: "mouse,clicked,1";
- source: "suggestion";
- script {
- emit("softkey_clicked", "suggestion");
- }
- }
-
- program {
- name: "down_suggestionListTopItem";
- signal: "mouse,down,*";
- source: "suggestionListTopItem";
- script {
- set_state(PART:"suggestionListTopItem", "pressed", 0.0);
- emit("softkey_down", "suggestionListTopItem");
- }
- }
- program {
- name: "up_suggestionListTopItem";
- signal: "mouse,up,1";
- source: "suggestionListTopItem";
- script {
- set_state(PART:"suggestionListTopItem", "show", 0.0);
- emit("softkey_up", "suggestionListTopItem");
- }
- }
-
- program {
- name: "clicked_suggestionListTopItem";
- signal: "mouse,clicked,1";
- source: "suggestionListTopItem";
- script {
- emit("softkey_clicked", "suggestionListTopItem");
- }
- }
-
- program {
- name: "down_suggestionListButton";
- signal: "mouse,down,*";
- source: "suggestionListButton";
- script {
- set_state(PART:"suggestionListButton", "pressed", 0.0);
- emit("softkey_down", "suggestionListButton");
- }
- }
- program {
- name: "up_suggestionListButton";
- signal: "mouse,up,1";
- source: "suggestionListButton";
- script {
- set_state(PART:"suggestionListButton", "show", 0.0);
- emit("softkey_up", "suggestionListButton");
- }
- }
-
- program {
- name: "clicked_suggestionListButton";
- signal: "mouse,clicked,1";
- source: "suggestionListButton";
- script {
- emit("softkey_clicked", "suggestionListButton");
- }
- }
-
- /*****************************************************************************
- * Program: Keypad button
- *****************************************************************************/
-#define PROG_KEYPAD(txt) \
- program { \
- name: "down_"txt; \
- signal: "mouse,down,*"; \
- source: txt; \
- script { \
- set_state(PART:txt"_BG", "pressed", 0.0); \
- emit("pad_down", txt); \
- } \
- } \
- program { \
- name: "ani_"txt; \
- signal: "ani"; \
- source: txt; \
- action: STATE_SET "default" 0.0; \
- transition: SINUSOIDAL KEYPAD_ANI_TIME; \
- target: txt; \
- } \
- program { \
- name: "up_"txt; \
- signal: "mouse,up,1"; \
- source: txt; \
- script { \
- emit("pad_up", txt); \
- emit("ani", txt); \
- set_state(PART:txt"_BG", "default", 0.0); \
- } \
- } \
- program { \
- name: "clicked_"txt; \
- signal: "mouse,clicked,1"; \
- source: txt; \
- script { \
- emit("pad_clicked", txt); \
- } \
- } \
- program { \
- name: "hide_"txt; \
- signal: "hide_"txt; \
- source: txt; \
- script { \
- set_state(PART:txt"_TOP", "hide", 0.0); \
- set_state(PART:txt"_BOTTOM", "hide", 0.0); \
- set_state(PART:txt, "hide", 0.0); \
- } \
- } \
- program { \
- name: "show_"txt; \
- signal: "show_"txt; \
- source: txt; \
- script { \
- set_state(PART:txt"_TOP", "default", 0.0); \
- set_state(PART:txt"_BOTTOM", "default", 0.0); \
- set_state(PART:txt, "default", 0.0); \
- } \
- }
-
-#define PROG_KEYPAD_BOTTOM_EFFECT(txt) \
- program { \
- name: "down_"txt; \
- signal: "mouse,down,*"; \
- source: txt; \
- script { \
- set_state(PART:txt, "pressed", 0.0); \
- set_state(PART:txt"_BOTTOM", "pressed", 0.0); \
- emit("pad_down", txt); \
- } \
- } \
- program { \
- name: "ani_"txt; \
- signal: "ani"; \
- source: txt; \
- action: STATE_SET "default" 0.0; \
- transition: SINUSOIDAL KEYPAD_ANI_TIME; \
- target: txt; \
- } \
- program { \
- name: "up_"txt; \
- signal: "mouse,up,1"; \
- source: txt; \
- script { \
- emit("pad_up", txt); \
- emit("ani", txt); \
- set_state(PART:txt"_BOTTOM", "default", 0.0); \
- } \
- } \
- program { \
- name: "clicked_"txt; \
- signal: "mouse,clicked,1"; \
- source: txt; \
- script { \
- emit("pad_clicked", txt); \
- } \
- } \
- program { \
- name: "hide_"txt; \
- signal: "hide_"txt; \
- source: txt; \
- script { \
- set_state(PART:txt"_TOP", "hide", 0.0); \
- set_state(PART:txt"_BOTTOM", "hide", 0.0); \
- set_state(PART:txt, "hide", 0.0); \
- } \
- } \
- program { \
- name: "show_"txt; \
- signal: "show_"txt; \
- source: txt; \
- script { \
- set_state(PART:txt"_TOP", "default", 0.0); \
- set_state(PART:txt"_BOTTOM", "default", 0.0); \
- set_state(PART:txt, "default", 0.0); \
- } \
- }
-
-#define PROG_KEYPAD_TOP_EFFECT(txt) \
- program { \
- name: "down_"txt; \
- signal: "mouse,down,*"; \
- source: txt; \
- script { \
- set_state(PART:txt, "pressed", 0.0); \
- set_state(PART:txt"_TOP", "pressed", 0.0); \
- set_state(PART:txt"_BOTTOM", "pressed", 0.0); \
- emit("pad_down", txt); \
- } \
- } \
- program { \
- name: "ani_"txt; \
- signal: "ani"; \
- source: txt; \
- action: STATE_SET "default" 0.0; \
- transition: SINUSOIDAL KEYPAD_ANI_TIME; \
- target: txt; \
- } \
- program { \
- name: "up_"txt; \
- signal: "mouse,up,1"; \
- source: txt; \
- script { \
- emit("pad_up", txt); \
- emit("ani", txt); \
- set_state(PART:txt"_TOP", "default", 0.0); \
- set_state(PART:txt"_BOTTOM", "default", 0.0); \
- } \
- } \
- program { \
- name: "clicked_"txt; \
- signal: "mouse,clicked,1"; \
- source: txt; \
- script { \
- emit("pad_clicked", txt); \
- } \
- } \
- program { \
- name: "hide_"txt; \
- signal: "hide_"txt; \
- source: txt; \
- script { \
- set_state(PART:txt"_TOP", "hide", 0.0); \
- set_state(PART:txt"_BOTTOM", "hide", 0.0); \
- set_state(PART:txt, "hide", 0.0); \
- } \
- } \
- program { \
- name: "show_"txt; \
- signal: "show_"txt; \
- source: txt; \
- script { \
- set_state(PART:txt"_TOP", "default", 0.0); \
- set_state(PART:txt"_BOTTOM", "default", 0.0); \
- set_state(PART:txt, "default", 0.0); \
- } \
- }
-
- PROG_KEYPAD("1")
- PROG_KEYPAD("2")
- PROG_KEYPAD("3")
- PROG_KEYPAD("4")
- PROG_KEYPAD("5")
- PROG_KEYPAD("6")
- PROG_KEYPAD("7")
- PROG_KEYPAD("8")
- PROG_KEYPAD("9")
- PROG_KEYPAD("star")
- PROG_KEYPAD("0")
- PROG_KEYPAD("sharp")
-
- /*****************************************************************************
- * Program: Softkey button
- *****************************************************************************/
- // call //////////////////////////////////////////////////////////////////////////
- program {
- name: "down_normal/call";
- signal: "mouse,down,*";
- source: "normal/call";
- script {
- new st[30];
- new Float:vl;
- get_state (PART:"normal/call", st, 30, vl);
- if (strcmp(st, "default") == 0) {
- set_state(PART:"normal/call", "pressed", 0.0);
- emit("softkey_down", "normal/call");
- }
- else if (strcmp(st, "expand_R") == 0) {
- set_state(PART:"normal/call", "expand_R_pressed", 0.0);
- emit("softkey_down", "normal/call");
- }
- else if (strcmp(st, "expand_L") == 0) {
- set_state(PART:"normal/call", "expand_L_pressed", 0.0);
- emit("softkey_down", "normal/call");
- }
- set_state(PART:"normal/call_icon", "pressed", 0.0);
- }
- }
- program {
- name: "up_normal/call";
- signal: "mouse,up,1";
- source: "normal/call";
- script {
- new st[30];
- new Float:vl;
- get_state (PART:"normal/call", st, 30, vl);
- if (strcmp(st, "pressed") == 0) {
- set_state(PART:"normal/call", "default", 0.0);
- emit("softkey_up", "normal/call");
- }
- else if (strcmp(st, "expand_R_pressed") == 0) {
- set_state(PART:"normal/call", "expand_R", 0.0);
- emit("softkey_up", "normal/call");
- }
- else if (strcmp(st, "expand_L_pressed") == 0) {
- set_state(PART:"normal/call", "expand_L", 0.0);
- emit("softkey_up", "normal/call");
- }
- set_state(PART:"normal/call_icon", "default", 0.0);
- }
- }
- program {
- name: "clicked_normal/call";
- signal: "mouse,clicked,1";
- source: "normal/call";
- script {
- emit ("viewobject/entry/show", "viewobject/entry");
- emit("softkey_clicked", "normal/call");
- }
- }
-
- // message //////////////////////////////////////////////////////////////////////////
- program {
- name: "down_normal/message";
- signal: "mouse,down,*";
- source: "normal/message";
- script {
- set_state(PART:"normal/message", "pressed", 0.0);
- set_state(PART:"normal/message_icon", "pressed", 0.0);
- emit("softkey_down", "normal/message");
- }
- }
- program {
- name: "up_normal/message";
- signal: "mouse,up,1";
- source: "normal/message";
- script {
- set_state(PART:"normal/message", "default", 0.0);
- set_state(PART:"normal/message_icon", "default", 0.0);
- emit("softkey_up", "normal/message");
- }
- }
- program {
- name: "clicked_normal/message";
- signal: "mouse,clicked,1";
- source: "normal/message";
- script {
- emit("softkey_clicked", "normal/message");
- }
- }
- // emergency //////////////////////////////////////////////////////////////////////////
- program {
- name: "down_normal/emergency";
- signal: "mouse,down,*";
- source: "normal/emergency";
- script {
- set_state(PART:"normal/emergency", "pressed", 0.0);
- set_state(PART:"normal/emergency_icon", "pressed", 0.0);
- emit("softkey_down", "normal/emergency");
- }
- }
- program {
- name: "up_normal/emergency";
- signal: "mouse,up,1";
- source: "normal/emergency";
- script {
- set_state(PART:"normal/emergency", "default", 0.0);
- set_state(PART:"normal/emergency_icon", "default", 0.0);
- emit("softkey_up", "normal/emergency");
- }
- }
- program {
- name: "clicked_normal/emergency";
- signal: "mouse,clicked,1";
- source: "normal/emergency";
- script {
- emit("softkey_clicked", "normal/emergency");
- }
- }
-
- // backspace //////////////////////////////////////////////////////////////////////////
- program {
- name: "down_normal/backspace";
- signal: "mouse,down,*";
- source: "normal/backspace";
- script {
- set_state(PART:"normal/backspace", "pressed", 0.0);
- set_state(PART:"normal/backspace_icon", "pressed", 0.0);
- emit("softkey_down", "normal/backspace");
- }
- }
- program {
- name: "up_normal/backspace";
- signal: "mouse,up,1";
- source: "normal/backspace";
- script {
- set_state(PART:"normal/backspace", "default", 0.0);
- set_state(PART:"normal/backspace_icon", "default", 0.0);
- emit("softkey_up", "normal/backspace");
- }
- }
- program {
- name: "clicked_normal/backspace";
- signal: "mouse,clicked,1";
- source: "normal/backspace";
- script {
- emit("softkey_clicked", "normal/backspace");
- }
- }
-
-
-
- // PROG: contactsearch input field ////////////////////////////////////////////////////
- program {
- name: "clicked_contactsearch";
- signal: "mouse,clicked,1";
- source: "search/inputarea/image";
- script {
- emit("softkey_clicked", "search/inputarea/image");
- }
- }
-
- /*****************************************************************************
- * Program: Softkey - normal mode
- *****************************************************************************/
- program {
- name: "prog_softkey_normal";
- source: "softkey";
- signal: "softkey/normal";
- script {
- set_state (PART:"normal/call", "expand_L", 0.0);
- set_state (PART:"normal/call_icon", "default", 0.0);
- set_state (PART:"normal/message", "default", 0.0);
- set_state (PART:"normal/message_icon", "default", 0.0);
- set_state (PART:"normal/backspace", "default", 0.0);
- set_state (PART:"normal/backspace_icon", "default", 0.0);
- }
- }
-
- /*****************************************************************************
- * Program: Softkey - during call mode
- *****************************************************************************/
- program {
- name: "prog_softkey_dc";
- source: "softkey";
- signal: "softkey/dc";
- script {
- set_state (PART:"normal/call", "default", 0.0);
- set_state (PART:"normal/call_icon", "default", 0.0);
- set_state (PART:"normal/message", "default", 0.0);
- set_state (PART:"normal/message_icon", "default", 0.0);
- set_state (PART:"normal/backspace", "default", 0.0);
- set_state (PART:"normal/backspace_icon", "default", 0.0);
- }
- }
-
- /*****************************************************************************
- * Program: Softkey - emergency mode
- *****************************************************************************/
- program {
- name: "prog_softkey_emergency";
- source: "softkey";
- signal: "softkey/emergency";
- script {
- set_state (PART:"normal/emergency", "hide", 0.0);
- set_state (PART:"normal/emergency_icon", "hide", 0.0);
- set_state (PART:"normal/call", "expand_R", 0.0);
- set_state (PART:"normal/call_icon", "default", 0.0);
- set_state (PART:"normal/message", "hide", 0.0);
- set_state (PART:"normal/message_icon", "hide", 0.0);
- }
- }
-
- /*****************************************************************************
- * Program: Dialer default
- *****************************************************************************/
- program {
- name: "prog/main";
- source: "main";
- signal: "main/default";
- script {
- emit ("viewcontrol/button", "viewcontrol");
-// emit ("viewobject/entry/hide", "viewobject/entry");
- }
- }
- } // programs end
- } // end of group
-}
diff --git a/lib/edc/dialer_btn.edc b/lib/edc/dialer_btn.edc
deleted file mode 100755
index d3cf950..0000000
--- a/lib/edc/dialer_btn.edc
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
-group {
- name: "dialer/btn_style";
- styles {
- style {
- name: "Expand_text";
- base: "font=Tizen:style=Regular text_class=tizen font_size=38 color=#999999 align=center";
- }
- }
- parts {
- part {
- name: "base";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.0 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "btn_style/number";
- type: TEXTBLOCK;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: "base"; }
- rel2 { relative: 1.0 0.5; to: "base"; }
- text {
- style: "Expand_text";
- align: 0.5 1.0;
- }
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "btn_style/icon";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.5;
- min: 38 26;
- fixed: 1 1;
- rel1 { relative: 0.5 0.75; to: "base"; }
- rel2 { relative: 0.5 0.75; to: "base"; }
- image.normal : IMAGE_PATH"C01-3_icon_expand_01.png";
- }
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: IMAGE_PATH"C01-3_icon_expand_02.png";
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- }
- programs {
- program {
- name: "prog/dialer/count_button/opened";
- source: "count_button";
- signal: "count_button/opened";
- script {
- set_state (PART:"btn_style/icon", "default", 0.0);
- }
- }
- program {
- name: "prog/dialer/count_button/closed";
- source: "count_button";
- signal: "count_button/closed";
- script {
- set_state (PART:"btn_style/icon", "pressed", 0.0);
- }
- }
- program {
- name: "prog/dialer/count_button/hide";
- source: "count_button";
- signal: "count_button/hide";
- script {
- set_state (PART:"btn_style/icon", "hide", 0.0);
- }
- }
- }
-}
diff --git a/lib/edc/dialer_theme.edc b/lib/edc/dialer_theme.edc
deleted file mode 100755
index ed25e17..0000000
--- a/lib/edc/dialer_theme.edc
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
-#define MAIN_W (720)
-#define ITEM_H (140)
-#define DIALER_TEXTBLOCK_TEXT_SIZE_MAIN (44)
-#define DIALER_TEXTBLOCK_TEXT_SIZE_SUB (32)
-
-
-collections {
- styles {
- style {
- name: "dialer_textblock_style_main";
- base: "font=Tizen:style=Roman text_class=list_item font_size=44 align=left color=#000000 wrap=word ellipsis=1.0";
- tag: "match" "+ color=#3b73b6";
- }
- style {
- name: "dialer_textblock_style_main_selected";
- base: "font=Tizen:style=Roman text_class=list_item font_size=44 align=left color=#F9F9F9FF wrap=word ellipsis=1.0";
- tag: "match" "+ color=#F9F9F9FF";
- }
- style {
- name: "dialer_textblock_style_sub";
- base: "font=Tizen:style=Roman text_class=list_item font_size=32 align=left color=#999999 wrap=word ellipsis=1.0";
- tag: "match" "+ color=#3b73b6";
- }
- style {
- name: "dialer_textblock_style_sub_selected";
- base: "font=Tizen:style=Roman text_class=list_item font_size=32 align=left color=#F9F9F9FF wrap=word ellipsis=1.0";
- tag: "match" "+ color=#F9F9F9FF";
- }
- }
-
-#define COMMON_BASE_STYLE\
- part { \
- name: "base"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: 0 ITEM_H; \
- color: 31 31 31 255; \
- rel1 { relative: 0.0 0.0; } \
- rel2 { relative: 1.0 1.0; } \
- } \
- }
-
-#define COMMON_BG \
- part { \
- name: "bg"; \
- clip_to: "disclip"; \
- type: RECT; \
- description { \
- state: "default" 0.0; \
- visible: 1; \
- rel1 { relative: 0.0 0.0; } \
- rel2 { relative: 1.0 1.0; } \
- color: 255 255 255 255; \
- } \
- description { \
- state: "selected" 0.0; \
- inherit: "default" 0.0; \
- visible: 1; \
- rel1 { relative: 0.0 0.0; } \
- rel2 { relative: 1.0 1.0; } \
- color: 73 137 174 255; \
- } \
- }
-
-#define COMMON_BOTTOM_LINE \
- part { \
- name: "bottom_line"; \
- type: RECT; \
- description { \
- state: "default" 0.0; \
- min: 0 1; \
- fixed: 0 1; \
- visible: 1; \
- color: 81 81 81 255; \
- rel1 { relative: 0.0 1.0; to: "base";} \
- rel2 { relative: 1.0 1.0; to: "base";} \
- align: 0.5 1.0; \
- } \
- }
-
-#define COMMON_DISCLIP \
- part { \
- name: "disclip"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- rel1 { to: "bg"; } \
- rel2 { to: "bg"; } \
- } \
- description { \
- state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- color: 255 255 255 64; \
- } \
- }
-
-#define COMMON_NAME_TEXTBLOCK\
- part { \
- name: "elm.text.left.name"; \
- type: TEXTBLOCK; \
- scale: 1; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- rel1 { relative: 0.0 0.0; offset: 26 22; to: "bg"; } \
- rel2 { relative: 1.0 76/ITEM_H; offset: -26 0; to: "bg"; } \
- fixed: 1 1; \
- color: 255 255 255 255; \
- text { min: 0 1; style: "dialer_textblock_style_main"; } \
- } \
- description { \
- state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: 255 255 255 255; \
- text.style: "dialer_textblock_style_main_selected"; \
- } \
- } \
- part { \
- name: "elm.text.left.number"; \
- type: TEXT; \
- scale: 1; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- rel1 { relative: 0.0 76/ITEM_H; offset: 26 0; to: "bg"; } \
- rel2 { relative: 1.0 1.0; offset: -26 -22; to: "bg"; } \
- color: 153 153 153 255; \
- text { \
- font: "SLP:style=Regular"; \
- text_class: "slp"; \
- size: DIALER_TEXTBLOCK_TEXT_SIZE_SUB; \
- min: 0 1; \
- align: 0.0 0.5; \
- } \
- } \
- description { \
- state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: 255 255 255 255; \
- } \
- }
-
-#define COMMON_NUM_TEXTBLOCK\
- part { \
- name: "elm.text.left.name"; \
- type: TEXT; \
- scale: 1; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- rel1 { relative: 0.0 0.0; offset: 26 22; to: "bg"; } \
- rel2 { relative: 1.0 76/ITEM_H; offset: -26 0; to: "bg"; } \
- fixed: 1 1; \
- color: 0 0 0 255; \
- text { \
- font: "SLP:style=Regular"; \
- text_class: "slp"; \
- size: DIALER_TEXTBLOCK_TEXT_SIZE_MAIN; \
- min: 0 1; \
- align: 0.0 0.5; \
- } \
- } \
- description { \
- state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: 255 255 255 255; \
- } \
- } \
- part { \
- name: "elm.text.left.number"; \
- type: TEXTBLOCK; \
- scale: 1; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- rel1 { relative: 0.0 76/ITEM_H; offset: 26 0; to: "bg"; } \
- rel2 { relative: 1.0 1.0; offset: -26 -22; to: "bg"; } \
- color: 255 255 255 255; \
- text { min: 0 1; style: "dialer_textblock_style_sub"; } \
- } \
- description { \
- state: "selected" 0.0; \
- inherit: "default" 0.0; \
- text.style: "dialer_textblock_style_sub_selected"; \
- } \
- }
-
-#define COMMON_CALLERID_ICON\
- part { \
- name: "elm.icon.1"; \
- type: SWALLOW; \
- clip_to: "disclip"; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: 96 96; \
- max: 96 96; \
- fixed: 1 1; \
- rel1 { \
- relative: 1.0 0.0; offset: -16 16; \
- to_x: "bg"; \
- } \
- rel2 { \
- relative: 1.0 1.0; offset: -16 -16; \
- to_x: "bg"; \
- } \
- align: 1.0 0.5; \
- } \
- }
-
-#define COMMON_NONAME_TEXTBLOCK\
- part { \
- name: "elm.text.left.number"; \
- type: TEXTBLOCK; \
- scale: 1; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- rel1 { relative: 0.0 0.25; offset: 26 0; to: "bg"; } \
- rel2 { relative: 1.0 0.75; offset: -26 0; to: "bg"; } \
- color: 255 255 255 255; \
- text { min: 0 1; style: "dialer_textblock_style_main"; } \
- } \
- description { \
- state: "selected" 0.0; \
- inherit: "default" 0.0; \
- text.style: "dialer_textblock_style_main_selected"; \
- } \
- }
-
-#define NAME_PROGRAM \
- program { \
- name: "name_selected"; \
- signal: "elm,state,selected"; \
- source: "elm"; \
- action: STATE_SET "selected" 0.0; \
- target: "elm.text.left.name"; \
- } \
- program { \
- name: "name_unselected"; \
- signal: "elm,state,unselected"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- target: "elm.text.left.name"; \
- transition: LINEAR 0.1; \
- }
-
-
-#define NUMBER_PROGRAM \
- program { \
- name: "number_selected"; \
- signal: "elm,state,selected"; \
- source: "elm"; \
- action: STATE_SET "selected" 0.0; \
- target: "elm.text.left.number"; \
- } \
- program { \
- name: "number_unselected"; \
- signal: "elm,state,unselected"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- target: "elm.text.left.number"; \
- transition: LINEAR 0.1; \
- }
-
-#define COMMON_PROGRAM \
- program { \
- name: "go_active"; \
- signal: "elm,state,selected"; \
- source: "elm"; \
- action: STATE_SET "selected" 0.0; \
- target: "bg"; \
- } \
- program { \
- name: "go_passive"; \
- signal: "elm,state,unselected"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- target: "bg"; \
- transition: LINEAR 0.1; \
- } \
- program { \
- name: "go_disabled"; \
- signal: "elm,state,disabled"; \
- source: "elm"; \
- action: STATE_SET "disabled" 0.0; \
- target: "disclip"; \
- } \
- program { \
- name: "go_enabled"; \
- signal: "elm,state,enabled"; \
- source: "elm"; \
- action: STATE_SET "default" 0.0; \
- target: "disclip"; \
- }
-
-
- /* Genlist */
- group {
- name: "elm/genlist/item/number_textblock/default";
- alias: "elm/genlist/item_odd/number_textblock/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.left.name elm.text.left.number";
- data.item: "contents" "elm.icon.1";
- data.item: "treesize" "20";
- parts {
- COMMON_BASE_STYLE
- COMMON_BG
- COMMON_NUM_TEXTBLOCK
-// COMMON_CALLERID_ICON
- COMMON_DISCLIP
- COMMON_BOTTOM_LINE
- }
- programs {
- COMMON_PROGRAM
- NAME_PROGRAM
- NUMBER_PROGRAM
- }
- }
-
- /* Genlist */
- group {
- name: "elm/genlist/item/name_textblock/default";
- alias: "elm/genlist/item_odd/name_textblock/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.left.name elm.text.left.number";
- data.item: "contents" "elm.icon.1";
- data.item: "treesize" "20";
- parts {
- COMMON_BASE_STYLE
- COMMON_BG
- COMMON_NAME_TEXTBLOCK
-// COMMON_CALLERID_ICON
- COMMON_DISCLIP
- COMMON_BOTTOM_LINE
- }
- programs {
- COMMON_PROGRAM
- NAME_PROGRAM
- NUMBER_PROGRAM
- }
- }
-
- /* Genlist */
- group {
- name: "elm/genlist/item/noname_textblock/default";
- alias: "elm/genlist/item_odd/noname_textblock/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.left.number";
- data.item: "treesize" "20";
- parts {
- COMMON_BASE_STYLE
- COMMON_BG
- COMMON_NONAME_TEXTBLOCK
- COMMON_DISCLIP
- COMMON_BOTTOM_LINE
- }
- programs {
- COMMON_PROGRAM
- NUMBER_PROGRAM
- }
- }
-}
-
diff --git a/lib/edc/favorites_theme.edc b/lib/edc/favorites_theme.edc
deleted file mode 100755
index 2e48e0b..0000000
--- a/lib/edc/favorites_theme.edc
+++ /dev/null
@@ -1,570 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
-#define WIDTH 720
-#define MIN_SIZE (WIDTH/3)
-#define FAVORITE_ITEM_BG_COLOR 151 151 151 255
-#define FAVORITE_INDEX_TEXT_COLOR 255 255 255 255
-
-// Group Index
-#define GENLIST_INDEX_LIST_SIZE 32
-#define GENLIST_INDEX_LIST_COLOR 59 115 182 255
-#define GENLIST_INDEX_LIST_FOCUS_COLOR 255 255 255 255
-
-#define GENLIST_INDEX_LIST_BG_COLOR 248 246 239 255
-#define GENLIST_INDEX_LIST_PRESS_COLOR 87 135 194 255
-#define GENLIST_INDEX_LINE_COLOR 59 115 182 255
-#define GENLIST_INDEX_LINE_FOCUS_COLOR 255 255 255 255
-
-#define GENLIST_PADDING_SIZE_RIGHT 26
-#define DIALOGUE_PADDING_SIZE_RIGHT 36
-#define GENLIST_ICON_BIG_SIZE 74
-
-
-#define GENLIST_PART_PERSPECTIVE_POINT \
- part { name: "point"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- color: 0 0 0 0; \
- rel1 { relative: 0.0 0.0; } \
- rel2 { relative: 1.0 0.0; } \
- } \
- }
-
-#define GENLIST_PART_BASE \
- part { name: "base"; \
- type: RECT; \
- repeat_events: 1; \
- scale: 1; \
- description { state: "default" 0.0; \
- align: 0.5 0.5; \
- color: 0 0 0 0; \
- } \
- } \
- GENLIST_PART_PERSPECTIVE_POINT
-
-#define GENLIST_PART_INDEX_BG_IMAGE \
- part { name: "bg_image"; \
- type: RECT; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- color: GENLIST_INDEX_LIST_BG_COLOR; \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_INDEX_LIST_PRESS_COLOR; \
- } \
- GENLIST_DESCRIPTION_FADEOUT \
- }
-
-#define GENLIST_PART_EXPANDED_PAD \
- part { name: "elm.swallow.pad"; \
- type: SWALLOW; \
- scale: 1; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- visible: 0; \
- min: 0 0; \
- fixed: 1 0; \
- align: 0.0 0.5; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel2.relative: 0.0 1.0; \
- } \
- }
-
-
-#define GENLIST_PART_SPACER(NAME, DESCRIPION) \
- part { name: NAME; \
- scale: 1; \
- mouse_events: 0; \
- type: SPACER; \
- DESCRIPION \
- }
-
-#define GENLIST_DESCRIPTION_L( left, param ) \
- description { state: "default" 0.0; \
- align: 0 0.5; \
- fixed: 1 0; \
- rel1 { \
- relative: 1 0; \
- to_x: left; \
- to_y: "base"; \
- }\
- rel2 { \
- relative: 1 1;\
- to_x: left; \
- to_y: "base"; \
- }\
- param \
- }
-
-#define GENLIST_PART_PADDING_LEFT_SIZE( SIZE ) \
- GENLIST_PART_EXPANDED_PAD \
- GENLIST_PART_SPACER("elm.padding.left", \
- GENLIST_DESCRIPTION_L("elm.swallow.pad", \
- min: SIZE 0; \
- max: SIZE 0; \
- fixed: 1 0; \
- ) \
- )
-
-#define GENLIST_PART_PADDING_RIGHT \
- GENLIST_PART_SPACER("elm.padding.right", \
- description { state: "default" 0.0; \
- min: GENLIST_PADDING_SIZE_RIGHT 0; \
- max: GENLIST_PADDING_SIZE_RIGHT -1; \
- fixed: 1 0; \
- align: 1.0 0.5; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel1.relative: 1 0; \
- } \
- description { state: "decorate" 0.0; \
- inherit: "default" 0.0; \
- min: 0 0; \
- max: 0 0; \
- } \
- )
-
-#define GENLIST_PART_PADDING_TOP_SIZE( SIZE ) \
- GENLIST_PART_SPACER("elm.padding.top", \
- description { \
- state: "default" 0.0; \
- min: 0 SIZE; \
- max: -1 SIZE; \
- fixed: 0 1; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel2.relative: 1.0 0.0; \
- align: 0.5 0.0; \
- } \
- )
-
-#define GENLIST_PART_PADDING_RIGHT_SIZE( SIZE ) \
- GENLIST_PART_SPACER("elm.padding.right", \
- description { state: "default" 0.0; \
- min: SIZE 0; \
- max: SIZE -1; \
- fixed: 1 0; \
- align: 1.0 0.5; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel1.relative: 1 0; \
- } \
- description { state: "decorate" 0.0; \
- inherit: "default" 0.0; \
- min: 0 0; \
- max: 0 0; \
- } \
- )
-
-#define GENLIST_PART_PADDING_BOTTOM_SIZE( SIZE ) \
- GENLIST_PART_SPACER("elm.padding.bottom", \
- description { state: "default" 0.0; \
- min: 0 SIZE; \
- max: -1 SIZE; \
- fixed: 0 1; \
- rel1.to: "base"; \
- rel2.to: "base"; \
- rel1.relative: 0.0 1.0; \
- align: 0.5 1.0; \
- } \
- )
-
-#define GENLIST_DESCRIPTION( left, right, top, bottom, param ) \
- description { state: "default" 0.0;\
- rel1 { \
- relative: 1 1; \
- to_x: left; \
- to_y: top; \
- }\
- rel2 {\
- relative: 0 0;\
- to_x: right;\
- to_y: bottom;\
- }\
- param\
- }
-
-#define GENLIST_DESCRIPTION_FADEOUT \
- description { state: "fadeout" 0.0; \
- inherit: "default" 0.0; \
- color: 255 255 255 50; \
- visible: 0; \
- } \
- description { state: "fadein" 0.0; \
- inherit: "default" 0.0; \
- } \
-
-#define GENLIST_DESCRIPTION_INDEX_LIST \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_INDEX_LIST_FOCUS_COLOR; \
- }
-
-#define GENLIST_PARAM_INDEX_LIST \
- color: GENLIST_INDEX_LIST_COLOR; \
- align: 0 0.5; \
- text { \
- align: 0 0.5; \
- min: 0 1; \
- max: 1 0; \
- font: "Tizen:style=Bold"; \
- size: GENLIST_INDEX_LIST_SIZE; \
- text_class: "list_item"; \
- }
-
-#define GENLIST_DESCRIPTION_LRT( left, right, top, param ) \
- description { state: "default" 0.0;\
- align: 0.5 0;\
- rel1 { \
- relative: 1 1; \
- to_x: left; \
- to_y: top; \
- }\
- rel2 {\
- relative: 0 1;\
- to_x: right;\
- to_y: top;\
- }\
- param\
- }
-
-#define GENLIST_PART_TEXT(NAME, DESCRIPION) \
- part { name: NAME; \
- scale: 1; \
- mouse_events: 0; \
- type: TEXT; \
- DESCRIPION \
- GENLIST_DESCRIPTION_FADEOUT \
- }
-
-#define GENLIST_DESCRIPTION_FADEOUT_RECT \
- description { state: "fadeout" 0.0; \
- inherit: "default" 0.0; \
- color: 0 0 0 50; \
- visible: 0; \
- } \
- description { state: "fadein" 0.0; \
- inherit: "default" 0.0; \
- } \
-
-#define GENLIST_PART_RECT(NAME, DESCRIPION) \
- part { name: NAME; \
- scale: 1; \
- type: RECT; \
- DESCRIPION \
- GENLIST_DESCRIPTION_FADEOUT_RECT \
- }
-
-#define GENLIST_PART_INDEX_LINE(LEFT, RIGHT, TOP, BOTTOM) \
- GENLIST_PART_RECT("index_line", \
- GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
- color: GENLIST_INDEX_LINE_COLOR; \
- min: 0 4; \
- max: -1 4;) \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_INDEX_LINE_FOCUS_COLOR; \
- } \
- )
-
-styles {
- style {
- name: "gengrid_textblock_style";
- base: "font=Tizen:style=Medium text_class=tizen font_size=24 color=#F9F9F9 wrap=char ellipsis=1.0";
- }
- style {
- name: "gengrid_noid_textblock_style";
- base: "font=Tizen:style=Medium text_class=tizen font_size=40 color=#FFFFFF wrap=char align=center ellipsis=0.0";
- }
-}
-
-collections {
- group {
- name: "elm/gengrid/item/group_index/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text";
- parts {
- GENLIST_PART_BASE
- GENLIST_PART_INDEX_BG_IMAGE
- GENLIST_PART_PADDING_LEFT_SIZE(26)
- GENLIST_PART_PADDING_RIGHT_SIZE(26)
- GENLIST_PART_PADDING_TOP_SIZE(20)
- GENLIST_PART_PADDING_BOTTOM_SIZE(14)
- GENLIST_PART_TEXT("elm.text",
- GENLIST_DESCRIPTION_LRT("elm.padding.left", "elm.padding.right", "elm.padding.top",
- GENLIST_PARAM_INDEX_LIST
- min: 0 38; fixed: 1 1;)
- GENLIST_DESCRIPTION_INDEX_LIST
- )
- GENLIST_PART_INDEX_LINE("elm.padding.left", "elm.padding.right", "elm.text", "elm.padding.bottom")
- }
- }
-
- group{
- name: "elm/gengrid/item/gridtext_favorites/default";
- data.item: "texts" "elm.text";
- data.item: "contents" "elm.swallow.icon elm.swallow.expand.icon elm.swallow.end";
-
- parts{
- part{
- name: "bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 248 246 239 255;
- }
- }
- part {
- name: "item_bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 248 246 239 255;
- min: MIN_SIZE MIN_SIZE;
- fixed: 1 1;
- rel1.to: "bg";
- rel2.to: "bg";
- }
- }
- part {
- name: "elm.icon.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 248 246 239 255;
- rel1 { relative: 0.0 0.0; to: "item_bg"; }
- rel2 { relative: 1.0 1.0; offset: -2 -2; to: "item_bg"; }
- }
- description {
- state: "edit" 0.0;
- color: 248 246 239 255;
- rel1 { relative: 0.05 0.05; to: "item_bg"; }
- rel2 { relative: 0.95 0.95; offset: -2 -2; to: "item_bg"; }
- }
- }
- part{
- name: "elm.swallow.icon";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: "elm.icon.bg"; }
- rel2 { relative: 1.0 1.0; to: "elm.icon.bg"; }
- }
- }
- part {
- name: "label_bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 0 0 0 78;
- min: 0 72;
- fixed: 0 1;
- align: 0.0 1.0;
- rel1 { relative: 0.0 1.0; to: "elm.icon.bg"; }
- rel2 { relative: 1.0 1.0; to: "elm.icon.bg"; }
- }
- }
- part {
- name: "elm.text";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; offset: 16 6; to: "label_bg"; }
- rel2 { relative: 0.75 1.0; offset: -20 0; to: "label_bg"; }
- text {
- style: "gengrid_textblock_style";
- align: 0.5 0.5;
- }
- }
- description {
- state: "edit" 0.0;
- inherit: "default" 0.0;
- rel1 { relative: 0.0 0.0; offset: 18 6; to: "label_bg"; }
- rel2 { relative: 0.75 1.0; offset: -22 0; to: "label_bg"; }
- }
- }
- part {
- name: "elm.swallow.expand.icon";
- type: SWALLOW;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- min: 50 40;
- fixed: 1 1;
- rel1 { relative: 1.0 0.5; to: "label_bg"; }
- rel2 { relative: 1.0 0.5; to: "label_bg"; }
- align: 1.0 0.5;
- }
- }
- part {
- name: "elm.swallow.end";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- align: 0.0 0.0;
- rel1 { relative: 0.0 0.0; to: "elm.swallow.icon"; }
- rel2 { relative: 0.0 0.0; to: "elm.swallow.icon"; }
- }
- }
- }
- programs {
- program {
- name: "prog/favorites_theme/edit";
- source: "favorites_theme";
- signal: "favorites_theme/edit";
- action: STATE_SET "edit" 0.0;
- transition: DECELERATE 0.7;
- target: "elm.icon.bg";
- target: "elm.text";
- }
- program {
- name: "prog/favorites_theme/edit_no_effect";
- source: "favorites_theme";
- signal: "favorites_theme/edit_no_effect";
- action: STATE_SET "edit" 0.0;
- target: "elm.icon.bg";
- target: "elm.text";
- }
- }
- }
- group{
- name: "elm/gengrid/item/gridtext_favorites_no_id/default";
- data.item: "texts" "elm.text";
- data.item: "contents" "elm.swallow.expand.icon elm.swallow.end";
-
- parts{
- part {
- name: "item_bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 248 246 239 255;
- min: MIN_SIZE MIN_SIZE;
- fixed: 1 1;
- }
- }
- part {
- name: "item_icon_bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: FAVORITE_ITEM_BG_COLOR;
- rel1 { relative: 0.0 0.0; to: "item_bg"; }
- rel2 { relative: 1.0 1.0; offset: -2 -2; to: "item_bg"; }
- }
- description {
- state: "edit" 0.0;
- color: FAVORITE_ITEM_BG_COLOR;
- rel1 { relative: 0.05 0.05; to: "item_bg"; }
- rel2 { relative: 0.95 0.95; offset: -2 -2; to: "item_bg"; }
- }
- }
- part {
- name: "label_bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 90;
- rel1 { relative: 0.0 64/240; to: "item_icon_bg"; }
- rel2 { relative: 1.0 176/240; to: "item_icon_bg"; }
- }
- description {
- state: "edit" 0.0;
- color: 0 0 0 90;
- rel1 { relative: 0.0 52/216; to: "item_icon_bg"; }
- rel2 { relative: 1.0 164/216; to: "item_icon_bg"; }
- }
- }
- part {
- name: "elm.text";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 96;
- fixed: 0 1;
- rel1 { relative: 0.0 64/240; offset: 20 0; to: "label_bg"; }
- rel2 { relative: 1.0 176/240; offset: -20 0; to: "label_bg"; }
- text {
- style: "gengrid_noid_textblock_style";
- align: 0.5 0.5;
- }
- }
- description {
- state: "edit" 0.0;
- inherit: "default" 0.0;
- rel1 { relative: 0.0 52/216; offset: 18 0; to: "label_bg"; }
- rel2 { relative: 1.0 164/216; offset: -22 0; to: "label_bg"; }
- }
- }
- part {
- name: "elm.swallow.expand.icon";
- type: SWALLOW;
- mouse_events: 1;
- description {
- state: "default" 0.0;
- min: 54 64;
- fixed: 1 1;
- rel1 { relative: 1.0 1.0; to: "item_icon_bg"; }
- rel2 { relative: 1.0 1.0; to: "item_icon_bg"; }
- align: 1.0 1.0;
- }
- }
- part {
- name: "elm.swallow.end";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- align: 0.0 0.0;
- rel1 { relative: 0.0 0.0; to: "item_icon_bg"; }
- rel2 { relative: 0.0 0.0; to: "item_icon_bg"; }
- }
- }
- }
- programs {
- program {
- name: "prog/favorites_theme/edit";
- source: "favorites_theme";
- signal: "favorites_theme/edit";
- action: STATE_SET "edit" 0.0;
- transition: DECELERATE 0.7;
- target: "item_icon_bg";
- target: "elm.text";
- }
- program {
- name: "prog/favorites_theme/edit_no_effect";
- source: "favorites_theme";
- signal: "favorites_theme/edit_no_effect";
- action: STATE_SET "edit" 0.0;
- target: "item_icon_bg";
- target: "elm.text";
- }
- }
- }
-}
diff --git a/lib/edc/group_theme.edc b/lib/edc/group_theme.edc
deleted file mode 100755
index 3d99fd1..0000000
--- a/lib/edc/group_theme.edc
+++ /dev/null
@@ -1,962 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#define GROUP_TITLE_BG_COLOR 74 119 149 255
-#define GROUP_BG_COLOR 209 209 209 255
-#define GROUP_TEXT_COLOR 255 255 255 255
-#define GROUP_INDEX_TEXT_COLOR 49 49 49 255
-
-#define WIDTH 330
-#define HEIGHT 312
-#define INFO_HEIGHT 90
-
-#define PADDING 3
-#define ITEM_SIZE 110
-#define CT_SIZE 106
-
-#define PART_BG(NAME) \
-
-#define PART_SWALLOW(NAME) \
-part { \
- name: "rect."NAME".bg"; \
- type: RECT; \
- description { \
- state: "default" 0.0; \
- color: GROUP_BG_COLOR; \
- rel1.to: "rect."NAME; \
- rel2.to: "rect."NAME; \
- } \
-}\
-part { \
- name: "disclip."NAME; \
- type: RECT; \
- description { \
- state: "default" 0.0; \
- color: GROUP_TEXT_COLOR; \
- rel1.to: "rect."NAME; \
- rel2.to: "rect."NAME; \
- } \
-}\
-part { \
- name: "swallow."NAME; \
- type: SWALLOW; \
- clip_to: "disclip."NAME; \
- description { \
- state: "default" 0.0; \
- rel1.to: "rect."NAME; \
- rel2.to: "rect."NAME; \
- }\
-}
-
-#define PART_TEXT(NAME) \
-part { \
- name: "text."NAME; \
- type: TEXT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- align: 0.0 0.5; \
- color: GROUP_TEXT_COLOR; \
- rel1 { relative: 0.0 0.0; to: "rect."NAME".bg"; } \
- rel2 { relative: 1.0 1.0; to: "rect."NAME".bg"; } \
- text { \
- font: "Tizen:style=Medium"; \
- text_class: "tizen"; \
- size: 30; \
- align: 0.0 0.5; \
- ellipsis: 0.0; \
- } \
- } \
-}
-
-collections {
- group {
- name: "elm/gengrid/item/group_index/default";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text";
- parts {
- part {
- name: "base";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- min: 0 80;
- fixed: 0 1;
- }
- }
- part {
- name: "elm.text";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GROUP_INDEX_TEXT_COLOR;
- rel1 { offset: 24 0; }
- align: 0.0 1.0;
- text {
- font: "Tizen:style=Medium";
- size: 32;
- min: 0 1;
- align: 0.0 1.0;
- text_class: "tizen";
- }
- }
- }
- }
- }
- group {
- name: "elm/gengrid/item/groupitem.1image/default";
- data.item: "texts" "text.name text.count text.edit.name text.edit.count";
- data.item: "contents" "swallow.content1 swallow.icon swallow.edit.icon quick.menu.button";
-
- parts{
- part {
- name: "base";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "rect.bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GROUP_BG_COLOR;
- min: WIDTH HEIGHT;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1 { relative: 0.0 0.0; to: "base"; offset: 15 15; }
- rel2 { relative: 0.0 0.0; to: "base"; offset: 15 15; }
- }
- }
- part {
- name: "rect.info";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 INFO_HEIGHT-PADDING;
- fixed: 0 1;
- align: 0.0 0.0;
- color: GROUP_TITLE_BG_COLOR;
- rel1 { relative: 0.0 0.0; to: "rect.bg"; offset: PADDING PADDING; }
- rel2 { relative: 1.0 0.0; to: "rect.bg"; offset: -PADDING PADDING; }
- }
- }
- part {
- name: "rect.icon";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: INFO_HEIGHT-(PADDING*2) INFO_HEIGHT-(PADDING*2);
- fixed: 1 1;
- align: 1.0 0.5;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "rect.info"; offset: -PADDING*3 PADDING; }
- rel2 { relative: 1.0 1.0; to: "rect.info"; offset: -PADDING*3 -PADDING*2; }
- }
- }
- part {
- name: "rect.icon.quick";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: INFO_HEIGHT-(PADDING*2) INFO_HEIGHT-(PADDING*2);
- fixed: 1 1;
- align: 1.0 0.5;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "rect.info";}
- rel2 { relative: 1.0 1.0; to: "rect.info";}
- }
- }
- part {
- name: "delimeter.line";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: 1.0 0.0; to: "rect.info";}
- rel2 { relative: 1.0 1.0; to: "rect.info";}
- }
- }
- part {
- name: "rect.name.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; to: "rect.info"; offset: 10 PADDING; }
- rel2 { relative: 0.0 0.5; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING 0; }
- }
- }
- part {
- name: "rect.count.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.5; to: "rect.info"; offset: 10 0; }
- rel2 { relative: 0.0 1.0; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING -PADDING; }
- }
- }
- part {
- name: "rect.edit.icon";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: INFO_HEIGHT-(PADDING*2) INFO_HEIGHT-(PADDING*2);
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; to: "rect.info"; offset: PADDING PADDING; }
- rel2 { relative: 0.0 0.0; to: "rect.info"; offset: PADDING PADDING; }
- }
- }
- part {
- name: "rect.edit.image";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: ITEM_SIZE ITEM_SIZE);
- fixed: 1 1;
- align: 1.0 1.0;
- color: 255 0 0 0;
- rel1 { relative: 1.0 1.0; to: "rect.bg"; offset: -PADDING -PADDING; }
- rel2 { relative: 1.0 1.0; to: "rect.bg"; offset: -PADDING -PADDING; }
- }
- }
- part {
- name: "rect.edit.name.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "rect.edit.icon"; offset: 0 PADDING; }
- rel2 { relative: 0.0 0.5; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING 0; }
- }
- }
- part {
- name: "rect.edit.count.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.5; to: "rect.edit.icon"; offset: 0 0; }
- rel2 { relative: 0.0 1.0; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING -PADDING; }
- }
- }
- part {
- name: "rect.content1";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: (CT_SIZE*3)+(PADDING*2) (CT_SIZE*2)+(PADDING*2);
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 1.0; to: "rect.info"; offset: 0 PADDING; }
- rel2 { relative: 0.0 1.0; to: "rect.info"; offset: 0 PADDING; }
- }
- }
- PART_SWALLOW("content1")
- part {
- name: "swallow.icon";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "rect.icon";
- rel2.to: "rect.icon";
- }
- }
- part {
- name: "quick.menu.button";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "rect.icon";
- rel2.to: "rect.icon";
- }
- }
- part {
- name: "swallow.edit.icon";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- min: 60 60;
- fixed: 1 1;
- rel1 { relative: 0.5 0.5; to: "rect.edit.icon"; }
- rel2 { relative: 0.5 0.5; to: "rect.edit.icon"; }
- }
- }
- PART_TEXT("name")
- PART_TEXT("count")
- PART_TEXT("edit.name")
- PART_TEXT("edit.count")
- }
- }
- group {
- name: "elm/gengrid/item/groupitem.2image/default";
- data.item: "texts" "text.name text.count text.edit.name text.edit.count";
- data.item: "contents" "swallow.content1 swallow.content2 swallow.icon swallow.edit.icon quick.menu.button";
- parts{
- part {
- name: "base";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "rect.bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GROUP_BG_COLOR;
- min: WIDTH HEIGHT;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1 { relative: 0.0 0.0; to: "base"; offset: 15 15; }
- rel2 { relative: 0.0 0.0; to: "base"; offset: 15 15; }
- }
- }
- part {
- name: "rect.info";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 INFO_HEIGHT-PADDING;
- fixed: 0 1;
- align: 0.0 0.0;
- color: GROUP_TITLE_BG_COLOR;
- rel1 { relative: 0.0 0.0; to: "rect.bg"; offset: PADDING PADDING; }
- rel2 { relative: 1.0 0.0; to: "rect.bg"; offset: -PADDING PADDING; }
- }
- }
- part {
- name: "rect.icon";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: INFO_HEIGHT-(PADDING*2) INFO_HEIGHT-(PADDING*2);
- fixed: 1 1;
- align: 1.0 0.5;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "rect.info"; offset: -PADDING*3 PADDING; }
- rel2 { relative: 1.0 1.0; to: "rect.info"; offset: -PADDING*3 -PADDING*2; }
- }
- }
- part {
- name: "rect.name.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; to: "rect.info"; offset: 10 PADDING; }
- rel2 { relative: 0.0 0.5; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING 0; }
- }
- }
- part {
- name: "rect.count.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.5; to: "rect.info"; offset: 10 0; }
- rel2 { relative: 0.0 1.0; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING -PADDING; }
- }
- }
- part {
- name: "rect.edit.icon";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: INFO_HEIGHT-(PADDING*2) INFO_HEIGHT-(PADDING*2);
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; to: "rect.info"; offset: PADDING PADDING; }
- rel2 { relative: 0.0 0.0; to: "rect.info"; offset: PADDING PADDING; }
- }
- }
- part {
- name: "rect.edit.image";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: ITEM_SIZE ITEM_SIZE);
- fixed: 1 1;
- align: 1.0 1.0;
- color: 255 0 0 0;
- rel1 { relative: 1.0 1.0; to: "rect.bg"; offset: -PADDING -PADDING; }
- rel2 { relative: 1.0 1.0; to: "rect.bg"; offset: -PADDING -PADDING; }
- }
- }
- part {
- name: "rect.edit.name.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "rect.edit.icon"; offset: 0 PADDING; }
- rel2 { relative: 0.0 0.5; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING 0; }
- }
- }
- part {
- name: "rect.edit.count.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.5; to: "rect.edit.icon"; offset: 0 0; }
- rel2 { relative: 0.0 1.0; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING -PADDING; }
- }
- }
- part {
- name: "rect.content1";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: (CT_SIZE*2)+PADDING (CT_SIZE*2)+PADDING;
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 1.0; to: "rect.info"; offset: 0 PADDING; }
- rel2 { relative: 0.0 1.0; to: "rect.info"; offset: 0 PADDING; }
- }
- }
- part {
- name: "rect.content2";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: CT_SIZE (CT_SIZE*2)+PADDING;
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "rect.content1.bg"; offset: PADDING 0; }
- rel2 { relative: 1.0 0.0; to: "rect.content1.bg"; offset: PADDING 0; }
- }
- }
- PART_SWALLOW("content1")
- PART_SWALLOW("content2")
- part {
- name: "swallow.icon";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "rect.icon";
- rel2.to: "rect.icon";
- }
- }
- part {
- name: "quick.menu.button";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "rect.icon";
- rel2.to: "rect.icon";
- }
- }
- part {
- name: "swallow.edit.icon";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- min: 60 60;
- fixed: 1 1;
- rel1 { relative: 0.5 0.5; to: "rect.edit.icon"; }
- rel2 { relative: 0.5 0.5; to: "rect.edit.icon"; }
- }
- }
- PART_TEXT("name")
- PART_TEXT("count")
- PART_TEXT("edit.name")
- PART_TEXT("edit.count")
- }
- }
- group {
- name: "elm/gengrid/item/groupitem.3image/default";
- data.item: "texts" "text.name text.count text.edit.name text.edit.count";
- data.item: "contents" "swallow.content1 swallow.content2 swallow.content3 swallow.icon swallow.edit.icon quick.menu.button";
-
- parts{
- part {
- name: "base";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "rect.bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GROUP_BG_COLOR;
- min: WIDTH HEIGHT;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1 { relative: 0.0 0.0; to: "base"; offset: 15 15; }
- rel2 { relative: 0.0 0.0; to: "base"; offset: 15 15; }
- }
- }
- part {
- name: "rect.info";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 INFO_HEIGHT-PADDING;
- fixed: 0 1;
- align: 0.0 0.0;
- color: GROUP_TITLE_BG_COLOR;
- rel1 { relative: 0.0 0.0; to: "rect.bg"; offset: PADDING PADDING; }
- rel2 { relative: 1.0 0.0; to: "rect.bg"; offset: -PADDING PADDING; }
- }
- }
- part {
- name: "rect.icon";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: INFO_HEIGHT-(PADDING*2) INFO_HEIGHT-(PADDING*2);
- fixed: 1 1;
- align: 1.0 0.5;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "rect.info"; offset: -PADDING*3 PADDING; }
- rel2 { relative: 1.0 1.0; to: "rect.info"; offset: -PADDING*3 -PADDING*2; }
- }
- }
- part {
- name: "rect.name.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; to: "rect.info"; offset: 10 PADDING; }
- rel2 { relative: 0.0 0.5; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING 0; }
- }
- }
- part {
- name: "rect.count.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.5; to: "rect.info"; offset: 10 0; }
- rel2 { relative: 0.0 1.0; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING -PADDING; }
- }
- }
- part {
- name: "rect.edit.icon";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: INFO_HEIGHT-(PADDING*2) INFO_HEIGHT-(PADDING*2);
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; to: "rect.info"; offset: PADDING PADDING; }
- rel2 { relative: 0.0 0.0; to: "rect.info"; offset: PADDING PADDING; }
- }
- }
- part {
- name: "rect.edit.image";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: ITEM_SIZE ITEM_SIZE);
- fixed: 1 1;
- align: 1.0 1.0;
- color: 255 0 0 0;
- rel1 { relative: 1.0 1.0; to: "rect.bg"; offset: -PADDING -PADDING; }
- rel2 { relative: 1.0 1.0; to: "rect.bg"; offset: -PADDING -PADDING; }
- }
- }
- part {
- name: "rect.edit.name.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "rect.edit.icon"; offset: 0 PADDING; }
- rel2 { relative: 0.0 0.5; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING 0; }
- }
- }
- part {
- name: "rect.edit.count.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.5; to: "rect.edit.icon"; offset: 0 0; }
- rel2 { relative: 0.0 1.0; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING -PADDING; }
- }
- }
- part {
- name: "rect.content1";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: (CT_SIZE*2)+PADDING (CT_SIZE*2)+PADDING;
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 1.0; to: "rect.info"; offset: 0 PADDING; }
- rel2 { relative: 0.0 1.0; to: "rect.info"; offset: 0 PADDING; }
- }
- }
- part {
- name: "rect.content2";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: CT_SIZE CT_SIZE;
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "rect.content1.bg"; offset: PADDING 0; }
- rel2 { relative: 1.0 0.0; to: "rect.content1.bg"; offset: PADDING 0; }
- }
- }
- part {
- name: "rect.content3";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: CT_SIZE CT_SIZE;
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 1.0; to: "rect.content2.bg"; offset: 0 PADDING; }
- rel2 { relative: 0.0 1.0; to: "rect.content2.bg"; offset: 0 PADDING; }
- }
- }
- PART_SWALLOW("content1")
- PART_SWALLOW("content2")
- PART_SWALLOW("content3")
- part {
- name: "swallow.icon";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "rect.icon";
- rel2.to: "rect.icon";
- }
- }
- part {
- name: "quick.menu.button";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "rect.icon";
- rel2.to: "rect.icon";
- }
- }
- part {
- name: "swallow.edit.icon";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- min: 60 60;
- fixed: 1 1;
- rel1 { relative: 0.5 0.5; to: "rect.edit.icon"; }
- rel2 { relative: 0.5 0.5; to: "rect.edit.icon"; }
- }
- }
- PART_TEXT("name")
- PART_TEXT("count")
- PART_TEXT("edit.name")
- PART_TEXT("edit.count")
- }
- }
- group {
- name: "elm/gengrid/item/groupitem.6image/default";
- data.item: "texts" "text.name text.count text.edit.name text.edit.count";
- data.item: "contents" "swallow.content0 swallow.content1 swallow.content2 swallow.content3 swallow.content4 swallow.content5 swallow.content6 swallow.icon swallow.edit.icon quick.menu.button";
-
- parts{
- part {
- name: "base";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "rect.bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GROUP_BG_COLOR;
- min: WIDTH HEIGHT;
- fixed: 1 1;
- align: 0.0 0.0;
- rel1 { relative: 0.0 0.0; to: "base"; offset: 15 15; }
- rel2 { relative: 0.0 0.0; to: "base"; offset: 15 15; }
- }
- }
- part {
- name: "rect.info";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 INFO_HEIGHT-PADDING;
- fixed: 0 1;
- align: 0.0 0.0;
- color: GROUP_TITLE_BG_COLOR;
- rel1 { relative: 0.0 0.0; to: "rect.bg"; offset: PADDING PADDING; }
- rel2 { relative: 1.0 0.0; to: "rect.bg"; offset: -PADDING PADDING; }
- }
- }
- part {
- name: "rect.icon";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: INFO_HEIGHT-(PADDING*2) INFO_HEIGHT-(PADDING*2);
- fixed: 1 1;
- align: 1.0 0.5;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "rect.info"; offset: -PADDING*3 PADDING; }
- rel2 { relative: 1.0 1.0; to: "rect.info"; offset: -PADDING*3 -PADDING*2; }
- }
- }
- part {
- name: "rect.name.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; to: "rect.info"; offset: 10 PADDING; }
- rel2 { relative: 0.0 0.5; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING 0; }
- }
- }
- part {
- name: "rect.count.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.5; to: "rect.info"; offset: 10 0; }
- rel2 { relative: 0.0 1.0; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING -PADDING; }
- }
- }
- part {
- name: "rect.edit.icon";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: INFO_HEIGHT-(PADDING*2) INFO_HEIGHT-(PADDING*2);
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; to: "rect.info"; offset: PADDING PADDING; }
- rel2 { relative: 0.0 0.0; to: "rect.info"; offset: PADDING PADDING; }
- }
- }
- part {
- name: "rect.edit.image";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: ITEM_SIZE ITEM_SIZE);
- fixed: 1 1;
- align: 1.0 1.0;
- color: 255 0 0 0;
- rel1 { relative: 1.0 1.0; to: "rect.bg"; offset: -PADDING -PADDING; }
- rel2 { relative: 1.0 1.0; to: "rect.bg"; offset: -PADDING -PADDING; }
- }
- }
- part {
- name: "rect.edit.name.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "rect.edit.icon"; offset: 0 PADDING; }
- rel2 { relative: 0.0 0.5; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING 0; }
- }
- }
- part {
- name: "rect.edit.count.bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.5; to: "rect.edit.icon"; offset: 0 0; }
- rel2 { relative: 0.0 1.0; to_x: "rect.icon"; to_y: "rect.info"; offset: -PADDING -PADDING; }
- }
- }
- part {
- name: "rect.content1";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: CT_SIZE CT_SIZE;
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 1.0; to: "rect.info"; offset: 0 PADDING; }
- rel2 { relative: 0.0 1.0; to: "rect.info"; offset: 0 PADDING; }
- }
- }
- part {
- name: "rect.content2";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: CT_SIZE CT_SIZE;
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "rect.content1.bg"; offset: PADDING 0; }
- rel2 { relative: 1.0 0.0; to: "rect.content1.bg"; offset: PADDING 0; }
- }
- }
- part {
- name: "rect.content3";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: CT_SIZE CT_SIZE;
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "rect.content2.bg"; offset: PADDING 0; }
- rel2 { relative: 1.0 0.0; to: "rect.content2.bg"; offset: PADDING 0; }
- }
- }
- part {
- name: "rect.content4";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: CT_SIZE CT_SIZE;
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 1.0; to: "rect.content1.bg"; offset: 0 PADDING; }
- rel2 { relative: 0.0 1.0; to: "rect.content1.bg"; offset: 0 PADDING; }
- }
- }
- part {
- name: "rect.content5";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: CT_SIZE CT_SIZE;
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 1.0; to: "rect.content2.bg"; offset: 0 PADDING; }
- rel2 { relative: 0.0 1.0; to: "rect.content2.bg"; offset: 0 PADDING; }
- }
- }
- part {
- name: "rect.content6";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: CT_SIZE CT_SIZE;
- fixed: 1 1;
- align: 0.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 1.0; to: "rect.content3.bg"; offset: 0 PADDING; }
- rel2 { relative: 0.0 1.0; to: "rect.content3.bg"; offset: 0 PADDING; }
- }
- }
- PART_SWALLOW("content1")
- PART_SWALLOW("content2")
- PART_SWALLOW("content3")
- PART_SWALLOW("content4")
- PART_SWALLOW("content5")
- PART_SWALLOW("content6")
- part {
- name: "swallow.icon";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "rect.icon";
- rel2.to: "rect.icon";
- }
- }
- part {
- name: "quick.menu.button";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "rect.icon";
- rel2.to: "rect.icon";
- }
- }
- part {
- name: "swallow.edit.icon";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- min: 60 60;
- fixed: 1 1;
- rel1 { relative: 0.5 0.5; to: "rect.edit.icon"; }
- rel2 { relative: 0.5 0.5; to: "rect.edit.icon"; }
- }
- }
- PART_TEXT("name")
- PART_TEXT("count")
- PART_TEXT("edit.name")
- PART_TEXT("edit.count")
- }
- }
-}
diff --git a/lib/edc/image_layout.edc b/lib/edc/image_layout.edc
deleted file mode 100755
index 40ae728..0000000
--- a/lib/edc/image_layout.edc
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
- collections {
- group {
- name: "elm/genlist/item/image_layout/default";
- alias: "elm/genlist/item_odd/image_layout/default";
- alias: "dialogue/image_layout";
- data.item: "selectraise" "on";
- data.item: "stacking" "above";
- data.item: "contents" "elm.icon elm.icon2 elm.icon3 elm.icon4";
- parts {
- part {
- name: "base";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 479;
- color: 0 0 0 0;
- }
- }
- part {
- name: "elm.rect.icon";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 1.0;
- min: 360 360;
- max: 360 360;
- fixed: 1 1;
- color: 239 237 229 255;
- rel1 { relative: 0.0 417.0/479.0; }
- rel2 { relative: 1.0 417.0/479.0; }
- }
- }
- part {
- name: "elm.icon";
- type: SWALLOW;
- mouse_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 1.0;
- min: 360 360;
- max: 360 360;
- fixed: 1 1;
- rel1 { relative: 0.0 417.0/479.0; }
- rel2 { relative: 1.0 417.0/479.0; }
- }
- }
- part {
- name: "elm.icon2";
- type: SWALLOW;
- mouse_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.5;
- min: 128 128;
- max: 128 128;
- fixed: 1 1;
- rel1 { relative: 0.0 0.0; to: "elm.icon"; }
- rel2 { relative: 1.0 417.0/479.0; to: "elm.icon"; }
- }
- }
- part {
- name: "elm.icon3";
- type: SWALLOW;
- mouse_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.0 1.0;
- min: 128 128;
- max: 128 128;
- fixed: 1 1;
- rel1 { relative: 1.0 1.0; to: "elm.icon"; offset: 16 0; }
- rel2 { relative: 1.0 1.0; to: "elm.icon"; offset: 16 0; }
- }
- }
- part {
- name: "elm.icon4";
- type: SWALLOW;
- mouse_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.5;
- min: 45 45;
- max: 45 45;
- fixed: 1 1;
- rel1 { relative: 0.0 0.0; to: "elm.icon"; }
- rel2 { relative: 0.0 0.0; to: "elm.icon"; }
- }
- }
- }
- }
-}
diff --git a/lib/edc/input_theme.edc b/lib/edc/input_theme.edc
deleted file mode 100755
index 1b9a460..0000000
--- a/lib/edc/input_theme.edc
+++ /dev/null
@@ -1,767 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
-#define GENLIST_HEIGHT_1LINE 112
-#define GENLIST_LIST_LINE1_COLOR 211 209 203 255
-#define GENLIST_PADDING_32_INC 32
-#define GENLIST_PART_BG_COLOR 249 249 249 255
-#define INPUT_DIALOGUE_COLOR 108 168 199 255
-#define INPUT_DIALOGUE_BG_COLOR 236 240 242 255
-#define GENLIST_INDEX_LIST_BG_COLOR 0 0 0 255
-
-#define GENLIST_FONT_32_INC 32
-#define GENLIST_FONT_44_INC 44
-#define GENLIST_PADDING_12_INC 12
-#define GENLIST_PADDING_16_INC 16
-#define GENLIST_PADDING_27_INC 27
-#define GENLIST_SIZE_163_INC 163
-#define GENLIST_PART_LIST_LINE_COLOR_INC 169 169 169 255
-#define GENLIST_DIALOGUE_FONT_EDIT_MODE_TEXT_01_COLOR_INC 100 100 100 255
-#define GENLIST_PART_FONT_LIST_MAIN_TEXT_UNREAD_COLOR_INC 0 0 0 255
-#define GENLIST_DIALOGUE_GROUP_LEFT_BG_COLOR_INC 108 168 199 255
-#define GENLIST_PART_DISCLIP_COLOR_INC 255 255 255 10
-#define GENLIST_PART_BG_COLOR_INC 236 240 242 255
-#define GENLIST_DIALOGUE_BG_IMAGE_COLOR_INC 236 240 242 255
-#define GENLIST_PART_LIST_PRESS_COLOR_INC 42 137 194 255
-
-
-#define GENLIST_PART_BASE( param_item_height ) \
- part { name: "base"; \
- type: RECT; \
- repeat_events: 1; \
- scale: 1; \
- description { state: "default" 0.0; \
- min: 0 param_item_height; \
- color: GENLIST_PART_BG_COLOR_INC; \
- } \
- }
-
-#define GENLIST_PART_DIALOGUE_BG_IMAGE \
- part { name: "bg_image"; \
- type: RECT; \
- clip_to: "disclip"; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- color: GENLIST_DIALOGUE_BG_IMAGE_COLOR_INC; \
- } \
- description { state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_PART_LIST_PRESS_COLOR_INC; \
- } \
- }
-
-#define GENLIST_PART_BOTTOM_LINE \
-part { name: "bottom_line"; \
- type: RECT; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- min: 0 1; \
- fixed: 0 1; \
- visible: 1; \
- color: GENLIST_PART_LIST_LINE_COLOR_INC; \
- rel1 { \
- relative: 0.0 1.0; \
- offset: 0 -1; \
- } \
- } \
-}
-
-#define GENLIST_PART_PADDING_LEFT( param_padding_size ) \
-part { name: "elm.padding.left"; \
- type: RECT; \
- scale: 1; \
- description { state: "default" 0.0; \
- min: param_padding_size 0; \
- fixed: 1 0; \
- visible: 0; \
- rel2.relative: 0.0 1.0; \
- align: 0.0 0.0; \
- } \
-}
-
-#define GENLIST_PART_PADDING_RIGHT( param_padding_size ) \
-part { name: "elm.padding.right"; \
- type: RECT; \
- scale: 1; \
- description { state: "default" 0.0; \
- min: param_padding_size 0; \
- fixed: 1 0; \
- visible: 0; \
- rel1.relative: 1.0 0.0; \
- align: 1.0 0.0; \
- } \
-}
-
-#define GENLIST_PART_DIALOGUE_ITEM \
-part { name: "elm.rect.dialogue"; \
- type: RECT; \
- scale: 1; \
- description { state: "default" 0.0; \
- min: GENLIST_PADDING_12_INC 0; \
- fixed: 1 0; \
- color: GENLIST_DIALOGUE_GROUP_LEFT_BG_COLOR_INC; \
- rel2.relative: 0.0 1.0; \
- align: 0.0 0.0; \
- } \
-}
-
-#define GENLIST_PART_DIALOGUE_RIGHT_LINE \
-part { name: "elm.rect.dialogue.right.line"; \
- type: RECT; \
- scale: 1; \
- description { state: "default" 0.0; \
- min: 1 0; \
- fixed: 1 0; \
- visible: 1; \
- rel1.relative: 1.0 0.0; \
- align: 1.0 0.0; \
- color: GENLIST_PART_LIST_LINE_COLOR_INC; \
- } \
-}
-
-#define GENLIST_PART_DISCLIP \
-part { name: "disclip"; \
- type: RECT; \
- description { state: "default" 0.0; \
- } \
- description { state: "disabled" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_PART_DISCLIP_COLOR_INC; \
- } \
-}
-
-#define GENLIST_DESCRIPTION_FLIP_ENABLED \
-description { state: "flip_enabled" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
-}
-
-collections
-{
- /* Genlist Item */
- group {
- name: "dialogue/baseinfo.3icon";
- data.item: "contents" "elm.icon.name1 elm.icon.name2 elm.icon.image";
- parts {
- part {
- name: "base";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 267;
- }
- }
- part {
- name: "bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: GENLIST_PART_BG_COLOR;
- }
- }
- part {
- name: "elm.rect.top_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.0 0.0;
- min: 0 40;
- fixed: 0 1;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 0.0; }
- }
- }
- part {
- name: "elm.icon.image.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 1.0 0.0;
- min: 141 141;
- fixed: 1 1;
- color: 0 0 0 0;
- rel1 { relative: 1.0 1.0; to: "elm.rect.top_padding"; }
- rel2 { relative: 1.0 1.0; to: "base"; }
- }
- }
- part {
- name: "elm.icon.expand.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 1.0 1.0;
- min: 74 74;
- fixed: 1 1;
- color: 0 0 0 0;
- rel1 { relative: 1.0 1.0; to: "base"; }
- rel2 { relative: 1.0 1.0; to: "base"; }
- }
- }
- part {
- name: "elm.rect.right_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 1.0 0.0;
- min: 15 0;
- fixed: 1 0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; to: "elm.icon.image.rect"; }
- rel2 { relative: 0.0 1.0; to: "elm.icon.image.rect"; }
- }
- }
- part {
- name: "elm.rect.top_line";
- type: RECT;
- description {
- state: "default" 0.0;
- min: 0 1;
- fixed: 0 1;
- align: 0.0 0.0;
- color: GENLIST_PART_LIST_LINE_COLOR_INC;
- rel1 { relative: 0.0 1.0; to: "elm.rect.top_padding"; }
- rel2 { relative: 0.0 0.0; to: "elm.rect.right_padding"; }
- }
- }
- part {
- name: "elm.rect.dialogue";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 12 0;
- fixed: 1 0;
- align: 0.0 0.0;
- color: INPUT_DIALOGUE_COLOR;
- rel1 { relative: 0.0 1.0; to: "elm.rect.top_padding"; }
- rel2 { relative: 0.0 1.0; to: "base"; }
- }
- }
- part {
- name: "elm.icon.name1.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.0 0.5;
- color: INPUT_DIALOGUE_BG_COLOR;
- rel1 { relative: 1.0 1.0; to_x: "elm.rect.dialogue"; to_y: "elm.rect.top_line"; }
- rel2 { relative: 1.0 0.0; to: "elm.rect.middle_line"; }
- }
- }
- part {
- name: "elm.rect.middle_line";
- type: RECT;
- description {
- state: "default" 0.0;
- min: 0 1;
- fixed: 0 1;
- align: 0.0 0.0;
- color: GENLIST_PART_LIST_LINE_COLOR_INC;
- rel1 { relative: 0.0 0.5; to: "elm.rect.dialogue"; }
- rel2 { relative: 0.0 0.5 ; to_x: "elm.rect.right_padding"; to_y: "elm.rect.dialogue"; }
- }
- }
- part {
- name: "elm.icon.name2.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.0 0.5;
- color: INPUT_DIALOGUE_BG_COLOR;
- rel1 { relative: 1.0 1.0; to_x: "elm.rect.dialogue"; to_y: "elm.rect.middle_line"; }
- rel2 { relative: 1.0 0.0; to: "elm.rect.bottom_line"; }
- }
- }
- part {
- name: "elm.rect.bottom_line";
- type: RECT;
- description {
- state: "default" 0.0;
- min: 0 1;
- fixed: 0 1;
- align: 0.0 1.0;
- color: GENLIST_PART_LIST_LINE_COLOR_INC;
- rel1 { relative: 0.0 1.0; to: "elm.rect.dialogue"; to_y: "base" ;}
- rel2 { relative: 0.0 1.0; to_x: "elm.rect.right_padding"; to_y: "base"; }
- }
- }
- part {
- name: "elm.rect.right_line";
- type: RECT;
- description {
- state: "default" 0.0;
- min: 1 0;
- fixed: 1 0;
- align: 0.0 0.0;
- color: GENLIST_PART_LIST_LINE_COLOR_INC;
- rel1 { relative: 1.0 1.0; to: "elm.rect.top_line"; }
- rel2 { relative: 0.0 1.0; to: "elm.rect.bottom_line"; }
- }
- }
- part {
- name: "elm.icon.name1";
- type: SWALLOW;
- repeat_events: 1;
- description {
- state: "default" 0.0;
- align: 0.0 0.5;
- rel1 { relative: 0.0 0.0; offset: 16 0; to: "elm.icon.name1.rect"; }
- rel2 { relative: 1.0 1.0; offset: -16 0; to: "elm.icon.name1.rect"; }
- }
- }
- part {
- name: "elm.icon.name2";
- type: SWALLOW;
- repeat_events: 1;
- description {
- state: "default" 0.0;
- align: 0.0 0.5;
- rel1 { relative: 0.0 0.0; offset: 16 0; to: "elm.icon.name2.rect"; }
- rel2 { relative: 1.0 1.0; offset: -16 0; to: "elm.icon.name2.rect"; }
- }
- }
- part {
- name: "elm.icon.image";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- align: 0.0 0.0;
- fixed: 1 1;
- rel1.to: "elm.icon.image.rect";
- rel2.to: "elm.icon.image.rect";
- }
- }
- part {
- name: "elm.icon.expand";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- align: 0.0 0.0;
- fixed: 1 1;
- rel1.to: "elm.icon.expand.rect";
- rel2.to: "elm.icon.expand.rect";
- }
- }
- }
- }
- /* Genlist Item */
- group {
- name: "dialogue/baseinfo.expand.1icon";
- data.item: "contents" "elm.icon.name elm.icon.expand";
- parts {
- part {
- name: "base";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 113;
- }
- }
- part {
- name: "bg";
- type: RECT;
- description {
- state: "default" 0.0;
- color: GENLIST_PART_BG_COLOR;
- }
- }
- part {
- name: "elm.rect.right_padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 1.0 0.0;
- min: 156 0;
- fixed: 1 0;
- color: 0 0 0 0;
- rel1 { relative: 1.0 0.0; to: "base"; }
- rel2 { relative: 1.0 1.0; to: "base"; }
- }
- }
- part {
- name: "elm.rect.dialogue";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 12 0;
- fixed: 1 0;
- align: 0.0 0.0;
- color: INPUT_DIALOGUE_COLOR;
- rel2.relative: 0.0 1.0;
- }
- }
- part {
- name: "elm.icon.name.rect";
- type: RECT;
- repeat_events: 1;
- description {
- state: "default" 0.0;
- align: 0.0 0.5;
- color: INPUT_DIALOGUE_BG_COLOR;
- rel1 { relative: 1.0 0.0; to_x: "elm.rect.dialogue"; }
- rel2 { relative: 0.0 1.0; to_x: "elm.rect.right_padding"; }
- }
- }
- part {
- name: "elm.rect.bottom_line";
- type: RECT;
- description {
- state: "default" 0.0;
- min: 0 1;
- fixed: 0 1;
- align: 0.0 0.0;
- color: GENLIST_PART_LIST_LINE_COLOR_INC;
- rel1 { relative: 0.0 1.0; offset: 0 -1; to: "elm.icon.name.rect"; }
- rel2 { relative: 1.0 1.0; offset: 0 -1; to: "elm.icon.name.rect"; }
- }
- }
- part {
- name: "elm.rect.right_line";
- type: RECT;
- description {
- state: "default" 0.0;
- min: 1 0;
- fixed: 1 0;
- align: 0.0 0.0;
- color: GENLIST_PART_LIST_LINE_COLOR_INC;
- rel1 { relative: 0.0 0.0; to: "elm.rect.right_padding"; }
- rel2 { relative: 0.0 1.0; to: "elm.rect.right_padding"; }
- }
- }
- part {
- name: "elm.icon.name";
- type: SWALLOW;
- repeat_events: 1;
- description {
- state: "default" 0.0;
- align: 0.0 0.5;
- rel1 { relative: 0.0 0.0; offset: 16 0; to: "elm.icon.name.rect"; }
- rel2 { relative: 1.0 1.0; offset: -16 0; to: "elm.icon.name.rect"; }
- }
- }
- }
- }
- group {
- name: "dialogue/1icon.1type.1edit";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "contents" "elm.icon elm.icon.type elm.icon.edit";
- images {
- image: "00_list_group_bg.png" COMP;
- }
- parts {
- part {
- name: "base";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GENLIST_INDEX_LIST_BG_COLOR;
- min: 0 113;
- }
- }
- part {
- name: "elm.icon.bg_image";
- type: IMAGE;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- color: 93 97 118 127;
- rel1 { relative: 0.0 0.0; offset: 16 0; }
- rel2 { relative: 0.0 1.0; to_x: "elm.icon.type"; }
- image {
- normal: "00_list_group_bg.png";
- border: 14 14 10 10;
- border_scale: 1;
- }
- }
- }
- part {
- name: "elm.icon";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; offset: 36 0; }
- rel2 { relative: 0.0 1.0; to_x: "elm.icon.type"; offset: -20 0; }
- }
- }
- part {
- name: "elm.icon.type";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- min: 160 74;
- max: 160 74;
- fixed: 1 1;
- align: 1.0 0.5;
- rel1 { relative: 0.0 0.0; to_x: "elm.icon.edit"; }
- rel2 { relative: 0.0 1.0; to_x: "elm.icon.edit"; }
- }
- }
- part {
- name: "elm.icon.edit";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- min: 106 74;
- max: 106 74;
- fixed: 1 1;
- align: 1.0 0.5;
- rel1 { relative: 1.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- }
- }
- }
- }
- group {
- name: "dialogue/7icon.1type.1edit";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "contents" "elm.icon.1 elm.icon.2 elm.icon.3 elm.icon.4 elm.icon.5 elm.icon.6 elm.icon.7 elm.icon.type elm.icon.edit";
- images {
- image: "00_list_group_bg.png" COMP;
- }
- parts {
- part {
- name: "base";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GENLIST_INDEX_LIST_BG_COLOR;
- min: 0 784;
- }
- }
- part {
- name: "elm.icon.bg_image";
- type: IMAGE;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- rel1 { relative: 0.0 0.0; offset: 16 0; }
- rel2 { relative: 0.0 1.0; to_x: "elm.icon.type"; }
- image {
- normal: "00_list_group_bg.png";
- border: 14 14 10 10;
- border_scale: 1;
- }
- }
- }
- part {
- name: "elm.rect.icon";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; offset: 16 0; }
- rel2 { relative: 0.0 1.0; to_x: "elm.icon.type"; }
- }
- }
- part {
- name: "elm.rect.icon.line1";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GENLIST_LIST_LINE1_COLOR;
- min: 0 1;
- max: -1 1;
- fixed: 0 1;
- rel1 { relative: 0.0 1/7; to: "elm.rect.icon"; }
- rel2 { relative: 1.0 1/7; to: "elm.rect.icon"; }
- }
- }
- part {
- name: "elm.rect.icon.line2";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GENLIST_LIST_LINE1_COLOR;
- min: 0 1;
- max: -1 1;
- fixed: 0 1;
- rel1 { relative: 0.0 2/7; to: "elm.rect.icon"; }
- rel2 { relative: 1.0 2/7; to: "elm.rect.icon"; }
- }
- }
- part {
- name: "elm.rect.icon.line3";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GENLIST_LIST_LINE1_COLOR;
- min: 0 1;
- max: -1 1;
- fixed: 0 1;
- rel1 { relative: 0.0 3/7; to: "elm.rect.icon"; }
- rel2 { relative: 1.0 3/7; to: "elm.rect.icon"; }
- }
- }
- part {
- name: "elm.rect.icon.line4";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GENLIST_LIST_LINE1_COLOR;
- min: 0 1;
- max: -1 1;
- fixed: 0 1;
- rel1 { relative: 0.0 4/7; to: "elm.rect.icon"; }
- rel2 { relative: 1.0 4/7; to: "elm.rect.icon"; }
- }
- }
- part {
- name: "elm.rect.icon.line5";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GENLIST_LIST_LINE1_COLOR;
- min: 0 1;
- max: -1 1;
- fixed: 0 1;
- rel1 { relative: 0.0 5/7; to: "elm.rect.icon"; }
- rel2 { relative: 1.0 5/7; to: "elm.rect.icon"; }
- }
- }
- part {
- name: "elm.rect.icon.line6";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GENLIST_LIST_LINE1_COLOR;
- min: 0 1;
- max: -1 1;
- fixed: 0 1;
- rel1 { relative: 0.0 6/7; to: "elm.rect.icon"; }
- rel2 { relative: 1.0 6/7; to: "elm.rect.icon"; }
- }
- }
- part {
- name: "elm.icon.1";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; offset: 20 0; to: "elm.rect.icon"; }
- rel2 { relative: 1.0 1/7; offset: -20 0; to: "elm.rect.icon"; }
- }
- }
- part {
- name: "elm.icon.2";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 1/7; offset: 20 0; to: "elm.rect.icon"; }
- rel2 { relative: 1.0 2/7; offset: -20 0; to: "elm.rect.icon"; }
- }
- }
- part {
- name: "elm.icon.3";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 2/7; offset: 20 0; to: "elm.rect.icon"; }
- rel2 { relative: 1.0 3/7; offset: -20 0; to: "elm.rect.icon"; }
- }
- }
- part {
- name: "elm.icon.4";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 3/7; offset: 20 0; to: "elm.rect.icon"; }
- rel2 { relative: 1.0 4/7; offset: -20 0; to: "elm.rect.icon"; }
- }
- }
- part {
- name: "elm.icon.5";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 4/7; offset: 20 0; to: "elm.rect.icon"; }
- rel2 { relative: 1.0 5/7; offset: -20 0; to: "elm.rect.icon"; }
- }
- }
- part {
- name: "elm.icon.6";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 5/7; offset: 20 0; to: "elm.rect.icon"; }
- rel2 { relative: 1.0 6/7; offset: -20 0; to: "elm.rect.icon"; }
- }
- }
- part {
- name: "elm.icon.7";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 6/7; offset: 20 0; to: "elm.rect.icon"; }
- rel2 { relative: 1.0 1.0; offset: -20 0; to: "elm.rect.icon"; }
- }
- }
- part {
- name: "elm.icon.type";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- min: 160 74;
- max: 160 74;
- fixed: 1 1;
- align: 1.0 0.5;
- rel1 { relative: 0.0 0.0; to_x: "elm.icon.edit"; }
- rel2 { relative: 0.0 1.0; to_x: "elm.icon.edit"; }
- }
- }
- part {
- name: "elm.icon.edit";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- min: 106 74;
- max: 106 74;
- fixed: 1 1;
- align: 1.0 0.5;
- rel1 { relative: 1.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- }
- }
- }
- }
-}
diff --git a/lib/edc/list.edc b/lib/edc/list.edc
deleted file mode 100755
index 7ebc5b0..0000000
--- a/lib/edc/list.edc
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
-collections
-{
- group
- {
- name: "search_layout_list";
- parts
- {
- part
- {
- name: "bg_search";
- type: RECT;
- mouse_events: 1;
- description
- {
- state: "default" 0.0;
- color: 255 0 0 0;
- }
- }
- part
- {
- name: "add_button_show_swall_search";
- type: SWALLOW;
- mouse_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- align: 0.0 0.0;
- min: 0 90;
- fixed: 0 1;
- rel1 { relative: 0.13 0.0; to: "bg_search"; }
- rel2 { relative: 1.0 1.0; to: "bg_search"; }
- }
- }
- part
- {
- name: "add_button_hide_swall_search";
- type: SWALLOW;
- mouse_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- align: 0.0 0.0;
- min: 0 90;
- fixed: 0 1;
- rel1 { relative: 0.0 0.0; to: "bg_search"; }
- rel2 { relative: 1.0 1.0; to: "bg_search"; }
- }
- }
- part {
- name: "button_add";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- align: 0.0 0.0;
- min: 40 40;
- max: 40 40;
- fixed: 0 1;
- rel1 { relative: 0.02 0.1; to: "bg_search"; }
- rel2 { relative: 0.0 0.85; to: "add_button_show_swall_search"; }
- }
- }
- }
- }
- group {
- name: "genlist";
- parts
- {
- part {
- name: "bg";
- type: RECT;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
-
- part {
- name: "searchbar_layout";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- align: 0.0 0.0;
- min: 0 90;
- fixed: 0 1;
- rel1 { relative: 0.0 0.0; to: "bg"; }
- rel2 { relative: 1.0 0.0; to: "bg"; }
- }
- }
- part {
- name: "content";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- align: 0.0 0.0;
- rel1 { relative: 0.0 1.0; to: "searchbar_layout"; }
- rel2.to: "bg";
- }
- }
- part {
- name: "fastscroll";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- rel1.to: "content";
- rel2.to: "content";
- }
- }
- }
- }
- group {
- name: "genlist_no_searchbar";
- parts
- {
- part {
- name: "bg";
- type: RECT;
- mouse_events: 0;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "content";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- align: 0.0 0.0;
- rel1.to: "bg";
- rel2.to: "bg";
- }
- }
- part {
- name: "fastscroll";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- rel1.to: "content";
- rel2.to: "content";
- }
- }
- }
- }
-}
diff --git a/lib/edc/list_theme.edc b/lib/edc/list_theme.edc
deleted file mode 100755
index 51da8d1..0000000
--- a/lib/edc/list_theme.edc
+++ /dev/null
@@ -1,766 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
-#define GENLIST_PART_BG_COLOR_INC 248 246 239 255
-#define GENLIST_PART_LIST_LINE_COLOR_INC 211 209 203 255
-#define GENLIST_PART_LIST_PRESS_COLOR_INC 87 135 194 255
-#define GENLIST_PART_LIST_COUNT_COLOR_INC 124 124 124 255
-#define GENLIST_PART_LIST_TEXT_DEFAULT 0 0 0 255
-#define GENLIST_PART_TEXT_PRESS_COLOR 250 250 250 255
-#define GENLIST_PART_LIST_TEXT_SUB_DEFAULT 0 0 0 128
-
-#define GENLIST_PART_BASE( param_item_height ) \
-part { \
- name: "base"; \
- type: RECT; \
- repeat_events: 1; \
- scale: 1; \
- description { state: "default" 0.0; \
- min: 0 param_item_height; \
- color: GENLIST_PART_BG_COLOR_INC; \
- } \
-}
-
-#define GENLIST_PART_BOTTOM_LINE \
-part { name: "bottom_line"; \
- type: RECT; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- min: 0 1; \
- fixed: 0 1; \
- visible: 1; \
- color: GENLIST_PART_LIST_LINE_COLOR_INC; \
- rel1 { \
- relative: 0.0 1.0; \
- offset: 0 -1; \
- } \
- } \
-}
-
-#define GENLIST_PART_PADDING_LEFT( param_padding_size ) \
-part { \
- name: "elm.padding.left"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: param_padding_size 0; \
- fixed: 1 0; \
- visible: 0; \
- rel2.relative: 0.0 1.0; \
- align: 0.0 0.0; \
- } \
-}
-
-#define GENLIST_PART_PADDING_RIGHT( param_padding_size ) \
-part { \
- name: "elm.padding.right"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: param_padding_size 0; \
- fixed: 1 0; \
- visible: 0; \
- rel1.relative: 1.0 0.0; \
- align: 1.0 0.0; \
- } \
-}
-
-#define GENLIST_PART_BG_IMAGE \
-part { \
- name: "bg_image"; \
- type: RECT; \
- clip_to: "disclip"; \
- mouse_events: 0; \
- description { \
- state: "default" 0.0; \
- color: GENLIST_PART_BG_COLOR_INC; \
- } \
- description { \
- state: "selected" 0.0; \
- inherit: "default" 0.0; \
- color: GENLIST_PART_LIST_PRESS_COLOR_INC; \
- } \
-}
-
-#define GENLIST_DESCRIPTION_FLIP_ENABLED \
-description { \
- state: "flip_enabled" 0.0; \
- inherit: "default" 0.0; \
- visible: 0; \
-}
-
-collections
-{
- styles {
- style {
- name: "genlist_default_textblock_style";
- base: "font=Tizen:style=Roman text_class=list_item font_size=44 align=left color=#000000FF wrap=word ellipsis=1.0";
- tag: "br" "\n";
- tag: "ps" "ps";
- tag: "tab" "\t";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "match" "+ color=#2A89C2";
- }
- style {
- name: "genlist_default_textblock_selected_style";
- base: "font=Tizen:style=Roman text_class=list_item font_size=44 align=left color=#F9F9F9FF wrap=word ellipsis=1.0";
- tag: "br" "\n";
- tag: "ps" "ps";
- tag: "tab" "\t";
- tag: "b" "+ font=Tizen:style=Bold";
- tag: "match" "+ color=#F9F9F9FF";
- }
- }
- /* Genlist Item */
- group {
- name: "elm/genlist/item/1text_center/default";
- alias: "elm/genlist/item_odd/1text_center/default";
- alias: "elm/genlist/item_compress/1text_center/default";
- alias: "elm/genlist/item_compress_odd/1text_center/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text";
- parts {
- GENLIST_PART_BASE(130);
- GENLIST_PART_BOTTOM_LINE
- part {
- name: "elm.text";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- clip_to: "disclip";
- description {
- state: "default" 0.0;
- color: GENLIST_PART_LIST_COUNT_COLOR_INC;
- text {
- font: "Tizen:style=Roman";
- text_class: "tizen";
- size: 44;
- min: 0 1;
- align: 0.5 0.5;
- text_class: "tizen";
- }
- }
- }
- part {
- name: "disclip";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 248 246 239 255;
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/link_list/default";
- alias: "elm/genlist/item_odd/link_list/default";
- alias: "elm/genlist/item_compress/link_list/default";
- alias: "elm/genlist/item_compress_odd/link_list/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text elm.text.1 elm.text.2";
- data.item: "contents" "elm.icon.1";
- data.item: "flips" "elm.flip.content";
- parts {
- GENLIST_PART_BASE(130)
- GENLIST_PART_BG_IMAGE
- GENLIST_PART_BOTTOM_LINE
- GENLIST_PART_PADDING_LEFT(26)
- GENLIST_PART_PADDING_RIGHT(24)
- part {
- name: "elm.icon.1";
- type: SWALLOW;
- clip_to: "disclip";
- scale: 1;
- description {
- state: "default" 0.0;
- min: 104 104;
- max: 104 104;
- fixed: 1 1;
- rel1 {
- relative: 0.0 0.0;
- to_x: "elm.padding.right";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.padding.right";
- }
- align: 1.0 0.5;
- }
- GENLIST_DESCRIPTION_FLIP_ENABLED
- }
- part {
- name: "elm.padding.icon1.text1right";
- type: RECT;
- clip_to: "disclip";
- scale: 1;
- description {
- state: "default" 0.0;
- min: 4 0;
- fixed: 1 0;
- visible: 0;
- rel1.to_x: "elm.icon.1";
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.icon.1";
- }
- align: 1.0 0.0;
- }
- }
- part {
- name: "elm.text";
- type: TEXT;
- clip_to: "disclip";
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.padding.icon1.text1right";
- }
- align: 0.0 0.5;
- color: GENLIST_PART_LIST_TEXT_DEFAULT;
- text {
- font: "Tizen:style=Roman";
- size: 44;
- min: 0 1;
- max: 1 0;
- align: 0.0 0.5;
- text_class: "list_item";
- }
- }
- description {
- state: "selected" 0.0;
- inherit: "default" 0.0;
- color: GENLIST_PART_TEXT_PRESS_COLOR;
- }
- GENLIST_DESCRIPTION_FLIP_ENABLED
- }
- part {
- name: "elm.text.1";
- type: TEXT;
- clip_to: "disclip";
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- }
- rel2 {
- relative: 0.0 0.7;
- to_x: "elm.padding.icon1.text1right";
- }
- align: 0.0 0.5;
- color: GENLIST_PART_LIST_TEXT_DEFAULT;
- text {
- font: "Tizen:style=Roman";
- size: 44;
- min: 0 1;
- max: 1 0;
- align: 0.0 0.5;
- text_class: "list_item";
- }
- }
- description {
- state: "selected" 0.0;
- inherit: "default" 0.0;
- color: GENLIST_PART_TEXT_PRESS_COLOR;
- }
- GENLIST_DESCRIPTION_FLIP_ENABLED
- }
- part {
- name: "elm.text.2";
- type: TEXT;
- clip_to: "disclip";
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 0.5;
- to_x: "elm.padding.left";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.padding.icon1.text1right";
- }
- align: 0.0 0.5;
- color: GENLIST_PART_LIST_TEXT_DEFAULT;
- text {
- font: "Tizen:style=Roman";
- size: 32;
- min: 0 1;
- max: 1 0;
- align: 0.0 0.5;
- text_class: "list_item";
- }
- }
- description {
- state: "selected" 0.0;
- inherit: "default" 0.0;
- color: GENLIST_PART_TEXT_PRESS_COLOR;
- }
- GENLIST_DESCRIPTION_FLIP_ENABLED
- }
- part {
- name: "elm.padding.text.right";
- type: RECT;
- clip_to: "disclip";
- scale: 1;
- description {
- state: "default" 0.0;
- min: 16 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.text";
- }
- rel2.to_x: "elm.text";
- align: 0.0 0.0;
- visible: 0;
- }
- }
- part {
- name: "disclip";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- color: 255 255 255 110;
- }
- }
- part {
- name: "elm.flip.content";
- clip_to: "disclip";
- type: SWALLOW;
- mouse_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- fixed: 1 1;
- rel1 {
- relative: 1.0 0.5;
- to_x: "elm.padding.left";
- }
- rel2 {
- relative: 0.0 0.5;
- to_x: "elm.padding.right";
- }
- }
- description {
- state: "flip_enabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- }
- programs {
- program {
- name: "go_active";
- signal: "elm,state,selected";
- source: "elm";
- action: STATE_SET "selected" 0.0;
- target: "bg_image";
- target: "elm.text";
- target: "elm.text.1";
- target: "elm.text.2";
- }
- program {
- name: "go_passive";
- signal: "elm,state,unselected";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "bg_image";
- target: "elm.text";
- target: "elm.text.1";
- target: "elm.text.2";
- transition: LINEAR 0.1;
- }
- program {
- name: "go_disabled";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "disclip";
- }
- program {
- name: "go_enabled";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "disclip";
- }
- program {
- name: "flip_enabled";
- signal: "elm,state,flip,enabled";
- source: "elm";
- action: STATE_SET "flip_enabled" 0.0;
- target: "elm.text";
- target: "elm.text.1";
- target: "elm.text.2";
- target: "elm.icon.1";
- target: "elm.flip.content";
- }
- program {
- name: "flip_disabled";
- signal: "elm,state,flip,disabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.text";
- target: "elm.text.1";
- target: "elm.text.2";
- target: "elm.icon.1";
- target: "elm.flip.content";
- }
- }
- }
- group {
- name: "elm/genlist/item_compress/link_list.tb/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text elm.text.1 elm.text.2";
- data.item: "contents" "elm.icon.1";
- data.item: "flips" "elm.flip.content";
- parts {
- GENLIST_PART_BASE(130)
- GENLIST_PART_BG_IMAGE
- GENLIST_PART_BOTTOM_LINE
- GENLIST_PART_PADDING_LEFT(26)
- GENLIST_PART_PADDING_RIGHT(24)
- part {
- name: "elm.icon.1";
- type: SWALLOW;
- clip_to: "disclip";
- scale: 1;
- description {
- state: "default" 0.0;
- min: 104 104;
- max: 104 104;
- fixed: 1 1;
- rel1 {
- relative: 0.0 0.0;
- to_x: "elm.padding.right";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.padding.right";
- }
- align: 1.0 0.5;
- }
- GENLIST_DESCRIPTION_FLIP_ENABLED
- }
- part {
- name: "elm.padding.icon1.left";
- type: RECT;
- clip_to: "disclip";
- scale: 1;
- description {
- state: "default" 0.0;
- min: 64 0;
- fixed: 1 0;
- visible: 0;
- rel1.to_x: "elm.icon.1";
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.icon.1";
- }
- align: 1.0 0.0;
- }
- }
- part {
- name: "elm.padding.icon1.left2";
- type: RECT;
- clip_to: "disclip";
- scale: 1;
- description {
- state: "default" 0.0;
- min: 134 0;
- fixed: 1 0;
- visible: 0;
- rel1.to_x: "elm.icon.1";
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.icon.1";
- }
- align: 1.0 0.0;
- }
- }
- part {
- name: "elm.padding.icon1.left3";
- type: RECT;
- clip_to: "disclip";
- scale: 1;
- description {
- state: "default" 0.0;
- min: 51 0;
- fixed: 1 0;
- visible: 0;
- rel1.to_x: "elm.icon.1";
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.icon.1";
- }
- align: 1.0 0.0;
- }
- }
- part {
- name: "elm.padding.icon1.text1right";
- type: RECT;
- clip_to: "disclip";
- scale: 1;
- description {
- state: "default" 0.0;
- min: 4 0;
- fixed: 1 0;
- visible: 0;
- rel1.to_x: "elm.icon.1";
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.icon.1";
- }
- align: 1.0 0.0;
- }
- }
- part {
- name: "elm.text";
- type: TEXTBLOCK;
- clip_to: "disclip";
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.padding.icon1.text1right";
- }
- align: 0.0 0.5;
- text {
- style: "genlist_default_textblock_style";
- min: 0 1;
- max: 1 0;
- align: 0.0 0.5;
- }
- }
- description {
- state: "selected" 0.0;
- inherit: "default" 0.0;
- text.style: "genlist_default_textblock_selected_style";
- }
- GENLIST_DESCRIPTION_FLIP_ENABLED
- }
- part {
- name: "elm.text.1";
- type: TEXTBLOCK;
- clip_to: "disclip";
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- }
- rel2 {
- relative: 0.0 0.7;
- to_x: "elm.padding.icon1.text1right";
- }
- align: 0.0 0.5;
- text {
- style: "genlist_default_textblock_style";
- min: 0 1;
- max: 1 0;
- align: 0.0 0.5;
- }
- }
- description {
- state: "selected" 0.0;
- inherit: "default" 0.0;
- text.style: "genlist_default_textblock_selected_style";
- }
- GENLIST_DESCRIPTION_FLIP_ENABLED
- }
- part {
- name: "elm.text.2";
- type: TEXT;
- clip_to: "disclip";
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 0.5;
- to_x: "elm.padding.left";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.padding.icon1.text1right";
- }
- align: 0.0 0.5;
- color: GENLIST_PART_LIST_TEXT_SUB_DEFAULT;
- text {
- font: "Tizen:style=Roman";
- size: 32;
- min: 0 1;
- max: 1 0;
- align: 0.0 0.5;
- text_class: "list_item";
- }
- }
- description {
- state: "selected" 0.0;
- inherit: "default" 0.0;
- color: GENLIST_PART_TEXT_PRESS_COLOR;
- }
- GENLIST_DESCRIPTION_FLIP_ENABLED
- }
- part {
- name: "elm.padding.text.right";
- type: RECT;
- clip_to: "disclip";
- scale: 1;
- description {
- state: "default" 0.0;
- min: 16 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.text";
- }
- rel2.to_x: "elm.text";
- align: 0.0 0.0;
- visible: 0;
- }
- }
- part {
- name: "disclip";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- }
- description {
- state: "disabled" 0.0;
- inherit: "default" 0.0;
- color: 255 255 255 110;
- }
- }
- part {
- name: "elm.flip.content";
- clip_to: "disclip";
- type: SWALLOW;
- mouse_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- fixed: 1 1;
- rel1 {
- relative: 1.0 0.5;
- to_x: "elm.padding.left";
- }
- rel2 {
- relative: 0.0 0.5;
- to_x: "elm.padding.right";
- }
- }
- description {
- state: "flip_enabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- }
- programs {
- program {
- name: "go_active";
- signal: "elm,state,selected";
- source: "elm";
- action: STATE_SET "selected" 0.0;
- target: "bg_image";
- target: "elm.text";
- target: "elm.text.1";
- target: "elm.text.2";
- }
- program {
- name: "go_passive";
- signal: "elm,state,unselected";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "bg_image";
- target: "elm.text";
- target: "elm.text.1";
- target: "elm.text.2";
- transition: LINEAR 0.1;
- }
- program {
- name: "go_disabled";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "disclip";
- }
- program {
- name: "go_enabled";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "disclip";
- }
- program {
- name: "flip_enabled";
- signal: "elm,state,flip,enabled";
- source: "elm";
- action: STATE_SET "flip_enabled" 0.0;
- target: "elm.text";
- target: "elm.text.1";
- target: "elm.text.2";
- target: "elm.icon.1";
- target: "elm.flip.content";
- }
- program {
- name: "flip_disabled";
- signal: "elm,state,flip,disabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.text";
- target: "elm.text.1";
- target: "elm.text.2";
- target: "elm.icon.1";
- target: "elm.flip.content";
- }
- }
- }
-}
diff --git a/lib/edc/log_item_icon.edc b/lib/edc/log_item_icon.edc
deleted file mode 100644
index ac16539..0000000
--- a/lib/edc/log_item_icon.edc
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-* Copyright 2012-2013 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-/**
-* @file log_item_icon.edc
-* @brief Style for icon in log list, combining contact picture and the type of call
-* @author Sergei Kobec (s.kobec@samsung.com)
-* @date Created Nov 29, 2013 10:15
-*/
-
-collections {
-
- group { name: "elm/layout/log.item.layout/default";
- parts {
- part { name: "bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 1;
- color: 0 0 0 0;
- }
- }
- part { name: "elm.swallow.icon.1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 1;
- rel1 {
- relative: 0.0 0.0;
- to_x: "bg";
- to_y: "bg";
- }
- rel2 {
- relative: 0.5 1.0;
- to_x: "bg";
- to_y: "bg";
- }
- }
- }
- part { name: "elm.swallow.icon.2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 1;
- rel1 {
- relative: 0.8 0.3;
- to_x: "elm.swallow.icon.1";
- to_y: "elm.swallow.icon.1";
- }
- rel2 {
- relative: 1.0 0.7;
- to_x: "bg";
- to_y: "bg";
- }
- }
- }
- }
- }
-}
diff --git a/lib/edc/logdetail_theme.edc b/lib/edc/logdetail_theme.edc
deleted file mode 100755
index 49b8385..0000000
--- a/lib/edc/logdetail_theme.edc
+++ /dev/null
@@ -1,1485 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#define GENLIST_PART_BG_COLOR_INC 249 249 249 255
-#define GENLIST_PART_LIST_LINE_COLOR_INC 169 169 169 255
-#define GENLIST_DIALOGUE_FONT_SUB_TITLE_COLOR_INC 102 102 102 255
-#define GENLIST_PART_LIST_TEXT_DEFAULT 0 0 0 255
-
-#define PHUG_IMAGES "../images/phoneug_images/"
-#define BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC 138 138
-#define BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC 138 138
-
-#define GENLIST_BASEINFO_PART_BASE(height) \
-part { \
- name: "base"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: 0 height; \
- } \
-}
-
-#define GENLIST_PART_BASE( param_item_height ) \
-part { \
- name: "base"; \
- type: RECT; \
- repeat_events: 1; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: 0 param_item_height; \
- color: GENLIST_PART_BG_COLOR_INC; \
- } \
-}
-#define GENLIST_PART_BOTTOM_LINE \
-part { \
- name: "bottom_line"; \
- type: RECT; \
- mouse_events: 0; \
- description { state: "default" 0.0; \
- min: 0 1; \
- fixed: 0 1; \
- visible: 1; \
- color: GENLIST_PART_LIST_LINE_COLOR_INC; \
- rel1 { \
- relative: 0.0 1.0; \
- offset: 0 -1; \
- } \
- } \
-}
-
-#define GENLIST_PART_PADDING_TOP( param_padding_size ) \
-part { \
- name: "elm.padding.top"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: 0 param_padding_size; \
- fixed: 0 1; \
- visible: 0; \
- rel2.relative: 1.0 0.0; \
- align: 0.0 0.0; \
- } \
-}
-
-#define GENLIST_PART_PADDING_BOTTOM( param_padding_size ) \
-part { \
- name: "elm.padding.bottom"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: 0 param_padding_size; \
- fixed: 0 1; \
- visible: 0; \
- rel1.relative: 0.0 1.0; \
- align: 0.0 1.0; \
- } \
-}
-
-#define GENLIST_PART_PADDING_LEFT( param_padding_size ) \
-part { \
- name: "elm.padding.left"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: param_padding_size 0; \
- fixed: 1 0; \
- visible: 0; \
- rel2.relative: 0.0 1.0; \
- align: 0.0 0.0; \
- } \
-}
-
-#define GENLIST_PART_PADDING_RIGHT( param_padding_size ) \
-part { \
- name: "elm.padding.right"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: param_padding_size 0; \
- fixed: 1 0; \
- visible: 0; \
- rel1.relative: 1.0 0.0; \
- align: 1.0 0.0; \
- } \
-}
-
-styles {
- style {
- name: "baseinfo_name_textblock_style";
- base: "font=Tizen:style=Medium text_class=tizen color=#000000 ellipsis=1.0 font_size=50";
- }
- style {
- name: "baseinfo_subname_textblock_style";
- base: "font=Tizen:style=Medium text_class=tizen color=#727272 ellipsis=1.0 font_size=32";
- }
- style {
- name: "activity_textblock_style";
- base: "font=Tizen:style=Medium text_class=tizen color=#000000 ellipsis=0.0 font_size=32 wrap=char";
- }
-}
-collections
-{
- group {
- name: "elm/genlist/item/baseinfo.1text.1icon/default";
- alias: "elm/genlist/item_odd/baseinfo.1text.1icon/default";
- alias: "elm/genlist/item_compress/baseinfo.1text.1icon/default";
- alias: "elm/genlist/item_compress_odd/baseinfo.1text.1icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.name";
- data.item: "contents" "elm.icon.favorite";
- parts {
- GENLIST_BASEINFO_PART_BASE(142)
- part {
- name: "elm.icon.image.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 88 0;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1.relative: 1.0 0.0;
- }
- }
- part {
- name: "elm.icon.favorite";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 56 56;
- fixed: 1 1;
- align: 0.5 0.5;
- rel1.to: "elm.icon.image.rect";
- rel2.to: "elm.icon.image.rect";
- }
- }
- part {
- name: "elm.text.name";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.5; offset: 16 0; to: "base"; }
- rel2 { relative: 0.0 0.5; offset: -16 0; to: "elm.icon.image.rect"; }
- text {
- style: "baseinfo_name_textblock_style";
- min: 0 1;
- }
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/baseinfo.1text.2icon/default";
- alias: "elm/genlist/item_odd/baseinfo.1text.2icon/default";
- alias: "elm/genlist/item_compress/baseinfo.1text.2icon/default";
- alias: "elm/genlist/item_compress_odd/baseinfo.1text.2icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.name";
- data.item: "contents" "elm.icon.image elm.icon.favorite";
- parts {
- GENLIST_BASEINFO_PART_BASE(142)
- part {
- name: "elm.icon.image.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 141 0;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1.relative: 1.0 0.0;
- }
- }
- part {
- name: "elm.icon.image";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "elm.icon.image.rect";
- rel2.to: "elm.icon.image.rect";
- }
- }
- part {
- name: "elm.icon.favorite.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 88 0;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; to: "elm.icon.image.rect"; }
- rel2 { relative: 0.0 1.0; to: "elm.icon.image.rect"; }
- }
- }
- part {
- name: "elm.icon.favorite";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 56 56;
- fixed: 1 1;
- align: 0.5 0.5;
- rel1.to: "elm.icon.favorite.rect";
- rel2.to: "elm.icon.favorite.rect";
- }
- }
- part {
- name: "elm.text.name";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.5; offset: 16 0; to: "base"; }
- rel2 { relative: 0.0 0.5; offset: -16 0; to: "elm.icon.favorite.rect"; }
- text {
- style: "baseinfo_name_textblock_style";
- min: 0 1;
- }
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/baseinfo.2text.1icon/default";
- alias: "elm/genlist/item_odd/baseinfo.2text.1icon/default";
- alias: "elm/genlist/item_compress/baseinfo.2text.1icon/default";
- alias: "elm/genlist/item_compress_odd/baseinfo.2text.1icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.name elm.text.subname";
- data.item: "contents" "elm.icon.favorite";
- parts {
- GENLIST_BASEINFO_PART_BASE(142)
- part {
- name: "elm.icon.image.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 88 0;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1.relative: 1.0 0.0;
- }
- }
- part {
- name: "elm.icon.favorite";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 56 56;
- fixed: 1 1;
- align: 0.5 0.5;
- rel1.to: "elm.icon.image.rect";
- rel2.to: "elm.icon.image.rect";
- }
- }
- part {
- name: "elm.text.name";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 50.0/142.0; offset: 16 0; }
- rel2 { relative: 0.0 50.0/142.0; offset: -16 0; to_x: "elm.icon.image.rect"; }
- text {
- style: "baseinfo_name_textblock_style";
- min: 0 1;
- }
- }
- }
- part {
- name: "elm.text.subname";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 101.0/142.0; offset: 16 0; to: "base"; }
- rel2 { relative: 0.0 101.0/142.0; offset: -16 0; to_x: "elm.icon.image.rect"; }
- text {
- style: "baseinfo_subname_textblock_style";
- min: 0 1;
- }
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/baseinfo.2text.2icon/default";
- alias: "elm/genlist/item_odd/baseinfo.2text.2icon/default";
- alias: "elm/genlist/item_compress/baseinfo.2text.2icon/default";
- alias: "elm/genlist/item_compress_odd/baseinfo.2text.2icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.name elm.text.subname";
- data.item: "contents" "elm.icon.image elm.icon.favorite";
- parts {
- GENLIST_BASEINFO_PART_BASE(142)
- part {
- name: "elm.icon.image.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 141 0;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1.relative: 1.0 0.0;
- }
- }
- part {
- name: "elm.icon.image";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "elm.icon.image.rect";
- rel2.to: "elm.icon.image.rect";
- }
- }
- part {
- name: "elm.icon.favorite.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 88 0;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; to: "elm.icon.image.rect"; }
- rel2 { relative: 0.0 1.0; to: "elm.icon.image.rect"; }
- }
- }
- part {
- name: "elm.icon.favorite";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 56 56;
- fixed: 1 1;
- align: 0.5 0.5;
- rel1.to: "elm.icon.favorite.rect";
- rel2.to: "elm.icon.favorite.rect";
- }
- }
- part {
- name: "elm.text.name";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 50.0/142.0; offset: 16 0; }
- rel2 { relative: 0.0 50.0/142.0; offset: -16 0; to_x: "elm.icon.favorite.rect"; }
- text {
- style: "baseinfo_name_textblock_style";
- min: 0 1;
- }
- }
- }
- part {
- name: "elm.text.subname";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 101.0/142.0; offset: 16 0; to: "base"; }
- rel2 { relative: 0.0 101.0/142.0; offset: -16 0; to_x: "elm.icon.favorite.rect"; }
- text {
- style: "baseinfo_subname_textblock_style";
- min: 0 1;
- }
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/baseinfo.3text.1icon/default";
- alias: "elm/genlist/item_odd/baseinfo.3text.1icon/default";
- alias: "elm/genlist/item_compress/baseinfo.3text.1icon/default";
- alias: "elm/genlist/item_compress_odd/baseinfo.3text.1icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.name elm.text.subname elm.text.subname2";
- data.item: "contents" "elm.icon.favorite";
- parts {
- GENLIST_BASEINFO_PART_BASE(142)
- part {
- name: "elm.icon.image.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 88 0;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1.relative: 1.0 0.0;
- }
- }
- part {
- name: "elm.icon.favorite";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 56 56;
- fixed: 1 1;
- align: 0.5 0.5;
- rel1.to: "elm.icon.image.rect";
- rel2.to: "elm.icon.image.rect";
- }
- }
- part {
- name: "elm.text.name";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 34.0/142.0; offset: 16 0; }
- rel2 { relative: 0.0 34.0/142.0; offset: -16 0; to_x: "elm.icon.image.rect"; }
- text {
- style: "baseinfo_name_textblock_style";
- min: 0 1;
- }
- }
- }
- part {
- name: "elm.text.subname";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 79.0/142.0; offset: 16 0; to: "base"; }
- rel2 { relative: 0.0 79.0/142.0; offset: -16 0; to_x: "elm.icon.image.rect"; }
- text {
- style: "baseinfo_subname_textblock_style";
- min: 0 1;
- }
- }
- }
- part {
- name: "elm.text.subname2";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 117.0/142.0; offset: 16 0; to: "base"; }
- rel2 { relative: 0.0 117.0/142.0; offset: -16 0; to_x: "elm.icon.image.rect"; }
- text {
- style: "baseinfo_subname_textblock_style";
- min: 0 1;
- }
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/baseinfo.3text.2icon/default";
- alias: "elm/genlist/item_odd/baseinfo.3text.2icon/default";
- alias: "elm/genlist/item_compress/baseinfo.3text.2icon/default";
- alias: "elm/genlist/item_compress_odd/baseinfo.3text.2icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.name elm.text.subname elm.text.subname2";
- data.item: "contents" "elm.icon.image elm.icon.favorite";
- parts {
- GENLIST_BASEINFO_PART_BASE(142)
- part {
- name: "elm.icon.image.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 141 0;
- fixed: 1 0;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1.relative: 1.0 0.0;
- }
- }
- part {
- name: "elm.icon.image";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- rel1.to: "elm.icon.image.rect";
- rel2.to: "elm.icon.image.rect";
- }
- }
- part {
- name: "elm.icon.favorite.rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 88 0;
- fixed: 1 1;
- align: 1.0 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; to: "elm.icon.image.rect"; }
- rel2 { relative: 0.0 1.0; to: "elm.icon.image.rect"; }
- }
- }
- part {
- name: "elm.icon.favorite";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 56 56;
- fixed: 1 1;
- align: 0.5 0.5;
- rel1.to: "elm.icon.favorite.rect";
- rel2.to: "elm.icon.favorite.rect";
- }
- }
- part {
- name: "elm.text.name";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 34.0/142.0; offset: 16 0; }
- rel2 { relative: 0.0 34.0/142.0; offset: -16 0; to_x: "elm.icon.favorite.rect"; }
- text {
- style: "baseinfo_name_textblock_style";
- min: 0 1;
- }
- }
- }
- part {
- name: "elm.text.subname";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 79.0/142.0; offset: 16 0; to: "base"; }
- rel2 { relative: 0.0 79.0/142.0; offset: -16 0; to_x: "elm.icon.favorite.rect"; }
- text {
- style: "baseinfo_subname_textblock_style";
- min: 0 1;
- }
- }
- }
- part {
- name: "elm.text.subname2";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 117.0/142.0; offset: 16 0; to: "base"; }
- rel2 { relative: 0.0 117.0/142.0; offset: -16 0; to_x: "elm.icon.favorite.rect"; }
- text {
- style: "baseinfo_subname_textblock_style";
- min: 0 1;
- }
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/logdetail.title/default";
- alias: "elm/genlist/item_odd/logdetail.title/default";
- alias: "elm/genlist/item_compress/logdetail.title/default";
- alias: "elm/genlist/item_compress_odd/logdetail.title/default";
- data.item: "stacking" "above";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text";
- parts {
- GENLIST_BASEINFO_PART_BASE(77);
- part {
- name: "elm.text";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- color: GENLIST_DIALOGUE_FONT_SUB_TITLE_COLOR_INC;
- text {
- font: "Tizen:style=Medium";
- text_class: "tizen";
- size: 28;
- min: 0 1;
- align: 0.0 1.0;
- }
- rel1 { offset: 10 0; }
- rel2 { offset: -10 -10; }
- }
- }
- }
- }
-
- group {
- name: "elm/genlist/item/logdetail.3icon/default";
- alias: "elm/genlist/item_odd/logdetail.3icon/default";
- alias: "elm/genlist/item_compress/logdetail.3icon/default";
- alias: "elm/genlist/item_compress_odd/logdetail.3icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "contents" "elm.icon.1 elm.icon.2 elm.icon.3";
-
- parts {
- part {
- name: "base";
- type: RECT;
- repeat_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 200;
- }
- }
- part {
- name: "elm.icon.1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min:0 138;
- fixed: 0 1;
- rel1.relative: 38/720 0.5;
- rel2.relative: (38+138)/720 0.5;
- align: 0.5 0.5;
- }
- }
-
- part {
- name: "elm.icon.2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 138;
- fixed: 0 1;
- rel1.relative: (38+138+115)/720 0.5;
- rel2.relative: (38+138+115+138)/720 0.5;
- align: 0.5 0.5;
- }
- }
-
- part {
- name: "elm.icon.3";
- type: SWALLOW;
- scale:1 ;
- description {
- state: "default" 0.0;
- min: 0 138;
- fixed: 0 1;
- rel1.relative: (38+138+115+138+115)/720 0.5;
- rel2.relative: (38+138+115+138+115+138)/720 0.5;
- align: 0.5 0.5;
- }
- }
- }
- }
-
- group {
- name: "elm/genlist/item/history_list/default";
- alias: "elm/genlist/item_odd/history_list/default";
- alias: "elm/genlist/item_compress/history_list/default";
- alias: "elm/genlist/item_compress_odd/history_list/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.1 elm.text.2 elm.text.3";
- data.item: "contents" "elm.icon.1 elm.icon.2";
- data.item: "flips" "elm.flip.content";
- parts {
- GENLIST_PART_BASE(128)
- GENLIST_PART_BOTTOM_LINE
- GENLIST_PART_PADDING_TOP(10)
- GENLIST_PART_PADDING_BOTTOM(10)
- GENLIST_PART_PADDING_LEFT(16)
- GENLIST_PART_PADDING_RIGHT(16)
- part {
- name: "elm.icon.1";
- clip_to: "disclip";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 32 32;
- max: 32 32;
- fixed: 1 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.left";
- to_y: "elm.text.1";
- }
- rel2 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.bottom";
- }
- align: 0.0 0.5;
- }
- }
- part {
- name: "elm.padding.icon1.right";
- clip_to: "disclip";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 16 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.icon.1";
- }
- rel2.to_x: "elm.icon.1";
- align: 0.0 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.icon.2";
- clip_to: "disclip";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 32 32;
- max: 32 32;
- fixed: 1 1;
- rel1 {
- relative: 0.0 1.0;
- to_x: "elm.padding.right";
- to_y: "elm.padding.top";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.padding.right";
- to_y: "elm.text.1";
- }
- align: 1.0 0.5;
- }
- }
- part {
- name: "elm.padding.icon2.left";
- clip_to: "disclip";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 16 0;
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.0;
- to_x: "elm.icon.2";
- }
- rel2.to_x: "elm.icon.2";
- align: 1.0 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.text.1";
- clip_to: "disclip";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 60;
- fixed: 0 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.top";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.padding.icon2.left";
- to_y: "elm.padding.top";
- }
- align: 0.0 0.0;
- color: GENLIST_PART_LIST_TEXT_DEFAULT;
- text {
- font: "Tizen:style=Roman";
- size: 44;
- min: 0 1;
- align: 0.0 0.5;
- text_class: "list_item";
- }
- }
- }
- part {
- name: "elm.text.2";
- clip_to: "disclip";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.icon1.right";
- to_y: "elm.text.1";
- }
- rel2 {
- relative: 0.8 0.0;
- to_x: "elm.text.1";
- to_y: "elm.padding.bottom";
- }
- color: 68 68 68 255;
- text {
- font: "Tizen:style=Medium";
- size: 32;
- min: 0 1;
- align: 0.0 0.5;
- text_class: "tizen";
- }
- }
- }
- part {
- name: "elm.text.3";
- clip_to: "disclip";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.text.2";
- to_y: "elm.text.1";
- }
- rel2 {
- relative: 0.0 0.0;
- offset: 5 0;
- to_x: "elm.padding.right";
- to_y: "elm.padding.bottom";
- }
- color: 68 68 68 255;
- text {
- font: "Tizen:style=Medium";
- size: 32;
- min: 0 1;
- align: 1.0 0.5;
- text_class: "tizen";
- }
- }
- }
- part {
- name: "disclip";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/activity_list/default";
- alias: "elm/genlist/item_odd/activity_list/default";
- alias: "elm/genlist/item_compress/activity_list/default";
- alias: "elm/genlist/item_compress_odd/activity_list/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.1 elm.text.2";
- data.item: "contents" "elm.icon.1 elm.icon.2";
- data.item: "flips" "elm.flip.content";
- parts {
- GENLIST_PART_BOTTOM_LINE
- GENLIST_PART_PADDING_TOP(10)
- GENLIST_PART_PADDING_BOTTOM(10)
- GENLIST_PART_PADDING_LEFT(16)
- GENLIST_PART_PADDING_RIGHT(16)
- part {
- name: "elm.icon.1";
- clip_to: "disclip";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 32 32;
- max: 32 32;
- fixed: 1 1;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.bottom";
- }
- rel2 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.bottom";
- }
- align: 0.0 1.0;
- }
- }
- part {
- name: "elm.padding.icon1.right";
- clip_to: "disclip";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 16 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.icon.1";
- }
- rel2.to_x: "elm.icon.1";
- align: 0.0 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.padding.icon1.top";
- clip_to: "disclip";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 16;
- fixed: 0 1;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- }
- rel2.to_y: "elm.icon.1";
- align: 0.0 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.icon.2";
- clip_to: "disclip";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 321 321;
- max: 321 321;
- fixed: 1 1;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.top";
- }
- rel2 {
- relative: 1.0 1.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.top";
- }
- align: 0.0 0.0;
- }
- }
- part {
- name: "elm.text.2";
- clip_to: "disclip";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.icon1.right";
- to_y: "elm.text.1";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "elm.padding.right";
- to_y: "elm.padding.bottom";
- }
- color: 68 68 68 255;
- text {
- font: "Tizen:style=Medium";
- size: 32;
- min: 0 1;
- align: 0.0 1.0;
- text_class: "tizen";
- }
- }
- }
- part {
- name: "elm.text.1";
- clip_to: "disclip";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.left";
- to_y: "elm.icon.2";
- }
- rel2 {
- relative: 0.0 1.0;
- to_x: "elm.padding.right";
- to_y: "elm.icon.2";
- }
- align: 0.0 0.0;
- color: GENLIST_PART_LIST_TEXT_DEFAULT;
- text {
- style: "activity_textblock_style";
- min: 0 1;
- align: 0.0 1.0;
- }
- }
- }
- part {
- name: "disclip";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/activity_list_no_img/default";
- alias: "elm/genlist/item_odd/activity_list_no_img/default";
- alias: "elm/genlist/item_compress/activity_list_no_img/default";
- alias: "elm/genlist/item_compress_odd/activity_list_no_img/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "texts" "elm.text.1 elm.text.2";
- data.item: "contents" "elm.icon.1";
- data.item: "flips" "elm.flip.content";
- parts {
- GENLIST_PART_BOTTOM_LINE
- GENLIST_PART_PADDING_TOP(10)
- GENLIST_PART_PADDING_BOTTOM(10)
- GENLIST_PART_PADDING_LEFT(16)
- GENLIST_PART_PADDING_RIGHT(16)
- part {
- name: "elm.icon.1";
- clip_to: "disclip";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 32 32;
- max: 32 32;
- fixed: 1 1;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.bottom";
- }
- rel2 {
- relative: 1.0 0.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.bottom";
- }
- align: 0.0 1.0;
- }
- }
- part {
- name: "elm.padding.icon1.right";
- clip_to: "disclip";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 16 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- to_x: "elm.icon.1";
- }
- rel2.to_x: "elm.icon.1";
- align: 0.0 0.0;
- visible: 0;
- }
- }
- part {
- name: "elm.text.2";
- clip_to: "disclip";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.icon1.right";
- to_y: "elm.text.1";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "elm.padding.right";
- to_y: "elm.padding.bottom";
- }
- color: 68 68 68 255;
- text {
- font: "Tizen:style=Medium";
- size: 32;
- min: 0 1;
- align: 0.0 1.0;
- text_class: "tizen";
- }
- }
- }
- part {
- name: "elm.text.1";
- clip_to: "disclip";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: 1.0 1.0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.top";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "elm.padding.right";
- to_y: "elm.icon.1";
- }
- color: GENLIST_PART_LIST_TEXT_DEFAULT;
- text {
- style: "activity_textblock_style";
- min: 0 1;
- align: 0.0 1.0;
- }
- }
- }
- part {
- name: "disclip";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- }
- }
- }
- }
- group {
- name: "elm/genlist/item/logdetail.5icon/default";
- alias: "elm/genlist/item_odd/logdetail.5icon/default";
- alias: "elm/genlist/item_compress/logdetail.5icon/default";
- alias: "elm/genlist/item_compress_odd/logdetail.5icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "contents" "elm.icon.1 elm.icon.2 elm.icon.3 elm.icon.4 elm.icon.5";
-
- parts {
- part {
- name: "base";
- type: RECT;
- repeat_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 112;
- }
- }
- part {
- name: "elm.icon.1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min:0 74;
- fixed: 0 1;
- rel1.relative: 0.021 0.5;
- rel2.relative: 0.196 0.5;
- align: 0.5 0.5;
- }
- }
-
- part {
- name: "elm.icon.2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 74;
- fixed: 0 1;
- rel1.relative: 0.218 0.5;
- rel2.relative: 0.392 0.5;
- align: 0.5 0.5;
- }
- }
-
- part {
- name: "elm.icon.3";
- type: SWALLOW;
- scale:1 ;
- description {
- state: "default" 0.0;
- min: 0 74;
- fixed: 0 1;
- rel1.relative: 0.414 0.5;
- rel2.relative: 0.588 0.5;
- align: 0.5 0.5;
- }
- }
- part {
- name: "elm.icon.4";
- type: SWALLOW;
- scale:1 ;
- description {
- state: "default" 0.0;
- min: 0 74;
- fixed: 0 1;
- rel1.relative: 0.61 0.5;
- rel2.relative: 0.783 0.5;
- align: 0.5 0.5;
- }
- }
- part {
- name: "elm.icon.5";
- type: SWALLOW;
- scale:1 ;
- description {
- state: "default" 0.0;
- min: 0 74;
- fixed: 0 1;
- rel1.relative: 0.806 0.5;
- rel2.relative: 0.979 0.5;
- align: 0.5 0.5;
- }
- }
- }
- }
- group { name: "elm/button/base/logdetail.circle/empty";
- alias: "elm/button/base/logdetail.circle/empty";
- images {
- image: PHUG_IMAGES"C01-4_circle_button.png" COMP;
- image: PHUG_IMAGES"C01-4_circle_button_press.png" COMP;
- }
- parts {
- part { name: "button_image";
- scale: 1;
- description { state: "default" 0.0;
- min: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
- max: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
- fixed: 1 1;
- image.normal: PHUG_IMAGES"C01-4_circle_button.png";
- }
- description { state: "clicked" 0.0;
- inherit: "default" 0.0;
- image.normal: PHUG_IMAGES"C01-4_circle_button_press.png";
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- image.normal: PHUG_IMAGES"C01-4_circle_button.png";
- }
- }
- part { name: "elm.swallow.content";
- type: SWALLOW;
- clip_to: "icon_clipper";
- scale: 1;
- description { state: "default" 0.0;
- min: BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC;
- max: BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC;
- fixed: 1 1;
- visible: 0;
- }
- description { state: "visible" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description { state: "disabled" 0.0;
- inherit: "visible" 0.0;
- }
- }
- part { name: "icon_clipper";
- type: RECT;
- scale: 1;
- description { state: "default" 0.0;
- color: 101 101 101 255;
- }
- description { state: "visible" 0.0;
- color: 248 246 239 255;
- }
- description { state: "disabled" 0.0;
- color: 101 101 101 76;
- }
- }
- part { name: "over1";
- type: RECT;
- ignore_flags: ON_HOLD;
- description { state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part { name: "over2";
- repeat_events: 1;
- description { state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part { name: "disabler";
- type: RECT;
- description { state: "default" 0.0;
- color: 0 0 0 0;
- visible: 0;
- }
- description { state: "disabled" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- }
- }
- programs {
- program { name: "button_click";
- signal: "mouse,down,1";
- source: "over1";
- action: SIGNAL_EMIT "elm,action,press" "";
- after: "button_click_anim";
- }
- program { name: "button_click_anim";
- action: STATE_SET "clicked" 0.0;
- target: "button_image";
- target: "icon_clipper";
- }
- program { name: "touch_snd";
- signal: "mouse,clicked,1";
- source: "over1";
-// action: PLAY_SAMPLE "touch_sound" 1.0;
- after: button_unclick2;
- }
- program { name: "button_unclick2";
- action: SIGNAL_EMIT "elm,action,click" "";
- }
- program { name: "button_unclick";
- signal: "mouse,up,1";
- source: "over2";
- action: SIGNAL_EMIT "elm,action,unpress" "";
- after: "button_unclick_anim";
- }
- program { name: "button_unclick_anim";
- action: STATE_SET "default" 0.0;
- target: "button_image";
- target: "icon_clipper";
- }
- program { name: "disable";
- signal: "elm,state,disabled";
- source: "elm";
- action: STATE_SET "disabled" 0.0;
- target: "disabler";
- target: "button_image";
- target: "icon_clipper";
- }
- program { name: "enable";
- signal: "elm,state,enabled";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "disabler";
- target: "button_image";
- target: "icon_clipper";
- }
- program { name: "icon_show";
- signal: "elm,state,icon,visible";
- source: "elm";
- action: STATE_SET "visible" 0.0;
- target: "elm.swallow.content";
- }
- program { name: "icon_hide";
- signal: "elm,state,icon,hidden";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "elm.swallow.content";
- }
- }
- }
-
- group {
- name: "elm/genlist/item/logdetail.2icon/default";
- alias: "elm/genlist/item_odd/logdetail.2icon/default";
- alias: "elm/genlist/item_compress/logdetail.2icon/default";
- alias: "elm/genlist/item_compress_odd/logdetail.2icon/default";
- data.item: "stacking" "above";
- data.item: "selectraise" "on";
- data.item: "contents" "elm.icon.1 elm.icon.2";
-
- parts {
- part {
- name: "base";
- type: RECT;
- repeat_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 120;
- visible: 0;
- }
- }
- part {
- name: "elm.icon.1";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min:0 78;
- fixed: 0 1;
- rel1.relative: 170/720 0.5;
- rel2.relative: (170+190)/720 0.5;
- align: 0.5 0.5;
- }
- }
-
- part {
- name: "elm.icon.2";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 0 78;
- fixed: 0 1;
- rel1.relative: (170+190+10)/720 0.5;
- rel2.relative: (170+190+10+190)/720 0.5;
- align: 0.5 0.5;
- }
- }
- }
- }
-}
diff --git a/lib/edc/nocontent_layout.edc b/lib/edc/nocontent_layout.edc
deleted file mode 100755
index 22eedf7..0000000
--- a/lib/edc/nocontent_layout.edc
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#define IMAGE_PATH "../images/contact_images/"
-
-styles {
- style {
- name: "layout_textblock_style";
- base: "font=Tizen:style=Regular text_class=tizen_medium font_size=32 color=#ffffff align=center wrap=mixed";
- }
-}
-collections {
- group {
- images {
- image: IMAGE_PATH"00_Nocontents_picture.png" COMP;
- }
- name: "nocontent_layout";
- parts {
- part {
- name: "base";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- }
- }
- part {
- name: "top.padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- fixed: 0 1;
- min: 0 215;
- align: 0.5 0.0;
- rel1 { relative: 0.0 0.0; to: "base"; }
- rel2 { relative: 1.0 0.0; to: "base"; }
- }
- }
- part {
- name: "image";
- type: IMAGE;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- min: 280 280;
- rel1 { relative: 0.0 1.0; to: "top.padding"; }
- rel2 { relative: 1.0 1.0; to: "top.padding"; }
- align: 0.5 0.5;
- image {
- normal: IMAGE_PATH"00_Nocontents_picture.png";
- }
- aspect: 1.0 1.0;
- aspect_preference: BOTH;
- }
- }
- part {
- name: "middle.padding";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 0;
- fixed: 0 1;
- min: 0 38;
- align: 0.5 0.0;
- rel1 { relative: 0.0 1.0; to: "image"; }
- rel2 { relative: 1.0 1.0; to: "image"; }
- }
- }
- part {
- name: "elm.text";
- type: TEXTBLOCK;
- mouse_events: 0;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- min: 0 165;
- fixed: 0 1;
- rel1 { relative: 0.0 1.0; to_x: "base"; to_y: "middle.padding"; }
- rel2 { relative: 1.0 1.0; to_x: "base"; to_y: "middle.padding"; }
- color: 128 128 128 255;
- text {
- min: 0 0;
- max: 0 1;
- style: "layout_textblock_style";
- align: 0.5 0.5;
- }
- }
- }
- }
- }
-}
-
diff --git a/lib/edc/progress.edc b/lib/edc/progress.edc
deleted file mode 100755
index fa53a45..0000000
--- a/lib/edc/progress.edc
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-collections {
- group { name: "popup_center_text_progressview";
- parts{
- part {
- name: "pad_t";
- scale : 1;
- mouse_events: 0;
- repeat_events: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- min: 0 0;
- fixed: 0 1;
- rel1 {
- relative: 1.0 0.0;
- to_x: "pad_l";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- }
- }
- }
- part {
- name: "pad_l";
- scale: 1;
- description { state: "default" 0.0;
- min : 0 0;
- fixed: 1 0;
- rel1 {
- relative: 0.0 0.0;
- }
- rel2 {
- relative: 0.0 1.0;
- }
- align: 0.0 0.0;
- }
- }
- part { name: "pad_r";
- scale: 1;
- description { state: "default" 0.0;
- min : 0 0;
- fixed: 1 0;
- rel1 {
- relative: 1.0 0.0;
- }
- rel2 {
- relative: 1.0 1.0;
- }
- align: 1.0 0.0;
- }
- }
- part{ name:"elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description { state: "default" 0.0;
- align: 0.5 0.5;
- fixed: 1 0;
- rel1 {
- relative: 0.2 1.0;
- to: "pad_t";
- }
- rel2 {
- relative: 0.8 0.0;
- to: "pad_b";
- }
- }
- }
- part { name: "pad_b";
- scale : 1;
- mouse_events: 0;
- repeat_events: 1;
- description { state: "default" 0.0;
- align: 0.5 1.0;
- min: 0 90;
- fixed: 0 1;
- rel1 {
- relative: 1.0 0.0;
- to_x: "pad_l";
- to_y: "pad_bm";
- }
- rel2 {
- relative: 0.0 0.0;
- to_x: "pad_r";
- to_y: "pad_bm";
- }
- }
- }
- part { name: "elm.swallow.end";
- type: SWALLOW;
- scale : 1;
- mouse_events: 1;
- repeat_events: 1;
- description { state: "default" 0.0;
- align: 0.5 0.5;
- fixed: 1 1;
- rel1 {
- relative: 0.0 0.0;
- to: "pad_b";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "pad_b";
- }
- }
- }
- part { name: "pad_bm";
-
- scale : 1;
- mouse_events: 0;
- repeat_events: 1;
- description { state: "default" 0.0;
- align: 0.0 1.0;
- min: 0 0;
- fixed: 0 1;
- rel1 {
- relative: 0.0 1.0;
- to_x: "pad_l";
- }
- rel2 {
- relative: 1.0 1.0;
- to_x: "pad_r";
- }
- }
- }
- part { name: "elm.text.subtext1";
- type: TEXT;
- scale : 1;
- description { state: "default" 0.0;
- text {
- font: "Tizen:style=Medium";
- size: 30;
- min: 0 0;
- align: 0.0 0.5;
- text_class: "tizen";
- }
- color: 128 128 128 255;
- align: 0.0 0.5;
- rel1 {
- relative: 0.0 0.0;
- to: "pad_bm";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "pad_bm";
- }
- }
- }
- part { name: "elm.text.subtext2";
- type: TEXT;
- scale : 1;
- description { state: "default" 0.0;
- text {
- font: "Tizen:style=Medium";
- size: 30;
- min: 0 0;
- align: 1.0 0.5;
- text_class: "tizen";
- }
- color: 128 128 128 255;
- align: 1.0 0.5;
- rel1 {
- relative: 0.0 0.0;
- to: "pad_bm";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "pad_bm";
- }
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/lib/edc/selectioninfo.edc b/lib/edc/selectioninfo.edc
deleted file mode 100755
index 54ffc8b..0000000
--- a/lib/edc/selectioninfo.edc
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
-collections {
- group {
- name: "selectioninfo_layout";
- parts {
- part {
- name: "contents";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- align: 0.5 0.0;
- rel2 {
- relative: 1.0 0.0;
- to: "toolbar";
- }
- }
- }
- part {
- name: "selectioninfo";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- align: 0.5 1.0;
- rel2 {
- relative: 1.0 0.0;
- to: "toolbar";
- }
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part {
- name: "toolbar";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 0 1;
- align: 0.0 1.0;
- max: 999999 0;
- }
- }
- }
- programs {
- program {
- name: "show";
- signal: "show,selection,info";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "selectioninfo";
- }
- program {
- name: "hide";
- signal: "hide,selection,info";
- source: "elm";
- action: STATE_SET "hide" 0.0;
- target: "selectioninfo";
- }
- }
- }
-}
diff --git a/lib/edc/speeddial_theme.edc b/lib/edc/speeddial_theme.edc
deleted file mode 100755
index 088d6fe..0000000
--- a/lib/edc/speeddial_theme.edc
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
-* Copyright 2012 Samsung Electronics Co., Ltd
-*
-* Licensed under the Flora License, Version 1.1 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://floralicense.org/license/
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-
-#define WIDTH 720
-#define MIN_SIZE (WIDTH/3)
-#define MAX_SIZE (217)
-
-collections {
- group{
- name: "elm/gengrid/item/gridtext_speeddial/default";
- data.item: "texts" "elm.text elm.text.number";
- data.item: "contents" "elm.swallow.icon elm.swallow.check.icon";
-
- parts{
- part{
- name: "bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color: 0 0 0 0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- }
- }
- part {
- name: "icon_bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- max: MAX_SIZE MAX_SIZE;
- fixed: 1 1;
- visible: 1;
-// color: 51 51 51 200;
- rel1 { relative: 0.0 0.0; to: "bg"; }
- rel2 { relative: 1.0 1.0; to: "bg"; }
- }
- }
- part {
- name: "elm.swallow.icon.bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- visible: 1;
- color: 190 189 189 255;
- rel1 { relative: 0.0 0.0; to: "icon_bg"; }
- rel2 { relative: 1.0 1.0; offset: 0 0; to: "icon_bg"; }
- }
- }
- part{
- name: "elm.swallow.icon";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: "elm.swallow.icon.bg"; }
- rel2 { relative: 1.0 1.0; to: "elm.swallow.icon.bg"; }
- }
- }
- part {
- name: "label_bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: MAX_SIZE 37;
- fixed: 1 1;
- align: 0.0 1.0;
- visible: 1;
- color: 0 0 0 77;
- rel1 { relative: 0.0 1.0; offset: 0 0; to: "elm.swallow.icon.bg"; }
- rel2 { relative: 1.0 1.0; offset: 0 0; to: "elm.swallow.icon.bg"; }
- }
- }
- part {
- name: "elm.text";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: "label_bg"; }
- rel2 { relative: 1.0 1.0; to: "label_bg"; }
- color: 255 255 255 255;
- color2: 0 0 0 185;
- color3: 0 0 0 185;
- text {
- font: "Tizen:style=Medium";
- text_class: "tizen";
- size: 26;
- align: 0.5 0.5;
- }
- }
- }
- part {
- name: "number_label_bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- min: 40 40;
- fixed: 1 1;
- align: 1.0 0.0;
- visible: 0;
- rel1 { relative: 1.0 0.0; offset: -8 +5; to: "elm.swallow.icon.bg"; }
- rel2 { relative: 1.0 0.0; offset: -8 +5; to: "elm.swallow.icon.bg"; }
- }
- }
- part {
- name: "elm.text.number";
- type: TEXT;
- effect: SHADOW;
- scale: 1;
- description {
- state: "default" 0.0;
- align: 0.5 0.5;
- rel1 { relative: 0.0 0.0; to: "number_label_bg"; }
- rel2 { relative: 1.0 1.0; to: "number_label_bg"; }
- color: 255 255 255 255;
- color2: 0 0 0 185;
- color3: 0 0 0 185;
- text {
- font: "Tizen:style=Medium";
- text_class: "tizen";
- size: 40;
- align: 0.5 0.5;
- }
- }
- }
- part {
- name: "elm.swallow.check.icon";
- type: SWALLOW;
- description {
- state: "default" 0.0;
- align: 0.5 0.5;
- rel1 { relative: 0.0 0.0; to: "elm.swallow.icon";}
- rel2 { relative: 1.0 1.0; to: "elm.swallow.icon";}
- }
- }
- }
- }
-}
diff --git a/lib/favor/CMakeLists.txt b/lib/favor/CMakeLists.txt
deleted file mode 100755
index 80a306b..0000000
--- a/lib/favor/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
-
-FILE(GLOB FAVOR_SRCS *.cpp)
-
-ADD_LIBRARY(${FAVOR_LIB} STATIC ${FAVOR_SRCS})
-SET_TARGET_PROPERTIES(${FAVOR_LIB} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
-TARGET_LINK_LIBRARIES(${FAVOR_LIB} ${COMMON_LIB} ${ug_pkgs_LDFLAGS} ${CT_DETAILS} ${CT_LIST})
-ADD_DEPENDENCIES(${FAVOR_LIB} favorites_theme_build)
-ADD_DEPENDENCIES(${TARGET} favorites_theme_build contact_button_edj_build)
diff --git a/lib/favor/include/ct-favor.h b/lib/favor/include/ct-favor.h
deleted file mode 100755
index 6a75be3..0000000
--- a/lib/favor/include/ct-favor.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CT_FAVOR_H__
-#define __CT_FAVOR_H__
-
-#include "phone-common.h"
-#include <map>
-
-enum
-{
- PH_FAVOR_MODE_DEFAULT,
- PH_FAVOR_MODE_EDIT,
-};
-
-typedef std::map<int, ph_favor_info*> CheckMap;
-
-struct ph_favorite_data: public Common::View
-{
- ph_favorite_data();
- Evas_Object *mf_layout;
- Evas_Object *box;
- Evas_Object *favor_gengrid;
- Evas_Object *mf_gengrid;
- Evas_Object *ctx_popup;
- Evas_Object *navi_button;
- Eina_List *favor_list;
- Eina_List *mf_list;
- Eina_Bool longpressed;
- Ecore_Timer *update_timer_contact;
- Ecore_Timer *update_timer_favor;
- Ecore_Timer *update_timer_log;
- int list_mode;
- int selected_person_id;
- int checked_cnt;
- int favor_list_count;
- int mf_list_count;
- int readed_n;
- int version;
- int ug_request;
- int ug_cnt_max;
- int touch_x;
- int touch_y;
- int mfc_option;
- bool is_background;
- bool is_mf_changed;
- bool favor_move;
- bool updating;
- char *ug_data;
- Ecore_Idler *list_idler;
- ph_progress_info *p_info;
- CheckMap itemState;
-};
-
-Evas_Object* phone_favor_create_view(ph_view_info *view_info);
-void phone_favor_set_navi(Evas_Object *base, int mode);
-void phone_favor_view_reset(Evas_Object *base);
-void phone_favor_view_language_changed(Evas_Object *base);
-void phone_favor_set_background(Evas_Object *obj, bool is_background);
-void phone_favor_edit_mode_start(ph_favorite_data *favor_d);
-
-#endif /* __CT_FAVOR_H__ */
-
diff --git a/lib/favor/ph-favorite-edit-view.cpp b/lib/favor/ph-favorite-edit-view.cpp
deleted file mode 100755
index da7b405..0000000
--- a/lib/favor/ph-favorite-edit-view.cpp
+++ /dev/null
@@ -1,606 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-#include "ct-favor.h"
-#include "ph-favorite-view.h"
-#include "ph-favorite-edit-view.h"
-#include "ct-list.h"
-
-#define FAVORITES_THEME "favorites_theme"
-#define FAVORITES_THEME_EDIT_NO_EFFECT "favorites_theme/edit_no_effect"
-#define FAVORITES_THEME_EDIT "favorites_theme/edit"
-
-static void favor_edit_del(ph_favorite_data *favor_d);
-
-static void favor_edit_del_cb(int err, void *data)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- ph_progress_info *p_info = NULL;
-
- p_retm_if(NULL == favor_d, "Invalid parameter(favor_d is NULL)");
- p_info = favor_d->p_info;
- p_retm_if(NULL == p_info, "Invalid parameter(p_info is NULL)");
-
- if (p_info->update_list)
- {
- contacts_list_destroy(p_info->update_list, true);
- p_info->update_list = NULL;
- }
-
- if (CONTACTS_ERROR_NONE != err || p_info->alive == false)
- {
- if (p_info->popup)
- {
- evas_object_del(p_info->popup);
- p_info->popup = NULL;
- }
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
- free(p_info);
- favor_d->p_info = NULL;
- favor_d->updating = false;
- ph_favor_data_lazy_update(_contacts_person._uri, favor_d);
- return;
- }
- else if (p_info->cnt == p_info->cnt_checked_total)
- {
- if (p_info->popup)
- {
- evas_object_del(p_info->popup);
- p_info->popup = NULL;
- }
- phone_show_tickernoti(S_(PH_SYS_POP_DELETED));
- free(p_info);
- favor_d->p_info = NULL;
- favor_d->updating = false;
- ph_favor_edit_mode_end(favor_d, true);
- ph_favor_data_lazy_update(_contacts_person._uri, favor_d);
- return;
- }
- else
- {
- favor_edit_del(favor_d);
- }
-}
-
-static void favor_edit_del(ph_favorite_data *favor_d)
-{
- PH_TRACE;
- const int FAVOR_BULK_LENGTH = 50;
- char percent_total[PH_TEXT_MAX_LEN + 1] = { 0, };
- char percent[PH_TEXT_MAX_LEN + 1] = { 0, };
- int count = 0;
- int base_count = 0;
- double value = 0.0;
-
- Eina_List *l = NULL;
- void *v_f_info = NULL;
- ph_progress_info *p_info = NULL;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- contacts_list_h list = NULL;
-
- p_retm_if(NULL == favor_d, "parameter(favor_d) is NULL");
- p_info = favor_d->p_info;
- p_retm_if(NULL == p_info, "parameter(p_info) is NULL");
-
- err = contacts_list_create(&list);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_list_create() Failed(%d)",
- err);
-
- EINA_LIST_FOREACH(favor_d->favor_list, l, v_f_info)
- {
- ph_favor_info *f_info = (ph_favor_info *) v_f_info;
- if (NULL == f_info)
- continue;
-
- if (TRUE == f_info->checked)
- {
- if (base_count < p_info->cnt)
- {
- base_count++;
- continue;
- }
-
- if (CONTACTS_ERROR_NONE
- != contacts_db_get_record(_contacts_person._uri,
- f_info->person_id, &record))
- {
- ERR("contacts_db_get_record() Failed()");
- p_info->completed = true;
- p_info->result = FALSE;
- break;
- }
- err = contacts_record_set_bool(record, _contacts_person.is_favorite,
- false);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_ercord_set_bool() Failed(%d)", err);
-
- contacts_list_add(list, record);
- count++;
- if (FAVOR_BULK_LENGTH == count
- || (count + p_info->cnt) == p_info->cnt_checked_total)
- {
- p_info->cnt += count;
- break;
- }
- }
- }
- value = (double) p_info->cnt / (double) p_info->cnt_checked_total;
- elm_progressbar_value_set(p_info->progressbar, value);
- snprintf(percent, sizeof(percent), "%d%%",
- (int) (100.0 * (double) p_info->cnt
- / (double) p_info->cnt_checked_total));
- snprintf(percent_total, sizeof(percent_total), "%d/%d", p_info->cnt,
- p_info->cnt_checked_total);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext1", percent);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext2", percent_total);
-
- p_info->update_list = list;
- contacts_db_update_records_async(list, favor_edit_del_cb, favor_d);
-}
-
-void ph_favor_edit_del_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- ph_progress_info *p_info;
-
- p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- p_retm_if(NULL == p_info, "calloc return NULL");
-
- favor_d->p_info = p_info;
- favor_d->updating = true;
- p_info->cnt_checked_total = favor_d->checked_cnt;
- p_info->alive = true;
- p_info->popup = phone_progressbar_popup(favor_d->win, p_info,
- T_(PH_GET_TEXT_BASIC, PHTEXT_DELETING_FAVORITES));
- favor_edit_del(favor_d);
-}
-
-void ph_favor_edit_check_for_number(Elm_Object_Item *item,
- ph_favorite_data *favor_d)
-{
- PH_TRACE;
- ph_favor_info *f_info;
- Evas_Object *list_nums;
- contacts_record_h record = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- f_info = (ph_favor_info *) elm_object_item_data_get(item);
- p_retm_if(NULL == f_info, "elm_object_item_data_get() return NULL");
-
- if (NULL == f_info->number_list)
- {
- ERR("f_info->number_list is NULL");
- phone_show_popup(favor_d->navi, T_(CT_GET_TEXT_ERR, CTTEXT_NO_NUMBER),
- 1.5);
-
- f_info->checked = EINA_FALSE;
- favor_d->checked_cnt--;
-
- elm_gengrid_item_update(item);
- return;
- }
-
- if (1 == eina_list_count(f_info->number_list))
- {
- record = (contacts_record_h) f_info->number_list->data;
- f_info->id_ret_type = 1;
- err = contacts_record_get_int(record, _contacts_number.id,
- &f_info->id_ret);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- ph_favor_edit_set_selection_info(favor_d);
- }
- else
- {
- list_nums = ph_favor_create_value_list_popup(favor_d, f_info);
- p_retm_if(NULL == list_nums,
- "ph_favor_create_value_list_popup() return NULL");
- evas_object_data_set(list_nums, "item", item);
- }
-}
-
-void ph_favor_edit_check_for_email(Elm_Object_Item *item,
- ph_favorite_data *favor_d)
-{
- PH_TRACE;
- Evas_Object *list_emails;
- ph_favor_info *f_info;
- contacts_record_h record = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- f_info = (ph_favor_info *) elm_object_item_data_get(item);
- p_retm_if(NULL == f_info, "elm_object_item_data_get() return NULL");
-
- if (NULL == f_info->email_list)
- {
- ERR("f_info->number_list is NULL");
- phone_show_popup(favor_d->navi, T_(CT_GET_TEXT_ERR, CTTEXT_NO_EMAIL),
- 1.5);
-
- f_info->checked = EINA_FALSE;
- favor_d->checked_cnt--;
-
- elm_gengrid_item_update(item);
- return;
- }
-
- if (1 == eina_list_count(f_info->email_list))
- {
- record = (contacts_record_h) f_info->email_list->data;
- f_info->id_ret_type = 2;
- err = contacts_record_get_int(record, _contacts_email.id,
- &f_info->id_ret);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- ph_favor_edit_set_selection_info(favor_d);
- }
- else
- {
- list_emails = ph_favor_create_value_list_popup(favor_d, f_info);
- p_retm_if(NULL == list_emails,
- "ph_favor_create_value_list_popup() return NULL");
- evas_object_data_set(list_emails, "item", item);
- }
-}
-
-void ph_favor_edit_check_for_number_or_email(Elm_Object_Item *item,
- ph_favorite_data *favor_d)
-{
- PH_TRACE;
- int number_list_count = 0;
- int email_list_count = 0;
- Eina_List *list_contact;
- Evas_Object *list;
- ph_favor_info *f_info;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- f_info = (ph_favor_info *) elm_object_item_data_get(item);
- p_retm_if(NULL == f_info, "elm_object_item_data_get() return NULL");
-
- list_contact = ctui_person_get_contact_list(f_info->person_id);
- p_retm_if(NULL == list_contact,
- "ctui_person_get_contact_list() return NULL");
-
- if (NULL == f_info->email_list)
- f_info->email_list = ctui_person_get_email_list(list_contact);
- if (NULL == f_info->number_list)
- f_info->number_list = ctui_person_get_number_list(list_contact);
-
- if (f_info->number_list)
- number_list_count = eina_list_count(f_info->number_list);
- if (f_info->email_list)
- email_list_count = eina_list_count(f_info->email_list);
-
- if (0 == number_list_count && 0 == email_list_count)
- {
- ctui_free_record_list(list_contact);
- phone_show_popup(favor_d->navi, T_(CT_GET_TEXT_ERR, CTTEXT_NO_EMAIL),
- 1.5);
- ph_favor_edit_change_checked_item_state(*favor_d, *f_info, EINA_FALSE);
- return;
- }
-
- if (1 == number_list_count && 0 == email_list_count)
- {
- record = (contacts_record_h) f_info->number_list->data;
- err = contacts_record_get_int(record, _contacts_number.id,
- &(f_info->id_ret));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- f_info->id_ret_type = 1;
- ph_favor_edit_change_checked_item_state(*favor_d, *f_info, EINA_TRUE);
- favor_d->checked_cnt++;
- ph_favor_edit_set_selection_info(favor_d);
- }
- else if (0 == number_list_count && 1 == email_list_count)
- {
- record = (contacts_record_h) f_info->email_list->data;
- err = contacts_record_get_int(record, _contacts_email.id,
- &(f_info->id_ret));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- f_info->id_ret_type = 2;
- ph_favor_edit_change_checked_item_state(*favor_d, *f_info, EINA_TRUE);
- favor_d->checked_cnt++;
- ph_favor_edit_set_selection_info(favor_d);
- }
- else
- {
- list = ph_favor_create_value_list_popup(favor_d, f_info);
- if (list)
- evas_object_data_set(list, "item", item);
- }
- ctui_free_record_list(list_contact);
-}
-
-void copy_favor_info_to_map(Eina_Bool checked, ph_favorite_data *favor_d,ph_favor_info *f_info)
-{
- PH_TRACE;
- ph_favor_info *favor_data = NULL;
- if (favor_d && f_info)
- {
- if (checked)
- {
- favor_data = new ph_favor_info;
- favor_data->person_id = f_info->person_id;
- favor_data->id_ret = f_info->id_ret;
- favor_data->checked = f_info->checked;
- favor_data->id_ret_type = f_info->id_ret_type;
- favor_d->itemState[f_info->person_id] = favor_data;
- }
- else
- {
- CheckMap::const_iterator it = favor_d->itemState.find(f_info->person_id);
- if (it != favor_d->itemState.end())
- {
- delete it->second;
- favor_d->itemState.erase(f_info->person_id);
- }
- }
- }
-}
-
-void ph_favor_edit_check_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) evas_object_data_get(obj, "favor_d");
- p_retm_if(NULL == favor_d, "favorite data is NULL");
-
- p_retm_if(NULL == obj, "object is NULL");
- Eina_Bool checked = elm_check_state_get(obj);
-
- ph_favor_info *f_info = (ph_favor_info *) data;
- p_retm_if(NULL == f_info, "favor info is NULL");
- Elm_Object_Item *item = f_info->item;
-
-
- copy_favor_info_to_map(checked,favor_d,f_info);
- if (checked)
- {
- if (favor_d->ug_cnt_max)
- {
- if (favor_d->ug_cnt_max <= favor_d->checked_cnt)
- {
- phone_show_popup(favor_d->navi,
- T_(CT_GET_TEXT_ERR, CTTEXT_EXCEED_LIMIT), 2.0);
- checked = !checked;
- elm_check_state_set(obj, checked);
- return;
- }
- }
- favor_d->checked_cnt++;
- }
- else
- {
- favor_d->checked_cnt--;
- ph_favor_edit_set_selection_info(favor_d);
- return;
- }
-
- if (PH_UG_REQUEST_CHECK_FOR_NUMBER == favor_d->ug_request)
- ph_favor_edit_check_for_number(item, favor_d);
- else if (PH_UG_REQUEST_CHECK_FOR_EMAIL == favor_d->ug_request)
- ph_favor_edit_check_for_email(item, favor_d);
- else if (PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == favor_d->ug_request)
- {
- ph_favor_edit_change_checked_item_state(*favor_d, *f_info, EINA_FALSE);
- favor_d->checked_cnt--;
- ph_favor_edit_check_for_number_or_email(item, favor_d);
- }
- else
- ph_favor_edit_set_selection_info(favor_d);
-}
-
-void updateCheckedItem(Elm_Object_Item *pItem, ph_favorite_data &favorData,
- ph_favor_info &favorInfo)
-{
- PH_TRACE;
- p_retm_if(NULL == pItem, "item is NULL");
-
- if (!favorInfo.checked)
- {
- if (favorData.ug_cnt_max)
- {
- if (favorData.ug_cnt_max <= favorData.checked_cnt)
- {
- phone_show_popup(favorData.navi,
- T_(CT_GET_TEXT_ERR, CTTEXT_EXCEED_LIMIT), 2.0);
- return;
- }
- }
- }
- else
- {
- ph_favor_edit_change_checked_item_state(favorData, favorInfo, EINA_FALSE);
- favorData.checked_cnt--;
- ph_favor_edit_set_selection_info(&favorData);
- return;
- }
-
- if (PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == favorData.ug_request)
- {
- ph_favor_edit_check_for_number_or_email(pItem, &favorData);
- }
- else
- {
- ph_favor_edit_change_checked_item_state(favorData, favorInfo, EINA_TRUE);
- favorData.checked_cnt++;
- ph_favor_edit_set_selection_info(&favorData);
- }
-}
-
-void ph_favor_edit_change_checked_item_state(ph_favorite_data &favorData,
- ph_favor_info &favorInfo, Eina_Bool state)
-{
- PH_TRACE;
-
- if(favorInfo.item)
- {
- favorInfo.checked = state;
- copy_favor_info_to_map(state,&favorData,&favorInfo);
- elm_gengrid_item_update(favorInfo.item);
- elm_object_item_signal_emit(favorInfo.item, FAVORITES_THEME_EDIT,
- FAVORITES_THEME);
- }
-}
-
-void ph_favor_edit_set_selection_info(ph_favorite_data * favor_d)
-{
- PH_TRACE;
- p_retm_if(NULL == favor_d, "Selection info is null");
-
- if (0 == favor_d->checked_cnt)
- phone_show_notify(favor_d->layout,
- T_(CT_GET_TEXT_BASIC, CTTEXT_SELECT_CONTACTS));
- else
- {
- char info_text[PH_TEXT_SHORT_LEN] = { 0 };
-
- if (favor_d->ug_cnt_max)
- snprintf(info_text, sizeof(info_text), "%s (%d/%d)",
- S_(PH_SYS_POP_SELECTED), favor_d->checked_cnt,
- favor_d->ug_cnt_max);
- else
- snprintf(info_text, sizeof(info_text), "%s (%d)",
- S_(PH_SYS_POP_SELECTED), favor_d->checked_cnt);
- phone_show_notify(favor_d->layout, info_text);
- }
-
- ph_favor_update_button_status(favor_d);
-}
-
-static void favor_gengrid_realized(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_favor_info *f_info;
- Elm_Object_Item *it = (Elm_Object_Item *) event_info;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- f_info = (ph_favor_info *) elm_object_item_data_get(it);
- p_retm_if(NULL == f_info, "elm_object_item_data_get() return NULL");
-
- if (favor_d->list_mode == PH_FAVOR_MODE_EDIT)
- elm_object_item_signal_emit(f_info->item,
- FAVORITES_THEME_EDIT_NO_EFFECT, FAVORITES_THEME);
-}
-
-API void phone_favor_edit_mode_start(ph_favorite_data *favor_d)
-{
- PH_TRACE;
- Eina_List *list;
- Eina_List *cursor;
- void *v_it;
- ph_favor_info *f_info;
- p_retm_if(NULL == favor_d, "Favorite data is null");
- favor_d->list_mode = PH_FAVOR_MODE_EDIT;
- phone_favor_set_navi(favor_d->layout, PH_FAVOR_MODE_EDIT);
- if (favor_d->favor_list)
- phone_show_notify(favor_d->layout,
- T_(CT_GET_TEXT_BASIC, CTTEXT_SELECT_CONTACTS));
- elm_gengrid_reorder_mode_set(favor_d->favor_gengrid, EINA_TRUE);
- elm_gengrid_clear(favor_d->favor_gengrid);
- ph_favor_fill_favor_gengrid(favor_d);
-
- evas_object_smart_callback_add(favor_d->favor_gengrid, "realized",
- favor_gengrid_realized, favor_d);
- list = elm_gengrid_realized_items_get(favor_d->favor_gengrid);
- EINA_LIST_FOREACH(list, cursor, v_it)
- {
- Elm_Object_Item *it = (Elm_Object_Item *) v_it;
- f_info = (ph_favor_info *) elm_object_item_data_get(it);
- p_retm_if(NULL == f_info, "elm_object_item_data_get() return NULL");
- elm_object_item_signal_emit(f_info->item, FAVORITES_THEME_EDIT,
- FAVORITES_THEME);
- }
-}
-
-static void favor_all_item_check_false(Eina_List *list)
-{
- PH_TRACE;
- Eina_List *l;
- void *v_f_info;
- p_retm_if(NULL == list, "List is null");
-
- EINA_LIST_FOREACH(list, l, v_f_info)
- {
- ph_favor_info *f_info = (ph_favor_info *) v_f_info;
- if (NULL == f_info)
- continue;
-
- if (EINA_TRUE == f_info->checked)
- f_info->checked = EINA_FALSE;
- }
-}
-
-void ph_favor_edit_mode_end(ph_favorite_data *favor_d, bool redraw)
-{
- PH_TRACE;
- Evas_Object *bg;
- Evas_Object *layout;
-
- favor_d->list_mode = PH_FAVOR_MODE_DEFAULT;
-
- layout = elm_object_part_content_get(favor_d->layout, "contents");
- bg = elm_object_part_content_unset(layout, "elm.swallow.bg");
- if (bg)
- evas_object_del(bg);
-
- phone_hide_notify(favor_d->layout);
-
- if (favor_d->checked_cnt)
- favor_d->checked_cnt = 0;
-
- if (favor_d->favor_gengrid)
- {
- elm_gengrid_clear(favor_d->favor_gengrid);
- if (true == favor_d->favor_move)
- ph_favor_load_favor_list(favor_d);
-
- ph_favor_fill_favor_gengrid(favor_d);
- if (0 == ctui_get_mfc_option())
- {
- ph_favor_load_mf_list(favor_d);
- ph_favor_fill_mf_gengrid(favor_d);
- }
- }
- favor_all_item_check_false(favor_d->favor_list);
- CheckMap::const_iterator it;
- for (it=favor_d->itemState.begin(); it!=favor_d->itemState.end(); ++it)
- {
- delete it->second;
- }
- favor_d->itemState.clear();
- elm_gengrid_reorder_mode_set(favor_d->favor_gengrid, EINA_FALSE);
- if (redraw)
- phone_favor_set_navi(favor_d->layout, PH_FAVOR_MODE_DEFAULT);
-}
-
-void ph_favor_edit_cancel_cb(void *data)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- ph_favor_edit_mode_end(favor_d, true);
-}
diff --git a/lib/favor/ph-favorite-edit-view.h b/lib/favor/ph-favorite-edit-view.h
deleted file mode 100755
index 293c8e6..0000000
--- a/lib/favor/ph-favorite-edit-view.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PH_FAVORITE_EDIT_H__
-#define __PH_FAVORITE_EDIT_H__
-
-void ph_favor_edit_mode_end(ph_favorite_data *favor_d, bool redraw);
-void ph_favor_edit_set_selection_info(ph_favorite_data *favor_d);
-
-/**
- * @brief This function updates item checked state.
- * @param[in] pItem Item to be update
- * @param[out] favorData Favorite data structure
- * @param[out] favorInfo Item info structure
- */
-void updateCheckedItem(Elm_Object_Item *pItem, ph_favorite_data &favorData,
- ph_favor_info &favorInfo);
-
-/**
- * @brief This function set the check on/check off state of the item.
- * @param[out] favorData Favorite data structure
- * @param[out] favorInfo Item info structure
- * @param[in] state The state to use (EINA_TRUE == check on, EINA_FALSE == check off)
- */
-void ph_favor_edit_change_checked_item_state(ph_favorite_data &favorData,
- ph_favor_info &favorInfo, Eina_Bool state);
-
-void ph_favor_edit_check_changed_cb(void *data, Evas_Object *obj,
- void *event_info);
-void ph_frequent_edit_check_changed_cb(void *data, Evas_Object *obj,
- void *event_info);
-void ph_favor_edit_del_btn_cb(void *data, Evas_Object *obj, void *event_info);
-void ph_favor_edit_cancel_cb(void *data);
-void ph_favor_edit_check_for_number(Elm_Object_Item *item,
- ph_favorite_data *favor_d);
-void ph_favor_edit_check_for_email(Elm_Object_Item *item,
- ph_favorite_data *favor_d);
-void ph_favor_edit_check_for_number_or_email(Elm_Object_Item *item,
- ph_favorite_data *favor_d);
-
-#endif /* __PH_FAVORITE_EDIT_H__ */
diff --git a/lib/favor/ph-favorite-view.cpp b/lib/favor/ph-favorite-view.cpp
deleted file mode 100755
index c3200a0..0000000
--- a/lib/favor/ph-favorite-view.cpp
+++ /dev/null
@@ -1,2772 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <Ecore_X.h>
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-#include "phone-common.h"
-
-#include "ct-favor.h"
-#include "ct-list.h"
-#include "ct-detail.h"
-#include "ph-favorite-view.h"
-#include "ph-favorite-edit-view.h"
-
-#define KEY_FAVOR_DATA "favor_d"
-#define SWALLOW_END "elm.swallow.end"
-#define PH_FAVOR_LIST_ICON_SIZE 70
-
-static Elm_Gengrid_Item_Class grid_itc_favor, grid_itc_favor_no_id, grid_itc_mf,
- grid_itc_mf_no_id, grid_itc_index, grid_itc_mf_index;
-
-enum favor_item_type
-{
- FAVOR_ITEM_MFC = 0,
- FAVOR_ITEM_FAVOR,
-};
-
-ph_favorite_data::ph_favorite_data() :
- mf_layout(NULL), box(NULL), favor_gengrid(NULL),
- mf_gengrid(NULL), ctx_popup(NULL), navi_button(NULL),
- favor_list(NULL), mf_list(NULL), longpressed(0),
- update_timer_contact(NULL), update_timer_favor(NULL),
- update_timer_log(NULL), list_mode(0), selected_person_id(0),
- checked_cnt(0), favor_list_count(0), mf_list_count(0),
- readed_n(0), version(0), ug_request(0), ug_cnt_max(0),
- touch_x(0), touch_y(0), mfc_option(0), is_background(0),
- is_mf_changed(0), favor_move(0), updating(0),
- ug_data(NULL), list_idler (NULL), p_info(NULL)
-{
- PH_TRACE;
-}
-
-static char* favor_get_contact_number(int person_id)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- char *number = NULL;
- contacts_record_h record_default_number = NULL;
-
- err = phone_cts_get_default_number(person_id, &record_default_number);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_default_number() Failed(%d)", err);
-
- err = contacts_record_get_str_p(record_default_number,
- _contacts_number.number, &(number));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- number = SAFE_STRDUP(number);
- PH_DBG("number = %s", number);
-
- err = contacts_record_destroy(record_default_number, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- return number;
-}
-
-static contacts_filter_h favor_create_filter_bool(contacts_filter_h filter,
- const char *view_uri, int property_id, contacts_match_int_flag_e flag,
- bool match_value)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
-
- if (NULL == filter)
- {
- err = contacts_filter_create(view_uri, &filter);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_filter_create() Failed(%d)", err);
- }
- else
- {
- err = contacts_filter_add_operator(filter,
- CONTACTS_FILTER_OPERATOR_AND);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_add_operator() Failed(%d)", err);
- }
-
- err = contacts_filter_add_bool(filter, property_id, match_value);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_add_int() Failed(%d)", err);
-
- return filter;
-}
-
-static void favor_load_favorite_data(ph_favorite_data *favor_d)
-{
- PH_TRACE;
- int count = 0;
- int ret = 0;
- Eina_List *list = NULL;
- contacts_list_h person_list = NULL;
- int err = CONTACTS_ERROR_NONE;
- contacts_filter_h filter = NULL;
- contacts_filter_h filter2 = NULL;
- contacts_query_h query = NULL;
-
- err = contacts_query_create(_contacts_person._uri, &query);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)",
- err);
-
- switch (favor_d->ug_request)
- {
- //case PH_UG_REQUEST_SELECT_NUMBER:
- //case PH_UG_REQUEST_CHECK_FOR_NUMBER:
- case CT_UG_REQUEST_SELECT_NUMBER:
- case CT_UG_REQUEST_CHECK_FOR_NUMBER:
- do
- {
- filter = favor_create_filter_bool(filter, _contacts_person._uri,
- _contacts_person.is_favorite, CONTACTS_MATCH_EQUAL,
- true);
- filter = favor_create_filter_bool(filter, _contacts_person._uri,
- _contacts_person.has_phonenumber, CONTACTS_MATCH_EQUAL,
- true);
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_filter(query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_sort(query,
- _contacts_person.favorite_priority, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_db_get_records_with_query(query, 0,
- 0, &person_list)))
- break;
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_query_destroy(query);
- contacts_filter_destroy(filter);
-
- break;
- //case PH_UG_REQUEST_SELECT_EMAIL:
- //case PH_UG_REQUEST_CHECK_FOR_EMAIL:
- case CT_UG_REQUEST_SELECT_EMAIL:
- case CT_UG_REQUEST_CHECK_FOR_EMAIL:
- do
- {
- filter = favor_create_filter_bool(filter, _contacts_person._uri,
- _contacts_person.is_favorite, CONTACTS_MATCH_EQUAL,
- true);
- filter = favor_create_filter_bool(filter, _contacts_person._uri,
- _contacts_person.has_email, CONTACTS_MATCH_EQUAL, true);
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_filter(query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_sort(query,
- _contacts_person.favorite_priority, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_db_get_records_with_query(query, 0,
- 0, &person_list)))
- break;
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_query_destroy(query);
- contacts_filter_destroy(filter);
-
- break;
-
- case CT_UG_REQUEST_SELECT_NUMBER_OR_EMAIL:
- case CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL:
- do
- {
- filter = favor_create_filter_bool(filter, _contacts_person._uri,
- _contacts_person.is_favorite, CONTACTS_MATCH_EQUAL,
- true);
- filter2 = favor_create_filter_bool(NULL, _contacts_person._uri,
- _contacts_person.has_phonenumber, CONTACTS_MATCH_EQUAL,
- true);
- if (CONTACTS_ERROR_NONE
- != (err = contacts_filter_add_operator(filter2,
- CONTACTS_FILTER_OPERATOR_OR)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_filter_add_bool(filter2,
- _contacts_person.has_email, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_filter_add_operator(filter,
- CONTACTS_FILTER_OPERATOR_AND)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_filter_add_filter(filter, filter2)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_filter(query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_sort(query,
- _contacts_person.favorite_priority, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_db_get_records_with_query(query, 0,
- 0, &person_list)))
- break;
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_query_destroy(query);
- contacts_filter_destroy(filter);
- contacts_filter_destroy(filter2);
-
- break;
- default:
- do
- {
- filter = favor_create_filter_bool(filter, _contacts_person._uri,
- _contacts_person.is_favorite, CONTACTS_MATCH_EQUAL,
- true);
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_filter(query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_sort(query,
- _contacts_person.favorite_priority, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_db_get_records_with_query(query, 0,
- 0, &person_list)))
- break;
- }
- while (0);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_create() Failed(%d)", err);
-
- contacts_query_destroy(query);
- contacts_filter_destroy(filter);
-
- break;
- }
- if (CONTACTS_ERROR_NONE != ret)
- {
- ERR("contacts_db_get_records_with_query() Failed(%d)");
- favor_d->favor_list_count = 0;
- return;
- }
-
- contacts_db_get_current_version(&favor_d->version);
-
- while (CONTACTS_ERROR_NONE == err)
- {
- ph_favor_info *f_info;
- f_info = (ph_favor_info *)calloc(1, sizeof(ph_favor_info));
-
- err = phone_cts_get_int_from_list(person_list, _contacts_person.id,
- &f_info->person_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_int_from_list() Failed(%d)", err);
- free(f_info);
- break;
- }
- err = phone_cts_get_str_from_list(person_list,
- _contacts_person.display_name, &f_info->display);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_str_from_list() Failed(%d)", err);
- free(f_info);
- break;
- }
- SAFE_STRDUP(f_info->display);
- err = phone_cts_get_str_from_list(person_list,
- _contacts_person.image_thumbnail_path, &f_info->img_path);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_str_from_list() Failed(%d)", err);
- free(f_info);
- break;
- }
- SAFE_STRDUP(f_info->img_path);
-
- if (CT_UG_REQUEST_SELECT_NUMBER == favor_d->ug_request
- || CT_UG_REQUEST_CHECK_FOR_NUMBER == favor_d->ug_request)
- {
- f_info->contact_list = ctui_person_get_contact_list(
- f_info->person_id);
- p_warn_if(NULL == f_info->contact_list,
- "ctui_person_get_contact_list() return NULL");
-
- f_info->number_list = ctui_person_get_number_list(
- f_info->contact_list);
- p_warn_if(NULL == f_info->number_list,
- "ctui_person_get_contact_list() return NULL");
- }
- else if (CT_UG_REQUEST_SELECT_EMAIL == favor_d->ug_request
- || CT_UG_REQUEST_CHECK_FOR_EMAIL == favor_d->ug_request)
- {
- f_info->contact_list = ctui_person_get_contact_list(
- f_info->person_id);
- p_warn_if(NULL == f_info->contact_list,
- "ctui_person_get_contact_list() return NULL");
-
- f_info->email_list = ctui_person_get_email_list(
- f_info->contact_list);
- p_warn_if(NULL == f_info->email_list,
- "ctui_person_get_contact_list() return NULL");
-
- }
- else if (CT_UG_REQUEST_SELECT_NUMBER_OR_EMAIL == favor_d->ug_request
- || CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL
- == favor_d->ug_request)
- {
- f_info->contact_list = ctui_person_get_contact_list(
- f_info->person_id);
- p_warn_if(NULL == f_info->contact_list,
- "ctui_person_get_contact_list() return NULL");
-
- f_info->email_list = ctui_person_get_email_list(
- f_info->contact_list);
- p_warn_if(NULL == f_info->email_list,
- "ctui_person_get_contact_list() return NULL");
-
- f_info->number_list = ctui_person_get_number_list(
- f_info->contact_list);
- p_warn_if(NULL == f_info->number_list,
- "ctui_person_get_contact_list() return NULL");
- }
-
- list = eina_list_append(list, (void*) f_info);
- count++;
- err = contacts_list_next(person_list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- break;
- }
- }
- err = contacts_list_destroy(person_list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)",
- err);
-
- favor_d->favor_list_count = count;
- favor_d->favor_list = list;
-}
-
-static void favor_free_data(Eina_List *list)
-{
- PH_TRACE;
- Eina_List *l;
- void *v_f_info = NULL;
- p_retm_if(NULL == list, "List is null");
-
- EINA_LIST_FOREACH(list, l, v_f_info)
- {
- ph_favor_info *f_info = (ph_favor_info *) v_f_info;
- if (NULL == f_info)
- continue;
- free(f_info->display);
- free(f_info->img_path);
- free(f_info->number);
- if (f_info->contact_list)
- ctui_free_record_list(f_info->contact_list);
-
- if (f_info->number_list)
- ctui_free_record_list(f_info->number_list);
-
- if (f_info->email_list)
- ctui_free_record_list(f_info->email_list);
- free(f_info);
- }
- eina_list_free(list);
-}
-
-static void favor_destroy_child_ug(void *data)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- favor_d->child_ug = NULL;
-}
-
-static void favor_ctxpopup_dismissed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *icon;
- Evas_Object *btn;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- btn = (Evas_Object *) evas_object_data_get(obj, "expand_btn");
- icon = elm_object_part_content_get(btn, "icon");
- elm_image_file_set(icon, CTUI_IMG_ICON_EXPAND_OPENED, NULL);
- elm_object_part_content_set(btn, "icon", icon);
- evas_object_del(favor_d->ctx_popup);
- favor_d->ctx_popup = NULL;
-}
-
-static void favor_ctxpopup_hide_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *icon;
- Evas_Object *btn;
- btn = (Evas_Object *) data;
- icon = elm_object_part_content_get(btn, "icon");
- elm_image_file_set(icon, CTUI_IMG_ICON_EXPAND_OPENED, NULL);
- elm_object_part_content_set(btn, "icon", icon);
-}
-
-static void favor_msg_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_favor_info *f_info;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
-
- f_info = (ph_favor_info *)evas_object_data_get(obj, "f_info");
- p_retm_if(NULL == f_info, "evas_object_data_get() return NULL");
-
- favor_ctxpopup_dismissed_cb(favor_d, favor_d->ctx_popup, NULL);
-
- favor_d->child_ug = phone_launch_msg_composer_ug(favor_d->ug,
- f_info->number, 0, favor_destroy_child_ug, favor_d);
-}
-
-static void favor_call_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_favor_info *f_info;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
-
- f_info = (ph_favor_info *)evas_object_data_get(obj, "f_info");
- p_retm_if(NULL == f_info, "evas_object_data_get() return NULL");
-
- favor_ctxpopup_dismissed_cb(favor_d, favor_d->ctx_popup, NULL);
- phone_launch_voice_call(f_info->person_id, f_info->number);
-}
-
-void ph_favor_load_favor_list(ph_favorite_data *favor_d)
-{
- PH_TRACE;
- p_retm_if(NULL == favor_d, "Parameter is null");
-
- favor_free_data(favor_d->favor_list);
- favor_d->favor_list = NULL;
- favor_load_favorite_data(favor_d);
-}
-
-static void favor_img_crop_result(ui_gadget_h ug, service_h service, void *data)
-{
- PH_TRACE;
- Eina_List *list_writable_contact;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
-
- p_retm_if(NULL == ug || NULL == data, "ug or data is NULL");
-
- if (service)
- {
- char *normal = NULL;
- char *full = NULL;
- Eina_List *l;
- contacts_record_h record = NULL;
- contacts_record_h record_image = NULL;
-
- service_get_extra_data(service, "crop_image_path", &normal);
- p_retm_if(NULL == normal, "return value is NULL.");
- service_get_extra_data(service, "image_path", &full);
- int err = CONTACTS_ERROR_NONE;
-
- list_writable_contact = NULL;
- list_writable_contact = ctui_person_get_writable_contact_list(
- favor_d->selected_person_id);
-
- if (list_writable_contact)
- {
- EINA_LIST_FOREACH(list_writable_contact, l, data)
- {
- record = (contacts_record_h) data;
- if (NULL == record)
- continue;
-
- record_image = ctui_get_record_image(record);
- if (NULL == record_image)
- {
- ERR("ctui_get_record_image() Failed(%d)", err);
- break;
- }
-
- err = contacts_record_set_str(record_image,
- _contacts_image.path, normal);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- err = contacts_db_update_record(record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_record() Failed(%d)", err);
- ctui_create_contacts_error_popup(favor_d->navi, err);
- }
- ctui_free_record_list(list_writable_contact);
- }
-
- free(normal);
- free(full);
- }
-}
-
-static void favor_popup_response_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- p_retm_if(NULL == favor_d, "favor_d is NULL");
- if (PH_UG_REQUEST_SET_WITH_RINGTONE == favor_d->ug_request)
- ug_destroy_me(favor_d->ug);
-}
-
-static void favor_value_list_popup_hide_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_favorite_data *favor_d;
- Elm_Object_Item * item;
- ph_favor_info *f_info;
-
- favor_d = (ph_favorite_data *) evas_object_data_get((const Evas_Object *) data, "favor_d");
- p_retm_if(NULL == favor_d, "evas_object_data_get() return NULL");
-
- evas_object_del(favor_d->popup);
- favor_d->popup = NULL;
-
- if (NULL != obj)
- {
- item = (Elm_Object_Item *) evas_object_data_get((const Evas_Object *) data, "item");
- p_retm_if(NULL == item, "evas_object_data_get() return NULL");
-
- f_info = (ph_favor_info *) elm_object_item_data_get(item);
- p_retm_if(NULL == f_info, "elm_object_item_data_get() return NULL");
-
- ph_favor_edit_change_checked_item_state(*favor_d, *f_info, EINA_FALSE);
- }
-}
-
-static void favor_del_response_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ph_favor_info *f_info = (ph_favor_info *) data;
- ph_favorite_data *favor_d;
- contacts_record_h record = NULL;
-
- favor_d = (ph_favorite_data *) evas_object_data_get(obj, KEY_FAVOR_DATA);
-
- evas_object_del(favor_d->popup);
- favor_d->popup = NULL;
-
- err = contacts_db_get_record(_contacts_person._uri, f_info->person_id,
- &record);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed");
-
- err = contacts_record_set_bool(record, _contacts_person.is_favorite, false);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_bool() Failed(%d)", err);
-
- err = contacts_db_update_record(record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_record() Failed(%d)", err);
-
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_set_bool() Failed(%d)", err);
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
- }
- else
- phone_show_tickernoti(S_(PH_SYS_POP_DELETED));
-}
-
-static void favor_mf_del_response_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ph_favor_info *f_info = (ph_favor_info *) data;
- ph_favorite_data *favor_d;
-
- favor_d = (ph_favorite_data *) evas_object_data_get(obj, KEY_FAVOR_DATA);
-
- evas_object_del(favor_d->popup);
- favor_d->popup = NULL;
-
- err = contacts_person_reset_usage(f_info->person_id,
- CONTACTS_USAGE_STAT_TYPE_OUTGOING_CALL);
-
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_person_reset_usage() Failed(%d)", err);
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
- }
- else
- phone_show_tickernoti(S_(PH_SYS_POP_DELETED));
- ph_favor_data_lazy_update(NULL, favor_d);
-}
-
-static void favor_delete_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- ph_favor_info *f_info;
- Evas_Object *btn;
- char buf[PH_TEXT_MAX_LEN] = { 0 };
-
- f_info = (ph_favor_info *)evas_object_data_get(obj, "f_info");
- p_retm_if(NULL == f_info, "evas_object_data_get() return NULL");
-
- favor_ctxpopup_dismissed_cb(favor_d, favor_d->ctx_popup, NULL);
-
- snprintf(buf, sizeof(buf), "%s?", S_(PH_SYS_SK_DELETE));
- btn = phone_create_confirm_popup(&favor_d->popup, favor_d->win, buf,
- favor_del_response_cb, f_info);
- evas_object_data_set(btn, KEY_FAVOR_DATA, favor_d);
-}
-
-static void favor_mf_delete_btn_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- ph_favor_info *f_info;
- Evas_Object *btn;
- char buf[PH_TEXT_MAX_LEN] = { 0 };
-
- f_info = (ph_favor_info *)evas_object_data_get(obj, "f_info");
- p_retm_if(NULL == f_info, "evas_object_data_get() return NULL");
-
- favor_ctxpopup_dismissed_cb(favor_d, favor_d->ctx_popup, NULL);
-
- snprintf(buf, sizeof(buf), "%s?", S_(PH_SYS_SK_DELETE));
- btn = phone_create_confirm_popup(&favor_d->popup, favor_d->win, buf,
- favor_mf_del_response_cb, f_info);
- evas_object_data_set(btn, KEY_FAVOR_DATA, favor_d);
-}
-
-static Evas_Object *favor_create_button(Evas_Object *box, const char *fullpath,
- ph_favor_info *f_info)
-{
- PH_TRACE;
- const int PH_FAVOR_BTN_WIDTH = 160;
- const int PH_FAVOR_BTN_HEIGHT = 74;
- const int PH_FAVOR_1BTN_WIDTH = 326;
- Evas_Object *btn;
- double scale;
- scale = elm_config_scale_get();
- btn = phone_create_list_sweep_btn(box, fullpath);
- p_retvm_if(NULL == btn, NULL, "phone_create_list_sweep_btn is failed");
-
- if (strcmp(fullpath, PH_IMG_ICON_DELETE) == 0)
- elm_object_style_set(btn, "sweep/delete");
- evas_object_data_set(btn, "f_info", f_info);
- if (f_info->number)
- {
- evas_object_size_hint_min_set(btn, (int) (PH_FAVOR_BTN_WIDTH * scale),
- (int) (PH_FAVOR_BTN_HEIGHT * scale));
- evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 0.5);
- }
- else
- {
- evas_object_size_hint_min_set(btn, (int) (PH_FAVOR_1BTN_WIDTH * scale),
- (int) (PH_FAVOR_BTN_HEIGHT * scale));
- evas_object_size_hint_align_set(btn, 0.5, 0.5);
- }
- evas_object_show(btn);
- elm_box_pack_end(box, btn);
- return btn;
-}
-
-static void __favor_popup_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_favorite_data *favor_d = static_cast<ph_favorite_data*>(data);
- if (NULL != favor_d->popup)
- {
- evas_object_del(favor_d->popup);
- favor_d->popup = NULL;
- }
- }
-}
-
-static void __favor_menu_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_favorite_data *favor_d = static_cast<ph_favorite_data*>(data);
- if (NULL != favor_d->m_Menu)
- {
- evas_object_del(favor_d->m_Menu);
- favor_d->m_Menu = NULL;
- }
- }
-}
-
-static void favor_call_btn_pressed_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *icon = NULL;
- p_retm_if(NULL == data, "data is NULL");
- icon = elm_object_part_content_get((const Evas_Object *) data, "icon");
- elm_image_file_set(icon, PH_IMG_ICON_CALL_PRESS, NULL);
-}
-
-static void favor_call_btn_unpressed_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *icon = NULL;
- p_retm_if(NULL == data, "data is NULL");
- icon = elm_object_part_content_get((const Evas_Object *) data, "icon");
- elm_image_file_set(icon, PH_IMG_ICON_CALL, NULL);
-}
-
-static void favor_msg_btn_pressed_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *icon = NULL;
- p_retm_if(NULL == data, "data is NULL");
- icon = elm_object_part_content_get((const Evas_Object *) data, "icon");
- elm_image_file_set(icon, PH_IMG_ICON_MESSAGE_PRESS, NULL);
-}
-
-static void favor_msg_btn_unpressed_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *icon = NULL;
- p_retm_if(NULL == data, "data is NULL");
- icon = elm_object_part_content_get((const Evas_Object *) data, "icon");
- elm_image_file_set(icon, PH_IMG_ICON_MESSAGE, NULL);
-}
-
-static Evas_Object *favor_create_popup_button(Evas_Object *parent,
- ph_favorite_data *favor_d, ph_favor_info *f_info, int item_type)
-{
- PH_TRACE;
- Evas_Object *btn1, *btn2, *btn4;
- Evas_Object *box;
-
- box = elm_box_add(parent);
- elm_box_padding_set(box, 16, 0);
-
- if (f_info->number)
- {
- elm_box_horizontal_set(box, EINA_TRUE);
- btn1 = favor_create_button(box, PH_IMG_ICON_CALL, f_info);
- evas_object_smart_callback_add(btn1, "clicked", favor_call_btn_cb,
- favor_d);
- evas_object_event_callback_add(btn1, EVAS_CALLBACK_MOUSE_DOWN,
- favor_call_btn_pressed_cb, btn1);
- evas_object_event_callback_add(btn1, EVAS_CALLBACK_MOUSE_UP,
- favor_call_btn_unpressed_cb, btn1);
-
- btn2 = favor_create_button(box, PH_IMG_ICON_MESSAGE, f_info);
- evas_object_smart_callback_add(btn2, "clicked", favor_msg_btn_cb,
- favor_d);
- evas_object_event_callback_add(btn2, EVAS_CALLBACK_MOUSE_DOWN,
- favor_msg_btn_pressed_cb, btn2);
- evas_object_event_callback_add(btn2, EVAS_CALLBACK_MOUSE_UP,
- favor_msg_btn_unpressed_cb, btn2);
-
- btn4 = favor_create_button(box, PH_IMG_ICON_DELETE, f_info);
- if (FAVOR_ITEM_MFC == item_type)
- evas_object_smart_callback_add(btn4, "clicked",
- favor_mf_delete_btn_cb, favor_d);
- else if (FAVOR_ITEM_FAVOR == item_type)
- evas_object_smart_callback_add(btn4, "clicked", favor_delete_btn_cb,
- favor_d);
-
- }
- else
- {
- btn4 = favor_create_button(box, PH_IMG_ICON_DELETE, f_info);
-
- if (FAVOR_ITEM_MFC == item_type)
- evas_object_smart_callback_add(btn4, "clicked",
- favor_mf_delete_btn_cb, favor_d);
- else if (FAVOR_ITEM_FAVOR == item_type)
- evas_object_smart_callback_add(btn4, "clicked", favor_delete_btn_cb,
- favor_d);
-
- }
-
- return box;
-}
-
-static void favor_expand_btn_clicked_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- const char *file_icon;
- const char *file_group;
- const int PH_CTX_POPUP_HEIGHT = 112;
- Evas_Object *ctx_popup;
- Evas_Object *box;
- Evas_Object *icon;
- Evas_Object *layout;
- ph_favor_info *f_info;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- Ecore_X_Window win;
- int win_width;
- int item_type;
- double scale;
-
- icon = elm_object_part_content_get(obj, "icon");
-
- elm_image_file_get(icon, &file_icon, &file_group);
- p_retm_if(NULL == file_icon, "elm_image_file_set() return NULL");
-
- if (0 == strcmp(file_icon, CTUI_IMG_ICON_EXPAND_CLOSED))
- { // OPENED
- elm_image_file_set(icon, CTUI_IMG_ICON_EXPAND_OPENED, NULL);
- elm_object_part_content_set(obj, "icon", icon);
- }
- else
- {
- win = ecore_x_window_root_get(ecore_x_window_focus_get());
- ecore_x_window_size_get(win, &win_width, NULL);
-
- scale = elm_config_scale_get();
- elm_image_file_set(icon, CTUI_IMG_ICON_EXPAND_CLOSED, NULL);
- elm_object_part_content_set(obj, "icon", icon);
-
- if (favor_d->ctx_popup)
- {
- evas_object_del(favor_d->ctx_popup);
- favor_d->ctx_popup = NULL;
- }
-
- ctx_popup = elm_ctxpopup_add(favor_d->navi);
- evas_object_size_hint_min_set(ctx_popup, win_width,
- (int) (PH_CTX_POPUP_HEIGHT * scale));
- elm_ctxpopup_horizontal_set(ctx_popup, EINA_TRUE);
- evas_object_data_set(ctx_popup, "expand_btn", obj);
- favor_d->ctx_popup = ctx_popup;
-
- elm_ctxpopup_direction_priority_set(ctx_popup,
- ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP,
- ELM_CTXPOPUP_DIRECTION_LEFT, ELM_CTXPOPUP_DIRECTION_RIGHT);
-
- evas_object_smart_callback_add(ctx_popup, "dismissed",
- favor_ctxpopup_dismissed_cb, favor_d);
- evas_object_event_callback_add(ctx_popup, EVAS_CALLBACK_HIDE,
- favor_ctxpopup_hide_cb, obj);
-
- f_info = (ph_favor_info *)evas_object_data_get(obj, "f_info");
- p_retm_if(NULL == f_info, "evas_object_data_get() return NULL");
- item_type = (int) evas_object_data_get(obj, "item_type");
-
- if (!f_info->number_loaded)
- {
- f_info->number = favor_get_contact_number(f_info->person_id);
- f_info->number_loaded = true;
- }
-
- layout = elm_object_part_content_get(favor_d->layout, "contents");
-
- box = favor_create_popup_button(layout, favor_d, f_info, item_type);
- evas_object_show(box);
- elm_object_content_set(ctx_popup, box);
- phone_move_ctxpopup(favor_d->ctx_popup, obj);
- evas_object_show(ctx_popup);
- }
-}
-
-static void favor_nums_popup_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) evas_object_data_get(obj, "favor_d");
- int contact_id = (int) evas_object_data_get(obj, "person_id");
-
- if (PH_UG_REQUEST_CHECK_FOR_NUMBER == favor_d->ug_request
- || PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == favor_d->ug_request)
- {
- Elm_Object_Item * item;
- ph_favor_info *f_info;
-
- item = (Elm_Object_Item *) evas_object_data_get(obj, "item");
- p_retm_if(NULL == item, "evas_object_data_get() return NULL");
-
- f_info = (ph_favor_info *) elm_object_item_data_get(item);
- p_retm_if(NULL == f_info, "elm_object_item_data_get() return NULL");
-
- f_info->id_ret = (int) data;
- f_info->id_ret_type = 1;
- ph_favor_edit_change_checked_item_state(*favor_d, *f_info, EINA_TRUE);
- favor_d->checked_cnt++;
- ph_favor_edit_set_selection_info(favor_d);
- favor_value_list_popup_hide_cb(obj, NULL, NULL);
- }
- else if (PH_UG_REQUEST_LAUNCH_VOICECALL == favor_d->ug_request)
- {
- char *num_info = (char *) elm_object_item_text_get((const Elm_Object_Item *) event_info);
- char *number;
- strtok(num_info, " ");
- number = strtok(NULL, " ");
- favor_value_list_popup_hide_cb(obj, NULL, NULL);
- phone_launch_voice_call(contact_id, number);
- }
- else
- {
- phone_ug_return_id(favor_d->ug, contact_id, (int) data, 0);
- ug_destroy_me(favor_d->ug);
- }
-}
-
-static inline void favor_handle_select_email(ph_favorite_data *favor_d,
- ph_favor_info *f_info)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- int err = CONTACTS_ERROR_NONE;
- int email_id;
-
- if (f_info->email_list)
- {
- if (1 == eina_list_count(f_info->email_list))
- {
- record = (contacts_record_h) f_info->email_list->data;
- err = contacts_record_get_int(record, _contacts_email.id,
- &email_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- phone_ug_return_id(favor_d->ug, f_info->person_id, 0, email_id);
- ug_destroy_me(favor_d->ug);
- }
- else
- ph_favor_create_value_list_popup(favor_d, f_info);
- }
- else
- phone_show_popup(favor_d->navi, T_(CT_GET_TEXT_ERR, CTTEXT_NO_EMAIL),
- 1.5);
-}
-
-static void favor_emails_popup_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) evas_object_data_get(obj, "favor_d");
- int contact_id = (int) evas_object_data_get(obj, "person_id");
-
- p_retm_if(NULL == favor_d, "favor_d is NULL");
-
- if (CT_UG_REQUEST_CHECK_FOR_EMAIL == favor_d->ug_request
- || PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == favor_d->ug_request)
- {
- Elm_Object_Item * item;
- ph_favor_info *f_info;
-
- item = (Elm_Object_Item *) evas_object_data_get(obj, "item");
- p_retm_if(NULL == item, "evas_object_data_get() return NULL");
-
- f_info = (ph_favor_info *) elm_object_item_data_get(item);
- p_retm_if(NULL == f_info, "elm_object_item_data_get() return NULL");
-
- f_info->id_ret = (int) data;
- f_info->id_ret_type = 2;
- ph_favor_edit_change_checked_item_state(*favor_d, *f_info, EINA_TRUE);
- favor_d->checked_cnt++;
- ph_favor_edit_set_selection_info(favor_d);
- favor_value_list_popup_hide_cb(obj, NULL, NULL);
- }
- else
- {
- phone_ug_return_id(favor_d->ug, contact_id, 0, (int) data);
- ug_destroy_me(favor_d->ug);
- }
-}
-
-static inline void favor_handle_select_number(ph_favorite_data *favor_d,
- ph_favor_info *f_info)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- int err = CONTACTS_ERROR_NONE;
- char *number_str_p = NULL;
- int num_id;
-
- p_retm_if(NULL == favor_d, "favor_d is NULL");
- p_retm_if(NULL == f_info, "f_info is NULL");
-
- if (f_info->number_list)
- {
- if (1 == eina_list_count(f_info->number_list))
- {
- record = (contacts_record_h) f_info->number_list->data;
- if (PH_UG_REQUEST_LAUNCH_VOICECALL == favor_d->ug_request)
- {
- err = contacts_record_get_str_p(record, _contacts_number.number,
- &number_str_p);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- phone_launch_voice_call(f_info->person_id, number_str_p);
- }
- else
- {
- err = contacts_record_get_int(record, _contacts_number.id,
- &num_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- phone_ug_return_id(favor_d->ug, f_info->person_id, num_id, 0);
- ug_destroy_me(favor_d->ug);
- }
- }
- else
- ph_favor_create_value_list_popup(favor_d, f_info);
- }
- else
- phone_show_popup(favor_d->navi, T_(CT_GET_TEXT_ERR, CTTEXT_NO_NUMBER),
- 1.5);
-}
-
-static inline void favor_handle_select_number_or_email(
- ph_favorite_data *favor_d, ph_favor_info *f_info)
-{
- PH_TRACE;
- contacts_record_h record = NULL;
- int err = CONTACTS_ERROR_NONE;
- int num_id;
- int email_id;
-
- int number_list_count = 0;
- int email_list_count = 0;
-
- p_retm_if(NULL == favor_d, "favor_d is NULL");
- p_retm_if(NULL == f_info, "f_info is NULL");
-
- if (f_info->number_list)
- number_list_count = eina_list_count(f_info->number_list);
- if (f_info->email_list)
- email_list_count = eina_list_count(f_info->email_list);
-
- if (number_list_count == 0 && email_list_count == 0)
- {
- phone_show_popup(favor_d->navi, T_(CT_GET_TEXT_ERR, CTTEXT_NO_NUMBER),
- 1.5);
- ug_destroy_me(favor_d->ug);
- }
- else if (number_list_count == 1 && email_list_count == 0)
- {
- record = (contacts_record_h) f_info->number_list->data;
- err = contacts_record_get_int(record, _contacts_number.id, &num_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- phone_ug_return_id(favor_d->ug, f_info->person_id, num_id, 0);
- ug_destroy_me(favor_d->ug);
- }
- else if (number_list_count == 0 && email_list_count == 1)
- {
- record = (contacts_record_h) f_info->email_list->data;
- err = contacts_record_get_int(record, _contacts_email.id, &email_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- phone_ug_return_id(favor_d->ug, f_info->person_id, 0, email_id);
- ug_destroy_me(favor_d->ug);
- }
- else
- {
- ph_favor_create_value_list_popup(favor_d, f_info);
- }
-}
-
-Evas_Object* ph_favor_create_value_list_popup(ph_favorite_data *favor_d,
- ph_favor_info *f_info)
-{
- PH_TRACE;
- Evas_Object *popup;
- Evas_Object *list = NULL;
- Evas_Object *btn;
-
- popup = elm_popup_add(favor_d->navi);
- elm_object_style_set(popup, "min_liststyle");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- if (f_info->number_list)
- list = ctui_list_create_values_list(_contacts_number._uri, popup, list,
- f_info->number_list, favor_nums_popup_sel);
-
- if (f_info->email_list)
- list = ctui_list_create_values_list(_contacts_email._uri, popup, list,
- f_info->email_list, favor_emails_popup_sel);
-
- elm_object_content_set(popup, list);
- evas_object_data_set(list, "favor_d", favor_d);
- evas_object_data_set(list, "person_id", (void *) f_info->person_id);
-
- btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_POP_CLOSE));
- elm_object_part_content_set(popup, "button1", btn);
- elm_object_style_set(btn, "popup_button/default");
- evas_object_smart_callback_add(btn, "clicked",
- favor_value_list_popup_hide_cb, list);
-
- favor_d->popup = popup;
- evas_object_show(popup);
- return list;
-}
-
-static void favor_destory_child_ug(ui_gadget_h ug, void *priv)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) priv;
- p_retm_if(NULL == ug, "ug is NULL");
- ug_destroy(ug);
-
- p_retm_if(NULL == priv, "priv is NULL");
- favor_d->child_ug = NULL;
- ug_destroy_me(favor_d->ug);
-
-}
-
-static void favor_ug_check(ph_favorite_data *favor_d, ph_favor_info *f_info)
-{
- PH_TRACE;
- Evas_Object *popup;
- ph_view_info *view_info;
- struct ug_cbs cbs = { 0 };
- const char *err_msg;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- p_retm_if(NULL == favor_d, "favor_d is NULL");
- p_retm_if(NULL == f_info, "f_info is NULL");
-
- switch (favor_d->ug_request)
- {
- case PH_UG_REQUEST_SELECT:
- phone_ug_return_id(favor_d->ug, f_info->person_id, 0, 0);
- ug_destroy_me(favor_d->ug);
- break;
- case PH_UG_REQUEST_SELECT_EMAIL:
- favor_handle_select_email(favor_d, f_info);
- break;
- case PH_UG_REQUEST_SELECT_NUMBER:
- case PH_UG_REQUEST_LAUNCH_VOICECALL:
- //FIXME : send selection info to caller
- favor_handle_select_number(favor_d, f_info);
- break;
- case PH_UG_REQUEST_SELECT_NUMBER_OR_EMAIL:
- favor_handle_select_number_or_email(favor_d, f_info);
- break;
- case PH_UG_REQUEST_SET_WITH_NUM:
- case PH_UG_REQUEST_SET_WITH_EMAIL:
- case PH_UG_REQUEST_SET_WITH_WEB:
- view_info = (ph_view_info *) calloc(1, sizeof(ph_view_info));
- phone_set_view_info(view_info, favor_d->win, favor_d->navi,
- favor_d->ug, favor_d->ug_request, favor_d->ug_cnt_max,
- favor_d->ug_data);
- ctui_list_update_with_data(view_info, favor_d, f_info->person_id,
- -1, -1);
- free(view_info);
- break;
- case PH_UG_REQUEST_SET_WITH_IMG:
- favor_d->selected_person_id = f_info->person_id;
-
- cbs.result_cb = favor_img_crop_result;
- cbs.destroy_cb = favor_destory_child_ug;
- cbs.priv = favor_d;
- favor_d->child_ug = phone_image_crop_ug(favor_d->ug,
- favor_d->ug_data, &cbs);
- break;
- case PH_UG_REQUEST_SET_WITH_RINGTONE:
- err = contacts_db_get_record(_contacts_person._uri,
- f_info->person_id, &record);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed");
-
- err = contacts_record_set_str(record,
- _contacts_person.ringtone_path, favor_d->ug_data);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed");
-
- err = contacts_db_update_record(record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_record() Failed(%d)", err);
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_update_record() Failed(%d)", err);
- ctui_create_contacts_error_popup(favor_d->navi, err);
- }
- else
- {
- err_msg = S_(CT_SYS_POP_SUCCESS);
- popup = phone_show_popup(favor_d->navi, err_msg, 1.5);
- evas_object_smart_callback_add(popup, "timeout",
- favor_popup_response_cb, favor_d);
- }
- break;
- default:
- ctui_create_detail_view_from_phone(favor_d->win, favor_d->navi,
- favor_d->ug, f_info->person_id);
- break;
- }
-
-}
-
-static void favor_item_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_favor_info *f_info;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- p_retm_if(NULL == favor_d, "favor_d is NULL");
- p_retm_if(NULL == item, "item is NULL");
-
- elm_gengrid_item_selected_set(item, EINA_FALSE);
-
- f_info = (ph_favor_info *) elm_object_item_data_get(item);
- p_retm_if(NULL == f_info, "elm_object_item_data_get() return NULL");
-
- if (PH_FAVOR_MODE_EDIT != favor_d->list_mode)
- {
- favor_ug_check(favor_d, f_info);
- }
- else
- {
- updateCheckedItem(item, *favor_d, *f_info);
- }
-}
-
-#define N 20
-
-static Eina_Bool favor_append_item_part(void *data)
-{
- PH_TRACE;
- int count;
- Eina_List *l;
- void *v_fd;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
-
- count = 0;
- l = eina_list_nth_list(favor_d->favor_list, favor_d->readed_n);
- EINA_LIST_FOREACH(l, l, v_fd)
- {
- ph_favor_info *fd = (ph_favor_info *) v_fd;
- if (N == count)
- break;
- if (!fd)
- continue;
- if (fd->img_path)
- fd->item = elm_gengrid_item_append(favor_d->favor_gengrid,
- &grid_itc_favor, fd, favor_item_sel, favor_d);
- else
- fd->item = elm_gengrid_item_append(favor_d->favor_gengrid,
- &grid_itc_favor_no_id, fd, favor_item_sel, favor_d);
- count++;
- }
- if (N <= count)
- {
- favor_d->readed_n += N;
- return ECORE_CALLBACK_RENEW;
- }
- else
- {
- favor_d->list_idler = NULL;
- return ECORE_CALLBACK_CANCEL;
- }
-}
-
-void ph_favor_fill_favor_gengrid(ph_favorite_data *favor_d)
-{
- PH_TRACE;
- int count;
- Eina_List *l;
- void *v_f_info;
- p_retm_if(NULL == favor_d->favor_gengrid, "Parameter is null");
-
- if (favor_d->list_idler)
- {
- ecore_idler_del(favor_d->list_idler);
- favor_d->list_idler = NULL;
- }
-
- if (favor_d->favor_gengrid)
- elm_gengrid_clear(favor_d->favor_gengrid);
-
- favor_d->readed_n = 0;
- count = 0;
- if (favor_d->favor_list && PH_FAVOR_MODE_DEFAULT == favor_d->list_mode)
- elm_gengrid_item_append(favor_d->favor_gengrid, &grid_itc_index,
- T_(PH_GET_TEXT_BASIC, PHTEXT_FAVORITES), NULL, NULL);
-
- EINA_LIST_FOREACH(favor_d->favor_list, l, v_f_info)
- {
- ph_favor_info *f_info = (ph_favor_info *) v_f_info;
- if (N == count)
- break;
- if (!f_info)
- continue;
- if (f_info->img_path && *f_info->img_path)
- f_info->item = elm_gengrid_item_append(favor_d->favor_gengrid,
- &grid_itc_favor, f_info, favor_item_sel, favor_d);
- else
- f_info->item = elm_gengrid_item_append(favor_d->favor_gengrid,
- &grid_itc_favor_no_id, f_info, favor_item_sel, favor_d);
-
- if (favor_d->list_mode == PH_FAVOR_MODE_EDIT)
- elm_object_item_signal_emit(f_info->item,
- "favorites_theme/edit_no_effect", "favorites_theme");
- count++;
- }
-
- if (N == count)
- {
- favor_d->readed_n = N;
- favor_d->list_idler = ecore_idler_add(favor_append_item_part, favor_d);
- }
-}
-
-void ph_favor_fill_mf_gengrid(ph_favorite_data *favor_d)
-{
- PH_TRACE;
- Eina_List *l;
- void *v_f_info;
- p_retm_if(NULL == favor_d->favor_gengrid, "Parameter is null");
-
- if (favor_d->mf_list)
- {
- elm_gengrid_item_append(favor_d->favor_gengrid, &grid_itc_mf_index,
- T_(CT_GET_TEXT_BASIC, CTTEXT_MOST_FREQUENT_CONTACTS), NULL,
- NULL);
-
- EINA_LIST_FOREACH(favor_d->mf_list, l, v_f_info)
- {
- ph_favor_info *f_info = (ph_favor_info *) v_f_info;
- if (!f_info)
- continue;
- if (f_info->img_path && *f_info->img_path)
- f_info->item = elm_gengrid_item_append(favor_d->favor_gengrid,
- &grid_itc_mf, f_info, favor_item_sel, favor_d);
- else
- f_info->item = elm_gengrid_item_append(favor_d->favor_gengrid,
- &grid_itc_mf_no_id, f_info, favor_item_sel, favor_d);
- }
- }
-}
-
-void ph_favor_update_button_status(ph_favorite_data *favor_d)
-{
- PH_TRACE;
- p_retm_if(NULL == favor_d || NULL == favor_d->navi_button,
- "Navi button is null");
-
- if (favor_d->checked_cnt == 0 && PH_FAVOR_MODE_EDIT == favor_d->list_mode)
- elm_object_disabled_set(favor_d->navi_button, EINA_TRUE);
- else if (favor_d->favor_list_count == 0)
- elm_object_disabled_set(favor_d->navi_button, EINA_TRUE);
- else
- elm_object_disabled_set(favor_d->navi_button, EINA_FALSE);
-}
-
-static char *favor_label_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- ph_favor_info *f_info = (ph_favor_info *) data;
- char buf[PATH_MAX];
-
- if (0 == strcmp(part, "elm.text"))
- {
- if (f_info->display && *f_info->display)
- snprintf(buf, sizeof(buf), "%s", f_info->display);
- else
- {
- if (!f_info->number_loaded)
- {
- f_info->number = favor_get_contact_number(f_info->person_id);
- f_info->number_loaded = true;
- }
-
- if (!f_info->number || !*f_info->number)
- return strdup(S_(PH_SYS_BODY_NONAME));
- else
- snprintf(buf, sizeof(buf), "%s", f_info->number);
- }
- return elm_entry_utf8_to_markup(buf);
- }
- return NULL;
-}
-
-static char *favor_mf_label_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- char buf[PATH_MAX];
- ph_favor_info *f_info = (ph_favor_info *) data;
-
- if (0 == strcmp(part, "elm.text"))
- {
- if (f_info->display && *f_info->display)
- snprintf(buf, sizeof(buf), "%s", f_info->display);
- else
- {
- if (!f_info->number_loaded)
- {
- f_info->number = favor_get_contact_number(f_info->person_id);
- f_info->number_loaded = true;
- }
-
- if (!f_info->number || !*f_info->number)
- return strdup(S_(PH_SYS_BODY_NONAME));
- else
- snprintf(buf, sizeof(buf), "%s", f_info->number);
- }
- return elm_entry_utf8_to_markup(buf);
- }
- return NULL;
-}
-
-static Evas_Object *favor_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ph_favor_info * f_info = (ph_favor_info *) data;
- ph_favorite_data *favor_d = (ph_favorite_data *) evas_object_data_get(obj, KEY_FAVOR_DATA);
- if (0 == strcmp(part, "elm.swallow.icon"))
- {
- Evas_Object *ic;
- char buf[PATH_MAX] = { 0 };
- if (f_info->img_path && *f_info->img_path)
- {
- snprintf(buf, sizeof(buf), "%s", f_info->img_path);
-
- ic = elm_icon_add(obj);
- p_retvm_if(NULL == ic, NULL, "elm_icon_add is failed");
-
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL,
- 1, 1);
- return ic;
- }
- }
- else if (0 == strcmp(part, "elm.swallow.expand.icon")
- && favor_d->list_mode == PH_FAVOR_MODE_DEFAULT)
- {
- Evas_Object *exp_icon;
- Evas_Object *btn;
- btn = elm_button_add(obj);
- evas_object_propagate_events_set(btn, EINA_FALSE);
- evas_object_data_set(btn, "f_info", f_info);
- evas_object_data_set(btn, "item_type", (void *) FAVOR_ITEM_FAVOR);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_UP,
- favor_expand_btn_clicked_cb, favor_d);
- elm_object_style_set(btn, "transparency");
- exp_icon = elm_icon_add(btn);
- elm_image_file_set(exp_icon, CTUI_IMG_ICON_EXPAND_OPENED, NULL);
- elm_object_part_content_set(btn, "icon", exp_icon);
- evas_object_show(btn);
- return btn;
- }
- else if (0 == strcmp(part, SWALLOW_END)
- && favor_d->list_mode == PH_FAVOR_MODE_EDIT)
- {
- Evas_Object *check;
- check = elm_check_add(obj);
- elm_check_state_pointer_set(check, &(f_info->checked));
-
- int id = f_info->person_id;
- CheckMap::const_iterator it = favor_d->itemState.find(id);
- if (it != favor_d->itemState.end())
- {
- if (it->second)
- {
- ph_favor_info *f_second = (ph_favor_info *)it->second;
- elm_check_state_set(check, f_second->checked);
- f_info->id_ret = f_second->id_ret;
- f_info->id_ret_type = f_second->id_ret_type;
- }
- }
- evas_object_propagate_events_set(check, EINA_FALSE);
- evas_object_data_set(check, KEY_FAVOR_DATA, favor_d);
- evas_object_smart_callback_add(check, "changed",
- ph_favor_edit_check_changed_cb, f_info);
- return check;
- }
- return NULL;
-}
-
-static char* favor_group_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- char *title = (char *) data;
- if (title && *title)
- return strdup((const char *) data);
-
- return NULL;
-}
-
-static Evas_Object *favor_mf_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ph_favor_info *f_info = (ph_favor_info *) data;
- ph_favorite_data *favor_d = (ph_favorite_data *) evas_object_data_get(obj, KEY_FAVOR_DATA);
- if (0 == strcmp(part, "elm.swallow.icon"))
- {
- Evas_Object *ic;
- char buf[PATH_MAX];
-
- if (f_info->img_path && *f_info->img_path)
- {
- snprintf(buf, sizeof(buf), "%s", f_info->img_path);
- ic = elm_icon_add(obj);
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL,
- 1, 1);
- return ic;
- }
- }
- else if (0 == strcmp(part, "elm.swallow.expand.icon"))
- {
- Evas_Object *exp_icon;
- Evas_Object *btn;
- btn = elm_button_add(obj);
- elm_object_style_set(btn, "transparency");
- exp_icon = elm_icon_add(btn);
- elm_image_file_set(exp_icon, CTUI_IMG_ICON_EXPAND_OPENED, NULL);
- elm_object_part_content_set(btn, "icon", exp_icon);
- evas_object_propagate_events_set(btn, EINA_FALSE);
- evas_object_data_set(btn, "f_info", f_info);
- evas_object_data_set(btn, "item_type", (void *) FAVOR_ITEM_MFC);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_UP,
- favor_expand_btn_clicked_cb, favor_d);
- evas_object_show(btn);
- return btn;
- }
-
- return NULL;
-}
-
-static void favor_grid_move(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int ori_favor_id = -1;
- int front_favor_id = -1;
- int back_favor_id = -1;
- ph_favor_info *f_info;
- int err = CONTACTS_ERROR_NONE;
- Elm_Object_Item *prev_item;
- Elm_Object_Item *next_item;
- Elm_Object_Item *it = (Elm_Object_Item *) event_info;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
-
- favor_d->favor_move = false;
- f_info = (ph_favor_info *) elm_object_item_data_get(it);
- p_retm_if(NULL == f_info, "elm_object_item_data_get() return NULL");
- ori_favor_id = f_info->person_id;
-
- prev_item = elm_gengrid_item_prev_get(it);
- if (prev_item)
- {
- f_info = (ph_favor_info *) elm_object_item_data_get(prev_item);
- if (f_info)
- front_favor_id = f_info->person_id;
- }
-
- next_item = elm_gengrid_item_next_get(it);
- if (next_item)
- {
- f_info = (ph_favor_info *) elm_object_item_data_get(next_item);
- if (f_info)
- back_favor_id = f_info->person_id;
- }
-
- p_ret_if(-1 == back_favor_id && -1 == front_favor_id);
- if (-1 == back_favor_id)
- back_favor_id = 0;
- if (-1 == front_favor_id)
- front_favor_id = 0;
-
- PH_DBG("ori %d front %d back %d ",
- ori_favor_id, front_favor_id, back_favor_id);
-
- if (-1 != ori_favor_id && -1 != front_favor_id && -1 != back_favor_id)
- {
- err = contacts_person_set_favorite_order(ori_favor_id, front_favor_id,
- back_favor_id);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_person_set_favorite_order() Failed(%d)", err);
- favor_d->favor_move = true;
- }
-}
-
-static void favor_edit_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- __favor_popup_hide_cb(data, NULL, NULL);
- __favor_menu_hide_cb(data, NULL, NULL);
-
- ph_favorite_data *favor_d = static_cast<ph_favorite_data*>( data );
- phone_favor_edit_mode_start(favor_d);
- }
-}
-
-static void favor_done_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int person_count = 0;
- int number_count = 0;
- int email_count = 0;
- int *result_list_number = NULL;
- int *result_list_email = NULL;
- int *result_list_person = NULL;
- Eina_List *l;
- ph_favor_info *f_info;
- void *v_f_info;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- p_retm_if(NULL == favor_d, "parameter(favor_d) is NULL");
-
- if (PH_UG_REQUEST_CHECK_FOR_NUMBER == favor_d->ug_request)
- {
- result_list_number = (int *) calloc(favor_d->checked_cnt, sizeof(int));
- EINA_LIST_FOREACH(favor_d->mf_list, l, v_f_info)
- {
- f_info = (ph_favor_info *) v_f_info;
- if (NULL == f_info || !f_info->checked)
- continue;
- if (1 != f_info->id_ret_type)
- {
- ERR("Invalid f_info->id_ret_type(%d)", f_info->id_ret_type);
- continue;
- }
- result_list_number[number_count++] = f_info->id_ret;
- }
- v_f_info = (void *) f_info;
- EINA_LIST_FOREACH(favor_d->favor_list, l, v_f_info)
- {
- f_info = (ph_favor_info *) v_f_info;
- if (NULL == f_info || !f_info->checked)
- continue;
- if (1 != f_info->id_ret_type)
- {
- ERR("Invalid f_info->id_ret_type(%d)", f_info->id_ret_type);
- continue;
- }
- result_list_number[number_count++] = f_info->id_ret;
- }
- phone_list_ug_return_ids(favor_d->ug, result_list_number, number_count,
- CT_UG_BUNDLE_RESULT_NUMBER_ID_LIST);
- free(result_list_number);
- }
- else if (PH_UG_REQUEST_CHECK_FOR_EMAIL == favor_d->ug_request)
- {
- result_list_email = (int *) calloc(favor_d->checked_cnt, sizeof(int));
- EINA_LIST_FOREACH(favor_d->mf_list, l, v_f_info)
- {
- f_info = (ph_favor_info *) v_f_info;
- if (NULL == f_info || !f_info->checked)
- continue;
- if (2 != f_info->id_ret_type)
- {
- ERR("Invalid f_info->id_ret_type(%d)", f_info->id_ret_type);
- continue;
- }
- result_list_email[email_count++] = f_info->id_ret;
- }
- v_f_info = (void *) f_info;
- EINA_LIST_FOREACH(favor_d->favor_list, l, v_f_info)
- {
- f_info = (ph_favor_info *) v_f_info;
- if (NULL == f_info || !f_info->checked)
- continue;
- if (2 != f_info->id_ret_type)
- {
- ERR("Invalid f_info->id_ret_type(%d)", f_info->id_ret_type);
- continue;
- }
- result_list_email[email_count++] = f_info->id_ret;
- }
- phone_list_ug_return_ids(favor_d->ug, result_list_email, email_count,
- CT_UG_BUNDLE_RESULT_EMAIL_ID_LIST);
- free(result_list_email);
- }
- else if (PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == favor_d->ug_request)
- {
- result_list_number = (int *) calloc(favor_d->checked_cnt, sizeof(int));
- result_list_email = (int *) calloc(favor_d->checked_cnt, sizeof(int));
-
- EINA_LIST_FOREACH(favor_d->mf_list, l, v_f_info)
- {
- f_info = (ph_favor_info *) v_f_info;
- if (NULL == f_info || !f_info->checked)
- continue;
- if (1 == f_info->id_ret_type)
- result_list_number[number_count++] = f_info->id_ret;
- else if (2 == f_info->id_ret_type)
- result_list_email[email_count++] = f_info->id_ret;
- else
- {
- ERR("Invalid f_info->id_ret_type(%d)", f_info->id_ret_type);
- continue;
- }
- }
- v_f_info = (void *) f_info;
- EINA_LIST_FOREACH(favor_d->favor_list, l, v_f_info)
- {
- f_info = (ph_favor_info *) v_f_info;
- if (NULL == f_info || !f_info->checked)
- continue;
- if (1 == f_info->id_ret_type)
- result_list_number[number_count++] = f_info->id_ret;
- else if (2 == f_info->id_ret_type)
- result_list_email[email_count++] = f_info->id_ret;
- else
- {
- ERR("Invalid f_info->id_ret_type(%d)", f_info->id_ret_type);
- continue;
- }
- }
- phone_list_ug_return_number_email_ids(favor_d->ug, result_list_number,
- number_count, result_list_email, email_count);
- free(result_list_number);
- free(result_list_email);
- }
- else
- {
- result_list_person = (int *) calloc(favor_d->checked_cnt, sizeof(int));
- EINA_LIST_FOREACH(favor_d->mf_list, l, v_f_info)
- {
- f_info = (ph_favor_info *) v_f_info;
- result_list_person[person_count++] = f_info->person_id;
- }
- v_f_info = (void *) f_info;
- EINA_LIST_FOREACH(favor_d->favor_list, l, v_f_info)
- {
- f_info = (ph_favor_info *) v_f_info;
- result_list_person[person_count++] = f_info->person_id;
- }
- phone_list_ug_return_ids(favor_d->ug, result_list_person, person_count,
- CT_UG_BUNDLE_RESULT_PERSON_ID_LIST);
- free(result_list_person);
- }
-
- ug_destroy_me(favor_d->ug);
-}
-
-static Eina_List* favor_get_contact(Eina_List *favor_list)
-{
- PH_TRACE;
- int person_id;
- Eina_List *result = NULL;
- Eina_List *cursor;
- ct_person_list *person_info;
- void *v_f_info;
- int is_exist = false;
- contacts_list_h person_list = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- err = contacts_db_get_all_records(_contacts_person._uri, 0, 0,
- &person_list);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_db_get_all_records...() Failed(%d)", err);
-
- while (CONTACTS_ERROR_NONE == err)
- {
- is_exist = false;
-
- err = phone_cts_get_int_from_list(person_list, _contacts_person.id,
- &person_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_int_from_list() Failed(%d)", err);
- break;
- }
-
- EINA_LIST_FOREACH(favor_list, cursor, v_f_info)
- {
- ph_favor_info *f_info = (ph_favor_info *) v_f_info;
- if (!f_info)
- continue;
- if (f_info->person_id == person_id)
- {
- is_exist = true;
- break;
- }
- }
- if (false == is_exist)
- {
- char *addressbook_ids;
- person_info = (ct_person_list *) calloc(1, sizeof(ct_person_list));
- if (NULL == person_info)
- {
- ERR("calloc() return NULL");
- break;
- }
- person_info->id = person_id;
- err = phone_cts_get_str_from_list(person_list,
- _contacts_person.display_name, &person_info->display);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_str_from_list() Failed(%d)", err);
- break;
- }
- SAFE_STRDUP(person_info->display);
- err = phone_cts_get_int_from_list(person_list,
- _contacts_person.link_count, &person_info->link_count);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_int_from_list() Failed(%d)", err);
- break;
- }
- err = phone_cts_get_str_from_list(person_list,
- _contacts_person.display_name_index,
- &(person_info->display_index));
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_str_from_list() Failed(%d)", err);
- break;
- }
- err = phone_cts_get_str_from_list(person_list,
- _contacts_person_contact.addressbook_ids, &addressbook_ids);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() Failed(%d)", err);
- person_info->addressbook_id_list = ctui_get_addressbook_id_list(
- addressbook_ids, " ");
-
- err = phone_cts_get_str_from_list(person_list,
- _contacts_person.status, &(person_info->status_str));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() Failed(%d)", err);
- result = eina_list_append(result, person_info);
- }
- err = contacts_list_next(person_list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- break;
- }
- }
- return result;
-}
-
-static void favor_add_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- Eina_List *ct_list;
- evas_object_data_set(favor_d->navi, "navi_it_pop", favor_d->navi_item);
- ct_list = favor_get_contact(favor_d->favor_list);
- ctui_create_favorite_list_select_view(favor_d->win, favor_d->navi, ct_list);
-}
-
-static int favor_get_mf_list(contacts_list_h *list)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_filter_h filter = NULL;
- contacts_query_h query = NULL;
-
- err = contacts_filter_create(_contacts_person_usage._uri, &filter);
- p_retvm_if(CONTACTS_ERROR_NONE != err, err,
- "contactcs_filter_create() Failed(%d)", err);
-
- do
- {
- if (CONTACTS_ERROR_NONE
- != (err = contacts_filter_add_int(filter,
- _contacts_person_usage.times_used,
- CONTACTS_MATCH_GREATER_THAN_OR_EQUAL, 1)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_create(_contacts_person_usage._uri,
- &query)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_filter(query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_sort(query,
- _contacts_person_usage.times_used, false)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_db_get_records_with_query(query, 0, 0, list)))
- break;
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- return CONTACTS_ERROR_NONE;
- }
- while (0);
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- return err;
-}
-void ph_favor_load_mf_list(void *data)
-{
- PH_TRACE;
- int count = 0;
- Eina_List *list = NULL;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- contacts_list_h mf_list = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- favor_free_data(favor_d->mf_list);
- favor_d->mf_list = NULL;
- favor_d->mf_list_count = 0;
-
- err = favor_get_mf_list(&mf_list);
- p_retm_if(CONTACTS_ERROR_NONE != err, "favor_get_mf_list() Failed()");
-
- while (CONTACTS_ERROR_NONE == err)
- {
- ph_favor_info *f_info;
- bool is_favorite;
-
- if (3 <= count)
- break;
-
- f_info = (ph_favor_info *)calloc(1, sizeof(ph_favor_info));
- if (NULL == f_info)
- {
- ERR("calloc() return NULL");
- break;
- }
-
- err = phone_cts_get_bool_from_list(mf_list,
- _contacts_person_usage.is_favorite, &is_favorite);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_bool_from_list() Failed(%d)", err);
- free(f_info);
- break;
- }
- if (true == is_favorite)
- {
- err = contacts_list_next(mf_list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- free(f_info);
- break;
- }
- continue;
- }
- err = phone_cts_get_int_from_list(mf_list,
- _contacts_person_usage.person_id, &f_info->person_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_int_from_list() Failed(%d)", err);
- free(f_info);
- break;
- }
- err = phone_cts_get_str_from_list(mf_list,
- _contacts_person_usage.display_name, &f_info->display);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_str_from_list() Failed(%d)", err);
- free(f_info);
- break;
- }
- err = phone_cts_get_str_from_list(mf_list,
- _contacts_person_usage.image_thumbnail_path, &f_info->img_path);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_str_from_list() Failed(%d)", err);
- free(f_info);
- break;
- }
- if (CT_UG_REQUEST_SELECT_NUMBER == favor_d->ug_request)
- {
- f_info->contact_list = ctui_person_get_contact_list(
- f_info->person_id);
- p_warn_if(NULL == f_info->contact_list,
- "ctui_person_get_contact_list() return NULL");
- f_info->number_list = ctui_person_get_number_list(
- f_info->contact_list);
- p_warn_if(NULL == f_info->number_list,
- "ctui_person_get_contact_list() return NULL");
- }
- else if (CT_UG_REQUEST_SELECT_EMAIL == favor_d->ug_request)
- {
- f_info->contact_list = ctui_person_get_contact_list(
- f_info->person_id);
- p_warn_if(NULL == f_info->contact_list,
- "ctui_person_get_contact_list() return NULL");
- f_info->email_list = ctui_person_get_email_list(
- f_info->contact_list);
- p_warn_if(NULL == f_info->email_list,
- "ctui_person_get_contact_list() return NULL");
-
- }
-
- list = eina_list_append(list, (void*) f_info);
- count++;
- err = contacts_list_next(mf_list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- break;
- }
- }
- err = contacts_list_destroy(mf_list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)",
- err);
-
- favor_d->mf_list = list;
- favor_d->mf_list_count = count;
-}
-
-static void favor_create_favorite(ph_favorite_data *favor_d)
-{
- PH_TRACE;
- Evas_Object *gengrid;
- int wx = 0;
- int hy = 0;
-
- favor_d->box = elm_box_add(favor_d->layout);
- evas_object_size_hint_weight_set(favor_d->box, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_object_part_content_set(favor_d->layout, "contents", favor_d->box);
- evas_object_show(favor_d->box);
-
- gengrid = elm_gengrid_add(favor_d->box);
- elm_object_theme_set(gengrid, favor_d->th);
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(gengrid, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- ecore_x_window_size_get(ecore_x_window_root_get(ecore_x_window_focus_get()),
- &wx, &hy);
-
- elm_gengrid_item_size_set(gengrid, wx / 3, wx / 3);
- elm_gengrid_align_set(gengrid, 0.0, 0.0);
- elm_gengrid_horizontal_set(gengrid, EINA_FALSE);
- elm_gengrid_multi_select_set(gengrid, EINA_TRUE);
-
- evas_object_smart_callback_add(gengrid, "moved", favor_grid_move, favor_d);
-
- favor_d->favor_gengrid = gengrid;
- elm_gengrid_reorder_mode_set(favor_d->favor_gengrid, EINA_FALSE);
- evas_object_data_set(gengrid, KEY_FAVOR_DATA, favor_d);
- evas_object_show(favor_d->favor_gengrid);
- elm_box_pack_end(favor_d->box, favor_d->favor_gengrid);
-}
-
-static void favor_fill_layout(ph_favorite_data *favor_d)
-{
- PH_TRACE;
- if (favor_d->ctx_popup)
- {
- evas_object_del(favor_d->ctx_popup);
- favor_d->ctx_popup = NULL;
- }
-
- if (0 == favor_d->favor_list_count && 0 < favor_d->mf_list_count
- && 0 == ctui_get_mfc_option())
- {
- if (NULL == favor_d->favor_gengrid)
- favor_create_favorite(favor_d);
- else
- elm_gengrid_clear(favor_d->favor_gengrid);
- if (favor_d->list_mode == CT_LIST_MODE_DEFAULT)
- ph_favor_fill_mf_gengrid(favor_d);
- }
- else if (0 < favor_d->favor_list_count
- || (0 < favor_d->mf_list_count && 0 == ctui_get_mfc_option()))
- {
- if (NULL == favor_d->favor_gengrid)
- favor_create_favorite(favor_d);
- else
- elm_gengrid_clear(favor_d->favor_gengrid);
- ph_favor_fill_favor_gengrid(favor_d);
- if (0 == ctui_get_mfc_option()
- && favor_d->list_mode == CT_LIST_MODE_DEFAULT)
- ph_favor_fill_mf_gengrid(favor_d);
- }
- else if (0 == favor_d->favor_list_count
- && (0 == favor_d->mf_list_count || 1 == ctui_get_mfc_option()))
- {
- if (favor_d->favor_gengrid)
- {
- elm_gengrid_clear(favor_d->favor_gengrid);
- evas_object_del(favor_d->favor_gengrid);
- evas_object_del(favor_d->box);
- favor_d->favor_gengrid = NULL;
- favor_d->box = NULL;
- }
- Evas_Object *base;
- base = phone_create_nocontents(favor_d->layout,
- T_(PH_GET_TEXT_BASIC, PHTEXT_NO_FAVORITES));
- p_retm_if(NULL == base, "elm_layout_add() return NULL");
- elm_object_part_content_set(favor_d->layout, "contents", base);
- evas_object_show(base);
- }
-}
-
-static Eina_Bool favor_data_changed_cb(void *data)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- p_retvm_if(NULL == favor_d, ECORE_CALLBACK_CANCEL, "favor_d is null");
-
- if (favor_d->update_timer_favor)
- {
- ecore_timer_del(favor_d->update_timer_favor);
- favor_d->update_timer_favor = NULL;
- }
-
- ph_favor_load_mf_list(favor_d);
- ph_favor_load_favor_list(favor_d);
- favor_fill_layout(favor_d);
- ph_favor_update_button_status(favor_d);
-
- return ECORE_CALLBACK_CANCEL;
-}
-
-void ph_favor_data_lazy_update(const char *view_uri, void *data)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
-
- if (favor_d->updating)
- return;
-
- if (favor_d->update_timer_favor)
- {
- ecore_timer_del(favor_d->update_timer_favor);
- favor_d->update_timer_favor = NULL;
- }
-
- PH_DBG("favor_d->is_background=%d", favor_d->is_background);
-
- if (favor_d->is_background)
- favor_d->update_timer_favor = ecore_timer_add(3.0,
- favor_data_changed_cb, favor_d);
- else
- favor_data_changed_cb(favor_d);
-}
-
-static Eina_Bool favor_log_data_changed_cb(void *data)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- p_retvm_if(NULL == favor_d, ECORE_CALLBACK_CANCEL, "favor_d is null");
-
- if (favor_d->update_timer_log)
- {
- ecore_timer_del(favor_d->update_timer_log);
- favor_d->update_timer_log = NULL;
- }
-
- ph_favor_load_mf_list(favor_d);
- favor_fill_layout(favor_d);
- ph_favor_update_button_status(favor_d);
-
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void favor_log_data_lazy_update(const char *view_uri, void *data)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
-
- if (favor_d->update_timer_log)
- {
- ecore_timer_del(favor_d->update_timer_log);
- favor_d->update_timer_log = NULL;
- }
-
- PH_DBG("favor_d->is_background=%d", favor_d->is_background);
-
- if (favor_d->is_background)
- favor_d->update_timer_log = ecore_timer_add(3.0,
- favor_log_data_changed_cb, favor_d);
- else
- favor_log_data_changed_cb(favor_d);
-}
-
-static int favor_get_person_id_by_contact_id(int contact_id)
-{
- PH_TRACE;
- int person_id = 0;
- contacts_record_h record = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- err = contacts_db_get_record(_contacts_contact._uri, contact_id, &record);
- p_retvm_if(CONTACTS_ERROR_NONE != err, err,
- "contacts_db_get_record() Failed()");
-
- err = contacts_record_get_int(record, _contacts_contact.person_id,
- &person_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_int() Failed(%d)", err);
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- }
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- return person_id;
-}
-
-static ph_favor_info* favor_find_info_by_contact_id(ph_favorite_data *favor_d,
- int contact_id)
-{
- PH_TRACE;
- int person_id;
- void *v_f_info;
- Eina_List *l;
-
- person_id = favor_get_person_id_by_contact_id(contact_id);
- EINA_LIST_FOREACH(favor_d->favor_list, l, v_f_info)
- {
- ph_favor_info *f_info = (ph_favor_info *) v_f_info;
- if (!f_info)
- continue;
- if (f_info->person_id == person_id)
- return f_info;
- }
- return NULL;
-}
-
-static int favor_set_updated_data(ph_favorite_data *favor_d, int ab_id)
-{
- PH_TRACE;
- int contact_id;
- int err = CONTACTS_ERROR_NONE;
- contacts_list_h list = NULL;
- int ver;
- int type;
- contacts_record_h record = NULL;
-
- err = contacts_db_get_changes_by_version(
- _contacts_contact_updated_info._uri, ab_id, favor_d->version, &list,
- &ver);
- p_retvm_if(CONTACTS_ERROR_NONE != err, FALSE,
- "contacts_db_get_changes_by_version() Failed(%d)", err);
-
- if (!list)
- return TRUE;
-
- while (CONTACTS_ERROR_NONE == err)
- {
- ph_favor_info *f_info;
- err = phone_cts_get_int_from_list(list,
- _contacts_contact_updated_info.contact_id, &contact_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_int_from_list() Failed(%d)", err);
- break;
- }
- err = phone_cts_get_int_from_list(list,
- _contacts_contact_updated_info.type, &type);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_int_from_list() Failed(%d)", err);
- break;
- }
-
- if (favor_d->version < ver)
- favor_d->version = ver;
-
- switch (type)
- {
- case CONTACTS_CHANGE_UPDATED:
- f_info = favor_find_info_by_contact_id(favor_d, contact_id);
-
- if (f_info)
- {
- favor_d->is_mf_changed = true;
- err = contacts_db_get_record(_contacts_person._uri,
- f_info->person_id, &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_record() is failed");
- f_info->img_path = NULL;
- break;
- }
- else
- {
- free(f_info->display);
- err = contacts_record_get_str(record,
- _contacts_person.display_name,
- &f_info->display);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_str() Failed(%d)", err);
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)",
- err);
- break;
- }
- f_info->number_loaded = false;
- free(f_info->number);
- f_info->number = NULL;
- free(f_info->img_path);
- err = contacts_record_get_str(record,
- _contacts_person.image_thumbnail_path,
- &f_info->img_path);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_get_str() Failed(%d)", err);
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)",
- err);
- break;
- }
- }
- if (f_info->img_path && *f_info->img_path)
- elm_gengrid_item_item_class_update(f_info->item,
- &grid_itc_favor);
- else
- elm_gengrid_item_item_class_update(f_info->item,
- &grid_itc_favor_no_id);
- }
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- break;
- case CONTACTS_CHANGE_DELETED:
- favor_free_data(favor_d->favor_list);
- favor_d->favor_list = NULL;
- favor_load_favorite_data(favor_d);
- break;
- case CONTACTS_CHANGE_INSERTED:
- default:
- break;
- }
- err = contacts_list_next(list);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)",
- err);
- }
- phone_cts_free_list(list);
- return TRUE;
-}
-
-static Eina_Bool favor_contact_data_changed_cb(void *data)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- contacts_list_h ab_list = NULL;
- int ab_id;
- int ret;
- int err = CONTACTS_ERROR_NONE;
- p_retvm_if(NULL == favor_d, ECORE_CALLBACK_CANCEL, "favor_d is null");
-
- favor_d->is_mf_changed = false;
-
- if (favor_d->update_timer_contact)
- {
- ecore_timer_del(favor_d->update_timer_contact);
- favor_d->update_timer_contact = NULL;
- }
-
- ret = favor_set_updated_data(favor_d, 0);
- if (!ret)
- {
- ERR("favor_set_updated_data is failed(%d)", ret);
- return ECORE_CALLBACK_CANCEL;
- }
-
- err = contacts_db_get_all_records(_contacts_address_book._uri, 0, 0,
- &ab_list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_all_records is failed(%d)", err);
- return ECORE_CALLBACK_CANCEL;
- }
-
- while (CONTACTS_ERROR_NONE == err)
- {
- err = phone_cts_get_int_from_list(ab_list, _contacts_address_book.id,
- &ab_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("phone_cts_get_int_from_list() Failed(%d)", err);
- break;
- }
- ret = favor_set_updated_data(favor_d, ab_id);
- if (!ret)
- {
- ERR("favor_set_updated_data is failed");
- break;
- }
- err = contacts_list_next(ab_list);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)",
- err);
- }
- phone_cts_free_list(ab_list);
-
- ph_favor_load_mf_list(favor_d);
- favor_fill_layout(favor_d);
-
- ph_favor_update_button_status(favor_d);
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void favor_view_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) data;
- int err = CONTACTS_ERROR_NONE;
- p_retm_if(NULL == favor_d, "favor_d is null");
-
- if (favor_d->p_info)
- {
- free(favor_d->p_info);
- }
- // TODO: Fixme - person_changed
-
- err = contacts_db_remove_changed_cb(_contacts_person._uri,
- ph_favor_data_lazy_update, favor_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
-
- err = contacts_db_remove_changed_cb(_contacts_phone_log._uri,
- favor_log_data_lazy_update, favor_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
-
- if (favor_d->th)
- {
- elm_theme_extension_del(favor_d->th, FAVORITES_THEME_EDJ);
- elm_theme_extension_del(favor_d->th, CONTACT_BUTTON_THEME_EDJ);
- elm_theme_free(favor_d->th);
- }
-
- if (favor_d->favor_list)
- favor_free_data(favor_d->favor_list);
-
- if (favor_d->mf_list)
- favor_free_data(favor_d->mf_list);
-
- if (favor_d->popup)
- evas_object_del(favor_d->popup);
-
- if (favor_d->m_Menu)
- evas_object_del(favor_d->m_Menu);
-
- if (favor_d->update_timer_contact)
- ecore_timer_del(favor_d->update_timer_contact);
-
- if (favor_d->update_timer_log)
- ecore_timer_del(favor_d->update_timer_log);
-
- if (favor_d->update_timer_favor)
- ecore_timer_del(favor_d->update_timer_favor);
-
- delete favor_d;
-}
-
-static void favor_set_gengrid_item_style()
-{
- PH_TRACE;
- grid_itc_favor.item_style = "gridtext_favorites";
- grid_itc_favor.func.text_get = favor_label_get;
- grid_itc_favor.func.content_get = favor_icon_get;
- grid_itc_favor.func.state_get = NULL;
- grid_itc_favor.func.del = NULL;
-
- grid_itc_mf.item_style = "gridtext_favorites";
- grid_itc_mf.func.text_get = favor_mf_label_get;
- grid_itc_mf.func.content_get = favor_mf_icon_get;
- grid_itc_mf.func.state_get = NULL;
- grid_itc_mf.func.del = NULL;
-
- grid_itc_favor_no_id.item_style = "gridtext_favorites_no_id";
- grid_itc_favor_no_id.func.text_get = favor_label_get;
- grid_itc_favor_no_id.func.content_get = favor_icon_get;
- grid_itc_favor_no_id.func.state_get = NULL;
- grid_itc_favor_no_id.func.del = NULL;
-
- grid_itc_mf_no_id.item_style = "gridtext_favorites_no_id";
- grid_itc_mf_no_id.func.text_get = favor_mf_label_get;
- grid_itc_mf_no_id.func.content_get = favor_mf_icon_get;
- grid_itc_mf_no_id.func.state_get = NULL;
- grid_itc_mf_no_id.func.del = NULL;
-
- grid_itc_index.item_style = "group_index";
- grid_itc_index.func.text_get = favor_group_label_get;
-
- grid_itc_mf_index.item_style = "group_index";
- grid_itc_mf_index.func.text_get = favor_group_label_get;
-}
-
-static int favor_create_layout(ph_favorite_data *favor_d, Evas_Object *parent)
-{
- PH_TRACE;
- Evas_Object *base;
- Evas_Object *layout;
- int err = CONTACTS_ERROR_NONE;
-
- favor_d->navi = parent;
- base = phone_create_base_layout(favor_d->navi, false);
-
- layout = elm_layout_add(base);
- elm_object_part_content_set(base, "elm.swallow.content", layout);
-
- p_retvm_if(NULL == layout, -1, "elm_layout_add return NULL");
- elm_layout_file_set(layout, SELECTION_INFO_EDJ, "selectioninfo_layout");
-
- favor_d->layout = layout;
- evas_object_show(layout);
-
- favor_set_gengrid_item_style();
-
- if (0 == ctui_get_mfc_option())
- {
- ph_favor_load_mf_list(favor_d);
- }
-
- ph_favor_load_favor_list(favor_d);
- favor_fill_layout(favor_d);
-
- evas_object_event_callback_add(favor_d->layout, EVAS_CALLBACK_DEL,
- favor_view_delete_cb, favor_d);
-
- // TODO: Fixme - person_changed
- err = contacts_db_add_changed_cb(_contacts_person._uri,
- ph_favor_data_lazy_update, favor_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_add_changed_cb() Failed(%d)", err);
-
- err = contacts_db_add_changed_cb(_contacts_phone_log._uri,
- favor_log_data_lazy_update, favor_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_add_changed_cb() Failed(%d)", err);
-
- return 0;
-}
-
-static void favor_more_btn_clicked_cb(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_favorite_data *favor_d = static_cast<ph_favorite_data*>(data);
-
- favor_ctxpopup_dismissed_cb(favor_d, favor_d->ctx_popup, NULL);
- __favor_popup_hide_cb(data, NULL, NULL);
- __favor_menu_hide_cb(data, NULL, NULL);
-
- Evas_Object *menu = elm_ctxpopup_add(favor_d->navi);
- if (NULL != menu)
- {
- elm_ctxpopup_item_append(menu, S_(PH_SYS_SK_EDIT), NULL, favor_edit_btn_cb, favor_d);
-
- elm_ctxpopup_direction_priority_set(menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_UNKNOWN, ELM_CTXPOPUP_DIRECTION_UNKNOWN);
-
- evas_object_smart_callback_add(menu, "dismissed", __favor_menu_hide_cb, favor_d);
-
- int x, y, w, h;
- evas_object_geometry_get(favor_d->navi, &x, &y, &w, &h);
-
- evas_object_move(menu, 0, y + h);
- evas_object_show(menu);
-
- favor_d->m_Menu = menu;
- }
- else
- {
- ERR("favor_more_btn_clicked_cb failed: ", "elm_ctxpopup_add() return NULL");
- }
- }
- else
- {
- ERR("favor_more_btn_clicked_cb failed: ", "data is NULL");
- }
-}
-
-API void phone_favor_set_navi(Evas_Object *layout, int mode)
-{
- PH_TRACE;
- ph_favorite_data *favor_d = (ph_favorite_data *) evas_object_data_get(layout, KEY_FAVOR_DATA);
- Elm_Object_Item *navi_item;
-
- p_retm_if(NULL == favor_d, "favor data is NULL");
- navi_item = elm_naviframe_bottom_item_get(favor_d->navi);
- p_retm_if(NULL == navi_item, "navi item is NULL");
-
- phone_navi_item_reset(navi_item, favor_d);
-
- if (favor_d->ug)
- {
- if (mode == PH_FAVOR_MODE_EDIT)
- {
- favor_d->navi_button = phone_create_toolbar_btn(favor_d->layout,
- S_(CT_SYS_SK_DONE), favor_done_btn_cb, favor_d);
- elm_object_part_content_set(favor_d->layout, "toolbar",
- favor_d->navi_button);
- elm_object_style_set(favor_d->navi_button,
- "naviframe/toolbar/left");
- }
- }
- else
- {
- if (mode == PH_FAVOR_MODE_DEFAULT)
- {
- Evas_Object *add_button = NULL;
-
- favor_d->menu_cb = favor_more_btn_clicked_cb;
-
- add_button = phone_create_toolbar_btn(favor_d->layout,
- S_(CT_SYS_SK_ADD), favor_add_btn_cb, favor_d);
- elm_object_part_content_set(favor_d->layout, "toolbar",
- add_button);
- }
- else
- { // edit mode
- favor_d->navi_button = phone_create_toolbar_btn(favor_d->layout,
- S_(PH_SYS_SK_DELETE), ph_favor_edit_del_btn_cb,
- favor_d);
- elm_object_part_content_set(favor_d->layout, "toolbar",
- favor_d->navi_button);
- elm_object_style_set(favor_d->navi_button,
- "naviframe/toolbar/left");
- favor_d->back_cb = ph_favor_edit_cancel_cb;
- }
- }
- ph_favor_update_button_status(favor_d);
-}
-
-Evas_Object* phone_favor_create_view(ph_view_info *view_info)
-{
- PH_TRACE;
- int ret;
- Elm_Theme *th;
- ph_favorite_data *favor_d = new ph_favorite_data();
- p_retvm_if(NULL == favor_d, NULL, "Fail to calloc ph_favorite_data");
- favor_d->ug = view_info->ug;
- favor_d->win = view_info->win;
- favor_d->navi_item = elm_naviframe_bottom_item_get(view_info->navi);
- favor_d->ug_request = view_info->ug_request;
- favor_d->ug_data = view_info->ug_data;
- favor_d->ug_cnt_max = view_info->ug_cnt_max;
- favor_d->is_background = true;
-
- th = elm_theme_new();
- elm_theme_ref_set(th, NULL);
- elm_theme_extension_add(th, FAVORITES_THEME_EDJ);
- elm_theme_extension_add(th, CONTACT_BUTTON_THEME_EDJ);
-
- favor_d->th = th;
-
- ret = favor_create_layout(favor_d, view_info->navi);
- if (ret < 0)
- {
- delete favor_d;
- return NULL;
- }
-
- evas_object_data_set(favor_d->layout, KEY_FAVOR_DATA, favor_d);
- return favor_d->layout;
-}
-
-API void phone_favor_view_language_changed(Evas_Object *base)
-{
- PH_TRACE;
- ph_favorite_data *favor_d;
- favor_d = (ph_favorite_data *) evas_object_data_get(base, KEY_FAVOR_DATA);
- p_retm_if(NULL == favor_d, "favor_d is null");
- favor_data_changed_cb(favor_d);
-
- if (PH_FAVOR_MODE_EDIT == favor_d->list_mode)
- ph_favor_edit_set_selection_info(favor_d);
-}
-
-void phone_favor_view_reset(Evas_Object *base)
-{
- PH_TRACE;
- ph_favorite_data *favor_d;
- Elm_Object_Item * item;
-
- favor_d = (ph_favorite_data *) evas_object_data_get(base, KEY_FAVOR_DATA);
- p_retm_if(NULL == favor_d, "favor_d is null");
-
- if (favor_d->child_ug)
- {
- ug_destroy(favor_d->child_ug);
- favor_d->child_ug = NULL;
- }
-
- if (PH_UG_REQUEST_CHECK != favor_d->ug_request
- && PH_UG_REQUEST_CHECK_FOR_NUMBER != favor_d->ug_request
- && PH_UG_REQUEST_CHECK_FOR_EMAIL != favor_d->ug_request)
- if (PH_FAVOR_MODE_EDIT == favor_d->list_mode)
- ph_favor_edit_mode_end(favor_d, false);
-
- item = elm_naviframe_bottom_item_get(favor_d->navi);
- if (elm_naviframe_top_item_get(favor_d->navi) != item)
- elm_naviframe_item_pop_to(item);
-
- favor_d->navi_button = NULL;
-}
-
-void phone_favor_set_background(Evas_Object *obj, bool is_background)
-{
- PH_TRACE;
- ph_favorite_data *favor_d;
- favor_d = (ph_favorite_data *) evas_object_data_get(obj, KEY_FAVOR_DATA);
- p_retm_if(NULL == favor_d, "favor data is null");
-
- favor_d->is_background = is_background;
-
- if (favor_d->update_timer_contact)
- {
- ecore_timer_del(favor_d->update_timer_contact);
- favor_d->update_timer_contact = NULL;
- favor_contact_data_changed_cb(favor_d);
- }
-
- if (favor_d->update_timer_favor)
- {
- ecore_timer_del(favor_d->update_timer_favor);
- favor_d->update_timer_favor = NULL;
- favor_data_changed_cb(favor_d);
- }
-
- if (favor_d->update_timer_log)
- {
- ecore_timer_del(favor_d->update_timer_log);
- favor_d->update_timer_log = NULL;
- favor_log_data_changed_cb(favor_d);
- }
-
- if (true == is_background)
- favor_d->mfc_option = ctui_get_mfc_option();
- else
- favor_fill_layout(favor_d);
-}
-
diff --git a/lib/favor/ph-favorite-view.h b/lib/favor/ph-favorite-view.h
deleted file mode 100755
index 68c0281..0000000
--- a/lib/favor/ph-favorite-view.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PH_FAVORTIE_VIEW_H__
-#define __PH_FAVORTIE_VIEW_H__
-
-void ph_favor_update_button_status(ph_favorite_data *favor_d);
-Evas_Object* ph_favor_create_value_list_popup(ph_favorite_data *favor_d,
- ph_favor_info *f_info);
-void ph_favor_load_mf_list(void *data);
-void ph_favor_fill_mf_gengrid(ph_favorite_data *favor_d);
-void ph_favor_fill_favor_gengrid(ph_favorite_data *favor_d);
-void ph_favor_load_favor_list(ph_favorite_data *favor_d);
-void ph_favor_data_lazy_update(const char *view_uri, void *data);
-
-#endif /* __PH_FAVORTIE_VIEW_H__ */
-
diff --git a/lib/images/contact_images/00_Nocontents_picture.png b/lib/images/contact_images/00_Nocontents_picture.png
deleted file mode 100755
index 2c5687b..0000000
--- a/lib/images/contact_images/00_Nocontents_picture.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/00_check_checking.png b/lib/images/contact_images/00_check_checking.png
deleted file mode 100755
index c6ce824..0000000
--- a/lib/images/contact_images/00_check_checking.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/00_list_group_bg.png b/lib/images/contact_images/00_list_group_bg.png
deleted file mode 100644
index 1260007..0000000
--- a/lib/images/contact_images/00_list_group_bg.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/01_controlbar_icon_add-to-bookmarks.png b/lib/images/contact_images/01_controlbar_icon_add-to-bookmarks.png
deleted file mode 100644
index bc2e48b..0000000
--- a/lib/images/contact_images/01_controlbar_icon_add-to-bookmarks.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/01_controlbar_icon_add_account.png b/lib/images/contact_images/01_controlbar_icon_add_account.png
deleted file mode 100644
index e5803cd..0000000
--- a/lib/images/contact_images/01_controlbar_icon_add_account.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/01_controlbar_icon_add_to_contact.png b/lib/images/contact_images/01_controlbar_icon_add_to_contact.png
deleted file mode 100644
index 65d47e4..0000000
--- a/lib/images/contact_images/01_controlbar_icon_add_to_contact.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/01_controlbar_icon_bluetooth_preview.png b/lib/images/contact_images/01_controlbar_icon_bluetooth_preview.png
deleted file mode 100644
index 99946bb..0000000
--- a/lib/images/contact_images/01_controlbar_icon_bluetooth_preview.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/01_controlbar_icon_close.png b/lib/images/contact_images/01_controlbar_icon_close.png
deleted file mode 100644
index 91b04e5..0000000
--- a/lib/images/contact_images/01_controlbar_icon_close.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/01_controlbar_icon_exchangs_register.png b/lib/images/contact_images/01_controlbar_icon_exchangs_register.png
deleted file mode 100644
index 58c6e27..0000000
--- a/lib/images/contact_images/01_controlbar_icon_exchangs_register.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/01_controlbar_icon_groups.png b/lib/images/contact_images/01_controlbar_icon_groups.png
deleted file mode 100644
index e793512..0000000
--- a/lib/images/contact_images/01_controlbar_icon_groups.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/01_controlbar_icon_more.png b/lib/images/contact_images/01_controlbar_icon_more.png
deleted file mode 100644
index 651c8e1..0000000
--- a/lib/images/contact_images/01_controlbar_icon_more.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/01_controlbar_icon_next.png b/lib/images/contact_images/01_controlbar_icon_next.png
deleted file mode 100644
index 4a0505e..0000000
--- a/lib/images/contact_images/01_controlbar_icon_next.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/01_controlbar_icon_previous.png b/lib/images/contact_images/01_controlbar_icon_previous.png
deleted file mode 100644
index 066f51c..0000000
--- a/lib/images/contact_images/01_controlbar_icon_previous.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_account_00.png b/lib/images/contact_images/C02_account_00.png
deleted file mode 100644
index e0b5b0c..0000000
--- a/lib/images/contact_images/C02_account_00.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_account_01.png b/lib/images/contact_images/C02_account_01.png
deleted file mode 100644
index f58f271..0000000
--- a/lib/images/contact_images/C02_account_01.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_account_02.png b/lib/images/contact_images/C02_account_02.png
deleted file mode 100644
index f90a630..0000000
--- a/lib/images/contact_images/C02_account_02.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_account_03.png b/lib/images/contact_images/C02_account_03.png
deleted file mode 100644
index 85af61a..0000000
--- a/lib/images/contact_images/C02_account_03.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_account_04.png b/lib/images/contact_images/C02_account_04.png
deleted file mode 100644
index fb8a161..0000000
--- a/lib/images/contact_images/C02_account_04.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_account_default.png b/lib/images/contact_images/C02_account_default.png
deleted file mode 100644
index 900dcde..0000000
--- a/lib/images/contact_images/C02_account_default.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_account_sim.png b/lib/images/contact_images/C02_account_sim.png
deleted file mode 100644
index 4337a93..0000000
--- a/lib/images/contact_images/C02_account_sim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_caller_id_icon_camera.png b/lib/images/contact_images/C02_caller_id_icon_camera.png
deleted file mode 100755
index f693362..0000000
--- a/lib/images/contact_images/C02_caller_id_icon_camera.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_caller_id_icon_camera_dim.png b/lib/images/contact_images/C02_caller_id_icon_camera_dim.png
deleted file mode 100755
index 04dc3e5..0000000
--- a/lib/images/contact_images/C02_caller_id_icon_camera_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_caller_id_icon_camera_press.png b/lib/images/contact_images/C02_caller_id_icon_camera_press.png
deleted file mode 100755
index 3768438..0000000
--- a/lib/images/contact_images/C02_caller_id_icon_camera_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_caller_id_icon_gallery.png b/lib/images/contact_images/C02_caller_id_icon_gallery.png
deleted file mode 100755
index 7fab4bd..0000000
--- a/lib/images/contact_images/C02_caller_id_icon_gallery.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_caller_id_icon_gallery_dim.png b/lib/images/contact_images/C02_caller_id_icon_gallery_dim.png
deleted file mode 100755
index b05d4ca..0000000
--- a/lib/images/contact_images/C02_caller_id_icon_gallery_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_caller_id_icon_gallery_press.png b/lib/images/contact_images/C02_caller_id_icon_gallery_press.png
deleted file mode 100755
index bb0fac3..0000000
--- a/lib/images/contact_images/C02_caller_id_icon_gallery_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_circle_icon_call.png b/lib/images/contact_images/C02_circle_icon_call.png
deleted file mode 100755
index ef1bcea..0000000
--- a/lib/images/contact_images/C02_circle_icon_call.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_circle_icon_call_press.png b/lib/images/contact_images/C02_circle_icon_call_press.png
deleted file mode 100755
index c1bed80..0000000
--- a/lib/images/contact_images/C02_circle_icon_call_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_circle_icon_sms.png b/lib/images/contact_images/C02_circle_icon_sms.png
deleted file mode 100755
index 6744857..0000000
--- a/lib/images/contact_images/C02_circle_icon_sms.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_circle_icon_sms_press.png b/lib/images/contact_images/C02_circle_icon_sms_press.png
deleted file mode 100755
index ff6b712..0000000
--- a/lib/images/contact_images/C02_circle_icon_sms_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_circle_icon_vt-call.png b/lib/images/contact_images/C02_circle_icon_vt-call.png
deleted file mode 100755
index 8a60957..0000000
--- a/lib/images/contact_images/C02_circle_icon_vt-call.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_circle_icon_vt-call_press.png b/lib/images/contact_images/C02_circle_icon_vt-call_press.png
deleted file mode 100755
index 8a8a2d2..0000000
--- a/lib/images/contact_images/C02_circle_icon_vt-call_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_favorite_icon.png b/lib/images/contact_images/C02_favorite_icon.png
deleted file mode 100755
index 25e68fe..0000000
--- a/lib/images/contact_images/C02_favorite_icon.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_icon_add_group.png b/lib/images/contact_images/C02_icon_add_group.png
deleted file mode 100644
index 2e5e5b6..0000000
--- a/lib/images/contact_images/C02_icon_add_group.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_icon_favorite.png b/lib/images/contact_images/C02_icon_favorite.png
deleted file mode 100644
index 3792de0..0000000
--- a/lib/images/contact_images/C02_icon_favorite.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_icon_favorite_on.png b/lib/images/contact_images/C02_icon_favorite_on.png
deleted file mode 100644
index 69608a3..0000000
--- a/lib/images/contact_images/C02_icon_favorite_on.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C02_icon_reset.png b/lib/images/contact_images/C02_icon_reset.png
deleted file mode 100644
index af4e43a..0000000
--- a/lib/images/contact_images/C02_icon_reset.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/C04_icon_joyn.png b/lib/images/contact_images/C04_icon_joyn.png
deleted file mode 100644
index 4a22f31..0000000
--- a/lib/images/contact_images/C04_icon_joyn.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/caller_ID_default_128x128.png b/lib/images/contact_images/caller_ID_default_128x128.png
deleted file mode 100644
index 40ebebb..0000000
--- a/lib/images/contact_images/caller_ID_default_128x128.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/caller_ID_default_96x96.png b/lib/images/contact_images/caller_ID_default_96x96.png
deleted file mode 100644
index 271c3bf..0000000
--- a/lib/images/contact_images/caller_ID_default_96x96.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/caller_ID_edit.png b/lib/images/contact_images/caller_ID_edit.png
deleted file mode 100644
index 90999b9..0000000
--- a/lib/images/contact_images/caller_ID_edit.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/email.png b/lib/images/contact_images/email.png
deleted file mode 100755
index b2c38ee..0000000
--- a/lib/images/contact_images/email.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/contact_images/message.png b/lib/images/contact_images/message.png
deleted file mode 100644
index 8bf4018..0000000
--- a/lib/images/contact_images/message.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_button_01.png b/lib/images/dialer_images/C01-3_button_01.png
deleted file mode 100755
index c09e6c7..0000000
--- a/lib/images/dialer_images/C01-3_button_01.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_button_01_dim.png b/lib/images/dialer_images/C01-3_button_01_dim.png
deleted file mode 100755
index c09e6c7..0000000
--- a/lib/images/dialer_images/C01-3_button_01_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_button_01_press.png b/lib/images/dialer_images/C01-3_button_01_press.png
deleted file mode 100755
index 1d16c04..0000000
--- a/lib/images/dialer_images/C01-3_button_01_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_button_02.png b/lib/images/dialer_images/C01-3_button_02.png
deleted file mode 100755
index 2efd47b..0000000
--- a/lib/images/dialer_images/C01-3_button_02.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_button_02_dim.png b/lib/images/dialer_images/C01-3_button_02_dim.png
deleted file mode 100755
index 160ea8c..0000000
--- a/lib/images/dialer_images/C01-3_button_02_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_button_02_press.png b/lib/images/dialer_images/C01-3_button_02_press.png
deleted file mode 100755
index 01a7a09..0000000
--- a/lib/images/dialer_images/C01-3_button_02_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_dialer_button_01_press.png b/lib/images/dialer_images/C01-3_dialer_button_01_press.png
deleted file mode 100755
index 8e3828c..0000000
--- a/lib/images/dialer_images/C01-3_dialer_button_01_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_icon_call.png b/lib/images/dialer_images/C01-3_icon_call.png
deleted file mode 100755
index 99d1106..0000000
--- a/lib/images/dialer_images/C01-3_icon_call.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_icon_call_dim.png b/lib/images/dialer_images/C01-3_icon_call_dim.png
deleted file mode 100755
index a842230..0000000
--- a/lib/images/dialer_images/C01-3_icon_call_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_icon_call_press.png b/lib/images/dialer_images/C01-3_icon_call_press.png
deleted file mode 100755
index 99d1106..0000000
--- a/lib/images/dialer_images/C01-3_icon_call_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_icon_delete.png b/lib/images/dialer_images/C01-3_icon_delete.png
deleted file mode 100755
index bd28860..0000000
--- a/lib/images/dialer_images/C01-3_icon_delete.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_icon_expand_01.png b/lib/images/dialer_images/C01-3_icon_expand_01.png
deleted file mode 100755
index 3dd2f42..0000000
--- a/lib/images/dialer_images/C01-3_icon_expand_01.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_icon_expand_02.png b/lib/images/dialer_images/C01-3_icon_expand_02.png
deleted file mode 100755
index 26f2392..0000000
--- a/lib/images/dialer_images/C01-3_icon_expand_02.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_icon_message.png b/lib/images/dialer_images/C01-3_icon_message.png
deleted file mode 100755
index 708d2fb..0000000
--- a/lib/images/dialer_images/C01-3_icon_message.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_icon_message_dim.png b/lib/images/dialer_images/C01-3_icon_message_dim.png
deleted file mode 100755
index 0bd3a62..0000000
--- a/lib/images/dialer_images/C01-3_icon_message_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_icon_message_press.png b/lib/images/dialer_images/C01-3_icon_message_press.png
deleted file mode 100755
index 38a1170..0000000
--- a/lib/images/dialer_images/C01-3_icon_message_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_icon_video_call.png b/lib/images/dialer_images/C01-3_icon_video_call.png
deleted file mode 100755
index fbd7ed5..0000000
--- a/lib/images/dialer_images/C01-3_icon_video_call.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_icon_video_call_dim.png b/lib/images/dialer_images/C01-3_icon_video_call_dim.png
deleted file mode 100755
index 4381a10..0000000
--- a/lib/images/dialer_images/C01-3_icon_video_call_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_icon_video_call_press.png b/lib/images/dialer_images/C01-3_icon_video_call_press.png
deleted file mode 100755
index 451989b..0000000
--- a/lib/images/dialer_images/C01-3_icon_video_call_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_keypad_bg.png b/lib/images/dialer_images/C01-3_keypad_bg.png
deleted file mode 100755
index 4fe7f55..0000000
--- a/lib/images/dialer_images/C01-3_keypad_bg.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_keypad_bg_reduction.png b/lib/images/dialer_images/C01-3_keypad_bg_reduction.png
deleted file mode 100755
index f73eda7..0000000
--- a/lib/images/dialer_images/C01-3_keypad_bg_reduction.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_keypad_press.png b/lib/images/dialer_images/C01-3_keypad_press.png
deleted file mode 100755
index 8a285a4..0000000
--- a/lib/images/dialer_images/C01-3_keypad_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_search_bg_01.png b/lib/images/dialer_images/C01-3_search_bg_01.png
deleted file mode 100755
index a26b028..0000000
--- a/lib/images/dialer_images/C01-3_search_bg_01.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_search_bg_02.png b/lib/images/dialer_images/C01-3_search_bg_02.png
deleted file mode 100755
index 7390011..0000000
--- a/lib/images/dialer_images/C01-3_search_bg_02.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_search_field.png b/lib/images/dialer_images/C01-3_search_field.png
deleted file mode 100755
index 910a7ad..0000000
--- a/lib/images/dialer_images/C01-3_search_field.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_search_icon.png b/lib/images/dialer_images/C01-3_search_icon.png
deleted file mode 100755
index 9620613..0000000
--- a/lib/images/dialer_images/C01-3_search_icon.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_thumbnail_bg.png b/lib/images/dialer_images/C01-3_thumbnail_bg.png
deleted file mode 100755
index 7864c2a..0000000
--- a/lib/images/dialer_images/C01-3_thumbnail_bg.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/C01-3_title_divider.png b/lib/images/dialer_images/C01-3_title_divider.png
deleted file mode 100755
index 165505e..0000000
--- a/lib/images/dialer_images/C01-3_title_divider.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_00.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_00.png
deleted file mode 100755
index db81ec0..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_00.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_01.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_01.png
deleted file mode 100755
index 0f06a05..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_01.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_02.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_02.png
deleted file mode 100755
index eef7198..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_02.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_03.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_03.png
deleted file mode 100755
index c7381c8..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_03.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_04.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_04.png
deleted file mode 100755
index cbc9274..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_04.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_05.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_05.png
deleted file mode 100755
index 91a8ee6..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_05.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_06.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_06.png
deleted file mode 100755
index a8cba0e..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_06.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_07.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_07.png
deleted file mode 100755
index faaf57a..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_07.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_08.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_08.png
deleted file mode 100755
index c7f7db3..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_08.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_09.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_09.png
deleted file mode 100755
index acbcaa1..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_09.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_asterisk.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_asterisk.png
deleted file mode 100755
index 96b4d38..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_asterisk.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_auto_answer.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_auto_answer.png
deleted file mode 100755
index 7d2329e..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_auto_answer.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_mute.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_mute.png
deleted file mode 100755
index ac24879..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_mute.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/dialer_images/keypad/C01-3_keypad_number_sharp.png b/lib/images/dialer_images/keypad/C01-3_keypad_number_sharp.png
deleted file mode 100755
index 76f9120..0000000
--- a/lib/images/dialer_images/keypad/C01-3_keypad_number_sharp.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/00_button_icon_expand_closed.png b/lib/images/phoneug_images/00_button_icon_expand_closed.png
deleted file mode 100644
index acca071..0000000
--- a/lib/images/phoneug_images/00_button_icon_expand_closed.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/00_button_icon_expand_opened.png b/lib/images/phoneug_images/00_button_icon_expand_opened.png
deleted file mode 100644
index cd36ac1..0000000
--- a/lib/images/phoneug_images/00_button_icon_expand_opened.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/00_button_plus.png b/lib/images/phoneug_images/00_button_plus.png
deleted file mode 100755
index f5b3445..0000000
--- a/lib/images/phoneug_images/00_button_plus.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/01_controlbar_icon_contacts.png b/lib/images/phoneug_images/01_controlbar_icon_contacts.png
deleted file mode 100644
index a376989..0000000
--- a/lib/images/phoneug_images/01_controlbar_icon_contacts.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/01_controlbar_icon_create.png b/lib/images/phoneug_images/01_controlbar_icon_create.png
deleted file mode 100644
index 0dc1144..0000000
--- a/lib/images/phoneug_images/01_controlbar_icon_create.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/01_controlbar_icon_dialer.png b/lib/images/phoneug_images/01_controlbar_icon_dialer.png
deleted file mode 100644
index 1ad19c7..0000000
--- a/lib/images/phoneug_images/01_controlbar_icon_dialer.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/01_controlbar_icon_edit.png b/lib/images/phoneug_images/01_controlbar_icon_edit.png
deleted file mode 100644
index 4ddc598..0000000
--- a/lib/images/phoneug_images/01_controlbar_icon_edit.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/01_controlbar_icon_favorite.png b/lib/images/phoneug_images/01_controlbar_icon_favorite.png
deleted file mode 100644
index aa13cf9..0000000
--- a/lib/images/phoneug_images/01_controlbar_icon_favorite.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/01_controlbar_icon_logs.png b/lib/images/phoneug_images/01_controlbar_icon_logs.png
deleted file mode 100644
index 384341b..0000000
--- a/lib/images/phoneug_images/01_controlbar_icon_logs.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/01_controlbar_icon_save.png b/lib/images/phoneug_images/01_controlbar_icon_save.png
deleted file mode 100644
index f8a9278..0000000
--- a/lib/images/phoneug_images/01_controlbar_icon_save.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_btn_icon_call_dim.png b/lib/images/phoneug_images/C01-4_btn_icon_call_dim.png
deleted file mode 100644
index d2a68f6..0000000
--- a/lib/images/phoneug_images/C01-4_btn_icon_call_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_btn_icon_message_dim.png b/lib/images/phoneug_images/C01-4_btn_icon_message_dim.png
deleted file mode 100644
index 485ff79..0000000
--- a/lib/images/phoneug_images/C01-4_btn_icon_message_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_btn_icon_video_call_dim.png b/lib/images/phoneug_images/C01-4_btn_icon_video_call_dim.png
deleted file mode 100644
index 29ce012..0000000
--- a/lib/images/phoneug_images/C01-4_btn_icon_video_call_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_circle_button.png b/lib/images/phoneug_images/C01-4_circle_button.png
deleted file mode 100755
index 5e58d0d..0000000
--- a/lib/images/phoneug_images/C01-4_circle_button.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_circle_button_press.png b/lib/images/phoneug_images/C01-4_circle_button_press.png
deleted file mode 100755
index 8ea6881..0000000
--- a/lib/images/phoneug_images/C01-4_circle_button_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_controlbar_icon_all.png b/lib/images/phoneug_images/C01-4_controlbar_icon_all.png
deleted file mode 100755
index 68528a2..0000000
--- a/lib/images/phoneug_images/C01-4_controlbar_icon_all.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_controlbar_icon_create.png b/lib/images/phoneug_images/C01-4_controlbar_icon_create.png
deleted file mode 100755
index 85b897d..0000000
--- a/lib/images/phoneug_images/C01-4_controlbar_icon_create.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_controlbar_icon_delete.png b/lib/images/phoneug_images/C01-4_controlbar_icon_delete.png
deleted file mode 100755
index 33a6bc7..0000000
--- a/lib/images/phoneug_images/C01-4_controlbar_icon_delete.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_controlbar_icon_missed_call.png b/lib/images/phoneug_images/C01-4_controlbar_icon_missed_call.png
deleted file mode 100755
index 88aeafa..0000000
--- a/lib/images/phoneug_images/C01-4_controlbar_icon_missed_call.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_controlbar_icon_view_block.png b/lib/images/phoneug_images/C01-4_controlbar_icon_view_block.png
deleted file mode 100755
index 7ac55b9..0000000
--- a/lib/images/phoneug_images/C01-4_controlbar_icon_view_block.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_controlbar_icon_view_contacts.png b/lib/images/phoneug_images/C01-4_controlbar_icon_view_contacts.png
deleted file mode 100755
index a376989..0000000
--- a/lib/images/phoneug_images/C01-4_controlbar_icon_view_contacts.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_icon_Blocked(Auto-rejected).png b/lib/images/phoneug_images/C01-4_icon_Blocked(Auto-rejected).png
deleted file mode 100644
index 7f2cf70..0000000
--- a/lib/images/phoneug_images/C01-4_icon_Blocked(Auto-rejected).png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_icon_Blocked.png b/lib/images/phoneug_images/C01-4_icon_Blocked.png
deleted file mode 100755
index a1cefa4..0000000
--- a/lib/images/phoneug_images/C01-4_icon_Blocked.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_icon_call_blocked.png b/lib/images/phoneug_images/C01-4_icon_call_blocked.png
deleted file mode 100755
index f3934be..0000000
--- a/lib/images/phoneug_images/C01-4_icon_call_blocked.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_icon_dialed.png b/lib/images/phoneug_images/C01-4_icon_dialed.png
deleted file mode 100644
index 42de25c..0000000
--- a/lib/images/phoneug_images/C01-4_icon_dialed.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_icon_message_blocked.png b/lib/images/phoneug_images/C01-4_icon_message_blocked.png
deleted file mode 100755
index e665864..0000000
--- a/lib/images/phoneug_images/C01-4_icon_message_blocked.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_icon_missed-call.png b/lib/images/phoneug_images/C01-4_icon_missed-call.png
deleted file mode 100644
index e55863e..0000000
--- a/lib/images/phoneug_images/C01-4_icon_missed-call.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_icon_received.png b/lib/images/phoneug_images/C01-4_icon_received.png
deleted file mode 100644
index 08643a9..0000000
--- a/lib/images/phoneug_images/C01-4_icon_received.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_icon_rejected.png b/lib/images/phoneug_images/C01-4_icon_rejected.png
deleted file mode 100644
index 340e373..0000000
--- a/lib/images/phoneug_images/C01-4_icon_rejected.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_list_icon_call.png b/lib/images/phoneug_images/C01-4_list_icon_call.png
deleted file mode 100755
index 576ecab..0000000
--- a/lib/images/phoneug_images/C01-4_list_icon_call.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_list_icon_mms.png b/lib/images/phoneug_images/C01-4_list_icon_mms.png
deleted file mode 100644
index aef7f9c..0000000
--- a/lib/images/phoneug_images/C01-4_list_icon_mms.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_list_icon_sms.png b/lib/images/phoneug_images/C01-4_list_icon_sms.png
deleted file mode 100644
index 399733d..0000000
--- a/lib/images/phoneug_images/C01-4_list_icon_sms.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-4_list_icon_vt-call.png b/lib/images/phoneug_images/C01-4_list_icon_vt-call.png
deleted file mode 100644
index 2e9f301..0000000
--- a/lib/images/phoneug_images/C01-4_list_icon_vt-call.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C01-5_icon_voicecall.png b/lib/images/phoneug_images/C01-5_icon_voicecall.png
deleted file mode 100755
index 73f06db..0000000
--- a/lib/images/phoneug_images/C01-5_icon_voicecall.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_button_icon_call.png b/lib/images/phoneug_images/C02_button_icon_call.png
deleted file mode 100755
index cbb910e..0000000
--- a/lib/images/phoneug_images/C02_button_icon_call.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_button_icon_call_dim.png b/lib/images/phoneug_images/C02_button_icon_call_dim.png
deleted file mode 100755
index 31c0684..0000000
--- a/lib/images/phoneug_images/C02_button_icon_call_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_button_icon_call_press.png b/lib/images/phoneug_images/C02_button_icon_call_press.png
deleted file mode 100755
index 07fe96d..0000000
--- a/lib/images/phoneug_images/C02_button_icon_call_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_button_icon_delete.png b/lib/images/phoneug_images/C02_button_icon_delete.png
deleted file mode 100755
index aac7f53..0000000
--- a/lib/images/phoneug_images/C02_button_icon_delete.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_button_icon_delete_dim.png b/lib/images/phoneug_images/C02_button_icon_delete_dim.png
deleted file mode 100755
index 58ce082..0000000
--- a/lib/images/phoneug_images/C02_button_icon_delete_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_button_icon_delete_press.png b/lib/images/phoneug_images/C02_button_icon_delete_press.png
deleted file mode 100755
index aac7f53..0000000
--- a/lib/images/phoneug_images/C02_button_icon_delete_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_button_icon_message.png b/lib/images/phoneug_images/C02_button_icon_message.png
deleted file mode 100755
index 456b1fb..0000000
--- a/lib/images/phoneug_images/C02_button_icon_message.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_button_icon_message_dim.png b/lib/images/phoneug_images/C02_button_icon_message_dim.png
deleted file mode 100755
index 7a6ce6f..0000000
--- a/lib/images/phoneug_images/C02_button_icon_message_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_button_icon_message_press.png b/lib/images/phoneug_images/C02_button_icon_message_press.png
deleted file mode 100755
index 96297a4..0000000
--- a/lib/images/phoneug_images/C02_button_icon_message_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_button_icon_videocall.png b/lib/images/phoneug_images/C02_button_icon_videocall.png
deleted file mode 100755
index f7b2208..0000000
--- a/lib/images/phoneug_images/C02_button_icon_videocall.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_button_icon_videocall_dim.png b/lib/images/phoneug_images/C02_button_icon_videocall_dim.png
deleted file mode 100755
index 77d4fb9..0000000
--- a/lib/images/phoneug_images/C02_button_icon_videocall_dim.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_button_icon_videocall_press.png b/lib/images/phoneug_images/C02_button_icon_videocall_press.png
deleted file mode 100755
index 6596599..0000000
--- a/lib/images/phoneug_images/C02_button_icon_videocall_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_circle_icon_call.png b/lib/images/phoneug_images/C02_circle_icon_call.png
deleted file mode 100755
index 3df40d6..0000000
--- a/lib/images/phoneug_images/C02_circle_icon_call.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_circle_icon_call_press.png b/lib/images/phoneug_images/C02_circle_icon_call_press.png
deleted file mode 100755
index c1bed80..0000000
--- a/lib/images/phoneug_images/C02_circle_icon_call_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_circle_icon_sms.png b/lib/images/phoneug_images/C02_circle_icon_sms.png
deleted file mode 100755
index a9d0ad6..0000000
--- a/lib/images/phoneug_images/C02_circle_icon_sms.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_circle_icon_sms_press.png b/lib/images/phoneug_images/C02_circle_icon_sms_press.png
deleted file mode 100755
index ff6b712..0000000
--- a/lib/images/phoneug_images/C02_circle_icon_sms_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_circle_icon_vt-call.png b/lib/images/phoneug_images/C02_circle_icon_vt-call.png
deleted file mode 100755
index 0acd851..0000000
--- a/lib/images/phoneug_images/C02_circle_icon_vt-call.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_circle_icon_vt-call_press.png b/lib/images/phoneug_images/C02_circle_icon_vt-call_press.png
deleted file mode 100755
index 8a8a2d2..0000000
--- a/lib/images/phoneug_images/C02_circle_icon_vt-call_press.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_icon_call.png b/lib/images/phoneug_images/C02_icon_call.png
deleted file mode 100644
index 0b1038e..0000000
--- a/lib/images/phoneug_images/C02_icon_call.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_icon_chat_on.png b/lib/images/phoneug_images/C02_icon_chat_on.png
deleted file mode 100644
index 290857a..0000000
--- a/lib/images/phoneug_images/C02_icon_chat_on.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_icon_filetransfer.png b/lib/images/phoneug_images/C02_icon_filetransfer.png
deleted file mode 100644
index ad235c7..0000000
--- a/lib/images/phoneug_images/C02_icon_filetransfer.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_icon_message.png b/lib/images/phoneug_images/C02_icon_message.png
deleted file mode 100644
index 1eddabc..0000000
--- a/lib/images/phoneug_images/C02_icon_message.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/C02_icon_video_call.png b/lib/images/phoneug_images/C02_icon_video_call.png
deleted file mode 100644
index 6c928ce..0000000
--- a/lib/images/phoneug_images/C02_icon_video_call.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/caller_ID_default_70x70_man.png b/lib/images/phoneug_images/caller_ID_default_70x70_man.png
deleted file mode 100644
index b8e9ed9..0000000
--- a/lib/images/phoneug_images/caller_ID_default_70x70_man.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/camera_mode_shutter_icon.png b/lib/images/phoneug_images/camera_mode_shutter_icon.png
deleted file mode 100755
index 10b2004..0000000
--- a/lib/images/phoneug_images/camera_mode_shutter_icon.png
+++ /dev/null
Binary files differ
diff --git a/lib/images/phoneug_images/phone.png b/lib/images/phoneug_images/phone.png
deleted file mode 100644
index d0f4eae..0000000
--- a/lib/images/phoneug_images/phone.png
+++ /dev/null
Binary files differ
diff --git a/lib/list/CMakeLists.txt b/lib/list/CMakeLists.txt
deleted file mode 100755
index ec71fa7..0000000
--- a/lib/list/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
-
-SET(TARGET ${CT_LIST})
-
-FILE(GLOB SRCS *.cpp)
-
-ADD_LIBRARY(${TARGET} SHARED ${SRCS})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES SOVERSION ${VERSION_MAJOR})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES VERSION ${VERSION})
-
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
-TARGET_LINK_LIBRARIES(${TARGET} ${COMMON_LIB} ${ug_pkgs_LDFLAGS} ${CT_DETAILS})
-
-ADD_DEPENDENCIES(${TARGET} contacts_edj_build contacts_theme_build group_theme_edj_build image_layout_edj_build list_theme_edj_build contact_button_edj_build)
-
-INSTALL(TARGETS ${TARGET} DESTINATION ${UGLIBDIR})
-
-INSTALL(FILES ${CMAKE_BINARY_DIR}/lib/list/contacts-list-efl.xml DESTINATION "/usr/share/packages")
diff --git a/lib/list/contacts-list-efl.xml b/lib/list/contacts-list-efl.xml
deleted file mode 100644
index 728ec36..0000000
--- a/lib/list/contacts-list-efl.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="contacts-list-efl" version="0.1.0-0" install-location="internal-only">
- <label>contacts-list</label>
- <author email="ensung.park@samsung.com" href="www.samsung.com">ensung park</author>
- <description>contacts-list-efl Application</description>
- <ui-application appid="contacts-list-efl" exec="/usr/ug/bin/contacts-list-efl" nodisplay="true" multiple="true" type="capp" taskmanage="false">
- <icon>org.tizen.contacts.png</icon>
- <label>contacts-list</label>
- <label xml:lang="en-us">contacts-list</label>
- <label xml:lang="nl-nl">contacts-list</label>
- <label xml:lang="de-de">contacts-list</label>
- <label xml:lang="en-gb">contacts-list</label>
- <label xml:lang="zh-hk">contacts-list</label>
- <label xml:lang="zh-cn">contacts-list</label>
- <label xml:lang="ru-ru">contacts-list</label>
- <label xml:lang="zh-tw">contacts-list</label>
- <label xml:lang="ja-jp">contacts-list</label>
- <label xml:lang="es-es">contacts-list</label>
- <label xml:lang="el-gr">contacts-list</label>
- <label xml:lang="it-it">contacts-list</label>
- <label xml:lang="tr-tr">contacts-list</label>
- <label xml:lang="pt-pt">contacts-list</label>
- <label xml:lang="fr-fr">contacts-list</label>
- <label xml:lang="ko-kr">contacts-list</label>
- <application-service>
- <operation name="http://tizen.org/ns/packages"/>
- </application-service>
- <application-service>
- <operation name="http://tizen.org/appcontrol/operation/social/pick"/>
- </application-service>
- <application-service>
- <operation name="http://tizen.org/appcontrol/operation/social/choose"/>
- </application-service>
- </ui-application>
-</manifest>
diff --git a/lib/list/ct-group-edit-view.h b/lib/list/ct-group-edit-view.h
deleted file mode 100755
index 5426186..0000000
--- a/lib/list/ct-group-edit-view.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CT_GROUP_EDIT_VIEW_H__
-#define __CT_GROUP_EDIT_VIEW_H__
-
-void ctui_gedit_push_view(Evas_Object *win, Evas_Object *navi,
- ct_group_list *info, ct_group_rename_update_cb fn, void *fn_data);
-
-#endif /* __CT_GROUP_EDIT_VIEW_H__ */
diff --git a/lib/list/ct-group-view.cpp b/lib/list/ct-group-view.cpp
deleted file mode 100755
index ee702be..0000000
--- a/lib/list/ct-group-view.cpp
+++ /dev/null
@@ -1,1696 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <app.h>
-#include <vconf.h>
-#include <vconf-keys.h>
-#include <fcntl.h>
-#include <app_service.h>
-#include <Ecore_X.h>
-#include <ui-gadget-module.h>
-#include <account.h>
-#include <efl_assist.h>
-#include "phone.h"
-#include "ct-list.h"
-#include "ct-group.h"
-#include "ct-list-utils.h"
-#include "ct-list-contact-view.h"
-#include "ViewManager.h"
-
-//TODO: use it instead of magic-strings across the project
-#define KEY_GROUP_DATA "cgroup_d"
-#define FRIENDS "friends"
-#define FAMILY "family"
-#define COWORKERS "coworkers"
-#define QUICK_MENU_SIZE 160
-#define PART_ICON "icon"
-
-
-enum
-{
- GROUP_MODE_NORMAL,
- GROUP_MODE_EDIT,
-};
-
-typedef void (*quick_menu_cb)(void *data, Evas_Object *obj, void *event_info);
-
-typedef struct : public Common::View
-{
- Evas_Object *gengrid;
- Ecore_Timer *update_timer;
- Ecore_Timer *waiting_timer;
- Evas_Object *ctrl_button;
- Evas_Object *delete_button;
- bool is_background;
- int count;
- Evas_Object *quick_menu_popup;
- int ug_request;
- int ug_cnt_max;
- int group_mode;
- void *crop_ug;
- char *ug_data;
- bool need_update;
-} ct_group_data;
-
-enum GROUP_ITC_TYPE
-{
- GROUP_ITC_1IMAGE,
- GROUP_ITC_2IMAGE,
- GROUP_ITC_3IMAGE,
- GROUP_ITC_6IMAGE,
- GROUP_ITC_GROUP_TITLE,
- GROUP_ITC_MAX,
-};
-
-static Elm_Gengrid_Item_Class group_itcs[] =
-{
- {
- 0, 0, 1, "groupitem.1image", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "groupitem.2image", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "groupitem.3image", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "groupitem.6image", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "group_index", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
-};
-
-static Eina_Bool group_changed(void *user_data);
-
-static void group_gl_del(void *data, Evas_Object *obj)
-{
- PH_TRACE;
- int i;
- ct_group_list *info = (ct_group_list *) data;
- p_retm_if(NULL == info, "data is NULL");
-
- for (i = 0; i < 6; i++)
- free(info->img_list[i]);
- free(info->img);
- free(info->name);
- free(info);
-}
-
-static char* group_gl_label_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- char buf[PH_TEXT_MAX_LEN];
- ct_group_list *info = (ct_group_list *) data;
- ct_group_data *cgroup_d;
-
- p_retvm_if(NULL == data, NULL, "The parameter(data) is NULL");
-
- cgroup_d = (ct_group_data *) evas_object_data_get(obj, KEY_GROUP_DATA);
- p_retvm_if(NULL == cgroup_d, NULL, "evas_object_data_get() return NULL");
-
- if ((0 == strcmp(part, "text.name")
- && cgroup_d->group_mode == GROUP_MODE_NORMAL)
- || (0 == strcmp(part, "text.edit.name")
- && cgroup_d->group_mode == GROUP_MODE_EDIT))
- {
- if (info->name)
- return strdup(info->name);
- else
- return strdup("Noname");
- }
- else if ((0 == strcmp(part, "text.count")
- && cgroup_d->group_mode == GROUP_MODE_NORMAL)
- || (0 == strcmp(part, "text.edit.count")
- && cgroup_d->group_mode == GROUP_MODE_EDIT))
- {
- snprintf(buf, sizeof(buf), "%d", info->count);
- return strdup(buf);
- }
- return NULL;
-}
-
-static char* group_gl_index_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- char *title = (char *) data;
-
- if (title && *title)
- return strdup((const char *) data);
-
- return NULL;
-}
-
-static void group_popup_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- Evas_Object *icon;
- Evas_Object *btn;
- ct_group_data *cgroup_d = (ct_group_data *) data;
- btn = (Evas_Object *) evas_object_data_get(obj, "expand_btn");
- if (btn)
- {
- icon = elm_object_part_content_get(btn, PART_ICON);
- elm_image_file_set(icon, CTUI_IMG_ICON_EXPAND_OPENED, NULL);
- elm_object_part_content_set(btn, PART_ICON, icon);
- }
- evas_object_del(cgroup_d->popup);
- cgroup_d->popup = NULL;
-}
-
-static void group_destroy_child_ug(void *data)
-{
- PH_TRACE;
- ct_group_data *cgroup_d = (ct_group_data *) data;
- cgroup_d->child_ug = NULL;
-}
-
-API void phone_group_message_result_cb(void *data, int *list, int cnt)
-{
- PH_TRACE;
- service_h service;
- ui_gadget_h ug;
- struct ug_cbs cbs = { 0 };
- struct ug_priv_data *priv_data;
- ct_group_data *cgroup_d = (ct_group_data *) data;
- char buf[PH_TEXT_MAX_LEN] = { '\0' };
- char temp[PH_TEXT_MAX_LEN + 1] = { '\0' };
- int ret, i;
- contacts_record_h number_record = NULL;
- char *number;
-
- p_retm_if(NULL == cgroup_d, "parameter(cgroup_d) is NULL");
- p_retm_if(0 == cnt || NULL == list, "parameter(list) is NULL");
-
- priv_data = (ug_priv_data *) calloc(1, sizeof(struct ug_priv_data));
- p_retm_if(NULL == priv_data, "calloc is failed");
-
- priv_data->destroy_cb = group_destroy_child_ug;
- priv_data->cb_param = cgroup_d;
-
- service_create(&service);
-
- for (i = 0; i < cnt; i++)
- {
- ret = contacts_db_get_record(_contacts_number._uri, list[i],
- &number_record);
- if (CONTACTS_ERROR_NONE != ret)
- {
- ERR("contacts_db_get_record() Failed(%d)", ret);
- continue;
- }
-
- contacts_record_get_str_p(number_record, _contacts_number.number,
- &number);
- if (number && *number)
- {
- if (*buf)
- snprintf(temp, sizeof(temp), "%s", buf);
- if (*temp)
- snprintf(buf, sizeof(buf), "%s,%s", temp, number);
- else
- snprintf(buf, sizeof(buf), "%s", number);
- }
- contacts_record_destroy(number_record, true);
- }
- if (*buf)
- {
- PH_DBG("number %s", buf);
- service_add_extra_data(service, "TO", buf);
- }
- cbs.priv = priv_data;
- cbs.layout_cb = ug_common_layout_cb;
- cbs.result_cb = NULL;
- cbs.destroy_cb = ug_common_destroy_cb;
-
- ug = ug_create(cgroup_d->ug, MSG_COMPOSER_UG, UG_MODE_FULLVIEW, service,
- &cbs);
- service_destroy(service);
-
- if (ug == NULL)
- {
- free(priv_data);
- ERR("%s ug_create is failed", MSG_COMPOSER_UG);
- }
- evas_object_smart_callback_del(cgroup_d->navi, "transition,finished",
- ctui_list_edit_navi_pop);
- cgroup_d->child_ug = ug;
-}
-
-API void phone_group_email_result_cb(void *data, int *list, int cnt)
-{
- PH_TRACE;
- service_h service;
- Ecore_X_Window win_id;
- ct_group_data *cgroup_d = (ct_group_data *) data;
- int ret, i;
- char *email;
- contacts_record_h email_record = NULL;
- char buf[PH_TEXT_MAX_LEN + 1] = { '\0' };
- char temp[PH_TEXT_MAX_LEN + 1] = { '\0' };
-
- p_retm_if(NULL == cgroup_d, "parameter(cgroup_d) is NULL");
- p_retm_if(0 == cnt || NULL == list, "parameter(list) is NULL");
-
- win_id = elm_win_xwindow_get(cgroup_d->win);
- service_create(&service);
- service_set_app_id(service, EMAIL_COMPOSER_PKG);
- service_set_window(service, win_id);
-
- for (i = 0; i < cnt; i++)
- {
- ret = contacts_db_get_record(_contacts_email._uri, list[i],
- &email_record);
- if (CONTACTS_ERROR_NONE != ret)
- {
- ERR("contacts_db_get_record() Failed(%d)", ret);
- continue;
- }
- contacts_record_get_str_p(email_record, _contacts_email.email, &email);
- if (email && *email)
- {
- if (*buf)
- snprintf(temp, sizeof(temp), "%s", buf);
-
- if (*temp)
- snprintf(buf, sizeof(buf), "%s;%s", temp, email);
- else
- snprintf(buf, sizeof(buf), "%s", email);
- }
- contacts_record_destroy(email_record, true);
- }
- if (*buf)
- {
- PH_DBG("email %s", buf);
- service_add_extra_data(service, SERVICE_DATA_TO, buf);
- }
-
- service_send_launch_request(service, NULL, NULL);
- service_destroy(service);
-}
-
-static void group_notify_update(ct_group_data *cgroup_d)
-{
- PH_TRACE;
- if (GROUP_MODE_NORMAL == cgroup_d->group_mode)
- phone_hide_notify(cgroup_d->layout);
- else
- {
- if (0 < cgroup_d->count)
- {
- char buf[PH_TEXT_MAX_LEN + 1];
- snprintf(buf, sizeof(buf), "%s (%d)", S_(PH_SYS_POP_SELECTED),
- cgroup_d->count);
- phone_show_notify(cgroup_d->layout, buf);
- }
- else
- phone_show_notify(cgroup_d->layout,
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_SELECT_GROUP));
- }
-}
-
-static void group_edit_result_cb(int grp_id, void *data, bool changed)
-{
- PH_TRACE;
- ct_group_data *cgroup_d = (ct_group_data *) data;
- group_notify_update((ct_group_data *) data);
-
- if (changed)
- {
- cgroup_d->group_mode = GROUP_MODE_NORMAL;
- phone_hide_notify(cgroup_d->layout);
- phone_group_set_navi(cgroup_d->layout);
- }
-}
-
-static void group_edit_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_group_data *cgroup_d;
- ct_group_list *info = (ct_group_list *) data;
-
- cgroup_d = (ct_group_data *) evas_object_data_get(elm_object_item_widget_get(info->item),
- "cgroup_d");
- p_retm_if(NULL == cgroup_d, "evas_object_data_get() return NULL");
-
- phone_hide_notify(cgroup_d->layout);
- ctui_create_group_input_view(cgroup_d->win, cgroup_d->navi, (ct_group_list *) data,
- group_edit_result_cb, cgroup_d);
-}
-
-static void group_navi_item_update(ct_group_data *cgroup_d)
-{
- PH_TRACE;
- if (0 < cgroup_d->count)
- elm_object_disabled_set(cgroup_d->delete_button, EINA_FALSE);
- else
- elm_object_disabled_set(cgroup_d->delete_button, EINA_TRUE);
-}
-
-static void group_check_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_group_list *info = (ct_group_list *) data;
- ct_group_data *cgroup_d;
- p_retm_if(NULL == data, "data is NULL");
-
- cgroup_d = (ct_group_data *) evas_object_data_get(elm_object_item_widget_get(info->item),
- "cgroup_d");
- p_retm_if(NULL == cgroup_d, "evas_object_data_get() return NULL");
-
- if (EINA_TRUE == info->selected && false == info->is_read_only)
- cgroup_d->count++;
- else
- cgroup_d->count--;
- group_navi_item_update(cgroup_d);
- group_notify_update(cgroup_d);
-}
-
-static void group_quick_ctxpopup_dismissed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_group_data *cgroup_d = (ct_group_data *) data;
- p_retm_if(NULL == data, "invalid data");
- Evas_Object *btn = obj;
- p_retm_if(NULL == btn, "invalid btn");
- Evas_Object *icon = elm_object_part_content_get(btn, PART_ICON);
- p_retm_if(NULL == icon, "invalid icon");
- elm_image_file_set(icon, CTUI_IMG_ICON_EXPAND_OPENED, NULL);
- elm_object_part_content_set(btn, PART_ICON, icon);
- evas_object_del(cgroup_d->quick_menu_popup);
- cgroup_d->quick_menu_popup = NULL;
-}
-
-static void group_quick_ctxpopup_hide_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *btn = (Evas_Object *) data;
- p_retm_if(NULL == data, "invalid data");
- Evas_Object *icon = elm_object_part_content_get(btn, PART_ICON);
- p_retm_if(NULL == icon, "invalid icon");
- elm_image_file_set(icon, CTUI_IMG_ICON_EXPAND_OPENED, NULL);
- elm_object_part_content_set(btn, PART_ICON, icon);
-}
-
-ct_list_data *create_group_list_date(Evas_Object *ctxpopup)
-{
- PH_TRACE;
- p_retv_if(NULL == ctxpopup, NULL);
- ct_list_data *clist_d = (ct_list_data *) calloc(1, sizeof(ct_list_data));
- p_retv_if(NULL == clist_d, NULL);
- Evas_Object * btn = (Evas_Object *)evas_object_data_get(ctxpopup, "quick_menu_button");
- ct_group_data * cgroup_d = (ct_group_data *)evas_object_data_get(ctxpopup, "cgroup_data");
- p_retv_if(NULL == cgroup_d,NULL);
- group_quick_ctxpopup_dismissed_cb(cgroup_d, btn, NULL);
- ct_group_list *info = (ct_group_list *)evas_object_data_get(ctxpopup, "group_list");
- p_retv_if(NULL == info, NULL);
-
- ph_view_info *view_info = (ph_view_info *) calloc(1, sizeof(ph_view_info));
- phone_set_view_info(view_info, cgroup_d->win, cgroup_d->navi,
- cgroup_d->ug, cgroup_d->ug_request, cgroup_d->ug_cnt_max,
- cgroup_d->ug_data);
-
- clist_d->win = view_info->win;
- clist_d->navi = view_info->navi;
- clist_d->ug = view_info->ug;
- clist_d->ug_data = view_info->ug_data;
- clist_d->ug_request = view_info->ug_request;
- clist_d->base_ab = -1;
-
- clist_d->base_ab = info->id_ab;
- clist_d->base_grp = info->id_grp;
- clist_d->base_ab_mode = info->mode;
- clist_d->title = SAFE_STRDUP(info->name);
-
- free(view_info);
- return clist_d;
-}
-
-static void list_email_group_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d = create_group_list_date(obj);
- p_retm_if(NULL == clist_d, "clist_d is NULL");
- p_retm_if(NULL == evas_object_data_get(clist_d->navi, "cgroup_d"), " return NULL");
-
- int list_op = 0;
- if (-1 == clist_d->base_grp)
- list_op = CT_GET_LIST_PERSON_HAD_EMAIL_OF_ADDRBOOK_ID;
- else if (clist_d->base_grp)
- list_op = CT_GET_LIST_PERSON_HAD_EMAIL_OF_GROUP_ID;
- else
- list_op = CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_EMAIL_OF_ADDRBOOK_ID;
-
- ctui_create_list_select_view(clist_d->navi, phone_group_email_result_cb,
- evas_object_data_get(clist_d->navi, "cgroup_d"), list_op,
- clist_d->base_ab, clist_d->base_grp, 0);
- free(clist_d);
-}
-
-static void list_message_group_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d = create_group_list_date(obj);
- p_retm_if(NULL == clist_d, "clist_d is NULL");
- p_retm_if(NULL == evas_object_data_get(clist_d->navi, "cgroup_d"), " return NULL");
-
- int list_op = 0;
- if (-1 == clist_d->base_grp)
- list_op = CT_GET_LIST_PERSON_HAD_NUMBER_OF_ADDRBOOK_ID;
- else if (clist_d->base_grp)
- list_op = CT_GET_LIST_PERSON_HAD_NUMBER_OF_GROUP_ID;
- else
- list_op = CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_NUMBER_OF_ADDRBOOK_ID;
-
- ctui_create_list_select_view(clist_d->navi, phone_group_message_result_cb,
- evas_object_data_get(clist_d->navi, "cgroup_d"), list_op,
- clist_d->base_ab, clist_d->base_grp, 0);
- free(clist_d);
-}
-
-void item_new(Evas_Object *ctxpopup, const char * text, const char * icon, quick_menu_cb group_quick_menu)
-{
- PH_TRACE;
- if(!ctxpopup)
- {
- return;
- }
- Evas_Object *layout = elm_layout_add(ctxpopup);
- evas_object_propagate_events_set(layout, EINA_FALSE);
- elm_layout_file_set(layout, CONTACT_BUTTON_THEME_EDJ, "quick.munu");
- evas_object_size_hint_min_set(layout, QUICK_MENU_SIZE, QUICK_MENU_SIZE);
- Evas_Object *exp_icon = elm_icon_add(layout);
- elm_image_file_set(exp_icon, icon, NULL);
- elm_object_part_content_set(layout, PART_ICON, exp_icon);
- elm_image_resizable_set(exp_icon, EINA_FALSE, EINA_FALSE);
- evas_object_show(layout);
- elm_object_part_text_set(layout,"elm.text.quick", text);
- elm_ctxpopup_item_append(ctxpopup, NULL, layout, group_quick_menu, NULL);
-}
-
-static void group_quick_menu(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_group_list *info = (ct_group_list *)evas_object_data_get(obj, "group_list");
- ct_group_data *cgroup_d = (ct_group_data *)data;
- p_retm_if(NULL == cgroup_d, "invalid cgroup_d");
- p_retm_if(NULL == data, "invalid data");
- const char *file_icon = NULL;
- const char *file_group = NULL;
- Evas_Object *icon = elm_object_part_content_get(obj, PART_ICON);
- elm_image_file_get(icon, &file_icon, &file_group);
- p_retm_if(NULL == file_icon, "elm_image_file_set() return NULL");
-
- if (0 == strcmp(file_icon, CTUI_IMG_ICON_EXPAND_CLOSED))
- {
- elm_image_file_set(icon, CTUI_IMG_ICON_EXPAND_OPENED, NULL);
- elm_object_part_content_set(obj, PART_ICON, icon);
- }
- else
- {
- elm_image_file_set(icon, CTUI_IMG_ICON_EXPAND_CLOSED, NULL);
- elm_object_part_content_set(obj, PART_ICON, icon);
-
- if (cgroup_d->quick_menu_popup)
- {
- evas_object_del(cgroup_d->quick_menu_popup);
- cgroup_d->quick_menu_popup = NULL;
- }
- cgroup_d->quick_menu_popup = elm_ctxpopup_add(cgroup_d->navi);
- evas_object_propagate_events_set(cgroup_d->quick_menu_popup, EINA_FALSE);
- int rotate = (int) evas_object_data_get(cgroup_d->navi, "phone_rotate");
- evas_object_data_set(cgroup_d->quick_menu_popup, "cgroup_data", cgroup_d);
- evas_object_data_set(cgroup_d->quick_menu_popup, "group_list", info);
- evas_object_data_set(cgroup_d->quick_menu_popup, "quick_menu_button", obj);
-
- if (0 == rotate || 180 == rotate)
- {
- elm_ctxpopup_direction_priority_set(cgroup_d->quick_menu_popup,
- ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP,
- ELM_CTXPOPUP_DIRECTION_LEFT, ELM_CTXPOPUP_DIRECTION_RIGHT);
- }
-
- evas_object_smart_callback_add(cgroup_d->quick_menu_popup, "dismissed",
- group_quick_ctxpopup_dismissed_cb, cgroup_d);
- evas_object_event_callback_add(cgroup_d->quick_menu_popup, EVAS_CALLBACK_HIDE,
- group_quick_ctxpopup_hide_cb, obj);
-
- elm_ctxpopup_horizontal_set(cgroup_d->quick_menu_popup, EINA_TRUE);
- item_new(cgroup_d->quick_menu_popup, T_(PH_GET_TEXT_BASIC, PHTEXT_EMAIL), IMG_MESSAGE_ICON, list_email_group_btn_cb);
- item_new(cgroup_d->quick_menu_popup, T_(PH_GET_TEXT_BASIC, PHTEXT_MESSAGE),PH_IMG_ICON_MESSAGE_PRESS, list_message_group_btn_cb);
-
- int x = 0;
- int y = 0;
- evas_pointer_canvas_xy_get(evas_object_evas_get(cgroup_d->navi), &x, &y);
- evas_object_move(cgroup_d->quick_menu_popup, x, y);
- evas_object_show(cgroup_d->quick_menu_popup);
- }
-}
-
-static Evas_Object* group_gl_content_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- Evas_Object *icon;
- Evas_Object *button;
- Evas_Object *check;
- ct_group_data *cgroup_d;
- ct_group_list *info = (ct_group_list *) data;
-
- cgroup_d = (ct_group_data *) evas_object_data_get(obj, "cgroup_d");
- p_retvm_if(NULL == cgroup_d, NULL, "evas_object_data_get() return NULL");
-
- if (0 == strcmp(part, "swallow.icon"))
- {
- if (CT_UG_REQUEST_SELECT_GROUP == cgroup_d->ug_request
- || CT_UG_REQUEST_SELECT_GROUP_ADD_TO_HOME
- == cgroup_d->ug_request)
- return NULL;
- if (GROUP_MODE_NORMAL == cgroup_d->group_mode)
- return NULL;
- else if (info->id_grp)
- {
- button = elm_button_add(obj);
- p_retvm_if(NULL == button, NULL, "elm_button_add() return NULL");
- evas_object_propagate_events_set(button, EINA_FALSE);
- elm_object_style_set(button, "rename");
- evas_object_smart_callback_add(button, "clicked", group_edit_btn_cb,
- info);
- return button;
- }
- }
- else if (0 == strncmp(part, "swallow.content", 15))
- {
- int index = -1;
- sscanf(part, "swallow.content%d", &index);
- p_retvm_if(index<1 || 6<index, NULL, "index(%d) is out of range",
- index);
-
- if (info->img && *info->img)
- {
- icon = elm_icon_add(obj);
- p_retvm_if(NULL == icon, NULL, "elm_icon_add() return NULL");
- elm_image_file_set(icon, info->img, NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_NONE, 1,
- 1);
- evas_object_size_hint_align_set(icon, 0.5, EVAS_HINT_FILL);
- return icon;
- }
- else if (info->img_list[index - 1] && *info->img_list[index - 1])
- {
- icon = elm_icon_add(obj);
- p_retvm_if(NULL == icon, NULL, "elm_icon_add() return NULL");
- elm_image_file_set(icon, info->img_list[index - 1], NULL);
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_NONE, 1,
- 1);
- evas_object_size_hint_align_set(icon, 0.5, EVAS_HINT_FILL);
- return icon;
- }
- }
- else if (0 == strcmp(part, "swallow.edit.icon")
- && GROUP_MODE_EDIT == cgroup_d->group_mode)
- {
- if (CT_UG_REQUEST_SELECT_GROUP == cgroup_d->ug_request)
- return NULL;
- if (info->is_read_only == true)
- {
- check = elm_check_add(obj);
- p_retvm_if(NULL == check, NULL, "elm_check_add() return NULL");
- evas_object_show(check);
- elm_object_disabled_set(check, EINA_TRUE);
- return check;
- }
-
- check = elm_check_add(obj);
- p_retvm_if(NULL == check, NULL, "elm_check_add() return NULL");
- evas_object_show(check);
- evas_object_propagate_events_set(check, EINA_FALSE);
- elm_check_state_pointer_set(check, &info->selected);
- elm_check_state_set(check, info->selected);
- evas_object_smart_callback_add(check, "changed", group_check_changed_cb,
- info);
- return check;
- }
- else if(0 == strcmp(part,"quick.menu.button") && GROUP_MODE_NORMAL == cgroup_d->group_mode)
- {
- Evas_Object *btn = elm_button_add(obj);
- evas_object_data_set(btn, "group_list", info);
- elm_object_style_set(btn, "transparency");
- Evas_Object *exp_icon = elm_icon_add(btn);
- elm_image_file_set(exp_icon, CTUI_IMG_ICON_EXPAND_OPENED, NULL);
- elm_object_part_content_set(btn, PART_ICON, exp_icon);
- evas_object_propagate_events_set(btn, EINA_FALSE);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_UP, group_quick_menu, cgroup_d);
- evas_object_show(btn);
- return btn;
- }
- return NULL;
-}
-
-static void __group_return_id(ui_gadget_h ug, int group_id)
-{
- PH_TRACE;
- service_h service = NULL;
- char buf[16] = { 0, };
-
- service_create(&service);
-
- if (group_id)
- {
- snprintf(buf, sizeof(buf), "%d", group_id);
- service_add_extra_data(service, CT_UG_BUNDLE_RESULT_GROUP_ID, buf);
- }
-
- PH_DBG("group_id=%d", group_id);
- ug_send_result(ug, service);
-
- service_destroy(service);
-}
-
-static void group_gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- ct_group_data *cgroup_d = (ct_group_data *) data;
- ct_group_list *info = (ct_group_list *) elm_object_item_data_get(item);
- ph_view_info *view_info;
- p_retm_if(NULL == info, "elm_object_item_data_get() return NULL");
-
- elm_gengrid_item_selected_set(item, EINA_FALSE);
-
- if (CT_UG_REQUEST_SELECT_GROUP == cgroup_d->ug_request)
- {
- __group_return_id(cgroup_d->ug, info->id_grp);
- ug_destroy_me(cgroup_d->ug);
- cgroup_d->ug = NULL;
- }
- else if (GROUP_MODE_NORMAL == cgroup_d->group_mode)
- {
- view_info = (ph_view_info *) calloc(1, sizeof(ph_view_info));
- phone_set_view_info(view_info, cgroup_d->win, cgroup_d->navi,
- cgroup_d->ug, cgroup_d->ug_request, cgroup_d->ug_cnt_max,
- cgroup_d->ug_data);
-
- if (0 < info->id_grp)
- ctui_list_create_contact_view_with_info(view_info,
- CT_GET_LIST_PERSON_OF_GROUP_ID, info);
- else
- // not assigned
- ctui_list_create_contact_view_with_info(view_info,
- CT_GET_LIST_PERSON_NOT_ASSIGNED_OF_ADDRBOOK_ID, info);
- free(view_info);
- }
- else
- {
-
- if (info->is_read_only == true)
- return; //skip default group
-
- info->selected = !info->selected;
- elm_gengrid_item_update(info->item);
-
- if (EINA_TRUE == info->selected)
- cgroup_d->count++;
- else
- cgroup_d->count--;
-
- group_navi_item_update(cgroup_d);
- group_notify_update(cgroup_d);
- }
-}
-
-static void group_create_itcs()
-{
- PH_TRACE;
- group_itcs[GROUP_ITC_GROUP_TITLE].func.text_get = group_gl_index_label_get;
-
- group_itcs[GROUP_ITC_1IMAGE].func.text_get = group_gl_label_get;
- group_itcs[GROUP_ITC_1IMAGE].func.content_get = group_gl_content_get;
- group_itcs[GROUP_ITC_1IMAGE].func.del = group_gl_del;
-
- group_itcs[GROUP_ITC_2IMAGE].func.text_get = group_gl_label_get;
- group_itcs[GROUP_ITC_2IMAGE].func.content_get = group_gl_content_get;
- group_itcs[GROUP_ITC_2IMAGE].func.del = group_gl_del;
-
- group_itcs[GROUP_ITC_3IMAGE].func.text_get = group_gl_label_get;
- group_itcs[GROUP_ITC_3IMAGE].func.content_get = group_gl_content_get;
- group_itcs[GROUP_ITC_3IMAGE].func.del = group_gl_del;
-
- group_itcs[GROUP_ITC_6IMAGE].func.text_get = group_gl_label_get;
- group_itcs[GROUP_ITC_6IMAGE].func.content_get = group_gl_content_get;
- group_itcs[GROUP_ITC_6IMAGE].func.del = group_gl_del;
-}
-
-static Elm_Gengrid_Item_Class* group_get_gengrid_item_class(const char *img,
- int count)
-{
- PH_TRACE;
- PH_DBG("count = %d", count);
- if (img && *img)
- {
- return &group_itcs[GROUP_ITC_1IMAGE];
- }
- else if (count <= 10)
- {
- return &group_itcs[GROUP_ITC_3IMAGE];
- }
- else
- {
- return &group_itcs[GROUP_ITC_6IMAGE];
- }
-}
-
-static contacts_filter_h group_create_filter_int(contacts_filter_h filter,
- const char *view_uri, int property_id, contacts_match_int_flag_e flag,
- int match_value)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
-
- if (NULL == filter)
- {
- err = contacts_filter_create(view_uri, &filter);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_filter_create() Failed(%d)", err);
- }
- else
- {
- err = contacts_filter_add_operator(filter,
- CONTACTS_FILTER_OPERATOR_AND);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_add_operator() Failed(%d)", err);
- }
-
- err = contacts_filter_add_int(filter, property_id, flag, match_value);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_add_int() Failed(%d)", err);
-
- return filter;
-}
-
-static void __group_get_images(ct_group_list *info, contacts_list_h person_list)
-{
- PH_TRACE;
- int cnt = 0;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- if (person_list == NULL)
- {
- ERR("person list is null");
- return;
- }
-
- err = contacts_list_get_current_record_p(person_list, &record);
- p_retm_if(CONTACTS_ERROR_NONE != err, "phone_cts_get_list() Failed(%d)",
- err);
- while (record)
- {
- char *path = NULL;
- contacts_record_get_str_p(record,
- _contacts_person_grouprel.image_thumbnail_path, &path);
- info->img_list[cnt++] = SAFE_STRDUP(path);
- err = contacts_list_next(person_list);
- if (CONTACTS_ERROR_NONE != err)
- break;
- contacts_list_get_current_record_p(person_list, &record);
- if (5 < cnt)
- break;
- }
-
-}
-
-static void __group_append_gengrid_of_ab(ct_group_data *cgroup_d, int ab_id,
- int ab_mode)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- unsigned int count = 0;
- ct_group_list *info;
- contacts_record_h record = NULL;
- contacts_list_h group_list = NULL;
- contacts_list_h person_list = NULL;
- contacts_filter_h filter = NULL;
- contacts_query_h query = NULL;
-
- unsigned int person_grouprel_projection[] = {
- _contacts_person_grouprel.person_id,
- _contacts_person_grouprel.status,
- _contacts_person_grouprel.display_name,
- _contacts_person_grouprel.display_name_index,
- _contacts_person_grouprel.addressbook_ids,
- _contacts_person_grouprel.image_thumbnail_path,
- _contacts_person_grouprel.link_count, };
-
- err = phone_cts_get_list(_contacts_group._uri,
- _contacts_group.address_book_id, ab_id, &group_list);
- p_warn_if(CONTACTS_ERROR_NONE != err, "phone_cts_get_list() Failed(%d)",
- err);
-
- err = contacts_list_get_current_record_p(group_list, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_get_current_record_p() Failed(%d)", err);
- while (record)
- {
- int grp_id;
- char* img = NULL;
- char* group_system_id = NULL;
- bool is_read_only = false;
-
- err = contacts_record_get_int(record, _contacts_group.id, &grp_id);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- info = (ct_group_list *) calloc(1, sizeof(ct_group_list));
- if (NULL == info)
- {
- ERR("calloc() return NULL");
- break;
- }
- info->id_ab = ab_id;
- info->mode = ab_mode;
- info->id_grp = grp_id;
- info->name = '\0';
- err = contacts_record_get_str_p(record, _contacts_group.image_path,
- &img);
-
- if(CONTACTS_ERROR_NONE != err)
- {
- free(info);
- info = NULL;
- return;
- }
-
- info->img = SAFE_STRDUP(img);
-
- contacts_record_get_str_p(record, _contacts_group.extra_data,
- &group_system_id);
- if (group_system_id && cgroup_d->group_mode != GROUP_MODE_NORMAL)
- {
- free(info);
- info = NULL;
- err = contacts_list_next(group_list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- break;
- }
- err = contacts_list_get_current_record_p(group_list, &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- break;
- }
- continue;
- }
- else
- {
- info->name = SAFE_STRDUP(phone_get_group_name(record));
- }
-
- err = phone_cts_get_list(_contacts_person_grouprel._uri,
- _contacts_person_grouprel.group_id, grp_id, &person_list);
- p_retm_if(CONTACTS_ERROR_NONE != err, "phone_cts_get_list() Failed(%d)",
- err);
-
- err = contacts_record_get_bool(record, _contacts_group.is_read_only,
- &is_read_only);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_bool() Failed(%d)", err);
- info->is_read_only = is_read_only;
-
- err = contacts_list_get_count(person_list, &count);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_get_count() Failed(%d)", err);
- info->count = count;
- __group_get_images(info, person_list);
-
- info->item = elm_gengrid_item_append(cgroup_d->gengrid,
- group_get_gengrid_item_class(info->img, info->count), info,
- group_gl_sel, cgroup_d);
-
- err = contacts_list_next(group_list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- break;
- }
- err = contacts_list_get_current_record_p(group_list, &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_get_current_record_p() Failed(%d)", err);
- break;
- }
- }
- err = contacts_list_destroy(group_list, true);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_get_current_record_p() Failed(%d)", err);
-
- err = contacts_query_create(_contacts_person_grouprel._uri, &query);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_query_create() Failed(%d)",
- err);
-
- filter = group_create_filter_int(filter, _contacts_person_grouprel._uri,
- _contacts_person_grouprel.address_book_id, CONTACTS_MATCH_EQUAL,
- ab_id);
- filter = group_create_filter_int(filter, _contacts_person_grouprel._uri,
- _contacts_person_grouprel.group_id, CONTACTS_MATCH_NONE, 0);
-
- do
- {
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_filter(query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_distinct(query, true)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_projection(query,
- person_grouprel_projection,
- sizeof(person_grouprel_projection) / sizeof(int))))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_db_get_records_with_query(query, 0, 0,
- &person_list)))
- break;
-
- err = contacts_list_get_count(person_list, &count);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_get_count() Failed(%d)", err);
-
- if (0 < count && cgroup_d->group_mode == GROUP_MODE_NORMAL)
- {
- info = (ct_group_list *) calloc(1, sizeof(ct_group_list));
- p_retm_if(NULL == info, "calloc() return NULL");
- info->id_ab = ab_id;
- info->count = count;
- info->mode = ab_mode;
- if (0 == ab_id)
- info->name = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_NOT_ASSIGNED));
- else
- info->name = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_ALL_CONTACTS));
- __group_get_images(info, person_list);
- info->item = elm_gengrid_item_append(cgroup_d->gengrid,
- group_get_gengrid_item_class(info->img, info->count), info,
- group_gl_sel, cgroup_d);
- }
- }
- while (0);
-
- contacts_query_destroy(query);
- contacts_filter_destroy(filter);
-}
-
-static void __group_fill_layout(ct_group_data *cgroup_d)
-{
- PH_TRACE;
- int ret;
- contacts_record_h record = NULL;
- contacts_list_h addressbook_list = NULL;
-
- ret = contacts_db_get_all_records(_contacts_address_book._uri, 0, 0,
- &addressbook_list);
- p_retm_if(CONTACTS_ERROR_NONE != ret,
- "contacts_db_get_all_records() Failed(%d)", ret);
- ret = contacts_list_get_current_record_p(addressbook_list, &record);
- p_retm_if(CONTACTS_ERROR_NONE != ret,
- "contacts_list_get_current_record_p() Failed(%d)", ret);
- while (record)
- {
- int ab_id;
- int ab_mode;
- char *name;
-
- ret = contacts_record_get_int(record, _contacts_address_book.id,
- &ab_id);
- p_retm_if(CONTACTS_ERROR_NONE != ret,
- "contacts_record_get_int() Failed(%d)", ret);
- if (0 == ab_id)
- name = (char *) T_(CT_GET_TEXT_BASIC, CTTEXT_MY_PHONE);
- else
- {
- ret = contacts_record_get_str_p(record, _contacts_address_book.name,
- &name);
- p_retm_if(CONTACTS_ERROR_NONE != ret,
- "contacts_record_get_str() Failed(%d)", ret);
- }
- ret = contacts_record_get_int(record, _contacts_address_book.mode,
- &ab_mode);
- p_retm_if(CONTACTS_ERROR_NONE != ret,
- "contacts_record_get_int() Failed(%d)", ret);
-
- if (GROUP_MODE_NORMAL == cgroup_d->group_mode
- || CONTACTS_ADDRESS_BOOK_MODE_READONLY != ab_mode)
- {
- elm_gengrid_item_append(cgroup_d->gengrid,
- &group_itcs[GROUP_ITC_GROUP_TITLE], name, NULL, NULL);
- __group_append_gengrid_of_ab(cgroup_d, ab_id, ab_mode);
- }
- ret = contacts_list_next(addressbook_list);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_list_next() Failed(%d)",
- ret);
- ret = contacts_list_get_current_record_p(addressbook_list, &record);
- p_retm_if(CONTACTS_ERROR_NONE != ret,
- "contacts_list_get_current_record_p() Failed(%d)", ret);
- }
- ret = contacts_list_destroy(addressbook_list, true);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_list_destroy() Failed(%d)",
- ret);
-}
-
-static void group_edit_mode_end(ct_group_data *cgroup_d, bool redraw)
-{
- PH_TRACE;
- p_retm_if(NULL == cgroup_d, "parameter(cgroup_d) is NULL");
- cgroup_d->count = 0;
- phone_hide_notify(cgroup_d->layout);
- cgroup_d->group_mode = GROUP_MODE_NORMAL;
- if (redraw)
- phone_group_set_navi(cgroup_d->layout);
- elm_gengrid_clear(cgroup_d->gengrid);
- __group_fill_layout(cgroup_d);
-}
-
-static Eina_Bool group_wait_changed(void *user_data)
-{
- PH_TRACE;
- ct_group_data *cgroup_d = (ct_group_data *) user_data;
- ecore_timer_del(cgroup_d->waiting_timer);
- cgroup_d->waiting_timer = NULL;
- if (cgroup_d->need_update)
- {
- PH_DBG("need to update");
- cgroup_d->need_update = false;
- group_changed(cgroup_d);
- }
- return ECORE_CALLBACK_CANCEL;
-}
-
-static Eina_Bool group_changed(void *user_data)
-{
- PH_TRACE;
- ct_group_data *cgroup_d = (ct_group_data *) user_data;
- PH_DBG("group_changed");
- if (cgroup_d->update_timer)
- {
- ecore_timer_del(cgroup_d->update_timer);
- cgroup_d->update_timer = NULL;
- }
-
- if (cgroup_d->waiting_timer)
- {
- PH_DBG("waiting 3 seconds for group change");
- cgroup_d->need_update = true;
- return ECORE_CALLBACK_RENEW;;
- }
- else
- {
- cgroup_d->waiting_timer = ecore_timer_add(3.0, group_wait_changed,
- cgroup_d);
- }
-
- elm_gengrid_clear(cgroup_d->gengrid);
- __group_fill_layout(cgroup_d);
-
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void group_data_lazy_update(const char* view_uri, void *data)
-{
- PH_TRACE;
- ct_group_data *cgroup_d = (ct_group_data *) data;
-
- if (cgroup_d->update_timer)
- {
- ecore_timer_del(cgroup_d->update_timer);
- cgroup_d->update_timer = NULL;
- }
-
- PH_DBG("cgroup_d->is_background = %d", cgroup_d->is_background);
-
- if (cgroup_d->is_background)
- cgroup_d->update_timer = ecore_timer_add(3.0, group_changed, cgroup_d);
- else
- group_changed(cgroup_d);
-
- if (cgroup_d->group_mode == GROUP_MODE_EDIT)
- group_edit_mode_end(cgroup_d, true);
-}
-
-static void group_delete_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int ret;
- bool completed = true;
- Elm_Object_Item * item;
- const Elm_Gengrid_Item_Class *itc_temp;
- ct_group_data *cgroup_d = (ct_group_data *) data;
-
- group_popup_hide_cb(cgroup_d, NULL, NULL);
-
- item = elm_gengrid_first_item_get(cgroup_d->gengrid);
-
- while (item)
- {
- itc_temp = elm_gengrid_item_item_class_get(item);
- if (0
- == strcmp(itc_temp->item_style,
- group_itcs[GROUP_ITC_GROUP_TITLE].item_style))
- {
- item = elm_gengrid_item_next_get(item);
- continue;
- }
-
- ct_group_list *info = (ct_group_list *) elm_object_item_data_get(item);
- if (info && info->selected)
- {
- ret = contacts_db_delete_record(_contacts_group._uri, info->id_grp);
- if (CONTACTS_ERROR_NONE != ret)
- {
- ERR("Error : contacts_db_delete_record() Failed(%d)", ret);
- completed = false;
- break;
- }
- }
- item = elm_gengrid_item_next_get(item);
- }
- if (completed)
- phone_show_tickernoti(S_(PH_SYS_POP_REMOVED));
- else
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
-
- group_edit_mode_end(cgroup_d, true);
-}
-
-static void group_cancel_btn_cb(void *data)
-{
- PH_TRACE;
- Elm_Object_Item * item;
- ct_group_data *cgroup_d = (ct_group_data *) data;
- ct_group_list *info;
- const Elm_Gengrid_Item_Class *itc_temp;
-
- item = elm_gengrid_first_item_get(cgroup_d->gengrid);
- while (item)
- {
- itc_temp = elm_gengrid_item_item_class_get(item);
- if (0
- == strcmp(itc_temp->item_style,
- group_itcs[GROUP_ITC_GROUP_TITLE].item_style))
- {
- item = elm_gengrid_item_next_get(item);
- continue;
- }
-
- info = (ct_group_list *) elm_object_item_data_get(item);
- if (NULL == info)
- continue;
- info->selected = EINA_FALSE;
- item = elm_gengrid_item_next_get(item);
- }
- group_edit_mode_end(cgroup_d, true);
-}
-
-static void group_edit_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_group_data *cgroup_d = (ct_group_data *) data;
- if (cgroup_d->popup)
- {
- evas_object_del(cgroup_d->popup);
- cgroup_d->popup = NULL;
- }
-
- cgroup_d->group_mode = GROUP_MODE_EDIT;
- phone_group_set_navi(cgroup_d->layout);
- elm_gengrid_clear(cgroup_d->gengrid);
- __group_fill_layout(cgroup_d);
- phone_show_notify(cgroup_d->layout,
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_SELECT_GROUP));
-
-}
-
-static void group_more_cb(void *data)
-{
- PH_TRACE;
- int rotate;
- int x, y, w, h;
- ct_group_data *cgroup_d = (ct_group_data *) data;
-
- if (cgroup_d->popup)
- {
- evas_object_del(cgroup_d->popup);
- cgroup_d->popup = NULL;
- }
-
- cgroup_d->popup = elm_ctxpopup_add(cgroup_d->navi);
- p_retm_if(NULL == cgroup_d->popup, "elm_ctxpopup_add() return NULL");
-
- rotate = (int) evas_object_data_get(cgroup_d->navi, "phone_rotate");
- if (0 == rotate || 180 == rotate)
- elm_ctxpopup_direction_priority_set(cgroup_d->popup,
- ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP,
- ELM_CTXPOPUP_DIRECTION_LEFT, ELM_CTXPOPUP_DIRECTION_RIGHT);
-
- evas_object_smart_callback_add(cgroup_d->popup, "dismissed",
- group_popup_hide_cb, cgroup_d);
-
- elm_ctxpopup_item_append(cgroup_d->popup, S_(PH_SYS_SK_EDIT), NULL,
- group_edit_cb, cgroup_d);
-
- evas_object_geometry_get(cgroup_d->navi, &x, &y, &w, &h);
- evas_object_move(cgroup_d->popup, 0, y + h);
- evas_object_show(cgroup_d->popup);
-}
-
-static void group_add_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_group_data *cgroup_d = (ct_group_data *) data;
- evas_object_data_set(cgroup_d->navi, "navi_it_pop_to", cgroup_d->navi_item);
- ctui_create_group_input_view(cgroup_d->win, cgroup_d->navi, NULL, NULL,
- NULL);
-}
-
-#ifdef _CT_GROUP_DEFAULT_GROUP_UPDATE_DB
-static void group_update_default_group_name(keynode_t *key, void *data)
-{
- PH_TRACE;
- int ret;
- int text_index= -1;
- contacts_record_h record = NULL;
- contacts_record_h group_record = NULL;
- contacts_list_h group_list = NULL;
-
- group_list = NULL;
- ret = contacts_db_get_all_records( _contacts_group._uri,0,0,&group_list);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_db_get_all_records() Failed(%d)", ret);
- ret = contacts_list_get_current_record_p(group_list, &record);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_list_get_current_record_p() Failed(%d)", ret);
- while(record)
- {
- int grp_id;
- char* group_sysid;
- char* group_name;
-
- ret = contacts_record_get_int(record,_contacts_group.id,&grp_id);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_record_get_int() Failed(%d)", ret);
- ret = contacts_record_get_str_p(record,_contacts_group.extra_data,&group_sysid);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_record_get_str_p() Failed(%d)", ret);
- ret = contacts_record_get_str_p(record,_contacts_group.name,&group_name);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_record_get_str_p() Failed(%d)", ret);
- if(group_sysid == NULL)
- {
- PH_DBG("sysid null ,group_name__ = %s ", group_name);
-
- ret = contacts_list_next(group_list);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_list_next() Failed(%d)", ret);
-
- ret = contacts_list_get_current_record_p(group_list, &record);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_list_get_current_record_p() Failed(%d)", ret);
- continue;
- }
- PH_DBG("group_sysid = %s",group_sysid);
- if(strcmp(group_sysid,FRIENDS)==0)
- text_index = CTTEXT_FRIENDS;
- else if(strcmp(group_sysid,FAMILY)==0)
- text_index = CTTEXT_FRIENDS+1;
- else if(strcmp(group_sysid,COWORKERS)==0)
- text_index = CTTEXT_FRIENDS+2;
- else
- {
- ret = contacts_list_next(group_list);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_list_next() Failed(%d)", ret);
-
- ret = contacts_list_get_current_record_p(group_list, &record);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_list_get_current_record_p() Failed(%d)", ret);
- continue;
- }
-
- if(text_index == -1)
- {
- ret = contacts_list_next(group_list);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_list_next() Failed(%d)", ret);
-
- ret = contacts_list_get_current_record_p(group_list, &record);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_list_get_current_record_p() Failed(%d)", ret);
- ERR("text_index is -1, failed");
- continue;
- }
- else
- PH_DBG("text_index = %d",text_index);
-
- PH_DBG("group = %s , %s", group_name,T_(CT_GET_TEXT_BASIC, text_index));
-
- if(strcmp(group_name,T_(CT_GET_TEXT_BASIC, text_index)) != 0)
- {
- ret = contacts_db_get_record(_contacts_group._uri,grp_id,&group_record);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_db_get_record() Failed(%d)", ret);
-
- ret = contacts_record_set_str(group_record,_contacts_group.name,T_(CT_GET_TEXT_BASIC, text_index));
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_record_set_str() Failed(%d)", ret);
-
- ret = contacts_db_update_record(group_record);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_db_update_record() Failed(%d)", ret);
-
- ret = contacts_record_destroy(group_record, true);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_record_destroy() Failed(%d)", ret);
- }
- ret = contacts_list_next(group_list);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_list_next() Failed(%d)", ret);
-
- ret = contacts_list_get_current_record_p(group_list, &record);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_list_get_current_record_p() Failed(%d)", ret);
- }
- ret = contacts_list_destroy(group_list, true);
- p_retm_if(CONTACTS_ERROR_NONE != ret, "contacts_list_destroy() Failed(%d)", ret);
-
-}
-#endif
-
-static void __group_pop_as_topmost(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_group_data *cgroup_d = (ct_group_data *) data;
- if (cgroup_d->navi_item == elm_naviframe_top_item_get(obj))
- {
- group_notify_update(cgroup_d);
- }
-}
-
-static void group_view_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int ret;
- ct_group_data *cgroup_d = (ct_group_data *) data;
- p_retm_if(NULL == cgroup_d, "parameter(cgroup_d) is NULL");
-
- ret = contacts_db_remove_changed_cb(_contacts_contact._uri,
- group_data_lazy_update, cgroup_d);
- p_warn_if(CONTACTS_ERROR_NONE, "contacts_db_remove_changed_cb() Failed(%d)",
- ret);
- ret = contacts_db_remove_changed_cb(_contacts_group._uri,
- group_data_lazy_update, cgroup_d);
- p_warn_if(CONTACTS_ERROR_NONE, "contacts_db_remove_changed_cb() Failed(%d)",
- ret);
- ret = contacts_db_remove_changed_cb(_contacts_person._uri,
- group_data_lazy_update, cgroup_d);
- p_warn_if(CONTACTS_ERROR_NONE, "contacts_db_remove_changed_cb() Failed(%d)",
- ret);
-
-#ifdef _CT_GROUP_DEFAULT_GROUP_UPDATE_DB
- ret = vconf_ignore_key_changed(VCONFKEY_LANGSET, group_update_default_group_name);
- p_warn_if(-1 == ret, "vconf_ignore_key_changed() Failed");
-#endif
-
- if (cgroup_d->th)
- {
- elm_theme_extension_del(cgroup_d->th, GROUP_THEME_EDJ);
- elm_theme_extension_del(cgroup_d->th, CONTACT_BUTTON_THEME_EDJ);
- elm_theme_free(cgroup_d->th);
- }
-
- if (cgroup_d->child_ug)
- ug_destroy(cgroup_d->child_ug);
-
- if (cgroup_d->crop_ug)
- ug_destroy((ui_gadget_h) cgroup_d->crop_ug);
-
- if (cgroup_d->child_ug)
- ug_destroy(cgroup_d->child_ug);
-
- if (cgroup_d->popup)
- evas_object_del(cgroup_d->popup);
-
- if (cgroup_d->update_timer)
- ecore_timer_del(cgroup_d->update_timer);
-
- if (cgroup_d->waiting_timer)
- ecore_timer_del(cgroup_d->waiting_timer);
-
- evas_object_smart_callback_del(cgroup_d->navi, "transition,finished",
- __group_pop_as_topmost);
-
- free(cgroup_d);
-}
-
-static int group_create_layout(ct_group_data *cgroup_d, Evas_Object *parent)
-{
- PH_TRACE;
- int ret;
- const int CT_GROUP_ITEM_WIDTH = 360;
- const int CT_GROUP_ITEM_HEIGHT = 340;
- double scale;
- Evas_Object *layout;
- Evas_Object *base;
- Evas_Object *gengrid;
- cgroup_d->navi = parent;
-
- base = elm_layout_add(cgroup_d->navi);
- p_retvm_if(NULL == base, -1, "elm_layout_add() return NULL");
- elm_layout_file_set(base, SELECTION_INFO_EDJ, "selectioninfo_layout");
- layout = phone_create_base_layout(base, false);
- p_retvm_if(NULL == layout, -1, "phone_create_base_layout() return NULL");
- elm_object_part_content_set(base, "contents", layout);
- cgroup_d->layout = base;
-
- gengrid = elm_gengrid_add(layout);
- p_retvm_if(NULL == gengrid, -1, "elm_gengrid_add() return NULL");
- elm_object_theme_set(gengrid, cgroup_d->th);
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_gengrid_align_set(gengrid, 0.5, 0.0);
- evas_object_data_set(gengrid, "cgroup_d", cgroup_d);
-
- scale = elm_config_scale_get();
- elm_gengrid_group_item_size_set(gengrid, (int) (720 * scale),
- (int) (50 * scale));
- elm_gengrid_item_size_set(gengrid, (int) (CT_GROUP_ITEM_WIDTH * scale),
- (int) (CT_GROUP_ITEM_HEIGHT * scale));
- elm_gengrid_horizontal_set(gengrid, EINA_FALSE);
-
- elm_scroller_policy_set(gengrid, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_AUTO);
- elm_object_part_content_set(layout, "elm.swallow.content", gengrid);
- cgroup_d->gengrid = gengrid;
-
-#ifdef _CT_GROUP_DEFAULT_GROUP_UPDATE_DB
- group_update_default_group_name(NULL, NULL);
- ret = vconf_notify_key_changed(VCONFKEY_LANGSET, group_update_default_group_name, NULL);
- p_warn_if(-1 == ret, "vconf_notify_key_changed() Failed");
-#endif
-
- group_create_itcs();
- __group_fill_layout(cgroup_d);
-
- evas_object_event_callback_add(cgroup_d->layout, EVAS_CALLBACK_DEL,
- group_view_delete_cb, cgroup_d);
-
- ret = contacts_db_add_changed_cb(_contacts_contact._uri,
- group_data_lazy_update, cgroup_d);
- p_warn_if(CONTACTS_ERROR_NONE, "contacts_db_add_changed_cb() Failed(%d)",
- ret);
-
- ret = contacts_db_add_changed_cb(_contacts_group._uri,
- group_data_lazy_update, cgroup_d);
- p_warn_if(CONTACTS_ERROR_NONE, "contacts_db_add_changed_cb() Failed(%d)",
- ret);
-
- ret = contacts_db_add_changed_cb(_contacts_person._uri,
- group_data_lazy_update, cgroup_d);
- p_warn_if(CONTACTS_ERROR_NONE, "contacts_db_add_changed_cb() Failed(%d)",
- ret);
-
- return 0;
-
-}
-
-API void phone_group_set_navi(Evas_Object *layout)
-{
- PH_TRACE;
- ct_group_data *cgroup_d;
- Elm_Object_Item *navi_it;
-
- cgroup_d = (ct_group_data *) evas_object_data_get(layout, KEY_GROUP_DATA);
- p_retm_if(NULL == cgroup_d, "cgroup_d is NULL");
- navi_it = elm_naviframe_bottom_item_get(cgroup_d->navi);
- p_retm_if(NULL == navi_it, "navi item is NULL");
-
- phone_navi_item_reset(cgroup_d->navi_item, cgroup_d);
-
- if (!cgroup_d->ug)
- {
- if (GROUP_MODE_NORMAL == cgroup_d->group_mode)
- {
- Evas_Object *group_button;
-
- group_button = phone_create_toolbar_btn(cgroup_d->layout,
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_CREATE_GROUP), group_add_cb, cgroup_d);
- elm_object_part_content_set(cgroup_d->layout, "toolbar",
- group_button);
-
- cgroup_d->menu_cb = group_more_cb;
- }
- else
- {
- cgroup_d->delete_button = phone_create_toolbar_btn(cgroup_d->layout,
- T_(PH_GET_TEXT_BASIC, CTTEXT_REMOVE), group_delete_btn_cb, cgroup_d);
- elm_object_part_content_set(cgroup_d->layout, "toolbar",
- cgroup_d->delete_button);
- elm_object_disabled_set(cgroup_d->delete_button, EINA_TRUE);
-
- cgroup_d->back_cb = group_cancel_btn_cb;
- }
- }
-}
-
-API Evas_Object* phone_create_group_view(ph_view_info *view_info)
-{
- PH_TRACE;
- int ret;
- Elm_Theme *th;
- ct_group_data *cgroup_d = (ct_group_data *) calloc(1, sizeof(ct_group_data));
- p_retvm_if(NULL == cgroup_d, NULL, "Fail to calloc ct_group_data");
- cgroup_d->ug = view_info->ug;
- cgroup_d->ug_request = view_info->ug_request;
- cgroup_d->ug_cnt_max = view_info->ug_cnt_max;
- cgroup_d->ug_data = view_info->ug_data;
- cgroup_d->win = view_info->win;
- cgroup_d->navi_item = elm_naviframe_bottom_item_get(view_info->navi);
- cgroup_d->is_background = true;
-
- th = elm_theme_new();
- elm_theme_ref_set(th, NULL);
- elm_theme_extension_add(th, GROUP_THEME_EDJ);
- elm_theme_extension_add(th, CONTACT_BUTTON_THEME_EDJ);
- cgroup_d->th = th;
-
- ret = group_create_layout(cgroup_d, view_info->navi);
- if (ret < 0)
- {
- free(cgroup_d);
- return NULL;
- }
-
- evas_object_data_set(cgroup_d->layout, KEY_GROUP_DATA, cgroup_d);
- evas_object_data_set(cgroup_d->navi, KEY_GROUP_DATA, cgroup_d);
-
- evas_object_smart_callback_add(view_info->navi, "transition,finished",
- __group_pop_as_topmost, cgroup_d);
-
- return cgroup_d->layout;
-}
-
-API void phone_group_view_reset(Evas_Object *base)
-{
- PH_TRACE;
- ct_group_data *cgroup_d;
- Elm_Object_Item * item;
-
- cgroup_d = (ct_group_data *) evas_object_data_get(base, KEY_GROUP_DATA);
- p_retm_if(NULL == cgroup_d, "cgroup_d is null");
-
- if (cgroup_d->child_ug)
- {
- ug_destroy(cgroup_d->child_ug);
- cgroup_d->child_ug = NULL;
- }
-
- item = elm_naviframe_bottom_item_get(cgroup_d->navi);
- if (elm_naviframe_top_item_get(cgroup_d->navi) != item)
- elm_naviframe_item_pop_to(item);
-
- if (GROUP_MODE_EDIT == cgroup_d->group_mode)
- group_edit_mode_end(cgroup_d, false);
-}
-
-API void phone_group_view_language_changed(Evas_Object *base)
-{
- PH_TRACE;
- ct_group_data *cgroup_d;
- cgroup_d = (ct_group_data *) evas_object_data_get(base, KEY_GROUP_DATA);
- p_retm_if(NULL == cgroup_d, "evas_object_data_get() return NULL");
- group_changed(cgroup_d);
-
- if (cgroup_d->group_mode == GROUP_MODE_EDIT)
- group_notify_update(cgroup_d);
-}
-
-API void phone_group_set_background(Evas_Object *obj, bool is_background)
-{
- PH_TRACE;
- ct_group_data *cgroup_d;
- cgroup_d = (ct_group_data *) evas_object_data_get(obj, KEY_GROUP_DATA);
- p_retm_if(NULL == cgroup_d, "group data is null");
-
- cgroup_d->is_background = is_background;
- if (cgroup_d->update_timer)
- {
- ecore_timer_del(cgroup_d->update_timer);
- cgroup_d->update_timer = NULL;
- group_changed(cgroup_d);
- }
-}
-
-API Evas_Object* phone_create_group_view_ug(ui_gadget_h ug, Evas_Object *parent,
- int ug_request)
-{
- PH_TRACE;
- int ret;
- Elm_Theme *th;
- ct_group_data *cgroup_d = (ct_group_data *) calloc(1, sizeof(ct_group_data));
- p_retvm_if(NULL == cgroup_d, NULL, "Fail to calloc ct_group_data");
- cgroup_d->ug = ug;
- cgroup_d->ug_request = ug_request;
- cgroup_d->navi = elm_naviframe_add(parent);
- p_retvm_if(NULL == cgroup_d->navi, FALSE,
- "elm_naviframe_add() return NULL");
-
- ea_object_event_callback_add(cgroup_d->navi, EA_CALLBACK_BACK, &Common::ViewManager::onBack, cgroup_d->win);
- ea_object_event_callback_add(cgroup_d->navi, EA_CALLBACK_MORE, &Common::ViewManager::onMenu, NULL);
- elm_object_part_content_set(parent, "elm.swallow.content", cgroup_d->navi);
- evas_object_show(cgroup_d->navi);
-
- th = elm_theme_new();
- elm_theme_ref_set(th, NULL);
- elm_theme_extension_add(th, GROUP_THEME_EDJ);
- elm_theme_extension_add(th, CONTACT_BUTTON_THEME_EDJ);
- cgroup_d->th = th;
-
- ret = group_create_layout(cgroup_d, cgroup_d->navi);
- if (ret < 0)
- {
- free(cgroup_d);
- return NULL;
- }
- cgroup_d->navi_item = elm_naviframe_item_push(cgroup_d->navi,
- T_(CT_GET_TEXT_BASIC, CTTEXT_GROUP), NULL, NULL,
- cgroup_d->layout, NULL);
- evas_object_data_set(cgroup_d->layout, KEY_GROUP_DATA, cgroup_d);
- return cgroup_d->layout;
-}
-
diff --git a/lib/list/ct-list-contact-view.cpp b/lib/list/ct-list-contact-view.cpp
deleted file mode 100755
index 6cd06ea..0000000
--- a/lib/list/ct-list-contact-view.cpp
+++ /dev/null
@@ -1,1264 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
-
-#include <string.h>
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-#include "ct-detail.h"
-#include "ct-list.h"
-#include "ct-list-utils.h"
-#include "ct-list-view-ug.h"
-#include "ct-list-edit-view.h"
-#include "ct-list-contact-view.h"
-#include "ct-group.h"
-#include "ct-list.h"
-#include "phone-common.h"
-
-static void __list_insert_records(ct_list_data *clist_d);
-
-API void ctui_list_new_btn_clicked_cb(void *data,
- Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- ct_detail_data *cdetail_d = NULL;
- ph_view_info *view_info = NULL;
-
- assert(clist_d);
- p_ret_if(!clist_d);
-
- switch (clist_d->ug_request)
- {
- //case PH_UG_REQUEST_SET_WITH_NUM:
- //case PH_UG_REQUEST_SET_WITH_EMAIL:
- //case PH_UG_REQUEST_SET_WITH_WEB:
- case PH_UG_REQUEST_SET_WITH_IMG:
- case PH_UG_REQUEST_SET_WITH_RINGTONE:
- case CT_UG_REQUEST_UPDATE_CONTACT:
- case CT_UG_REQUEST_UPDATE_WITH_NUM:
- case CT_UG_REQUEST_UPDATE_WITH_EMAIL:
- case CT_UG_REQUEST_UPDATE_WITH_WEB:
- case CT_UG_REQUEST_SAVE_IMG:
- case CT_UG_REQUEST_SAVE_RINGTONE:
- view_info = (ph_view_info *) calloc(1, sizeof(ph_view_info));
- phone_set_view_info(view_info, clist_d->win, clist_d->navi,
- clist_d->ug, clist_d->ug_request, clist_d->cnt_max_check,
- clist_d->ug_data);
- ctui_list_update_with_data(view_info, clist_d, 0, clist_d->base_grp,
- clist_d->base_ab);
- free(view_info);
- break;
- default:
-
- // hide sweeped item
- Elm_Object_Item *lastItem = clist_d->last_sweep_item;
-
- if (NULL != lastItem)
- {
- elm_genlist_item_decorate_mode_set(lastItem, "slide", EINA_FALSE);
- elm_genlist_item_select_mode_set(lastItem, ELM_OBJECT_SELECT_MODE_DEFAULT);
- clist_d->last_sweep_item = NULL;
- }
-
- cdetail_d = (ct_detail_data *) calloc(1, sizeof(ct_detail_data));
- p_retm_if(!cdetail_d, "cdetail_d is NULL, Not enough memory");
-
- ctui_ld_to_dd(clist_d, cdetail_d);
-
- if (0 < cdetail_d->base_ab)
- {
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- char temp[PH_TEXT_MAX_LEN + 1];
-
- err = contacts_db_get_record(_contacts_address_book._uri,
- cdetail_d->base_ab, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_record_get() Failed(%d)", err);
-
- err = contacts_record_get_int(record,
- _contacts_address_book.mode,
- &(cdetail_d->base_ab_mode));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- temp[0] = '\0';
- ctui_get_addressbook_name(cdetail_d->base_ab, temp,
- sizeof(temp));
- if (*temp)
- cdetail_d->base_ab_name = strdup(temp);
- }
- else if (0 == cdetail_d->base_ab)
- {
- cdetail_d->base_ab_mode = CONTACTS_ADDRESS_BOOK_MODE_NONE;
- cdetail_d->base_ab_name = strdup(
- T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE));
- }
- cdetail_d->only_input = true;
- ctui_create_input_view(cdetail_d);
-
- break;
- }
-}
-
-static void list_popup_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data *clist_d = static_cast<ct_list_data*>( data );
- if (NULL != clist_d->popup)
- {
- evas_object_del(clist_d->popup);
- clist_d->popup = NULL;
- }
- elm_object_tree_focus_allow_set(clist_d->navi, EINA_TRUE);
- }
-}
-
-static void list_menu_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data *clist_d = static_cast<ct_list_data*>( data );
- if (NULL != clist_d->m_Menu)
- {
- evas_object_del(clist_d->m_Menu);
- clist_d->m_Menu = NULL;
- }
- elm_object_tree_focus_allow_set(clist_d->navi, EINA_TRUE);
- }
-}
-
-static void list_remove_member_button_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- p_retm_if(NULL == clist_d->navi_item, "parameter(navi_item) is NULL");
-
- list_menu_hide_cb(data, NULL, NULL);
- clist_d->view_id = CT_LIST_MULTI_REMOVE_MEMBER;
-
- if (clist_d->genlist)
- elm_object_focus_set(clist_d->genlist, EINA_TRUE);
- if (!clist_d->ug)
- ctui_list_edit_mode_start(clist_d);
-}
-
-static void list_ab_popup_view_button_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int selected_id;
- Evas_Object *popup;
- Evas_Object *genlist;
- Evas_Object *radio_main;
- ct_list_data *clist_d = (ct_list_data *) data;
- p_retm_if(NULL == clist_d, "parameter(clist_d) is NULL");
-
- popup = clist_d->popup;
- p_retm_if(NULL == clist_d, "popup is NULL");
-
- genlist = elm_object_content_get(popup);
- p_retm_if(NULL == genlist, "elm_object_content_get() is NULL");
-
- radio_main = (Evas_Object *) evas_object_data_get(genlist, "radio_main");
- p_retm_if(NULL == radio_main, "evas_object_data_get() is NULL");
-
- selected_id = elm_radio_value_get(radio_main);
-
- if (clist_d->list_op != CT_GET_LIST_ALL_PERSON && selected_id == -1)
- {
- clist_d->list_op = CT_GET_LIST_ALL_PERSON;
- clist_d->base_ab = -1;
- }
- else if (clist_d->base_ab != selected_id)
- {
- clist_d->list_op = CT_GET_LIST_PERSON_OF_ADDRBOOK_ID;
- clist_d->base_ab = selected_id;
- }
-
- ctui_set_view_mode(clist_d->base_ab);
- ctui_list_genlist_update(clist_d);
-
- list_popup_hide_cb(data, NULL, NULL);
-}
-
-static void list_ab_popup_cancel_button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- list_popup_hide_cb(data, NULL, NULL);
-}
-
-static void list_ab_popup_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- Evas_Object *genlist;
- Evas_Object *radio_main;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- ct_ab_popup_data *ab_popup_data;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- genlist = elm_object_item_widget_get(item);
- p_retm_if(NULL == genlist, "elm_object_item_widget_get() return NULL");
-
- ab_popup_data = (ct_ab_popup_data *) elm_object_item_data_get(item);
- p_retm_if(NULL == ab_popup_data, "elm_object_item_data_get() return NULL");
-
- radio_main = (Evas_Object *) evas_object_data_get(genlist, "radio_main");
- p_retm_if(NULL == radio_main, "evas_object_data_get() return NULL");
-
- elm_radio_value_set(radio_main, ab_popup_data->id);
-}
-
-static void list_view_button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data* clist_d = static_cast<ct_list_data*>(data);
- p_retm_if(NULL == clist_d, "parameter(clist_d) is NULL");
-
- list_popup_hide_cb(data, NULL, NULL);
-
- Evas_Object *popup = NULL;
- popup = ctui_addrbook_popup(clist_d->win, list_ab_popup_sel, clist_d, CT_AB_POPUP_TYPE_LIST_VIEW);
- p_retm_if(NULL == popup, "ctui_addrbook_popup() return NULL");
- elm_object_part_text_set(popup, "title,text", T_(PH_GET_TEXT_BASIC, PHTEXT_CONTACTS_MENU_CONTACTS_TO_DISPLAY));
- clist_d->popup = popup;
-
- Evas_Object *btnOK = NULL;
- btnOK = elm_button_add(popup);
- p_retm_if(NULL == btnOK, "elm_button_add() return NULL");
- elm_object_text_set(btnOK, S_(PH_SYS_SK_OK));
- elm_object_part_content_set(popup, "button1", btnOK);
- elm_object_style_set(btnOK, "popup_button/default");
- evas_object_smart_callback_add(btnOK, "clicked", list_ab_popup_view_button_cb, clist_d);
-
- Evas_Object *btnCancel = NULL;
- btnCancel = elm_button_add(popup);
- p_retm_if(NULL == btnCancel, "elm_button_add() return NULL");
- elm_object_text_set(btnCancel, S_(PH_SYS_SK_CANCEL));
- elm_object_part_content_set(popup, "button2", btnCancel);
- elm_object_style_set(btnCancel, "popup_button/default");
- evas_object_smart_callback_add(btnCancel, "clicked", list_ab_popup_cancel_button_cb, clist_d);
- }
-}
-
-static void list_add_button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- evas_object_data_set(clist_d->navi, "navi_it_pop", clist_d->navi_item);
- ctui_create_gadd_list_select_view(clist_d->win, clist_d->navi,
- clist_d->base_grp, clist_d->base_ab, &clist_d->list, true);
-}
-
-static bool list_load_vcard_foreach_cb(contacts_record_h record, void *data)
-{
- PH_TRACE;
- int err;
- ph_progress_info *p_info;
- ct_list_data *clist_d = (ct_list_data *) data;
- contacts_record_h record_clone = NULL;
-
- p_retvm_if(NULL == clist_d, -1, "parameter(clist_d) is NULL");
-
- p_info = clist_d->p_info;
- p_retvm_if(NULL == p_info, -1, "clist_d->p_info is NULL");
-
- PH_DBG("list_load_vcard_foreach_cb total_cnt %d",
- clist_d->cnt_import_total);
-
- if (!p_info->alive)
- {
- p_info->result = FALSE;
- p_info->completed = true;
- return false;
- }
-
- err = contacts_record_clone(record, &record_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_clone() Failed(%d)", err);
- return false;
- }
- clist_d->list_import_records = eina_list_append(
- clist_d->list_import_records, record_clone);
- clist_d->cnt_import_total++;
-
- return true;
-}
-
-static PTHREAD_FN list_load_vcard_contacts_thread_fn(void* data)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ct_list_data *clist_d = (ct_list_data *) data;
- char *last = NULL;
- const char *path = NULL;
- ph_progress_info *p_info = clist_d->p_info;
-
- err = contacts_connect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_connect2() Failed(%d)",
- err);
-
- path = (const char *) strtok_r((char *) clist_d->vcard_path, "?", &last);
- while (path)
- {
- err = contacts_vcard_parse_to_contact_foreach(path,
- list_load_vcard_foreach_cb, clist_d);
- if (CONTACTS_ERROR_NONE != err)
- {
- p_info->result = FALSE;
- ERR("contacts_svc_vcard_foreach() Failed(%d)", p_info->result);
- break;
- }
- path = strtok_r(NULL, "?", &last);
- }
-
- p_info->next_job = true;
-
- contacts_disconnect2();
-
- pthread_exit(NULL);
-}
-
-static void __list_insert_records_cb(int err, int *ids, unsigned int count,
- void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- contacts_error_e _err = CONTACTS_ERROR_NONE;
-
- PH_DBG("err %d", err);
-
- if (CONTACTS_ERROR_NONE != err)
- {
- if (clist_d->p_info)
- {
- clist_d->p_info->completed = true;
- clist_d->p_info->alive = false;
- clist_d->p_info->result = false;
- }
- return;
- }
-
- _err = (contacts_error_e) contacts_list_destroy(clist_d->import_list, true);
- p_retm_if(CONTACTS_ERROR_NONE != _err, "contacts_list_destroy() Failed(%d)",
- _err);
-
- PH_DBG("__list_insert_records_cb total count %d, count %d",
- clist_d->cnt_import_total, clist_d->cnt_import);
-
- if (clist_d->p_info)
- {
- if (!clist_d->p_info->alive)
- {
- clist_d->p_info->result = FALSE;
- clist_d->p_info->completed = true;
- return;
- }
- }
- else
- return;
-
- if (clist_d->cnt_import == clist_d->cnt_import_total)
- {
- if (clist_d->p_info)
- {
- clist_d->p_info->completed = true;
- clist_d->p_info->alive = false;
- clist_d->p_info->result = true;
- }
- return;
- }
-
- __list_insert_records(clist_d);
-}
-
-static void __list_insert_records(ct_list_data *clist_d)
-{
- PH_TRACE;
- const int LIST_BULK_LENGTH = 50;
- Eina_List *l;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_temp = NULL;
-
- err = contacts_list_create(&clist_d->import_list);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_list_create() Failed(%d)",
- err);
-
- EINA_LIST_FOREACH(clist_d->list_import_records, l, v_record_temp)
- {
- contacts_record_h record_temp = (contacts_record_h) v_record_temp;
- err = contacts_list_add(clist_d->import_list, record_temp);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_add() Failed(%d) count %d",
- err, clist_d->cnt_import);
- clist_d->list_import_records = eina_list_remove_list(
- clist_d->list_import_records, l);
-
- clist_d->cnt_import++;
-
- if ((clist_d->cnt_import % LIST_BULK_LENGTH) == 0)
- break;
- }
- err = contacts_db_insert_records_async(clist_d->import_list,
- __list_insert_records_cb, clist_d);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_insert_records_async() Failed(%d)", err);
- ctui_create_contacts_error_popup(clist_d->navi, err);
-}
-
-static Eina_Bool list_load_vcard_timer_cb(void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- ph_progress_info *p_info;
-
- p_retvm_if(NULL == clist_d, ECORE_CALLBACK_CANCEL,
- "parameter(clist_d) is NULL");
- p_info = clist_d->p_info;
-
- if (p_info->next_job)
- {
- pthread_join(p_info->thread, NULL);
- __list_insert_records(clist_d);
- p_info->next_job = false;
- }
-
- if (!p_info->alive && !p_info->completed)
- {
- p_info->result = FALSE;
- p_info->completed = true;
- }
-
- if (!p_info->completed)
- {
- return ECORE_CALLBACK_RENEW;
- }
- else
- {
- Eina_List *l;
- void *v_record = NULL;
- const char *message;
-
- pthread_join(p_info->thread, NULL);
-
- if (p_info->result)
- message = T_(CT_GET_TEXT_BASIC, CTTEXT_IMPORTED);
- else
- message = S_(PH_SYS_POP_FAILED);
-
- list_popup_hide_cb(data, NULL, NULL);
- list_menu_hide_cb(data, NULL, NULL);
- phone_show_tickernoti(message);
-
- EINA_LIST_FOREACH(clist_d->list_import_records, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- contacts_record_destroy(record, true);
- }
- eina_list_free(clist_d->list_import_records);
-
- free(p_info);
- clist_d->p_info = NULL;
-
- return ECORE_CALLBACK_CANCEL;
- }
-}
-
-static void list_add_all_contacts_button_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int ret;
- ct_list_data *clist_d = (ct_list_data *) data;
- ph_progress_info *p_info;
-
- p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- if (NULL == p_info)
- {
- ERR("calloc() return NULL");
- elm_exit();
- }
-
- clist_d->p_info = p_info;
- clist_d->list = NULL;
- clist_d->cnt_import_total = 0;
- clist_d->cnt_import = 0;
-
- p_info->cnt = 0;
- p_info->alive = true;
- p_info->result = TRUE;
- p_info->completed = false;
-
- ret = pthread_create(&p_info->thread, NULL,
- list_load_vcard_contacts_thread_fn, clist_d);
- if (0 != ret)
- {
- ERR("Thread creation failed(%d)", ret);
- free(p_info);
- clist_d->p_info = NULL;
- elm_exit();
- }
- p_info->timer = ecore_timer_add(0.5, list_load_vcard_timer_cb, clist_d);
- if (NULL == p_info->timer)
- {
- ERR("ecore_timer_add() return NULL");
-
- p_info->alive = false;
- pthread_join(p_info->thread, NULL);
-
- free(p_info);
- clist_d->p_info = NULL;
- elm_exit();
- }
- clist_d->popup = phone_progressbar_popup(clist_d->win, p_info,
- T_(CT_GET_TEXT_BASIC, CTTEXT_IMPORTING_SD_CONTACTS));
-}
-
-static void list_message_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int list_op;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- p_retm_if(NULL == clist_d, "clist_d is NULL");
- list_menu_hide_cb(clist_d, NULL, NULL);
-
- p_retm_if(NULL == evas_object_data_get(clist_d->navi, "cgroup_d"),
- "evas_object_data_get() return NULL");
-
- if (-1 == clist_d->base_grp)
- list_op = CT_GET_LIST_PERSON_HAD_NUMBER_OF_ADDRBOOK_ID;
- else if (clist_d->base_grp)
- list_op = CT_GET_LIST_PERSON_HAD_NUMBER_OF_GROUP_ID;
- else
- list_op = CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_NUMBER_OF_ADDRBOOK_ID;
-
- ctui_create_list_select_view(clist_d->navi, phone_group_message_result_cb,
- evas_object_data_get(clist_d->navi, "cgroup_d"), list_op,
- clist_d->base_ab, clist_d->base_grp, 0);
-}
-
-static void list_email_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int list_op;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- p_retm_if(NULL == clist_d, "clist_d is NULL");
- list_menu_hide_cb(clist_d, NULL, NULL);
-
- p_retm_if(NULL == evas_object_data_get(clist_d->navi, "cgroup_d"),
- "evas_object_data_get() return NULL");
-
- if (-1 == clist_d->base_grp)
- list_op = CT_GET_LIST_PERSON_HAD_EMAIL_OF_ADDRBOOK_ID;
- else if (clist_d->base_grp)
- list_op = CT_GET_LIST_PERSON_HAD_EMAIL_OF_GROUP_ID;
- else
- list_op = CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_EMAIL_OF_ADDRBOOK_ID;
-
- ctui_create_list_select_view(clist_d->navi, phone_group_email_result_cb,
- evas_object_data_get(clist_d->navi, "cgroup_d"), list_op,
- clist_d->base_ab, clist_d->base_grp, 0);
-}
-
-static Evas_Object* ct_send_message_email_create_popup(ct_list_data* clist_d)
-{
- PH_TRACE;
- Evas_Object* popup = elm_popup_add(clist_d->navi);
- p_retvm_if(NULL == popup, NULL, "popup add failed");
- elm_object_part_text_set(popup, TITLE_TEXT, T_(PH_GET_TEXT_BASIC, PHTEXT_SEND_MESSAGE_EMAIL));
-
- if(!phone_popup_add_button(popup, S_(PH_SYS_SK_CANCEL), NULL, clist_d))
- {
- evas_object_del(popup);
- return NULL;
- }
-
- elm_object_style_set(popup, "content_no_vhpad");
- evas_object_show(popup);
- return popup;
-}
-
-static char* ct_send_message_email_gen_it_text_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, NULL, "data is null");
- return strdup((char*)data);
-}
-
-static void ct_send_message_email_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_list_data* clist_d = (ct_list_data*)data;
-
- list_popup_hide_cb(data, NULL, NULL);
- list_menu_hide_cb(data, NULL, NULL);
-
- clist_d->popup = ct_send_message_email_create_popup(clist_d);
- p_retm_if(NULL == clist_d->popup, "popup is null");
-
- Evas_Object* genlist = elm_genlist_add(clist_d->popup);
- if(NULL == genlist)
- {
- ERR("genlist is null");
- list_popup_hide_cb(data, NULL, NULL);
- return;
- }
- elm_object_content_set(clist_d->popup, genlist);
-
- Elm_Genlist_Item_Class* itc = elm_genlist_item_class_new();
- itc->item_style = "1text/popup";
- itc->func.text_get = ct_send_message_email_gen_it_text_get;
-
- Elm_Object_Item* item = elm_genlist_item_append(genlist, itc, T_(PH_GET_TEXT_BASIC, PHTEXT_SEND_MESSAGE),
- NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_object_item_disabled_set(item, EINA_TRUE);
-
- item = elm_genlist_item_append(genlist, itc, T_(PH_GET_TEXT_BASIC, PHTEXT_SEND_EMAIL),
- NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_object_item_disabled_set(item, EINA_TRUE);
-
- elm_genlist_item_class_free(itc);
-}
-
-static void ctui_list_more_btn_clicked_cb(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data* clist_d = static_cast<ct_list_data*>(data);
-
- // hide sweeped view
- Elm_Object_Item *lastItem = clist_d->last_sweep_item;
-
- if (NULL != lastItem)
- {
- elm_genlist_item_decorate_mode_set(lastItem, "slide", EINA_FALSE);
- elm_genlist_item_select_mode_set(lastItem, ELM_OBJECT_SELECT_MODE_DEFAULT);
- clist_d->last_sweep_item = NULL;
- }
-
- list_popup_hide_cb(data, NULL, NULL);
- list_menu_hide_cb(data, NULL, NULL);
-
- clist_d->m_Menu = elm_ctxpopup_add(clist_d->navi);
- if (clist_d->m_Menu)
- {
- int rotate = (int) evas_object_data_get(clist_d->navi, "phone_rotate");
- if (0 == rotate || 180 == rotate)
- elm_ctxpopup_direction_priority_set(clist_d->m_Menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_LEFT, ELM_CTXPOPUP_DIRECTION_RIGHT);
- evas_object_smart_callback_add(clist_d->popup, "dismissed", list_menu_hide_cb, clist_d);
-
- if (clist_d->list)
- {
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY != clist_d->base_ab_mode)
- {
- elm_ctxpopup_item_append(clist_d->m_Menu, S_(PH_SYS_SK_DELETE), NULL, ct_list_edit_cb, clist_d);
-
- Elm_Object_Item* menu_item = NULL;
-
- menu_item = elm_ctxpopup_item_append(clist_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_IMPORT_EXPORT), NULL, NULL, clist_d);
- elm_object_item_disabled_set(menu_item, EINA_TRUE);
- menu_item = elm_ctxpopup_item_append(clist_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_ACCOUNTS), NULL, NULL, clist_d);
- elm_object_item_disabled_set(menu_item, EINA_TRUE);
- elm_ctxpopup_item_append(clist_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_SEND_MESSAGE_EMAIL), NULL, ct_send_message_email_cb, clist_d);
- menu_item = elm_ctxpopup_item_append(clist_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_CONTACTS_MENU_CONTACTS_TO_DISPLAY), NULL, list_view_button_cb, clist_d);
-
- if (NULL != menu_item)
- {
- unsigned int acc_cnt = 1;
- contacts_list_h list = NULL;
- const unsigned int MIN_NUMBER_OF_ADDRESSBOOKS = 2;
- int err = CONTACTS_ERROR_NONE;
- err = contacts_db_get_all_records(_contacts_address_book._uri, 0, 0, &list);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_db_get_all_records() Failed(%d)", err);
- err = contacts_list_get_count(list, &acc_cnt);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_list_get_count() Failed(%d)", err);
- err = contacts_list_destroy(list, true);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_list_destroy() Failed(%d)", err);
-
- if (acc_cnt < MIN_NUMBER_OF_ADDRESSBOOKS)
- {
- elm_object_item_disabled_set(menu_item, EINA_TRUE);
- }
- }
- }
-
- elm_ctxpopup_item_append(clist_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_CONTACTS_MENU_SETTINGS), NULL, ct_list_settings_cb, clist_d);
- }
-
- int x, y, w, h;
- evas_object_geometry_get(clist_d->navi, &x, &y, &w, &h);
- evas_object_move(clist_d->m_Menu, 0, y + h);
- evas_object_show(clist_d->m_Menu);
- }
- else
- {
- ERR("ctui_list_more_btn_clicked_cb failed: %s", "elm_ctxpopup_add() return NULL");
- }
- }
-}
-
-static void list_more_button_cb(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data* clist_d = static_cast<ct_list_data*>(data);
-
- list_popup_hide_cb(data, NULL, NULL);
- list_menu_hide_cb(data, NULL, NULL);
-
- clist_d->m_Menu = elm_ctxpopup_add(clist_d->navi);
- if (NULL != clist_d->m_Menu)
- {
- int rotate = (int) evas_object_data_get(clist_d->navi, "phone_rotate");
- if (0 == rotate || 180 == rotate)
- elm_ctxpopup_direction_priority_set(clist_d->m_Menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_LEFT, ELM_CTXPOPUP_DIRECTION_RIGHT);
-
- evas_object_smart_callback_add(clist_d->m_Menu, "dismissed", list_menu_hide_cb, clist_d);
-
- elm_ctxpopup_item_append(clist_d->m_Menu, S_(PH_SYS_BODY_MESSAGE), NULL, list_message_btn_cb, clist_d);
- elm_ctxpopup_item_append(clist_d->m_Menu, T_(CT_GET_TEXT_BASIC ,CTTEXT_EMAIL), NULL, list_email_btn_cb, clist_d);
- elm_ctxpopup_item_append(clist_d->m_Menu, S_(PH_SYS_BODY_REMOVE), NULL, list_remove_member_button_cb, clist_d);
-
- int x, y, w, h;
- evas_object_geometry_get(clist_d->navi, &x, &y, &w, &h);
- evas_object_move(clist_d->m_Menu, 0, y + h);
- evas_object_show(clist_d->m_Menu);
- }
- else
- {
- ERR("list_more_button_cb failed: %s", "elm_ctxpopup_add() return NULL");
- }
- }
-}
-
-static void list_navi_item_update(void *data)
-{
- PH_TRACE;
- Evas_Object *new_button;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- p_retm_if(NULL == clist_d, "parameter(clist_d) is NULL");
- new_button = (Evas_Object *) evas_object_data_get(clist_d->navi, "new_button");
-
- if (!clist_d->ug)
- {
- if (new_button)
- {
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY == clist_d->base_ab_mode)
- elm_object_disabled_set(new_button, EINA_TRUE);
- else
- elm_object_disabled_set(new_button, EINA_FALSE);
- }
- if (NULL == clist_d->list)
- {
- clist_d->menu_cb = NULL;
- }
- else
- {
- clist_d->menu_cb = ctui_list_more_btn_clicked_cb;
- }
- }
-}
-
-static void __list_ug_destroy_me_cb(void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- if (clist_d->service_operation)
- phone_service_reply_simple(clist_d->service_operation,
- SERVICE_RESULT_FAILED);
-
- ug_destroy_me(clist_d->ug);
-}
-
-static Evas_Object *list_create_add_contact_button(Evas_Object *pLayout_search, ct_list_data &clist_d,
- Evas_Smart_Cb click_cb_func)
-{
- PH_TRACE;
- Evas_Object *pAddBtn = elm_object_part_content_get(clist_d.searchbar, "button_add");
- if (!pAddBtn)
- {
- pAddBtn = elm_button_add(pLayout_search);
- if (pAddBtn)
- {
- elm_object_part_content_set(pLayout_search, "button_add", pAddBtn);
- elm_object_style_set(pAddBtn, "plus");
- evas_object_size_hint_weight_set(pAddBtn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_smart_callback_add(pAddBtn, "clicked", click_cb_func, &clist_d);
- evas_object_data_set(clist_d.searchbar, "add_button", pAddBtn);
- evas_object_show(pAddBtn);
-
- Evas_Object *icon = elm_icon_add(pLayout_search);
- elm_icon_standard_set(icon, PH_IMG_ICON_ADD);
- elm_object_part_content_set(pAddBtn, "icon", icon);
- }
- }
- return pAddBtn;
-}
-
-static void list_make_navi(ct_list_data *clist_d)
-{
- PH_TRACE;
- p_retm_if(NULL == clist_d, "clist_d is NULL");
-
- if (NULL == clist_d->list_navi_item_update_fn)
- clist_d->list_navi_item_update_fn = list_navi_item_update;
-
- phone_navi_item_reset(clist_d->navi_item, clist_d);
- // FIXME : should be rearragned accoring to new UX
- if (CT_GET_LIST_VCARD == clist_d->list_op)
- {
- list_create_add_contact_button(clist_d->searchbar, *clist_d, list_add_all_contacts_button_cb);
- }
- else if (clist_d->navi_item != elm_naviframe_bottom_item_get(clist_d->navi))
- { // from group view
- if (!clist_d->ug)
- {
- if (clist_d->base_grp)
- {
- Evas_Object *add_button = NULL;
- add_button = list_create_add_contact_button(clist_d->searchbar, *clist_d, list_add_button_cb);
-
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY == clist_d->base_ab_mode)
- elm_object_disabled_set(add_button, EINA_TRUE);
-
- if (clist_d->list)
- {
- clist_d->menu_cb = list_more_button_cb;
- }
- }
- }
- }
- else if (!clist_d->ug ||
- !(PH_UG_REQUEST_LAUNCH_VOICECALL == clist_d->ug_request ||
- CT_UG_REQUEST_LIST_WITH_BACK >= clist_d->ug_request ||
- CT_UG_REQUEST_SELECT_CONTACT_ADD_TO_HOME == clist_d->ug_request ||
- CT_UG_REQUEST_SELECT_GROUP_ADD_TO_HOME == clist_d->ug_request)
- )
- {
-
- Evas_Object *create_button __attribute__ ((unused)) = NULL;
- if (!clist_d->ug)
- {
- if (clist_d->list)
- {
- clist_d->menu_cb = ctui_list_more_btn_clicked_cb;
- }
- }
- create_button = list_create_add_contact_button(clist_d->searchbar, *clist_d, ctui_list_new_btn_clicked_cb);
- if (NULL == clist_d->ug
- || clist_d->ug_request < CT_UG_REQUEST_SELECT_PERSON
- || (CT_UG_REQUEST_UPDATE_CONTACT <= clist_d->ug_request
- && clist_d->ug_request <= CT_UG_REQUEST_UPDATE_WITH_WEB)
- || (CT_UG_REQUEST_SAVE_IMG <= clist_d->ug_request
- && clist_d->ug_request <= CT_UG_REQUEST_SAVE_RINGTONE))
- {
- if (clist_d->ug_request)
- {
- clist_d->back_cb = __list_ug_destroy_me_cb;
- }
- }
- else
- {
- clist_d->back_cb = __list_ug_destroy_me_cb;
- }
- }
-}
-
-static void list_call_btn_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- if (NULL != data)
- {
- Evas_Object *icon = NULL;
- icon = static_cast<Evas_Object *>(elm_object_part_content_get((const Evas_Object *) data, "icon"));
- elm_image_file_set(icon, PH_IMG_ICON_CALL_PRESS, NULL);
- }
-}
-
-static void list_call_btn_unpressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- assert(obj);
- p_retm_if(NULL == data, "data is NULL");
- if (NULL != data && NULL != obj)
- {
- Evas_Object *icon = NULL;
- icon = static_cast<Evas_Object *>(elm_object_part_content_get((const Evas_Object *) data, "icon"));
- elm_image_file_set(icon, PH_IMG_ICON_CALL, NULL);
-
- ct_list_data *clist_d = static_cast<ct_list_data*>(evas_object_data_get(obj, "clist_d"));
- elm_genlist_item_select_mode_set(clist_d->last_sweep_item, ELM_OBJECT_SELECT_MODE_DEFAULT);
- }
-}
-
-static void list_msg_btn_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- p_retm_if(NULL == data, "data is NULL");
- if (NULL != data)
- {
- Evas_Object *icon = NULL;
- icon = static_cast<Evas_Object *>(elm_object_part_content_get((const Evas_Object *) data, "icon"));
- elm_image_file_set(icon, PH_IMG_ICON_MESSAGE_PRESS, NULL);
- }
-}
-
-static void list_msg_btn_unpressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- assert(obj);
- p_retm_if(NULL == data, "data is NULL");
- if (NULL != data && NULL != obj)
- {
- Evas_Object *icon = NULL;
- icon = static_cast<Evas_Object *>(elm_object_part_content_get((const Evas_Object *) data, "icon"));
- elm_image_file_set(icon, PH_IMG_ICON_MESSAGE, NULL);
-
- ct_list_data *clist_d = static_cast<ct_list_data*>(evas_object_data_get(obj, "clist_d"));
- elm_genlist_item_select_mode_set(clist_d->last_sweep_item, ELM_OBJECT_SELECT_MODE_DEFAULT);
- }
-}
-
-static Evas_Object* list_gl_icon_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- assert(data);
- assert(obj);
- assert(part);
-
-
- if (NULL != data && NULL != obj && NULL != part)
- {
- ct_person_list *person_info = static_cast<ct_person_list*>(data);
- p_retvm_if(NULL == person_info, NULL, "person_info is NULL");
-
- ct_list_data *clist_d = static_cast<ct_list_data*>(evas_object_data_get(obj, "clist_d"));
-
- if (strcmp(part, "elm.slide.swallow.1") == 0)
- {
- Evas_Object *btn;
-
- if (NULL == person_info->number || '\0' == *person_info->number)
- {
- btn = phone_create_list_sweep_btn(obj, PH_IMG_ICON_DELETE);
- p_retvm_if(NULL == btn, NULL, "phone_create_list_sweep_btn() return NULL");
-
- elm_object_style_set(btn, "sweep/delete");
- evas_object_data_set(btn, "clist_d", clist_d);
- evas_object_propagate_events_set(btn, EINA_FALSE);
- evas_object_smart_callback_add(btn, "clicked", ct_list_sweep_del_cb, (void *) person_info->id);
-
- if (0 == person_info->id)
- elm_object_disabled_set(btn, EINA_TRUE);
- }
- else
- {
- btn = phone_create_list_sweep_btn(obj, PH_IMG_ICON_CALL);
- p_retvm_if(NULL == btn, NULL, "phone_create_list_sweep_btn() return NULL");
- evas_object_data_set(btn, "clist_d", clist_d);
- evas_object_smart_callback_add(btn, "clicked", ct_list_call, person_info);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_DOWN, list_call_btn_pressed_cb, btn);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_UP, list_call_btn_unpressed_cb, btn);
- }
- return btn;
- }
- else if (strcmp(part, "elm.slide.swallow.2") == 0)
- {
- Evas_Object *btn;
-
- if (NULL == person_info->number || '\0' == *person_info->number)
- return NULL;
-
- btn = phone_create_list_sweep_btn(obj, PH_IMG_ICON_MESSAGE);
- p_retvm_if(NULL == btn, NULL, "phone_create_list_sweep_btn() return NULL");
-
- evas_object_data_set(btn, "clist_d", clist_d);
- evas_object_smart_callback_add(btn, "clicked", ct_list_msg, person_info);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_DOWN, list_msg_btn_pressed_cb, btn);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_UP, list_msg_btn_unpressed_cb, btn);
-
- return btn;
- }
- else if (strcmp(part, "elm.slide.swallow.3") == 0)
- {
- Evas_Object *btn;
- btn = phone_create_list_sweep_btn(obj, PH_IMG_ICON_DELETE);
- p_retvm_if(NULL == btn, NULL, "phone_create_list_sweep_btn() return NULL");
-
- elm_object_style_set(btn, "sweep/delete");
- evas_object_data_set(btn, "clist_d", clist_d);
- evas_object_smart_callback_add(btn, "clicked", ct_list_sweep_del_cb, (void *) person_info->id);
-
- if (0 == person_info->id)
- elm_object_disabled_set(btn, EINA_TRUE);
-
- return btn;
- }
- else if (0 == strcmp(part, "elm.icon"))
- {
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- Evas_Object *icon;
-
- if (!person_info->img_loaded)
- {
- if (person_info->id)
- {
- err = contacts_db_get_record(_contacts_person._uri, person_info->id, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)", err);
-
- err = contacts_record_get_str(record, _contacts_person.image_thumbnail_path, &(person_info->img_path));
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
- }
- person_info->img_loaded = true;
- }
-
- icon = elm_icon_add(obj);
- if (icon)
- {
- elm_image_prescale_set(icon, CT_LIST_ICON_SIZE);
- if (NULL != person_info->img_path)
- {
- elm_image_file_set(icon, person_info->img_path, NULL);
- }
- else
- {
- elm_image_file_set(icon, IMG_DEFAULT, NULL);
- }
-
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- evas_object_show(icon);
- }
- return icon;
- }
- else if (0 == strcmp(part, "elm.edit.icon.1"))
- {
- Evas_Object *check;
- check = ct_list_edit_add_check(obj, &person_info->checked, clist_d);
- p_retvm_if(NULL == check, NULL, "ct_list_edit_add_check() return NULL");
- evas_object_data_set(check, "person_info", person_info);
- return check;
- }
- }
-
- return NULL;
-}
-
-API void list_create_itcs(ct_list_data *clist_d)
-{
- PH_TRACE;
- assert(clist_d);
- if (NULL != clist_d)
- {
- clist_d->itcs[CT_LIST_ITEM_NO_NUMBER].item_style = "1text.1icon.2.tb";
- clist_d->itcs[CT_LIST_ITEM_NO_NUMBER].decorate_item_style = "mode/slide3";
- clist_d->itcs[CT_LIST_ITEM_NO_NUMBER].func.text_get = ct_list_gl_label_get;
- clist_d->itcs[CT_LIST_ITEM_NO_NUMBER].func.content_get = list_gl_icon_get;
- clist_d->itcs[CT_LIST_ITEM_NO_NUMBER].decorate_all_item_style = "edit_default";
-
- clist_d->itcs[CT_LIST_ITEM].item_style = "1text.1icon.2.tb";
- clist_d->itcs[CT_LIST_ITEM].decorate_item_style = "mode/slide";
- clist_d->itcs[CT_LIST_ITEM].func.text_get = ct_list_gl_label_get;
- clist_d->itcs[CT_LIST_ITEM].func.content_get = list_gl_icon_get;
- clist_d->itcs[CT_LIST_ITEM].decorate_all_item_style = "edit_default";
-
- clist_d->itcs[CT_LIST_ITEM_SEARCH_NO_NUMBER].item_style = "1text.1icon.2.tb";
- clist_d->itcs[CT_LIST_ITEM_SEARCH_NO_NUMBER].decorate_item_style = "mode/slide3";
- clist_d->itcs[CT_LIST_ITEM_SEARCH_NO_NUMBER].func.text_get = ct_list_gl_label_get;
- clist_d->itcs[CT_LIST_ITEM_SEARCH_NO_NUMBER].func.content_get = list_gl_icon_get;
- clist_d->itcs[CT_LIST_ITEM_SEARCH_NO_NUMBER].decorate_all_item_style = "edit_default";
-
- clist_d->itcs[CT_LIST_ITEM_SEARCH].item_style = "2text.1icon.4.tb";
- clist_d->itcs[CT_LIST_ITEM_SEARCH].decorate_item_style = "mode/slide";
- clist_d->itcs[CT_LIST_ITEM_SEARCH].func.text_get = ct_list_gl_label_get;
- clist_d->itcs[CT_LIST_ITEM_SEARCH].func.content_get = list_gl_icon_get;
- clist_d->itcs[CT_LIST_ITEM_SEARCH].decorate_all_item_style = "edit_default";
-
- clist_d->itcs[CT_LIST_ITEM_COUNT].item_style = "1text.1icon.2.tb";
- clist_d->itcs[CT_LIST_ITEM_COUNT].func.text_get = ct_list_count_gl_label_get;
- }
-}
-
-API void ctui_list_navi_set(int mode, ct_list_data *clist_d)
-{
- PH_TRACE;
- p_retm_if(NULL == clist_d, "clist_d is NULL");
- Evas_Object *delete_item = (Evas_Object *) evas_object_data_get(clist_d->navi, "delete_button");
- if(delete_item)
- {
- evas_object_del(delete_item);
- }
- evas_object_data_del(clist_d->navi, "new_button");
- evas_object_data_del(clist_d->navi, "button_add");
- phone_navi_item_reset(clist_d->navi_item, clist_d);
-
- switch (mode)
- {
- case CT_LIST_MODE_DEFAULT:
- list_make_navi(clist_d);
- break;
- case CT_LIST_MODE_EDIT:
- ct_list_edit_make_edit_navi(clist_d);
- if (CT_LIST_MULTI_ADD_MEMBER != clist_d->view_id)
- ctui_navi_btn_disabled_set(clist_d->navi, EINA_TRUE);
- ctui_list_update_selection_info(clist_d);
- break;
- default:
- return;
- }
-}
-
-Evas_Object* ct_list_create_contact_view(ct_list_data *clist_d)
-{
- PH_TRACE;
- list_create_itcs(clist_d);
- clist_d->gl_sel = ct_list_ug_gl_sel;
- clist_d->gl_sel_data = clist_d;
- clist_d->edit_sel_update = ctui_list_update_selection_info;
- return ct_list_create_contact_layout(clist_d);
-}
-
-// Group > Group detail view : In case of UG, it can be check view
-API Evas_Object* ctui_list_create_contact_view_with_info(
- ph_view_info *view_info, int list_op, ct_group_list *info)
-{
- PH_TRACE;
- ct_list_data *clist_d;
- const char *ab_name = NULL;
- char temp[PH_TEXT_MAX_LEN];
-
- p_retv_if(CT_GET_LIST_VCARD == list_op, NULL);
- clist_d = (ct_list_data *) calloc(1, sizeof(ct_list_data));
- p_retvm_if(!clist_d, NULL, "clist_d is NULL, Not enough memory");
-
- clist_d->win = view_info->win;
- clist_d->navi = view_info->navi;
- clist_d->ug = view_info->ug;
- clist_d->ug_data = view_info->ug_data;
- clist_d->ug_request = view_info->ug_request;
- clist_d->base_ab = -1;
-
- switch (clist_d->ug_request)
- {
- //case PH_UG_REQUEST_SELECT_NUMBER:
- //case PH_UG_REQUEST_CHECK_FOR_NUMBER:
- case CT_UG_REQUEST_SELECT_NUMBER:
- case CT_UG_REQUEST_CHECK_FOR_NUMBER:
- clist_d->list_op = list_op + 1;
- break;
- //case PH_UG_REQUEST_SELECT_EMAIL:
- //case PH_UG_REQUEST_CHECK_FOR_EMAIL:
- case CT_UG_REQUEST_SELECT_EMAIL:
- case CT_UG_REQUEST_CHECK_FOR_EMAIL:
- clist_d->list_op = list_op + 2;
- break;
- case CT_UG_REQUEST_SELECT_NUMBER_OR_EMAIL:
- case CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL:
- clist_d->list_op = list_op + 3;
- break;
- default:
- clist_d->list_op = list_op;
- break;
- }
-
- clist_d->base_ab = info->id_ab;
- clist_d->base_grp = info->id_grp;
- clist_d->base_ab_mode = info->mode;
- ct_list_get_contacts(clist_d, &clist_d->list);
- clist_d->base_layout = ct_list_create_contact_view(clist_d);
- clist_d->title = SAFE_STRDUP(info->name);
- clist_d->navi_item = elm_naviframe_item_push(clist_d->navi, clist_d->title,
- NULL, NULL, clist_d->base_layout, NULL);
- if (0 < clist_d->base_ab)
- {
- temp[0] = '\0';
- ctui_get_addressbook_name(clist_d->base_ab, temp, sizeof(temp));
- ab_name = temp;
- }
- else
- ab_name = T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE);
-
- elm_object_item_part_text_set(clist_d->navi_item, "subtitle", ab_name);
- clist_d->sub_title = strdup(ab_name);
-
- switch (clist_d->ug_request)
- {
- case CT_UG_REQUEST_CHECK:
- case CT_UG_REQUEST_CHECK_FOR_NUMBER:
- case CT_UG_REQUEST_CHECK_FOR_EMAIL:
- case CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL:
- ctui_list_edit_mode_start(clist_d);
- break;
- default:
- ctui_list_navi_set(CT_LIST_MODE_DEFAULT, clist_d);
- break;
- }
- return clist_d->navi;
-}
-
-API void ctui_list_set_search_text(ct_list_data *clist_d, const char *text)
-{
- PH_TRACE;
- p_retm_if(!clist_d, "clist_d is NULL");
- if (clist_d->searchbar)
- {
- Evas_Object *en;
- en = elm_object_part_content_get(clist_d->searchbar,
- "elm.swallow.content");
- elm_entry_entry_set(en, text);
- }
-}
diff --git a/lib/list/ct-list-contact-view.h b/lib/list/ct-list-contact-view.h
deleted file mode 100755
index 27b2421..0000000
--- a/lib/list/ct-list-contact-view.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Module responsible for creating contacts-list view and handling efl-callbacks relevant to it.
- */
-
-#ifndef __CONTACTS_LIST_CONTACT_VIEW_H__
-#define __CONTACTS_LIST_CONTACT_VIEW_H__
-
-/**
- * Initialises layout for contact--list view based on specified data-structure.
- * @param clist_d data-structure the contact-list will be based on.
- * @return layout of contact-list.
- * */
-Evas_Object* ct_list_create_contact_view(ct_list_data *clist_d);
-
-#endif //__CONTACTS_LIST_CONTACT_VIEW_H__
diff --git a/lib/list/ct-list-edit-view.cpp b/lib/list/ct-list-edit-view.cpp
deleted file mode 100755
index 69807a3..0000000
--- a/lib/list/ct-list-edit-view.cpp
+++ /dev/null
@@ -1,1102 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <ui-gadget-module.h>
-#include <app.h>
-#include <fcntl.h>
-
-#include "phone.h"
-#include "phone-common.h"
-#include "ct-list.h"
-#include "ct-list-utils.h"
-#include "ct-list-view-ug.h"
-#include "ct-list-contact-view.h"
-#include <stdio.h>
-#include <stdlib.h>
-
-#define TIMER_DURATION 0.2
-#define FOUND_BY_NUMBER 1
-#define FOUND_BY_EMAIL 2
-
-static void list_edit_del_cb(void *data, Evas_Object *obj, void *event_info);
-ct_person_list *find_info_in_list_by_id(Eina_List *check_list, int person_id);
-ct_person_list *copy_contact_info(ct_person_list *person_info);
-
-Eina_List* update_list_person_check_info(Eina_List *check_list,ct_person_list * person_info)
-{
- PH_TRACE;
-
- ct_person_list * person_copy_info = copy_contact_info(person_info);
-
- if (person_copy_info)
- {
- if (EINA_TRUE == person_copy_info->checked)
- {
- check_list = eina_list_append(check_list,(void *) person_copy_info);
- }
- else
- {
- if (check_list)
- {
- ct_person_list * person_info_list = find_info_in_list_by_id(check_list, person_copy_info->id);
- if (person_info_list)
- {
- check_list = eina_list_remove(check_list,(void *) person_info_list);
- free(person_info_list);
- free(person_copy_info);
- }
- }
- }
- }
- return check_list;
-}
-
-ct_person_list *copy_contact_info(ct_person_list *person_info)
-{
- PH_TRACE;
-
- ct_person_list *p_info = NULL;
- if (person_info)
- {
- p_info = (ct_person_list *) calloc(1, sizeof(ct_person_list));
- p_info->checked = person_info->checked;
- p_info->id_ret = person_info->id_ret;
- p_info->id_ret_type = person_info->id_ret_type;
- p_info->id = person_info->id;
- }
- return p_info;
-}
-
-static inline void list_edit_items_checked_set(ct_list_data *clist_d,
- Eina_Bool checked)
-{
- PH_TRACE;
- Eina_List *l;
- void *v_person_info = NULL;
-
- EINA_LIST_FOREACH(clist_d->list, l, v_person_info)
- {
- ct_person_list *person_info = (ct_person_list *) v_person_info;
- if (NULL == person_info)
- {
- ERR("elm_object_item_data_get() return NULL");
- continue;
- }
- person_info->checked = checked;
- clist_d->list_check_info = update_list_person_check_info(clist_d->list_check_info, person_info);
- }
-}
-
-static inline void list_edit_all_items_checked_set(Eina_List *list,
- Eina_Bool checked)
-{
- PH_TRACE;
- Eina_List *l;
- void *v_person_info;
-
- EINA_LIST_FOREACH(list, l, v_person_info)
- {
- ct_person_list *person_info = (ct_person_list *) v_person_info;
- if (NULL == person_info)
- {
- ERR("elm_object_item_data_get() return NULL");
- continue;
- }
- person_info->checked = checked;
- }
-}
-
-void ct_list_edit_mode_end(ct_list_data *clist_d)
-{
- PH_TRACE;
- Evas_Object *en;
- char buf[PH_TEXT_MAX_LEN + 1];
-
- clist_d->list_mode = CT_LIST_MODE_DEFAULT;
- ct_list_clear_pdata(clist_d);
-
- if (clist_d->select_all_layout)
- {
- elm_box_unpack(clist_d->box, clist_d->select_all_layout);
- evas_object_del(clist_d->select_all_layout);
- clist_d->select_all_layout = NULL;
- }
- clist_d->cnt_checked = 0;
- list_edit_all_items_checked_set(clist_d->list, EINA_FALSE);
- if (clist_d->list_check_info)
- {
- ctui_list_free_contacts(clist_d->list_check_info);
- clist_d->list_check_info = NULL;
- }
-
- if (NULL == clist_d->count_item && clist_d->cnt_list_total
- && !(clist_d->search_str && *clist_d->search_str))
- {
- clist_d->count_item = elm_genlist_item_append(clist_d->genlist,
- &clist_d->itcs[CT_LIST_ITEM_COUNT],
- (void *) clist_d->cnt_list_total, NULL, ELM_GENLIST_ITEM_NONE,
- NULL, NULL);
- elm_object_item_disabled_set(clist_d->count_item, EINA_TRUE);
- }
-
- if (clist_d->genlist)
- elm_object_focus_set(clist_d->genlist, EINA_TRUE);
-
- if (clist_d->search_str && *clist_d->search_str)
- ctui_list_searchbar_cancel_cb(clist_d->searchbar, NULL, NULL);
-
- elm_genlist_decorate_mode_set(clist_d->genlist, EINA_FALSE);
- ctui_list_navi_set(CT_LIST_MODE_DEFAULT, clist_d);
-
- if (CT_LIST_IN_MULTI_TAB != clist_d->tab_mode
- && CT_UG_REQUEST_SELECT_PERSON <= clist_d->ug_request)
- {
- snprintf(buf, sizeof(buf), "%s (%d)", clist_d->title,
- clist_d->cnt_list_total);
- elm_object_item_text_set(clist_d->navi_item, buf);
- }
-
- en = elm_object_part_content_get(clist_d->searchbar, "elm.swallow.content");
- elm_entry_entry_set(en, NULL);
-
- phone_hide_notify(clist_d->base_layout);
-
- phone_set_searchbar_add_button_visible(*clist_d, true);
-}
-
-static void list_edit_cancel_cb(void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- if(clist_d)
- {
- ct_list_edit_mode_end(clist_d);
- }
-}
-
-static void list_edit_delete_persons(ct_list_data *clist_d);
-
-static void list_edit_remove_record_cb(int err, void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- ph_progress_info *p_info = NULL;
-
- p_retm_if(NULL == clist_d, "Invalid parameter(clist_d is NULL)");
- p_info = clist_d->p_info;
- p_retm_if(NULL == p_info, "Invalid parameter(p_info is NULL)");
-
- if (p_info->update_ids)
- {
- free(p_info->update_ids);
- p_info->update_ids = NULL;
- }
-
- if (p_info->update_list)
- {
- contacts_list_destroy(p_info->update_list, true);
- p_info->update_list = NULL;
- }
-
- if (CONTACTS_ERROR_NONE != err || p_info->alive == false)
- {
- if (p_info->popup)
- {
- evas_object_del(p_info->popup);
- p_info->popup = NULL;
- }
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
- free(p_info);
- clist_d->p_info = NULL;
- clist_d->updating = false;
- ct_list_edit_mode_end(clist_d);
- return;
- }
- else if (p_info->cnt == p_info->cnt_checked_total)
- {
- if (p_info->popup)
- {
- evas_object_del(p_info->popup);
- p_info->popup = NULL;
- }
- if (clist_d->base_grp)
- phone_show_tickernoti(S_(PH_SYS_POP_REMOVED));
- else
- phone_show_tickernoti(S_(PH_SYS_POP_DELETED));
- free(p_info);
- clist_d->p_info = NULL;
- clist_d->updating = false;
- ct_list_edit_mode_end(clist_d);
- return;
- }
- else
- {
- list_edit_delete_persons(clist_d);
- }
-}
-
-static void list_edit_remove_group_relation(int group_id, int person_id,
- contacts_list_h list_result)
-{
- PH_TRACE;
- contacts_list_h list = NULL;
- contacts_filter_h filter = NULL;
- contacts_query_h query = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- p_retm_if(group_id <= 0, "Invalid parameter(group_id is %d)", group_id);
- p_retm_if(person_id <= 0, "Invalid parameter(person_id is %d)", person_id);
- p_retm_if(NULL == list_result, "Invalid parameter(list is NULL)");
-
- do
- {
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_create(_contacts_contact_grouprel._uri,
- &query)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_filter_create(
- _contacts_contact_grouprel._uri, &filter)))
- break;
-
- if (CONTACTS_ERROR_NONE
- != (err = contacts_filter_add_int(filter,
- _contacts_contact_grouprel.group_id,
- CONTACTS_MATCH_EQUAL, group_id)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_filter_add_operator(filter,
- CONTACTS_FILTER_OPERATOR_AND)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_filter_add_int(filter,
- _contacts_contact_grouprel.person_id,
- CONTACTS_MATCH_EQUAL, person_id)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_filter(query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_db_get_records_with_query(query, 0, 0, &list)))
- break;
-
- while (CONTACTS_ERROR_NONE == err)
- {
- contacts_record_h record = NULL;
- int temp = 0;
- int contact_id = 0;
- contacts_record_h record_group_relation = NULL;
- phone_cts_get_int_from_list(list,
- _contacts_contact_grouprel.contact_id, &contact_id);
- err = contacts_db_get_record(_contacts_contact._uri, contact_id,
- &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
-
- while (CONTACTS_ERROR_NONE
- == (contacts_record_get_child_record_at_p(record,
- _contacts_contact.group_relation, temp++,
- &record_group_relation)))
- {
- int group_relation_group_id = 0;
- contacts_record_get_int(record_group_relation,
- _contacts_group_relation.group_id,
- &group_relation_group_id);
- if (group_id == group_relation_group_id)
- {
- err = contacts_record_remove_child_record(record,
- _contacts_contact.group_relation,
- record_group_relation);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_remove_child_record() Failed(%d)",
- err);
- contacts_list_add(list_result, record);
- break;
- }
- }
- err = contacts_list_next(list);
- }
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
- contacts_list_destroy(list, true);
- return;
- }
- while (0);
- ERR("update_group_relation Failed(%d)", err);
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
- contacts_list_destroy(list, true);
- return;
-}
-
-void list_edit_delete_persons_without_progressbar_cb(int err, void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- p_retm_if(NULL == clist_d, "Invalid parameter(clist_d is NULL)");
-
- PH_DBG("err = %d", err);
- if (CONTACTS_ERROR_NONE != err)
- {
- clist_d->updating = false;
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
- }
- else if (clist_d->update_delete_list)
- {
- contacts_list_destroy(clist_d->update_delete_list, true);
- clist_d->update_delete_list = NULL;
- phone_show_tickernoti(S_(PH_SYS_POP_REMOVED));
- }
-
- if (clist_d->update_add_list)
- {
- contacts_db_update_records_async(clist_d->update_add_list,
- ct_list_add_contacts_to_group_without_progressbar_cb, clist_d);
- }
- else
- {
- elm_naviframe_item_pop(clist_d->navi);
- }
-}
-
-void list_edit_delete_persons_without_progressbar(ct_list_data *clist_d)
-{
- PH_TRACE;
- p_retm_if(NULL == clist_d, "parameter(clist_d) is NULL");
- Eina_List *l = NULL;
- void *v_person_info = NULL;
- contacts_list_h list = NULL;
-
- int err = contacts_list_create(&list);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_list_create() Failed(%d)", err);
-
- EINA_LIST_FOREACH(clist_d->list_check_info, l, v_person_info)
- {
- ct_person_list *person_info = (ct_person_list *) v_person_info;
- if (person_info)
- {
- PH_DBG("person_info->display = %s", person_info->display);
- list_edit_remove_group_relation(clist_d->base_grp, person_info->id, list);
- }
- }
-
- unsigned int count = 0;
- contacts_list_get_count(list, &count);
- if (count)
- {
- clist_d->update_delete_list = list;
- }
- else
- {
- contacts_list_destroy(clist_d->update_delete_list, true);
- clist_d->update_delete_list = NULL;
- }
-}
-
-static void list_edit_delete_persons(ct_list_data *clist_d)
-{
- PH_TRACE;
- const int LIST_BULK_LENGTH = 50;
- int count = 0;
- int *ids = NULL;
- double value = 0.0;
- char percent_total[PH_TEXT_MAX_LEN + 1] = { 0, };
- char percent[PH_TEXT_MAX_LEN + 1] = { 0, };
- ph_progress_info *p_info = NULL;
- void *v_person_info = NULL;
- Eina_List *l = NULL;
- int err = CONTACTS_ERROR_NONE;
- contacts_list_h list = NULL;
-
- p_retm_if(NULL == clist_d, "parameter(clist_d) is NULL");
- p_info = clist_d->p_info;
- p_retm_if(NULL == p_info, "parameter(p_info) is NULL");
-
- if (p_info->update_ids)
- {
- free(p_info->update_ids);
- p_info->update_ids = NULL;
- }
-
- if (clist_d->base_grp)
- {
- err = contacts_list_create(&list);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_create() Failed(%d)", err);
- }
- else
- {
- if (p_info->cnt_checked_total - p_info->cnt < LIST_BULK_LENGTH)
- ids = (int *) calloc(1,
- sizeof(int) * (p_info->cnt_checked_total - p_info->cnt));
- else
- ids = (int *) calloc(1, sizeof(int) * LIST_BULK_LENGTH);
- p_retm_if(NULL == ids, "calloc() return NULL");
- }
-
- if (p_info->cnt == 0 && p_info->cnt_checked_total > 0)
- {
- EINA_LIST_FOREACH(clist_d->list_check_info, l, v_person_info)
- {
- ct_person_list *person_info = (ct_person_list *) v_person_info;
- if (NULL == person_info)
- continue;
- clist_d->list_delete_records = eina_list_append(
- clist_d->list_delete_records, (void*) person_info->id);
- }
- }
- if(p_info->cnt == 0)
- {
- create_no_content_layout(clist_d, clist_d->content_layout);
- }
- void *person_id;
- l = NULL;
- EINA_LIST_FOREACH(clist_d->list_delete_records, l, person_id)
- {
- if (clist_d->base_grp > 0)
- list_edit_remove_group_relation(clist_d->base_grp, (int) person_id,
- list);
- else
- {
- if (ids)
- ids[count] = (int) person_id;
- }
-
- clist_d->list_delete_records = eina_list_remove_list(
- clist_d->list_delete_records, l);
- count++;
- p_info->cnt++;
-
- if (LIST_BULK_LENGTH == count
- || p_info->cnt == p_info->cnt_checked_total)
- break;
- }
-
- if (clist_d->base_grp)
- {
- p_info->update_list = list;
- err = contacts_db_update_records_async(list, list_edit_remove_record_cb,
- clist_d);
- p_retm_if(err != CONTACTS_ERROR_NONE,
- "contacts_db_update_records_async() fail(%d)", err);
- }
- else
- {
- p_info->update_ids = ids;
- err = contacts_db_delete_records_async(_contacts_person._uri, ids,
- count, list_edit_remove_record_cb, clist_d);
- p_retm_if(err != CONTACTS_ERROR_NONE,
- "contacts_db_delete_records_async() fail(%d)", err);
- }
-
- value = (double) p_info->cnt / (double) p_info->cnt_checked_total;
- elm_progressbar_value_set(p_info->progressbar, value);
- snprintf(percent, sizeof(percent), "%d%%",
- (int) (100.0 * (double) p_info->cnt
- / (double) p_info->cnt_checked_total));
- snprintf(percent_total, sizeof(percent_total), "%d/%d", p_info->cnt,
- p_info->cnt_checked_total);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext1", percent);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext2", percent_total);
-
- PH_DBG("list_edit_delete_persons %d", count);
-}
-
-static Eina_Bool __list_edit_delete_start_timer_cb(void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- list_edit_delete_persons(clist_d);
-
- if (clist_d && clist_d->list_check_info)
- {
- ctui_list_free_contacts(clist_d->list_check_info);
- clist_d->list_check_info = NULL;
- }
- return ECORE_CALLBACK_CANCEL;
-}
-
-void list_edit_popup_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data *pCListD = static_cast<ct_list_data *>(data);
- if (NULL != pCListD->popup)
- {
- evas_object_del(pCListD->popup);
- pCListD->popup = NULL;
- }
- elm_object_tree_focus_allow_set(pCListD->navi, EINA_TRUE);
- }
-}
-
-void list_edit_menu_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data *pCListD = static_cast<ct_list_data *>(data);
- if (NULL != pCListD->m_Menu)
- {
- evas_object_del(pCListD->m_Menu);
- pCListD->m_Menu = NULL;
- }
- elm_object_tree_focus_allow_set(pCListD->navi, EINA_TRUE);
- }
-}
-
-void createDeletePopup(void *data)
-{
- PH_TRACE;
- if (!data)
- {
- return;
- }
-
- ct_list_data *pCListD = static_cast<ct_list_data *>(data);
- char buffer[PH_TEXT_MAX_LEN] = { 0 };
- snprintf(buffer, sizeof(buffer) / sizeof(buffer[0]), "%s %d %s",
- T_(PH_GET_TEXT_BASIC,PHTEXT_CONTACTS_POP_DELETE),
- pCListD->cnt_checked,
- T_(PH_GET_TEXT_BASIC,PHTEXT_CONTACTS_POP_CONTACTS));
- Evas_Object *pPopup = elm_popup_add(pCListD->win);
- if (pPopup)
- {
- evas_object_size_hint_weight_set(pPopup, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_object_text_set(pPopup, buffer);
- evas_object_show(pPopup);
- }
- pCListD->popup = pPopup;
- Evas_Object *pDelete = elm_button_add(pPopup);
- if (pDelete)
- {
- elm_object_text_set(pDelete,
- T_(PH_GET_TEXT_BASIC,PHTEXT_CONTACTS_BUTTON_DELETE));
- elm_object_part_content_set(pPopup, "button1", pDelete);
- elm_object_style_set(pDelete, "popup_button/default");
- evas_object_smart_callback_add(pDelete, "clicked", list_edit_del_cb,
- pCListD);
- evas_object_show(pDelete);
- }
-
- Evas_Object *pCancel = elm_button_add(pPopup);
- if (pCancel)
- {
- elm_object_text_set(pCancel,
- T_(PH_GET_TEXT_BASIC,PHTEXT_CONTACTS_BUTTON_CANCEL));
- elm_object_part_content_set(pPopup, "button2", pCancel);
- elm_object_style_set(pCancel, "popup_button/default");
- evas_object_smart_callback_add(pCancel, "clicked",
- list_edit_popup_hide_cb, pCListD);
- evas_object_show(pCancel);
- }
-}
-
-void createContListDeletePopupCB(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- list_edit_popup_hide_cb(data, NULL, NULL);
-
- ct_list_data *clist_d = static_cast<ct_list_data*>(data);
- ph_progress_info *p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- if (NULL != p_info)
- {
- clist_d->updating = true;
- clist_d->p_info = p_info;
- p_info->cnt_checked_total = clist_d->cnt_checked;
- p_info->alive = true;
- p_info->result = TRUE;
- p_info->popup = phone_progressbar_popup(clist_d->win, p_info,
- T_(CT_GET_TEXT_BASIC, CTTEXT_DELETING_CONTACTS));
- p_info->timer = ecore_timer_add(0.5,
- __list_edit_delete_start_timer_cb, clist_d);
- }
- else
- {
- ERR("createContListDeletePopupCB() failed: %s",
- "calloc return NULL");
- }
- }
-}
-
-void createContListDeleteConfirmationPopupCB(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- list_edit_popup_hide_cb(data, NULL, NULL);
-
- ct_list_data *clist_d = static_cast<ct_list_data*>(data);
- Evas_Object *btn = phone_create_confirm_popup(&clist_d->popup, clist_d->win, S_(PH_SYS_POP_DELETE_Q), createContListDeletePopupCB, data);
- evas_object_data_set(btn, "clist_d", clist_d);
- }
-}
-
-static void list_edit_del_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- ph_progress_info *p_info;
- list_edit_popup_hide_cb(data, NULL, NULL);
-
- p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- p_retm_if(NULL == p_info, "calloc return NULL");
-
- clist_d->updating = true;
- clist_d->p_info = p_info;
- p_info->cnt_checked_total = clist_d->cnt_checked;
- p_info->alive = true;
- p_info->result = TRUE;
- p_info->popup = phone_progressbar_popup(clist_d->win, p_info, T_(CT_GET_TEXT_BASIC, CTTEXT_DELETING_CONTACTS));
- p_info->timer = ecore_timer_add(0.5, __list_edit_delete_start_timer_cb, clist_d);
-}
-
-static void list_edit_check_done(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int cnt_checked;
- int person_count = 0;
- int number_count = 0;
- int email_count = 0;
- int *result_list_number = NULL;
- int *result_list_email = NULL;
- int *result_list_person = NULL;
- Eina_List *l;
- void *v_person_info;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- // called by setting - import contacts (list - vcard contacts)
- if (CT_GET_LIST_VCARD == clist_d->list_op)
- {
- clist_d->select_result_cb(clist_d->select_result_cb_data, NULL, 0);
- phone_hide_notify(clist_d->base_layout);
- return;
- }
- cnt_checked = eina_list_count(clist_d->list_check_info);
-
- PH_DBG("clist_d->ug_request %d count %d", clist_d->ug_request, cnt_checked);
- if (CT_UG_REQUEST_CHECK_FOR_NUMBER == clist_d->ug_request)
- result_list_number = (int *) calloc(cnt_checked, sizeof(int));
- else if (CT_UG_REQUEST_CHECK_FOR_EMAIL == clist_d->ug_request)
- result_list_email = (int *) calloc(cnt_checked, sizeof(int));
- else if (CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == clist_d->ug_request)
- {
- result_list_number = (int *) calloc(cnt_checked, sizeof(int));
- result_list_email = (int *) calloc(cnt_checked, sizeof(int));
- }
- else
- result_list_person = (int *) calloc(cnt_checked, sizeof(int));
-
- EINA_LIST_FOREACH(clist_d->list_check_info, l, v_person_info)
- {
- ct_person_list *person_info = (ct_person_list *) v_person_info;
-
- if (NULL == person_info || !person_info->checked)
- continue;
- if (FOUND_BY_NUMBER == person_info->id_ret_type)
- {
- result_list_number[number_count++] = person_info->id_ret;
- }
- else if (FOUND_BY_EMAIL == person_info->id_ret_type)
- {
- if (result_list_email)
- result_list_email[email_count++] = person_info->id_ret;
- }
- else
- {
- if (result_list_person)
- result_list_person[person_count++] = person_info->id;
- }
- }
-
- // setting - import,export / group-view - message,email,chaton,calendar
- if (clist_d->select_result_cb)
- { // called by setting view - check person_info
- if (CT_UG_REQUEST_CHECK_FOR_NUMBER != clist_d->ug_request)
- ctui_list_edit_navi_pop(clist_d, NULL, NULL);
- elm_naviframe_item_pop(clist_d->navi);
- }
- if (clist_d->contact_add_cb)
- { // called by group,favorite view - check person_info
- if (0 < cnt_checked)
- {
- clist_d->contact_add_cb(clist_d->win, clist_d->navi, cnt_checked);
- phone_hide_notify(clist_d->base_layout);
- }
- else
- elm_naviframe_item_pop_to((Elm_Object_Item *)
- evas_object_data_get(clist_d->navi, "navi_it_pop"));
- if (result_list_person)
- free(result_list_person);
- if (result_list_number)
- free(result_list_number);
- if (result_list_email)
- free(result_list_email);
- return;
- }
-
- if (CT_UG_REQUEST_CHECK_FOR_NUMBER == clist_d->ug_request)
- {
- if (clist_d->service_operation)
- phone_list_ug_return_values(clist_d->service_operation,
- result_list_number, cnt_checked,
- CT_OPERATION_RESULT_TYPE_PHONE);
- else
- phone_list_ug_return_ids(clist_d->ug, result_list_number,
- cnt_checked, CT_UG_BUNDLE_RESULT_NUMBER_ID_LIST);
- }
- else if (CT_UG_REQUEST_CHECK_FOR_EMAIL == clist_d->ug_request)
- {
- if (clist_d->service_operation)
- phone_list_ug_return_values(clist_d->service_operation,
- result_list_email, cnt_checked,
- CT_OPERATION_RESULT_TYPE_EMAIL);
- else
- phone_list_ug_return_ids(clist_d->ug, result_list_email,
- cnt_checked, CT_UG_BUNDLE_RESULT_EMAIL_ID_LIST);
- }
- else if (CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == clist_d->ug_request)
- {
- phone_list_ug_return_number_email_ids(clist_d->ug, result_list_number,
- number_count, result_list_email, email_count);
- }
- else
- {
- if (clist_d->service_operation)
- phone_list_ug_return_values(clist_d->service_operation,
- result_list_person, cnt_checked,
- CT_OPERATION_RESULT_TYPE_ITEM_ID);
- else
- phone_list_ug_return_ids(clist_d->ug, result_list_person,
- cnt_checked, CT_UG_BUNDLE_RESULT_PERSON_ID_LIST);
- }
- if (result_list_person)
- free(result_list_person);
- if (result_list_number)
- free(result_list_number);
- if (result_list_email)
- free(result_list_email);
-
- ug_destroy_me(clist_d->ug);
-}
-
-static void list_gadd_view_cancel_btn_cb(void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- p_retm_if(NULL == clist_d, "clist_d is NULL");
-
- phone_hide_notify(clist_d->navi);
- elm_naviframe_item_pop_to((Elm_Object_Item *) evas_object_data_get(clist_d->navi, "navi_it_pop"));
-}
-
-static void __list_edit_ug_destroy_me_cb(void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- if (clist_d->service_operation)
- phone_service_reply_simple(clist_d->service_operation,
- SERVICE_RESULT_FAILED);
-
- ug_destroy_me(clist_d->ug);
-}
-
-static void list_edit_back_cb(void *data)
-{
- ct_list_data *clist_d = (ct_list_data *) data;
- assert(clist_d);
-
- if (!clist_d)
- {
- return;
- }
-
- evas_object_smart_callback_del(clist_d->navi, "transition,finished",ctui_list_edit_navi_pop);
- elm_naviframe_item_pop(clist_d->navi);
-}
-
-void ct_list_edit_make_edit_navi(ct_list_data *clist_d)
-{
- PH_TRACE;
- Evas_Object *delete_button = NULL; // used for delete button or remove button
- Evas_Object *done_button = NULL;
- phone_navi_item_reset(clist_d->navi_item, clist_d);
-
- if (CT_UG_REQUEST_CHECK == clist_d->ug_request
- || CT_UG_REQUEST_CHECK_FOR_NUMBER == clist_d->ug_request
- || CT_UG_REQUEST_CHECK_FOR_EMAIL == clist_d->ug_request
- || CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == clist_d->ug_request)
- {
- done_button = phone_create_toolbar_btn(clist_d->base_layout,
- S_(CT_SYS_SK_DONE), list_edit_check_done, clist_d);
- elm_object_part_content_set(clist_d->base_layout, "toolbar",
- done_button);
- evas_object_data_set(clist_d->navi, "done_button", done_button);
- if (CT_UG_REQUEST_CHECK_FOR_NUMBER == clist_d->ug_request)
- {
- evas_object_smart_callback_add(clist_d->navi, "transition,finished",
- ctui_list_edit_navi_pop, clist_d);
- clist_d->back_cb = list_edit_back_cb;
- }
-
- if (clist_d->navi_item != elm_naviframe_bottom_item_get(clist_d->navi))
- { // group view, setting view : CHECK MODE
- if (clist_d->select_result_cb || clist_d->ug)
- {
- elm_object_style_set(done_button, "naviframe/toolbar/default");
- }
- else
- {
- clist_d->back_cb = list_gadd_view_cancel_btn_cb;
- elm_object_style_set(done_button, "naviframe/toolbar/left");
- }
- }
- else
- { // check UG
- clist_d->back_cb = __list_edit_ug_destroy_me_cb;
- }
- }
- else if (!clist_d->ug)
- {
- // group detail : all or not assign, do not dispaly del button
- if (clist_d->navi_item == elm_naviframe_bottom_item_get(clist_d->navi)
- || clist_d->base_grp)
- {
- delete_button = phone_create_toolbar_btn(clist_d->base_layout,
- CT_LIST_MULTI_REMOVE_MEMBER == clist_d->view_id ? S_(PH_SYS_BODY_REMOVE) : S_(PH_SYS_SK_DELETE),
- createContListDeleteConfirmationPopupCB, clist_d);
- elm_object_part_content_set(clist_d->base_layout, "toolbar",
- delete_button);
- evas_object_data_set(clist_d->navi, "delete_button", delete_button);
- }
-
- clist_d->back_cb = list_edit_cancel_cb;
- }
-}
-
-static void list_edit_select_all(void *data, Eina_Bool checked)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- list_edit_items_checked_set(clist_d, checked);
- elm_genlist_realized_items_update(clist_d->genlist);
-
- if (checked)
- clist_d->cnt_checked = clist_d->cnt_list_total;
- else
- clist_d->cnt_checked = 0;
-
- ctui_list_update_selection_info(clist_d);
-}
-
-void ct_list_item_checked_set(Elm_Object_Item *item, ct_list_data *clist_d)
-{
- PH_TRACE;
- ct_person_list *person_info = (ct_person_list *) elm_object_item_data_get(item);
- p_retm_if(NULL == person_info, "elm_object_item_data_get() returns NULL");
-
- if (person_info->checked)
- {
- if (clist_d->cnt_max_check)
- {
- if (clist_d->cnt_max_check <= clist_d->cnt_checked)
- {
- phone_show_popup(clist_d->navi,
- T_(CT_GET_TEXT_ERR, CTTEXT_EXCEED_LIMIT), 2.0);
- person_info->checked = EINA_FALSE;
- return;
- }
- }
- clist_d->cnt_checked++;
- }
- else
- clist_d->cnt_checked--;
- elm_genlist_item_update(item);
-
- clist_d->list_check_info = update_list_person_check_info(clist_d->list_check_info, person_info);
-}
-
-static void list_edit_item_check_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Elm_Object_Item * item;
- ct_person_list *person_info;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- person_info = (ct_person_list *) evas_object_data_get(obj, "person_info");
- p_retm_if(NULL == person_info, "evas_object_data_get() return NULL");
-
- item = person_info->item;
- p_retm_if(NULL == item, "person_info->item is NULL");
-
- if (person_info->checked)
- {
- person_info->checked = !person_info->checked;
- ct_list_item_checked_set(item, clist_d);
- ctui_list_update_selection_info(clist_d);
- return;
- }
-
-
- elm_genlist_item_update(item);
-
- if (CT_UG_REQUEST_CHECK_FOR_NUMBER == clist_d->ug_request)
- ct_list_ug_handle_check_for_number(item, clist_d);
- else if (CT_UG_REQUEST_CHECK_FOR_EMAIL == clist_d->ug_request)
- ct_list_ug_handle_check_for_email(item, clist_d);
- else if (CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == clist_d->ug_request)
- ct_list_ug_handle_check_for_number_or_email(item, clist_d);
- else
- {
- person_info->checked = !person_info->checked;
- ct_list_item_checked_set(item, clist_d);
- ctui_list_update_selection_info(clist_d);
- }
-
-}
-
-Evas_Object* ct_list_edit_add_check(Evas_Object *parent, Eina_Bool *checked,
- ct_list_data *clist_d)
-{
- PH_TRACE;
- Evas_Object *check = elm_check_add(parent);
- elm_check_state_set(check, *checked);
- evas_object_propagate_events_set(check, EINA_FALSE);
- evas_object_smart_callback_add(check, "changed", list_edit_item_check_cb,
- clist_d);
- return check;
-}
-
-API void ctui_list_edit_mode_start(ct_list_data *clist_d)
-{
- PH_TRACE;
-
- //Sweep Off in Edit mode
- ctui_list_set_unsweep(clist_d);
-
- clist_d->list_mode = CT_LIST_MODE_EDIT;
-
- // Append 'Select All' layout
- if ((CT_UG_REQUEST_CHECK_FOR_NUMBER != clist_d->ug_request)
- && (CT_UG_REQUEST_CHECK_FOR_EMAIL != clist_d->ug_request)
- && (CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL != clist_d->ug_request)
- && (CT_LIST_MULTI_ADD_MEMBER != clist_d->view_id))
- if (((!clist_d->ug_request || clist_d->select_result_cb)
- || (clist_d->base_grp > 0 && clist_d->contact_add_cb))
- && (0 == clist_d->cnt_max_check
- || clist_d->cnt_list_total <= clist_d->cnt_max_check))
- {
- clist_d->select_all_layout = phone_create_select_all(clist_d->box,
- S_(PH_SYS_BODY_SELECT_ALL), list_edit_select_all,
- clist_d);
- elm_box_pack_start(clist_d->box, clist_d->select_all_layout);
- }
-
- if (clist_d->count_item)
- {
- elm_object_item_del(clist_d->count_item);
- clist_d->count_item = NULL;
- }
- elm_genlist_decorate_mode_set(clist_d->genlist, EINA_TRUE);
-
- if (CT_LIST_IN_MULTI_TAB != clist_d->tab_mode && !clist_d->title
- && CT_UG_REQUEST_SELECT_PERSON <= clist_d->ug_request)
- {
- elm_object_item_text_set(clist_d->navi_item,
- T_(CT_GET_TEXT_BASIC, CTTEXT_SELECT_CONTACTS));
- }
- if (0 < clist_d->cnt_list_total)
- phone_show_notify(clist_d->base_layout,
- T_(CT_GET_TEXT_BASIC, CTTEXT_SELECT_CONTACTS));
-
- ctui_list_navi_set(CT_LIST_MODE_EDIT, clist_d);
-
- if (clist_d->genlist)
- elm_object_focus_set(clist_d->genlist, EINA_TRUE);
-
- phone_set_searchbar_add_button_visible(*clist_d, false);
-}
-
-void ct_list_edit_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data* clist_d = static_cast<ct_list_data*>(data);
- p_retm_if(NULL == clist_d->navi_item, "parameter(navi_item) is NULL");
-
- list_edit_popup_hide_cb(data, NULL, NULL);
- list_edit_menu_hide_cb(data, NULL, NULL);
- ctui_list_edit_mode_start(clist_d);
- }
-}
-
-void ct_list_settings_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data* clist_d = static_cast<ct_list_data*>(data);
- p_retm_if(NULL == clist_d->navi_item, "parameter(navi_item) is NULL");
-
- list_edit_popup_hide_cb(data, NULL, NULL);
- list_edit_menu_hide_cb(data, NULL, NULL);
-
- clist_d->child_ug = phone_launch_settings_ug(clist_d->ug, CONTACTS_SETTINGS_UG,
- ct_list_destroy_child_ug, clist_d);
- }
-}
-
-API void ctui_list_set_selectall(ct_list_data *clist_d)
-{
- PH_TRACE;
- PH_DBG("ctui_list_set_selectall view_id %d", clist_d->view_id);
- if (NULL != clist_d->select_all_layout
- || CT_LIST_MODE_DEFAULT == clist_d->list_mode
- || CT_LIST_MULTI_ADD_MEMBER == clist_d->view_id)
- return;
- // Append 'Select All' layout
- if ((CT_UG_REQUEST_CHECK_FOR_NUMBER != clist_d->ug_request)
- && (CT_UG_REQUEST_CHECK_FOR_EMAIL != clist_d->ug_request)
- && (CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL != clist_d->ug_request))
- if (((!clist_d->ug_request || clist_d->select_result_cb)
- || (clist_d->base_grp > 0 && clist_d->contact_add_cb))
- && (0 == clist_d->cnt_max_check
- || clist_d->cnt_list_total <= clist_d->cnt_max_check))
- {
- clist_d->select_all_layout = phone_create_select_all(clist_d->box,
- S_(PH_SYS_BODY_SELECT_ALL), list_edit_select_all,
- clist_d);
- elm_box_pack_start(clist_d->box, clist_d->select_all_layout);
- }
-
-}
-
diff --git a/lib/list/ct-list-edit-view.h b/lib/list/ct-list-edit-view.h
deleted file mode 100755
index ca3ec6f..0000000
--- a/lib/list/ct-list-edit-view.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CONTACTS_LIST_EDIT_VIEW_H__
-#define __CONTACTS_LIST_EDIT_VIEW_H__
-
-/**
- * Module responsible for editing selected contact.
- */
-
-void ct_list_edit_mode_end(ct_list_data *clist_d);
-void ct_list_edit_cb(void *data, Evas_Object *obj, void *event_info);
-void ct_list_settings_cb(void *data, Evas_Object *obj, void *event_info);
-void ct_list_edit_make_edit_navi(ct_list_data *clist_d);
-Evas_Object* ct_list_edit_add_check(Evas_Object *parent, Eina_Bool *checked,
- ct_list_data *clist_d);
-void ct_list_item_checked_set(Elm_Object_Item *item, ct_list_data *clist_d);
-
-/**
- * Deletes group contacts from database.
- * @param clist_d Contact list data.
- */
-void list_edit_delete_persons_without_progressbar(ct_list_data *clist_d);
-
-/**
- * The callback function to get the result of contacts_db_update_records_async operation.
- * @param error Error code for batch operation.
- * @param user_data The user data passed from the batch operation.
- */
-void list_edit_delete_persons_without_progressbar_cb(int err, void *data);
-
-#endif //__CONTACTS_LIST_EDIT_VIEW_H__
diff --git a/lib/list/ct-list-main.cpp b/lib/list/ct-list-main.cpp
deleted file mode 100755
index 4b95b4f..0000000
--- a/lib/list/ct-list-main.cpp
+++ /dev/null
@@ -1,994 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * ct-list is an UI-control responsible for drawing and handling list-specific event of contacts-app
- * (some kind of "sub-application" used by "host" contacts-app).
- */
-
-#include <vconf.h>
-#include <vconf-keys.h>
-#include <ui-gadget-module.h>
-#include <efl_assist.h>
-#include "phone.h"
-#include "ct-list.h"
-#include "ct-group.h"
-#include "ct-detail.h"
-#include "ct-list-utils.h"
-#include "ct-list-view-ug.h"
-#include "ct-list-contact-view.h"
-#include "ct-list-edit-view.h"
-#include "ViewManager.h"
-
-API void ctui_list_view_reset(ct_list_data *clist_d)
-{
- PH_TRACE;
- evas_object_data_del(clist_d->navi, "done_button");
- evas_object_data_del(clist_d->navi, "edit_button");
- evas_object_data_del(clist_d->navi, "new_button");
- evas_object_data_del(clist_d->navi, "view_button");
- evas_object_data_del(clist_d->navi, "account_button");
-
- if (CT_UG_REQUEST_CHECK != clist_d->ug_request
- && CT_UG_REQUEST_CHECK_FOR_NUMBER != clist_d->ug_request
- && CT_UG_REQUEST_CHECK_FOR_EMAIL != clist_d->ug_request
- && CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL != clist_d->ug_request)
- {
- if (CT_LIST_MODE_EDIT == clist_d->list_mode)
- {
- ct_list_edit_mode_end(clist_d);
- }
- }
-
- if (elm_naviframe_top_item_get(clist_d->navi) != clist_d->navi_item)
- {
- elm_naviframe_item_pop_to(clist_d->navi_item);
- }
- else
- {
- ctui_list_set_unsweep(clist_d);
- }
-
- if (clist_d->child_ug)
- {
- ug_destroy(clist_d->child_ug);
- clist_d->child_ug = NULL;
- }
-}
-
-API void ctui_list_view_language_changed(Evas_Object *navi)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) evas_object_data_get(navi, "clist_d");
- p_retm_if(NULL == clist_d, "evas_object_data_get() return NULL");
- ctui_list_genlist_update(clist_d);
- if (clist_d->searchbar)
- elm_object_part_text_set(clist_d->searchbar, "elm.guidetext",
- S_(CT_SYS_BODY_SEARCH));
-
- ctui_list_update_selection_info(clist_d);
-
- void *cdetail_d = evas_object_data_get(navi, "cdetail_d");
- if (cdetail_d)
- ct_detail_view_language_changed((ct_detail_data *) cdetail_d);
-}
-
-static int create_list_view(Evas_Object *base, ct_list_data *clist_d)
-{
- PH_TRACE;
- char buf[PH_TEXT_SHORT_LEN];
-
- if (NULL == clist_d->navi)
- {
- p_retvm_if(NULL == base, FALSE, "base is NULL");
- clist_d->navi = elm_naviframe_add(base);
- p_retvm_if(NULL == clist_d->navi, FALSE, "navi is NULL");
- ea_object_event_callback_add(clist_d->navi, EA_CALLBACK_BACK, &Common::ViewManager::onBack, clist_d->win);
- ea_object_event_callback_add(clist_d->navi, EA_CALLBACK_MORE, &Common::ViewManager::onMenu, NULL);
- elm_naviframe_prev_btn_auto_pushed_set(clist_d->navi, EINA_FALSE);
- elm_object_part_content_set(base, "elm.swallow.content", clist_d->navi);
- evas_object_show(clist_d->navi);
- }
- ct_list_init_account_data(clist_d);
- if (CT_GET_LIST_VCARD != clist_d->list_op)
- ct_list_get_contacts(clist_d, &clist_d->list);
- clist_d->base_layout = ct_list_create_contact_view(clist_d);
-
- FREEandSTRDUP(clist_d->title, T_(CT_GET_TEXT_BASIC, CTTEXT_ALL_CONTACTS));
- snprintf(buf, sizeof(buf), "%s (%d)", clist_d->title,
- clist_d->cnt_list_total);
- clist_d->navi_item = elm_naviframe_item_push(clist_d->navi, buf, NULL, NULL,
- clist_d->base_layout, NULL);
-
- return TRUE;
-}
-
-static Evas_Object* list_create_vcard_list_view(Evas_Object *base,
- ct_list_data *clist_d)
-{
- PH_TRACE;
- char buf[PH_TEXT_SHORT_LEN];
-
- p_retvm_if(NULL == base, FALSE, "base is NULL");
-
- clist_d->navi = elm_naviframe_add(base);
- p_retvm_if(NULL == clist_d->navi, FALSE, "navi is NULL");
- ea_object_event_callback_add(clist_d->navi, EA_CALLBACK_BACK, &Common::ViewManager::onBack, clist_d->win);
- ea_object_event_callback_add(clist_d->navi, EA_CALLBACK_MORE, &Common::ViewManager::onMenu, NULL);
- elm_naviframe_prev_btn_auto_pushed_set(clist_d->navi, EINA_FALSE);
- evas_object_show(clist_d->navi);
-
- clist_d->base_layout = ct_list_create_contact_view(clist_d);
-
- clist_d->title = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_VCARD_CONTACTS));
- snprintf(buf, sizeof(buf), "%s (%d)", clist_d->title,
- clist_d->cnt_list_total);
- clist_d->navi_item = elm_naviframe_item_push(clist_d->navi, buf, NULL, NULL,
- clist_d->base_layout, NULL);
- if (clist_d->select_result_cb)
- ctui_list_edit_mode_start(clist_d);
- else
- ctui_list_navi_set(CT_LIST_MODE_DEFAULT, clist_d);
-
- elm_object_part_content_set(base, "elm.swallow.content", clist_d->navi);
-
- return clist_d->navi;
-}
-
-static int __list_parse_bundle_by_operation(service_h service,
- ct_list_data* clist_d)
-{
- PH_TRACE;
- char* val = NULL;
- char* val1 = NULL;
- char *operation = NULL;
-
- service_get_operation(service, &operation);
- p_retvm_if(NULL == operation, 0, "operation is NULL");
- PH_DBG("operaion = %s", operation);
-
- if (strcmp(operation, CT_OPERATION_SOCIAL_CHOOSE) == 0)
- {
- service_get_extra_data(service, CT_OPERATION_ITEM_TYPE, &val);
- if (val)
- {
- if (strcmp(val, CT_OPERATION_ITEM_TYPE_PERSON) != 0)
- {
- ERR("CT_OPERATION_ITEM_TYPE_PERSON not matched %s", val);
- free(val);
- return -1;
- }
- free(val);
- val = NULL;
- }
- else
- {
- ERR("CT_OPERATION_ITEM_TYPE is mandatory");
- return -1;
- }
- clist_d->service_operation = service;
- clist_d->ug_request = CT_UG_REQUEST_UPDATE_CONTACT;
- clist_d->list_op = CT_GET_LIST_PERSON_OF_WRITABLE_ADDRBOOK_ID;
-
- service_get_extra_data(service, CT_OPERATION_PHONE, &val1);
- if (val1)
- {
- clist_d->ug_request = CT_UG_REQUEST_UPDATE_WITH_NUM;
- clist_d->ug_data = val1;
- return 1;
- }
-
- service_get_extra_data(service, CT_OPERATION_EMAIL, &val1);
- if (val1)
- {
- clist_d->ug_request = CT_UG_REQUEST_UPDATE_WITH_EMAIL;
- clist_d->ug_data = val1;
- return 1;
- }
-
- service_get_extra_data(service, CT_OPERATION_URL, &val1);
- if (val1)
- {
- clist_d->ug_request = CT_UG_REQUEST_UPDATE_WITH_WEB;
- clist_d->ug_data = val1;
- return 1;
- }
- }
- else if (strcmp(operation, CT_OPERATION_SOCIAL_PICK) == 0)
- {
- service_get_extra_data(service, CT_OPERATION_ITEM_TYPE, &val);
- if (val)
- {
- if (strcmp(val, CT_OPERATION_ITEM_TYPE_PERSON) != 0)
- {
- ERR("CT_OPERATION_ITEM_TYPE_PERSON not matched %s", val);
- free(val);
- return -1;
- }
- free(val);
- val = NULL;
- }
- else
- {
- ERR("CT_OPERATION_ITEM_TYPE is mandatory");
- return -1;
- }
-
- service_get_extra_data(service, CT_OPERATION_SELECTION_MODE, &val);
- if (val)
- {
- if (strcmp(val, CT_OPERATION_SELECTION_MODE_SINGLE) == 0)
- {
- service_get_extra_data(service, CT_OPERATION_RESULT_TYPE,
- &val1);
- if (val1)
- {
- if (strcmp(val1, CT_OPERATION_RESULT_TYPE_PHONE) == 0)
- {
- clist_d->ug_request = CT_UG_REQUEST_SELECT_NUMBER;
- clist_d->list_op = CT_GET_LIST_ALL_PERSON_HAD_NUMBER;
- }
- else if (strcmp(val1, CT_OPERATION_RESULT_TYPE_EMAIL) == 0)
- {
- clist_d->ug_request = CT_UG_REQUEST_SELECT_EMAIL;
- clist_d->list_op = CT_GET_LIST_ALL_PERSON_HAD_EMAIL;
- }
- else if (strcmp(val1, CT_OPERATION_RESULT_TYPE_ITEM_ID)
- == 0)
- {
- clist_d->ug_request = CT_UG_REQUEST_SELECT_PERSON;
- }
- else if (strcmp(val1, CT_OPERATION_RESULT_TYPE_VCARD) == 0)
- {
- clist_d->ug_request = CT_UG_REQUEST_SELECT_VCARD;
-
- }
- else
- {
- ERR("CT_OPERATION_RESULT_TYPE is wrong value %s", val1);
- free(val);
- free(val1);
- return -1;
- }
- free(val1);
- clist_d->service_operation = service;
- }
- else
- {
- ERR("CT_OPERATION_RESULT_TYPE is wrong value %s", val1);
- free(val);
- free(val1);
- return -1;
- }
- }
- else if (strcmp(val, CT_OPERATION_SELECTION_MODE_MULTIPLE) == 0)
- {
- service_get_extra_data(service, CT_OPERATION_RESULT_TYPE,
- &val1);
- if (val1)
- {
- if (strcmp(val1, CT_OPERATION_RESULT_TYPE_PHONE) == 0)
- {
- clist_d->ug_request = CT_UG_REQUEST_CHECK_FOR_NUMBER;
- clist_d->list_op = CT_GET_LIST_ALL_PERSON_HAD_NUMBER;
- }
- else if (strcmp(val1, CT_OPERATION_RESULT_TYPE_EMAIL) == 0)
- {
- clist_d->ug_request = CT_UG_REQUEST_CHECK_FOR_EMAIL;
- clist_d->list_op = CT_GET_LIST_ALL_PERSON_HAD_EMAIL;
- }
- else if (strcmp(val1, CT_OPERATION_RESULT_TYPE_ITEM_ID)
- == 0)
- {
- clist_d->ug_request = CT_UG_REQUEST_CHECK;
- }
- else
- {
- ERR("CT_OPERATION_RESULT_TYPE is wrong value %s", val1);
- free(val);
- free(val1);
- return -1;
- }
- free(val1);
- clist_d->service_operation = service;
- }
- else
- {
- ERR("CT_OPERATION_RESULT_TYPE is wrong value %s", val1);
- free(val);
- free(val1);
- return -1;
- }
- }
- else
- {
- ERR("CT_OPERATION_SELECTION_MODE is wrong %s", val);
- free(val);
- return -1;
- }
- free(val);
- }
- else
- {
- ERR("CT_OPERATION_SELECTION_MODE is mandatory");
- return -1;
- }
- }
- else
- {
- ERR("operation wrong");
- return -1;
- }
-
- return 1;
-}
-
-static void *list_on_create(ui_gadget_h ug, enum ug_mode mode,
- service_h service, void *priv)
-{
- PH_TRACE;
- int ret;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *bg, *base;
- Evas_Object *parent;
- ct_list_data *clist_d = (ct_list_data *) priv;
- char *operation = NULL;
-
- p_retvm_if(NULL == ug || NULL == priv, NULL,
- "The parameter is invalid(ug=%p, priv=%p)", ug, priv);
-
- clist_d->win = (Evas_Object *) ug_get_window();
- parent = (Evas_Object *) ug_get_parent_layout(ug);
- p_retvm_if(NULL == parent, NULL, "ug_get_parent_layout() return NULL");
- clist_d->ug = ug;
-
- bindtextdomain(PACKAGE, LOCALEDIR);
-
- err = contacts_connect2();
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_connect2() Failed(%d)", err);
-
- service_get_operation(service, &operation);
- if (operation)
- {
- ret = __list_parse_bundle_by_operation(service, clist_d);
- free(operation);
- if (ret < 0)
- {
- ERR("__list_parse_bundle_by_operation invalid parameter");
- ret = ct_list_parse_bundle(service, clist_d);
- }
- }
- else
- {
- ret = ct_list_parse_bundle(service, clist_d);
- }
-
- if (UG_MODE_FULLVIEW == mode)
- base = phone_create_base_layout(parent, true);
- else
- base = phone_create_base_layout(parent, false);
-
- clist_d->base_ab = -1;
-
- if (-2 == ret)
- {
- Evas_Object *popup;
- popup = elm_popup_add(base);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_object_text_set(popup, S_(CT_SYS_POP_FILE_NOT_FOUND));
- elm_popup_timeout_set(popup, 1.5);
- evas_object_show(popup);
- evas_object_smart_callback_add(popup, "timeout", ctui_list_ug_hide_cb,
- clist_d->ug);
- return base;
- }
- p_retvm_if(-1 == ret, NULL, "ct_list_parse_bundle() Failed");
-
- bg = phone_create_bg(base);
- if (NULL == bg)
- {
- ERR("phone_create_bg() return NULL");
- evas_object_del(base);
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_disconnect2() Failed(%d)", err);
- return NULL;
- }
-
- if (clist_d->ug_request == CT_UG_REQUEST_SELECT_GROUP
- || clist_d->ug_request == CT_UG_REQUEST_SELECT_GROUP_ADD_TO_HOME)
- {
- Evas_Object *layout = phone_create_group_view_ug(clist_d->ug, base,
- clist_d->ug_request);
- phone_group_set_navi(layout);
- }
- else if (FALSE == create_list_view(base, clist_d))
- {
- evas_object_del(base);
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_disconnect2() Failed(%d)", err);
- }
- else
- {
- if (CT_UG_REQUEST_CHECK == clist_d->ug_request
- || CT_UG_REQUEST_CHECK_FOR_NUMBER == clist_d->ug_request
- || CT_UG_REQUEST_CHECK_FOR_EMAIL == clist_d->ug_request
- || CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL
- == clist_d->ug_request)
- ctui_list_edit_mode_start(clist_d);
- else
- ctui_list_navi_set(CT_LIST_MODE_DEFAULT, clist_d);
- }
-
- return base;
-}
-
-static void list_on_message(ui_gadget_h ug, service_h msg, service_h service,
- void *priv)
-{
- PH_TRACE;
-}
-
-static void list_on_pause(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ct_list_data *clist_d = (ct_list_data *) priv;
- err = contacts_setting_get_name_display_order(&(clist_d->order_display));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_setting_get_name_display_order() Failed(%d)", err);
- clist_d->is_background = true;
-}
-
-static void list_on_resume(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) priv;
- ct_detail_data *cdetail_d;
- int err = CONTACTS_ERROR_NONE;
- contacts_name_display_order_e order_display;
-
- clist_d->is_background = false;
-
- err = contacts_setting_get_name_display_order(&order_display);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_setting_get_name_display_order() Failed(%d)", err);
-
- if (clist_d->order_display != order_display)
- {
- ctui_list_genlist_update(clist_d);
- cdetail_d = (ct_detail_data *) evas_object_data_get(clist_d->navi, "cdetail_d");
- if (cdetail_d)
- ctui_detail_genlist_update(cdetail_d);
- }
- if (clist_d->update_timer)
- {
- ecore_timer_del(clist_d->update_timer);
- clist_d->update_timer = NULL;
- ctui_list_genlist_update(clist_d);
- }
-}
-
-static void list_on_event(ui_gadget_h ug, enum ug_event event,
- service_h service, void *priv)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) priv;
-
- switch (event)
- {
- case UG_EVENT_ROTATE_PORTRAIT:
- case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
- break;
- case UG_EVENT_ROTATE_LANDSCAPE:
- case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
- break;
- case UG_EVENT_LANG_CHANGE:
- ctui_list_view_language_changed(clist_d->navi);
- break;
- default:
- break;
- }
-}
-
-static void list_on_destroy(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ct_list_data *clist_d = (ct_list_data *) priv;
- p_retm_if(NULL == priv, "The parameter is invalid(priv=%p)", priv);
- p_retm_if(NULL == ug, "The parameter is invalid(ug=%p)", ug);
-
- free(clist_d->ug_data);
-
- if (clist_d->ug)
- {
- evas_object_del((Evas_Object *) ug_get_layout(ug));
- }
-
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_disconnect2() Failed(%d)",
- err);
-}
-
-extern "C" API int UG_MODULE_INIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- ct_list_data *clist_d;
-
- p_retvm_if(!ops, -1, "ops is NULL");
-
- clist_d = (ct_list_data *) calloc(1, sizeof(ct_list_data));
- p_retvm_if(!clist_d, -1, "UG data is NULL, Not enough memory");
-
- ops->create = list_on_create;
- ops->start = NULL;
- ops->pause = list_on_pause;
- ops->resume = list_on_resume;
- ops->destroy = list_on_destroy;
- ops->message = list_on_message;
- ops->event = list_on_event;
- ops->key_event = NULL;
- ops->priv = clist_d;
- ops->opt = UG_OPT_INDICATOR_ENABLE;
-
- return 0;
-}
-
-extern "C" API void UG_MODULE_EXIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- p_retm_if(!ops, "ops is NULL");
-
- free(ops->priv);
- ops->priv = NULL;
-}
-
-// Setting - export,import / Group - Message,Email,Share,ChatOn
-API Evas_Object* ctui_create_list_select_view(Evas_Object *navi,
- ct_select_result_cb result_cb,
- void *result_cb_data,
- int list_op,
- int id_ab,
- int id_grp,
- int cnt_max)
-{
- PH_TRACE;
- PH_DBG("list_op = %d, id_ab = %d, id_grp = %d", list_op, id_ab, id_grp);
-
- ct_list_data *clist_d = (ct_list_data *) calloc(1, sizeof(ct_list_data));
- p_retvm_if(!clist_d, NULL, "clist_d is NULL, Not enough memory");
-
- clist_d->navi = navi;
- clist_d->select_result_cb = result_cb;
- clist_d->select_result_cb_data = result_cb_data;
- clist_d->list_op = list_op;
- clist_d->base_ab = id_ab;
- clist_d->base_grp = id_grp;
-
- if (cnt_max > 0)
- {
- clist_d->cnt_max_check = cnt_max;
- }
-
- switch (list_op)
- {
- case CT_GET_LIST_ALL_PERSON_HAD_NUMBER:
- case CT_GET_LIST_PERSON_HAD_NUMBER_OF_ADDRBOOK_ID:
- case CT_GET_LIST_PERSON_HAD_NUMBER_OF_GROUP_ID:
- case CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_NUMBER_OF_ADDRBOOK_ID:
- clist_d->ug_request = CT_UG_REQUEST_CHECK_FOR_NUMBER;
- break;
- case CT_GET_LIST_ALL_PERSON_HAD_EMAIL:
- case CT_GET_LIST_PERSON_HAD_EMAIL_OF_ADDRBOOK_ID:
- case CT_GET_LIST_PERSON_HAD_EMAIL_OF_GROUP_ID:
- case CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_EMAIL_OF_ADDRBOOK_ID:
- clist_d->ug_request = CT_UG_REQUEST_CHECK_FOR_EMAIL;
- break;
- case CT_GET_LIST_ALL_PERSON_HAD_NUMBER_OR_EMAIL:
- case CT_GET_LIST_PERSON_HAD_NUMBER_OR_EMAIL_OF_ADDRBOOK_ID:
- case CT_GET_LIST_PERSON_HAD_NUMBER_OR_EMAIL_OF_GROUP_ID:
- case CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_NUMBER_OR_EMAIL_OF_ADDRBOOK_ID:
- clist_d->ug_request = CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL;
- break;
- default:
- clist_d->ug_request = CT_UG_REQUEST_CHECK;
- break;
- }
-
- ct_list_get_contacts(clist_d, &clist_d->list);
- clist_d->base_layout = ct_list_create_contact_view(clist_d);
-
- ct_list_get_title(clist_d, list_op, id_ab, id_grp);
-
- if (clist_d->sub_title)
- {
- clist_d->navi_item = elm_naviframe_item_push(clist_d->navi,
- clist_d->title, NULL, NULL, clist_d->base_layout, NULL);
- elm_object_item_part_text_set(clist_d->navi_item, "subtitle",
- clist_d->sub_title);
- }
- else
- {
- clist_d->navi_item = elm_naviframe_item_push(clist_d->navi,
- clist_d->title, NULL, NULL, clist_d->base_layout, NULL);
- }
-
- ctui_list_edit_mode_start(clist_d);
-
- return clist_d->navi;
-}
-
-API void ctui_create_favorite_list_select_view(Evas_Object *win,
- Evas_Object *navi,
- Eina_List *list)
-{
- PH_TRACE;
- char buf[PH_TEXT_SHORT_LEN];
- ct_list_data *clist_d = (ct_list_data *) calloc(1, sizeof(ct_list_data));
- p_retm_if(!clist_d, "clist_d is NULL, Not enough memory");
-
- clist_d->win = win;
- clist_d->navi = navi;
- clist_d->contact_add_cb = ct_list_add_contacts_to_favorite;
- clist_d->ug_request = CT_UG_REQUEST_CHECK;
- clist_d->list = list;
- clist_d->base_layout = ct_list_create_contact_view(clist_d);
- clist_d->title = strdup(T_(CT_GET_TEXT_BASE_OP, CTTEXT_ADD_TO_FAVOURITES));
- clist_d->cnt_list_total = eina_list_count(list);
- clist_d->base_ab = -1;
-
- snprintf(buf, sizeof(buf), "%s (%d)", clist_d->title,
- clist_d->cnt_list_total);
-
- clist_d->navi_item = elm_naviframe_item_push(clist_d->navi, buf, NULL, NULL,
- clist_d->base_layout, NULL);
- ctui_list_edit_mode_start(clist_d);
- evas_object_data_set(clist_d->navi, "favor_list_d", clist_d);
-}
-
-API Elm_Object_Item *ctui_create_gadd_list_select_view(Evas_Object *win,
- Evas_Object *navi,
- int group_id,
- int ab_id,
- Eina_List **list,
- bool save_contacts)
-{
- PH_TRACE;
- char buf[PH_TEXT_SHORT_LEN];
-
- ct_list_data *clist_d = (ct_list_data *) calloc(1, sizeof(ct_list_data));
- p_retvm_if(!clist_d, NULL, "clist_d is NULL, Not enough memory");
-
- clist_d->win = win;
- clist_d->navi = navi;
- if (save_contacts)
- {
- clist_d->contact_add_cb = ct_list_add_contacts_to_group;
- }
- else
- {
- clist_d->contact_add_cb = ct_list_add_contacts;
- }
- clist_d->view_id = CT_LIST_MULTI_ADD_MEMBER;
- clist_d->list_op = CT_GET_LIST_PERSON_OF_ADDRBOOK_ID;
- clist_d->ug_request = CT_UG_REQUEST_CHECK;
- clist_d->base_grp = group_id;
- clist_d->base_ab = ab_id;
- clist_d->list_grp_person = list;
- ct_list_get_contacts(clist_d, &clist_d->list);
- clist_d->base_layout = ct_list_create_contact_view(clist_d);
- clist_d->title = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_SELECT_CONTACTS));
- snprintf(buf, sizeof(buf), "%s (%d)", clist_d->title,
- clist_d->cnt_list_total);
-
- clist_d->navi_item = elm_naviframe_item_push(clist_d->navi, buf, NULL, NULL,
- clist_d->base_layout, NULL);
- ctui_list_edit_mode_start(clist_d);
- evas_object_data_set(clist_d->navi, "gadd_list_d", clist_d);
-
- return clist_d->navi_item;
-}
-
-API void ctui_list_update_group_list_without_progressbar(Evas_Object *navi,
- int group_id,
- Eina_List *add_list,
- Eina_List *remove_list)
-{
- PH_TRACE;
- p_retm_if(!navi, "parameter navi is NULL");
- ct_list_data *clist_d = (ct_list_data *) calloc(1, sizeof(ct_list_data));
- p_retm_if(!clist_d, "clist_d is NULL, Not enough memory");
-
- clist_d->navi = navi;
- clist_d->base_grp = group_id;
- clist_d->list_grp_person = &add_list;
- clist_d->list_check_info = remove_list;
-
- if (eina_list_count(add_list) > 0)
- {
- ct_list_add_contacts_to_group_without_progressbar(clist_d);
- }
-
- Eina_List *l_d = NULL;
- void *v_person_info_d = NULL;
- EINA_LIST_FOREACH(clist_d->list_check_info, l_d, v_person_info_d)
- {
- ct_person_list *person_info_d = (ct_person_list *) v_person_info_d;
- if (person_info_d)
- {
- Eina_List *l = NULL;
- void *v_person_info = NULL;
- EINA_LIST_FOREACH(*clist_d->list_grp_person, l, v_person_info)
- {
- ct_person_list *person_info = (ct_person_list *) v_person_info;
- if (person_info)
- {
- if (person_info_d->id == person_info->id)
- {
- clist_d->list_check_info = eina_list_remove(clist_d->list_check_info, person_info_d);
- }
- }
- }
- }
- }
- if (eina_list_count(clist_d->list_check_info) > 0)
- {
- list_edit_delete_persons_without_progressbar(clist_d);
- }
-
- if (clist_d->update_delete_list)
- {
- contacts_db_update_records_async(clist_d->update_delete_list,
- list_edit_delete_persons_without_progressbar_cb, clist_d);
- }
- else if (clist_d->update_add_list)
- {
- contacts_db_update_records_async(clist_d->update_add_list,
- ct_list_add_contacts_to_group_without_progressbar_cb, clist_d);
- }
- else
- {
- phone_show_tickernoti(S_(CT_SYS_POP_SUCCESS));
- elm_naviframe_item_pop(clist_d->navi);
- }
-}
-
-API Evas_Object* ctui_create_vcard_list_select_view(Evas_Object *navi,
- Eina_List *list,
- const char *path,
- ct_select_result_cb result_cb,
- void *result_cb_data)
-{
- PH_TRACE;
- char buf[PH_TEXT_SHORT_LEN];
-
- ct_list_data *clist_d = (ct_list_data *) calloc(1, sizeof(ct_list_data));
- p_retvm_if(!clist_d, NULL, "clist_d is NULL, Not enough memory");
-
- clist_d->navi = navi;
- clist_d->list = list;
- clist_d->cnt_list_total = eina_list_count(list);
- clist_d->vcard_path = path;
- clist_d->select_result_cb = result_cb;
- clist_d->select_result_cb_data = result_cb_data;
- clist_d->list_op = CT_GET_LIST_VCARD;
- clist_d->ug_request = CT_UG_REQUEST_CHECK;
- clist_d->base_ab = -1;
-
- clist_d->base_layout = ct_list_create_contact_view(clist_d);
- clist_d->title = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_VCARD_CONTACTS));
- snprintf(buf, sizeof(buf), "%s (%d)", clist_d->title,
- clist_d->cnt_list_total);
-
- clist_d->navi_item = elm_naviframe_item_push(clist_d->navi, buf, NULL, NULL,
- clist_d->base_layout, NULL);
- ctui_list_edit_mode_start(clist_d);
-
- evas_object_data_set(clist_d->navi, "clist_d", clist_d);
- return clist_d->navi;
-}
-
-// Show contact list view from vcf file
-API Evas_Object* ctui_create_vcard_list_view(Evas_Object *win, Eina_List *list,
- const char *path)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) calloc(1, sizeof(ct_list_data));
- p_retvm_if(!clist_d, NULL, "clist_d is NULL, Not enough memory");
-
- clist_d->win = win;
- clist_d->list = list;
- clist_d->cnt_list_total = eina_list_count(list);
- clist_d->vcard_path = path;
- clist_d->base_ab = -1;
-
- Evas_Object *conform = elm_conformant_add(win);
- p_retvm_if(NULL == conform, NULL, "elm_conformant_add() Failed");
- evas_object_show(conform);
-
- Evas_Object *base = phone_create_base_layout(win, true);
- if (base)
- {
- clist_d->list_op = CT_GET_LIST_VCARD;
- Evas_Object *navi = list_create_vcard_list_view(base, clist_d);
-
- evas_object_data_set(win, "naviframe", (void *) navi);
-
- Evas_Object *bg = phone_create_bg(base);
- if (NULL == bg)
- {
- ERR("phone_create_bg() return NULL");
- evas_object_del(base);
- free(clist_d);
- return NULL;
- }
-
- evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- elm_win_resize_object_add(win, base);
- elm_win_resize_object_add(win, conform);
- elm_object_content_set(conform, base);
- evas_object_show(base);
- evas_object_show(conform);
- evas_object_data_set(clist_d->navi, "clist_d", clist_d);
-
- return base;
- }
- else
- {
- free(clist_d);
- return NULL;
- }
-}
-
-API Evas_Object* ctui_create_phone_list_view(const ph_view_info *view_info)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) calloc(1, sizeof(ct_list_data));
- p_retvm_if(!clist_d, NULL, "clist_d is NULL, Not enough memory");
-
- clist_d->ug = view_info->ug;
- clist_d->win = view_info->win;
- clist_d->navi = view_info->navi;
- clist_d->tab_mode = CT_LIST_IN_MULTI_TAB;
- clist_d->navi_item = elm_naviframe_bottom_item_get(view_info->navi);
-
- switch (view_info->ug_request)
- {
- case PH_UG_REQUEST_CHECK_FOR_EMAIL:
- case PH_UG_REQUEST_SELECT_EMAIL:
- clist_d->list_op = CT_GET_LIST_ALL_PERSON_HAD_EMAIL;
- break;
- case PH_UG_REQUEST_CHECK_FOR_NUMBER:
- case PH_UG_REQUEST_SELECT_NUMBER:
- clist_d->list_op = CT_GET_LIST_ALL_PERSON_HAD_NUMBER;
- break;
- case PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL:
- case PH_UG_REQUEST_SELECT_NUMBER_OR_EMAIL:
- clist_d->list_op = CT_GET_LIST_ALL_PERSON_HAD_NUMBER_OR_EMAIL;
- break;
- default:
- clist_d->list_op = CT_GET_LIST_ALL_PERSON;
- break;
- }
-
- clist_d->base_ab = ctui_get_view_mode();
- if (clist_d->base_ab > -1)
- {
- clist_d->list_op = CT_GET_LIST_PERSON_OF_ADDRBOOK_ID;
- }
- else
- clist_d->base_ab = -1;
-
- clist_d->ug_request = view_info->ug_request;
- clist_d->ug_data = view_info->ug_data;
- clist_d->cnt_max_check = view_info->ug_cnt_max;
-
- ct_list_init_account_data(clist_d);
-
- ct_list_get_contacts(clist_d, &clist_d->list);
- clist_d->base_layout = ct_list_create_contact_view(clist_d);
- evas_object_data_set(clist_d->navi, "clist_d", clist_d);
-
- return clist_d->base_layout;
-}
-
-API void ctui_create_list_single_select_view(Evas_Object *win,
- Evas_Object *navi, Evas_Smart_Cb sel_cb, void *cb_data, int id_caller)
-{
- PH_TRACE;
- ct_list_data *clist_d;
- char buf[PH_TEXT_MAX_LEN + 1];
-
- clist_d = (ct_list_data *) calloc(1, sizeof(ct_list_data));
- clist_d->list_op = CT_GET_LIST_ALL_PERSON;
- clist_d->selected_person_id = id_caller;
- clist_d->navi = navi;
- clist_d->win = win;
- clist_d->gl_sel = sel_cb;
- clist_d->gl_sel_data = cb_data;
-
- ct_list_init_account_data(clist_d);
- ct_list_get_contacts(clist_d, &clist_d->list);
- list_create_itcs(clist_d);
- clist_d->base_layout = ct_list_create_contact_layout(clist_d);
-
- FREEandSTRDUP(clist_d->title, T_(CT_GET_TEXT_BASIC, CTTEXT_ALL_CONTACTS));
- snprintf(buf, sizeof(buf), "%s (%d)", clist_d->title,
- clist_d->cnt_list_total);
- clist_d->navi_item = elm_naviframe_item_push(clist_d->navi, buf, NULL, NULL,
- clist_d->base_layout, NULL);
-}
-
-API void ctui_list_view_resume(Evas_Object *navi)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) evas_object_data_get(navi, "clist_d");
- p_retm_if(NULL == clist_d, "evas_object_data_get() return NULL");
-
- clist_d->is_background = false;
-
- contacts_name_display_order_e order_display;
- int err = contacts_setting_get_name_display_order(&order_display);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_setting_get_name_display_order() Failed(%d)", err);
-
- if (clist_d->order_display != order_display)
- ctui_list_genlist_update(clist_d);
-
- if (clist_d->update_timer)
- {
- ecore_timer_del(clist_d->update_timer);
- clist_d->update_timer = NULL;
- ctui_list_genlist_update(clist_d);
- }
-}
-
-API void ctui_list_set_background(Evas_Object *obj, bool is_background)
-{
- PH_TRACE;
- ct_list_data *clist_d;
- clist_d = (ct_list_data *) evas_object_data_get(obj, "clist_d");
- p_retm_if(NULL == clist_d, "log data is null");
-
- clist_d->is_background = is_background;
- if (clist_d->update_timer)
- {
- ecore_timer_del(clist_d->update_timer);
- clist_d->update_timer = NULL;
- ctui_list_lazy_update(_contacts_person._uri, clist_d);
- }
-}
-
-API void ctui_list_view_pause(Evas_Object *navi)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ct_list_data *clist_d = (ct_list_data *) evas_object_data_get(navi, "clist_d");
- p_retm_if(NULL == clist_d, "evas_object_data_get() return NULL");
-
- err = contacts_setting_get_name_display_order(&(clist_d->order_display));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_setting_get_name_display_order() Failed(%d)", err);
-
-}
-
diff --git a/lib/list/ct-list-utils.cpp b/lib/list/ct-list-utils.cpp
deleted file mode 100755
index f26359c..0000000
--- a/lib/list/ct-list-utils.cpp
+++ /dev/null
@@ -1,1153 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <errno.h>
-#include <fcntl.h>
-#include <ui-gadget-module.h>
-#include "phone.h"
-#include "ct-detail.h"
-#include "ct-list.h"
-#include "ct-list-contact-view.h"
-#include "ct-list-utils.h"
-
-static const char *NAVI_ITEM_POP = "navi_it_pop";
-
-int ct_list_parse_bundle(service_h service, ct_list_data* clist_d)
-{
- PH_TRACE;
- char* val = NULL;
-
- if (service)
- {
- service_get_extra_data(service, CT_UG_BUNDLE_TYPE, &val);
- if (val)
- clist_d->ug_request = atoi(val);
- PH_DBG("type = %d", clist_d->ug_request);
- free(val);
-
- switch (clist_d->ug_request)
- {
- case CT_UG_REQUEST_SELECT_GROUP:
- case CT_UG_REQUEST_SELECT_GROUP_ADD_TO_HOME:
- return 0;
- case CT_UG_REQUEST_LIST:
- case CT_UG_REQUEST_LIST_WITH_BACK:
- case CT_UG_REQUEST_SELECT_PERSON:
- case CT_UG_REQUEST_SHARE_CONTACT_INFO:
- case CT_UG_REQUEST_SELECT_VCARD:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ACCOUNTID, &val);
- if (val)
- {
- clist_d->list_op = CT_GET_LIST_PERSON_OF_ADDRBOOK_ID;
- clist_d->base_ab = atoi(val);
- free(val);
- }
-
- break;
- case CT_UG_REQUEST_SELECT_NUMBER:
- case CT_UG_REQUEST_SELECT_CONTACT_ADD_TO_HOME:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ACCOUNTID, &val);
- if (val)
- {
- clist_d->list_op =
- CT_GET_LIST_PERSON_HAD_NUMBER_OF_ADDRBOOK_ID;
- clist_d->base_ab = atoi(val);
- free(val);
- }
- else
- {
- clist_d->list_op = CT_GET_LIST_ALL_PERSON_HAD_NUMBER;
- }
- break;
- case CT_UG_REQUEST_SELECT_EMAIL:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ACCOUNTID, &val);
- if (val)
- {
- clist_d->list_op =
- CT_GET_LIST_PERSON_HAD_EMAIL_OF_ADDRBOOK_ID;
- clist_d->base_ab = atoi(val);
- free(val);
- }
- else
- {
- clist_d->list_op = CT_GET_LIST_ALL_PERSON_HAD_EMAIL;
- }
- break;
- case CT_UG_REQUEST_SELECT_NUMBER_OR_EMAIL:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ACCOUNTID, &val);
- if (val)
- {
- clist_d->list_op =
- CT_GET_LIST_PERSON_HAD_NUMBER_OR_EMAIL_OF_ADDRBOOK_ID;
- clist_d->base_ab = atoi(val);
- free(val);
- }
- else
- {
- clist_d->list_op =
- CT_GET_LIST_ALL_PERSON_HAD_NUMBER_OR_EMAIL;
- }
- break;
- case CT_UG_REQUEST_UPDATE_CONTACT:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ACCOUNTID, &val);
- if (val)
- {
- clist_d->list_op = CT_GET_LIST_PERSON_OF_ADDRBOOK_ID;
- clist_d->base_ab = atoi(val);
- free(val);
- }
- service_get_extra_data(service, CT_UG_BUNDLE_NUM,
- &clist_d->ug_data);
- if (clist_d->ug_data)
- break;
- service_get_extra_data(service, CT_UG_BUNDLE_EMAIL,
- &clist_d->ug_data);
- if (clist_d->ug_data)
- break;
- service_get_extra_data(service, CT_UG_BUNDLE_WEB,
- &clist_d->ug_data);
- if (clist_d->ug_data)
- break;
- break;
- case CT_UG_REQUEST_UPDATE_WITH_NUM:
- service_get_extra_data(service, CT_UG_BUNDLE_NUM,
- &clist_d->ug_data);
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ACCOUNTID, &val);
- if (val)
- {
- clist_d->base_ab = atoi(val);
- free(val);
- }
- clist_d->list_op = CT_GET_LIST_PERSON_OF_WRITABLE_ADDRBOOK_ID;
- break;
- case CT_UG_REQUEST_UPDATE_WITH_EMAIL:
- service_get_extra_data(service, CT_UG_BUNDLE_EMAIL,
- &clist_d->ug_data);
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ACCOUNTID, &val);
- if (val)
- {
- clist_d->base_ab = atoi(val);
- free(val);
- }
- clist_d->list_op = CT_GET_LIST_PERSON_OF_WRITABLE_ADDRBOOK_ID;
- break;
- case CT_UG_REQUEST_UPDATE_WITH_WEB:
- service_get_extra_data(service, CT_UG_BUNDLE_WEB,
- &clist_d->ug_data);
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ACCOUNTID, &val);
- if (val)
- {
- clist_d->base_ab = atoi(val);
- free(val);
- }
- clist_d->list_op = CT_GET_LIST_PERSON_OF_WRITABLE_ADDRBOOK_ID;
- break;
- case CT_UG_REQUEST_CHECK:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ACCOUNTID, &val);
- if (val)
- {
- clist_d->list_op = CT_GET_LIST_PERSON_OF_ADDRBOOK_ID;
- clist_d->base_ab = atoi(val);
- free(val);
- }
- else
- {
- service_get_extra_data(service, CT_UG_BUNDLE_MAX, &val);
- if (val)
- {
- clist_d->cnt_max_check = atoi(val);
- free(val);
- }
- }
- break;
- case CT_UG_REQUEST_CHECK_FOR_NUMBER:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ACCOUNTID, &val);
- if (val)
- {
- clist_d->list_op =
- CT_GET_LIST_PERSON_HAD_NUMBER_OF_ADDRBOOK_ID;
- clist_d->base_ab = atoi(val);
- free(val);
- }
- else
- {
- clist_d->list_op = CT_GET_LIST_ALL_PERSON_HAD_NUMBER;
- service_get_extra_data(service, CT_UG_BUNDLE_MAX, &val);
- if (val)
- clist_d->cnt_max_check = atoi(val);
- free(val);
- }
- break;
- case CT_UG_REQUEST_CHECK_FOR_EMAIL:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ACCOUNTID, &val);
- if (val)
- {
- clist_d->list_op =
- CT_GET_LIST_PERSON_HAD_EMAIL_OF_ADDRBOOK_ID;
- clist_d->base_ab = atoi(val);
- free(val);
- }
- else
- {
- clist_d->list_op = CT_GET_LIST_ALL_PERSON_HAD_EMAIL;
- service_get_extra_data(service, CT_UG_BUNDLE_MAX, &val);
- if (val)
- clist_d->cnt_max_check = atoi(val);
- free(val);
- }
- break;
- case CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL:
- val = NULL;
- service_get_extra_data(service, CT_UG_BUNDLE_ACCOUNTID, &val);
- if (val)
- {
- clist_d->list_op =
- CT_GET_LIST_PERSON_HAD_NUMBER_OR_EMAIL_OF_ADDRBOOK_ID;
- clist_d->base_ab = atoi(val);
- free(val);
- }
- else
- {
- clist_d->list_op =
- CT_GET_LIST_ALL_PERSON_HAD_NUMBER_OR_EMAIL;
- service_get_extra_data(service, CT_UG_BUNDLE_MAX, &val);
- if (val)
- clist_d->cnt_max_check = atoi(val);
- free(val);
- }
- break;
- break;
- case PH_UG_REQUEST_SET_WITH_IMG:
- case PH_UG_REQUEST_SET_WITH_RINGTONE:
- case CT_UG_REQUEST_SAVE_IMG:
- case CT_UG_REQUEST_SAVE_RINGTONE:
- service_get_extra_data(service, CT_UG_BUNDLE_PATH,
- &clist_d->ug_data);
- if (CT_UG_REQUEST_SAVE_IMG == clist_d->ug_request)
- clist_d->list_op =
- CT_GET_LIST_PERSON_OF_WRITABLE_ADDRBOOK_ID;
- if (-1 == access(clist_d->ug_data, R_OK))
- {
- ERR("Invalid filepath(%s)", clist_d->ug_data);
- return -2;
- }
- break;
- default:
- ERR("Invalid request(%d)", clist_d->ug_request);
- return -1;
- }
- }
- return 0;
-}
-
-static void list_img_crop_result_for_add(ui_gadget_h ug, service_h service,
- void *data)
-{
- PH_TRACE;
- contacts_record_h record_image = NULL;
- int err = CONTACTS_ERROR_NONE;
- ct_detail_data *cdetail_d = (ct_detail_data *) data;
-
- p_retm_if(NULL == ug || NULL == data, "ug or data is NULL");
-
- if (service)
- {
- char *normal = NULL;
- char *full = NULL;
-
- service_get_extra_data(service, "crop_image_path", &normal);
- p_retm_if(!normal, "return value is NULL.\n");
-
- service_get_extra_data(service, "image_path", &full);
- record_image = ctui_get_record_image(cdetail_d->contact);
-
- err = contacts_record_set_str(record_image, _contacts_image.path,
- normal);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- free(normal);
- free(full);
- }
- cdetail_d->only_input = true;
- ctui_create_input_view(cdetail_d);
-}
-
-static void list_destory_detail_child_ug(ui_gadget_h ug, void *priv)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d = (ct_detail_data *) priv;
- p_retm_if(NULL == ug, "ug is NULL");
- ug_destroy(ug);
-
- p_retm_if(NULL == priv, "priv is NULL");
- cdetail_d->child_ug = NULL;
-}
-
-void ct_list_destroy_child_ug(void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data*) data;
- clist_d->child_ug = NULL;
-}
-
-API void ctui_list_update_with_data(ph_view_info *view_info, void *data,
- int person_id, int grp_id, int ab_id)
-{
- PH_TRACE;
- ct_detail_data *cdetail_d;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- struct ug_cbs cbs = { 0 };
-
- cdetail_d = (ct_detail_data *) calloc(1, sizeof(ct_detail_data));
- p_retm_if(!cdetail_d, "cdetail_d is NULL, Not enough memory");
-
- cdetail_d->win = view_info->win;
- cdetail_d->navi = view_info->navi;
- cdetail_d->ug = view_info->ug;
- cdetail_d->prev_navi_item = elm_naviframe_top_item_get(view_info->navi);
- cdetail_d->prev_view_data = data;
- cdetail_d->person_id = person_id;
- cdetail_d->base_grp = grp_id;
- cdetail_d->base_ab = ab_id;
- cdetail_d->ug_request = view_info->ug_request;
-
- if (person_id)
- {
- Eina_List *list_contact;
- err = contacts_db_get_record(_contacts_person._uri, person_id,
- &(cdetail_d->person));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_get_record() Failed(%d)", err);
-
- list_contact = ctui_person_get_writable_contact_list(person_id);
- if (NULL == list_contact)
- {
- err = contacts_record_create(_contacts_contact._uri,
- &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
- }
- else
- {
- err = contacts_record_clone((contacts_record_h) list_contact->data,
- &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_clone() Failed(%d)", err);
- ctui_free_record_list(list_contact);
- }
- }
-
- if (NULL == cdetail_d->contact)
- {
- err = contacts_record_create(_contacts_contact._uri,
- &(cdetail_d->contact));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
- }
-
- switch (view_info->ug_request)
- {
- //case PH_UG_REQUEST_SET_WITH_NUM:
- case CT_UG_REQUEST_UPDATE_WITH_NUM:
- err = contacts_record_create(_contacts_number._uri, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_str(record, _contacts_number.number,
- view_info->ug_data);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- err = contacts_record_set_int(record, _contacts_number.type,
- CONTACTS_NUMBER_TYPE_CELL);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_record_add_child_record(cdetail_d->contact,
- _contacts_contact.number, record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_add_child_record() Failed(%d)", err);
- break;
- //case PH_UG_REQUEST_SET_WITH_EMAIL:
- case CT_UG_REQUEST_UPDATE_WITH_EMAIL:
- err = contacts_record_create(_contacts_email._uri, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_str(record, _contacts_email.email,
- view_info->ug_data);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- err = contacts_record_add_child_record(cdetail_d->contact,
- _contacts_contact.email, record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_add_child_record() Failed(%d)", err);
- break;
- //case PH_UG_REQUEST_SET_WITH_WEB:
- case CT_UG_REQUEST_UPDATE_WITH_WEB:
- err = contacts_record_create(_contacts_url._uri, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_create() Failed(%d)", err);
-
- err = contacts_record_set_str(record, _contacts_url.url,
- view_info->ug_data);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- err = contacts_record_add_child_record(cdetail_d->contact,
- _contacts_contact.url, record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_add_child_record() Failed(%d)", err);
- break;
- case CT_UG_REQUEST_UPDATE_CONTACT:
- break;
- case PH_UG_REQUEST_SET_WITH_IMG:
- case CT_UG_REQUEST_SAVE_IMG: //only handle for add
- cbs.result_cb = list_img_crop_result_for_add;
- cbs.destroy_cb = list_destory_detail_child_ug;
- cbs.priv = cdetail_d;
- cdetail_d->child_ug = phone_image_crop_ug(cdetail_d->ug,
- view_info->ug_data, &cbs);
- return;
- case PH_UG_REQUEST_SET_WITH_RINGTONE:
- case CT_UG_REQUEST_SAVE_RINGTONE: //only handle for add
- err = contacts_record_set_str(cdetail_d->contact,
- _contacts_contact.ringtone_path, view_info->ug_data);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
- break;
- default:
- ERR("Invalid type(%d)", view_info->ug_request);
- break;
- }
- cdetail_d->only_input = true;
- ctui_create_input_view(cdetail_d);
-}
-
-void ct_list_call(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d;
- ct_person_list *person_info = (ct_person_list *) data;
- p_retm_if(NULL == person_info, "parameter(person_info) is NULL");
- p_retm_if(NULL == person_info->number || '\0' == *person_info->number,
- "number is NULL");
- phone_launch_voice_call(person_info->id, person_info->number);
-
- clist_d = (ct_list_data *) evas_object_data_get(obj, "clist_d");
- if (clist_d)
- ctui_list_set_unsweep(clist_d);
-}
-
-void ct_list_msg(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d;
- ct_person_list *person_info = (ct_person_list *) data;
-
- p_retm_if(NULL == data, "parameter(person_info) is NULL");
- p_retm_if(NULL == person_info->number || '\0' == *person_info->number,
- "number is NULL");
-
- clist_d = (ct_list_data *) evas_object_data_get(obj, "clist_d");
- p_retm_if(NULL == clist_d, "evas_object_data_get() return NULL");
-
- clist_d->child_ug = ctui_msg_ug(clist_d->ug, person_info->number,
- NULL, ct_list_destroy_child_ug, clist_d);
-
- ctui_list_set_unsweep(clist_d);
-}
-
-void ct_list_popup_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d;
-
- clist_d = (ct_list_data *) evas_object_data_get((Evas_Object *) data, "clist_d");
- p_retm_if(NULL == clist_d, "evas_object_data_get(clist_d) return NULL");
- evas_object_del(clist_d->popup);
- clist_d->popup = NULL;
-}
-
-static void list_sweep_delete_contact(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ct_list_data *clist_d;
- contacts_record_h record = NULL;
- int contact_id = 0;
-
- PH_DBG("##### [TSP_TEST] list->sweep delete start#####");
-
- clist_d = (ct_list_data *) evas_object_data_get(obj, "clist_d");
- p_retm_if(NULL == clist_d, "evas_object_data_get() return NULL");
- evas_object_del(clist_d->popup);
- clist_d->popup = NULL;
-
- evas_object_data_set(clist_d->navi, "ct_list_update_ui", (void *) 1);
-
- err = contacts_db_get_record(_contacts_person._uri, (int) data, &record);
- p_retm_if(err != CONTACTS_ERROR_NONE, "contacts_db_get_record() fail");
- err = contacts_record_get_int(record, _contacts_person.display_contact_id,
- &contact_id);
- p_retm_if(err != CONTACTS_ERROR_NONE, "contacts_record_get_int() fail");
- err = contacts_db_delete_record(_contacts_person._uri, (int) data);
- if (CONTACTS_ERROR_NONE == err)
- phone_show_tickernoti(S_(PH_SYS_POP_DELETED));
- else
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
-}
-
-void ct_list_sweep_del_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int id;
- ct_list_data *clist_d;
- Evas_Object *btn;
-
- clist_d = (ct_list_data *) evas_object_data_get(obj, "clist_d");
- p_retm_if(NULL == clist_d, "evas_object_data_get() return NULL");
-
- id = (int) data;
- btn = phone_create_confirm_popup(&clist_d->popup, clist_d->win,
- S_(PH_SYS_POP_DELETE_Q), list_sweep_delete_contact,
- (void *) id);
- evas_object_data_set(btn, "clist_d", clist_d);
-
- ctui_list_set_unsweep(clist_d);
-}
-
-void ct_list_get_title(ct_list_data *clist_d, int list_op, int id_ab,
- int id_grp)
-{
- PH_TRACE;
- char *title = NULL;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- // TODO: Fixme
- switch (list_op)
- {
- case CT_GET_LIST_ALL_PERSON:
- case CT_GET_LIST_PERSON_OF_WRITABLE_ADDRBOOK_ID:
- case CT_GET_LIST_ALL_PERSON_HAD_EMAIL:
- case CT_GET_LIST_ALL_PERSON_HAD_NUMBER:
- {
- char buf[PH_TEXT_SHORT_LEN];
- snprintf(buf, sizeof(buf), "%s (%d)",
- T_(CT_GET_TEXT_BASIC, CTTEXT_ALL_CONTACTS),
- clist_d->cnt_list_total);
- clist_d->title = strdup(buf);
- }
- break;
- case CT_GET_LIST_PERSON_OF_ADDRBOOK_ID:
- case CT_GET_LIST_PERSON_HAD_NUMBER_OF_ADDRBOOK_ID:
- case CT_GET_LIST_PERSON_HAD_EMAIL_OF_ADDRBOOK_ID:
- if (0 < id_ab)
- {
- char temp[PH_TEXT_MAX_LEN];
- temp[0] = '\0';
- ctui_get_addressbook_name(id_ab, temp, sizeof(temp));
- if (*temp)
- title = strdup(temp);
- }
- else
- title = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE));
- clist_d->sub_title = title;
- clist_d->title = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_ALL_CONTACTS));
- break;
- case CT_GET_LIST_PERSON_OF_GROUP_ID:
- case CT_GET_LIST_PERSON_HAD_NUMBER_OF_GROUP_ID:
- case CT_GET_LIST_PERSON_HAD_EMAIL_OF_GROUP_ID:
- err = contacts_db_get_record(_contacts_group._uri, id_grp, &record);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_record_get() Failed(%d)", err);
-
- clist_d->title = SAFE_STRDUP(phone_get_group_name(record));
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- if (0 < id_ab)
- {
- char temp[PH_TEXT_MAX_LEN];
- temp[0] = '\0';
- ctui_get_addressbook_name(id_ab, temp, sizeof(temp));
- if (*temp)
- title = strdup(temp);
- }
- else
- title = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE));
- clist_d->sub_title = title;
- break;
- case CT_GET_LIST_PERSON_NOT_ASSIGNED_OF_ADDRBOOK_ID:
- case CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_NUMBER_OF_ADDRBOOK_ID:
- case CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_EMAIL_OF_ADDRBOOK_ID:
- clist_d->title = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_NOT_ASSIGNED));
- if (0 < id_ab)
- {
- char temp[PH_TEXT_MAX_LEN];
- temp[0] = '\0';
- ctui_get_addressbook_name(id_ab, temp, sizeof(temp));
- if (*temp)
- title = strdup(temp);
- }
- else
- title = strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE));
- clist_d->sub_title = title;
- break;
-
- }
-}
-
-static void __list_add_contacts_to_favorite(ct_list_data *clist_d);
-
-static void __list_add_contacts_to_favorite_cb(int err, void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- ph_progress_info *p_info = NULL;
-
- p_retm_if(NULL == clist_d, "Invalid parameter(clist_d is NULL)");
- p_info = clist_d->p_info;
- p_retm_if(NULL == p_info, "Invalid parameter(p_info is NULL)");
-
- if (p_info->update_list)
- {
- contacts_list_destroy(p_info->update_list, true);
- p_info->update_list = NULL;
- }
-
- if (CONTACTS_ERROR_NONE != err || p_info->alive == false)
- {
- if (p_info->popup)
- {
- evas_object_del(p_info->popup);
- p_info->popup = NULL;
- }
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
- free(p_info);
- clist_d->p_info = NULL;
- clist_d->updating = false;
- elm_naviframe_item_pop_to((Elm_Object_Item *)
- evas_object_data_get(clist_d->navi, NAVI_ITEM_POP));
- return;
- }
- else if (p_info->cnt == p_info->cnt_checked_total)
- {
- if (p_info->popup)
- {
- evas_object_del(p_info->popup);
- p_info->popup = NULL;
- }
- phone_show_tickernoti(S_(CT_SYS_POP_SUCCESS));
- free(p_info);
- clist_d->p_info = NULL;
- elm_naviframe_item_pop_to((Elm_Object_Item *)
- evas_object_data_get(clist_d->navi, NAVI_ITEM_POP));
- return;
- }
- else
- {
- __list_add_contacts_to_favorite(clist_d);
- }
-
-}
-
-static void __list_add_contacts_to_favorite(ct_list_data *clist_d)
-{
- PH_TRACE;
- const int LIST_BULK_LENGTH = 50;
- int count = 0;
- int base_count = 0;
- double value = 0.0;
- char percent_total[PH_TEXT_MAX_LEN + 1] = { 0, };
- char percent[PH_TEXT_MAX_LEN + 1] = { 0, };
- ph_progress_info *p_info = NULL;
- contacts_record_h record = NULL;
- contacts_list_h list = NULL;
- int err = CONTACTS_ERROR_NONE;
- Eina_List *l;
- void *v_person_info;
-
- p_retm_if(NULL == clist_d, "parameter(clist_d) is NULL");
- p_info = clist_d->p_info;
- p_retm_if(NULL == p_info, "parameter(p_info) is NULL");
-
- err = contacts_list_create(&list);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_list_create() Failed(%d)",
- err);
-
- EINA_LIST_FOREACH(clist_d->list_check_info, l, v_person_info)
- {
- ct_person_list *person_info = (ct_person_list *) v_person_info;
- if (NULL == person_info)
- continue;
- if (base_count < p_info->cnt)
- {
- base_count++;
- continue;
- }
-
- err = contacts_db_get_record(_contacts_person._uri, person_info->id,
- &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_record() Failed(%d)", err);
- p_info->result = FALSE;
- p_info->completed = true;
- break;
- }
- err = contacts_record_set_bool(record, _contacts_person.is_favorite,
- true);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_set_bool() Failed(%d)", err);
- p_info->result = FALSE;
- p_info->completed = true;
- break;
- }
-
- err = contacts_list_add(list, record);
-
- count++;
- if (LIST_BULK_LENGTH == count
- || (count + p_info->cnt) == p_info->cnt_checked_total)
- {
- p_info->cnt += count;
- break;
- }
-
- }
- value = (double) p_info->cnt / (double) p_info->cnt_checked_total;
- elm_progressbar_value_set(p_info->progressbar, value);
- snprintf(percent, sizeof(percent), "%d%%",
- (int) (100.0 * (double) p_info->cnt
- / (double) p_info->cnt_checked_total));
- snprintf(percent_total, sizeof(percent_total), "%d/%d", p_info->cnt,
- p_info->cnt_checked_total);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext1", percent);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext2", percent_total);
-
- p_info->update_list = list;
- contacts_db_update_records_async(list, __list_add_contacts_to_favorite_cb,
- clist_d);
-}
-
-void ct_list_add_contacts_to_favorite(Evas_Object *win, Evas_Object *navi,
- int cnt)
-{
- PH_TRACE;
- ct_list_data *clist_d;
- ph_progress_info *p_info;
-
- clist_d = (ct_list_data *) evas_object_data_get(navi, "favor_list_d");
- p_retm_if(NULL == clist_d, "evas_object_data_get return NULL");
-
- p_retm_if(clist_d->p_info, "thread is running");
-
- p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- p_retm_if(NULL == p_info, "calloc return NULL");
-
- clist_d->p_info = p_info;
- p_info->cnt_checked_total = cnt;
- p_info->alive = true;
- p_info->result = TRUE;
- p_info->popup = phone_progressbar_popup(win, p_info,
- T_(CT_GET_TEXT_BASIC, CTTEXT_ADDING_ING));
- __list_add_contacts_to_favorite(clist_d);
-}
-
-static void __list_add_group_relation(int group_id, int person_id,
- contacts_list_h list_result)
-{
- PH_TRACE;
- contacts_record_h record_group = NULL;
- contacts_list_h list = NULL;
- contacts_filter_h filter = NULL;
- contacts_query_h query = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- p_retm_if(group_id <= 0, "Invalid parameter(group_id is %d)", group_id);
- p_retm_if(person_id <= 0, "Invalid parameter(person_id is %d)", person_id);
- p_retm_if(NULL == list_result, "Invalid parameter(list is NULL)");
-
- do
- {
- int address_book_id = 0;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_db_get_record(_contacts_group._uri, group_id,
- &record_group)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_record_get_int(record_group,
- _contacts_group.address_book_id, &address_book_id)))
- break;
-
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_create(_contacts_contact._uri, &query)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_filter_create(_contacts_contact._uri,
- &filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_filter_add_int(filter,
- _contacts_contact.address_book_id, CONTACTS_MATCH_EQUAL,
- address_book_id)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_filter_add_operator(filter,
- CONTACTS_FILTER_OPERATOR_AND)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_filter_add_int(filter,
- _contacts_contact.person_id, CONTACTS_MATCH_EQUAL,
- person_id)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_query_set_filter(query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_db_get_records_with_query(query, 0, 0, &list)))
- break;
-
- while (CONTACTS_ERROR_NONE == err)
- {
- contacts_record_h record = NULL;
- contacts_record_h record_clone = NULL;
- contacts_record_h record_group_relation = NULL;
- if (CONTACTS_ERROR_NONE != (err =
- contacts_list_get_current_record_p(list, &record)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = contacts_record_clone(record, &record_clone)))
- {
- ERR("contacts_record_clone() Failed(%d)", err);
- break;
- }
- if (CONTACTS_ERROR_NONE
- != (err = contacts_record_create(
- _contacts_group_relation._uri,
- &record_group_relation)))
- {
- ERR("contacts_record_create() Failed(%d)", err);
- break;
- }
- contacts_record_set_int(record_group_relation,
- _contacts_group_relation.group_id, group_id);
- contacts_record_add_child_record(record_clone,
- _contacts_contact.group_relation, record_group_relation);
- contacts_list_add(list_result, record_clone);
-
- err = contacts_list_next(list);
- }
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
- contacts_list_destroy(list, true);
- contacts_record_destroy(record_group, true);
- return;
- }
- while (0);
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
- contacts_list_destroy(list, true);
- contacts_record_destroy(record_group, true);
- return;
-}
-
-static void __list_add_contacts_to_group(ct_list_data *clist_d);
-
-static void __list_add_contacts_to_group_cb(int err, void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- ph_progress_info *p_info = NULL;
-
- p_retm_if(NULL == clist_d, "Invalid parameter(clist_d is NULL)");
- p_info = clist_d->p_info;
- p_retm_if(NULL == p_info, "Invalid parameter(p_info is NULL)");
-
- if (p_info->update_list)
- {
- contacts_list_destroy(p_info->update_list, true);
- p_info->update_list = NULL;
- }
-
- if (CONTACTS_ERROR_NONE != err || p_info->alive == false)
- {
- char *err_msg = NULL;
- if (p_info->popup)
- {
- evas_object_del(p_info->popup);
- p_info->popup = NULL;
- }
- switch (err)
- {
- case CONTACTS_ERROR_DB:
- err_msg = (char *) T_(CT_GET_TEXT_ERR, CTTEXT_ERR_DB_LOCKED);
- break;
- case CONTACTS_ERROR_FILE_NO_SPACE:
- err_msg = (char *) S_(CT_SYS_POP_NOT_ENOUGH_MEMORY);
- break;
- default:
- err_msg = (char *) S_(PH_SYS_POP_FAILED);
- break;
- }
-
- phone_show_tickernoti(err_msg);
- free(p_info);
- clist_d->p_info = NULL;
- clist_d->updating = false;
- Elm_Object_Item *item = (Elm_Object_Item *)
- evas_object_data_get(clist_d->navi, NAVI_ITEM_POP);
- if (item)
- {
- elm_naviframe_item_pop_to(item);
- }
- else
- {
- elm_naviframe_item_pop(clist_d->navi);
- }
- return;
- }
- else if (p_info->cnt == p_info->cnt_checked_total)
- {
- if (p_info->popup)
- {
- evas_object_del(p_info->popup);
- p_info->popup = NULL;
- }
- phone_show_tickernoti(S_(CT_SYS_POP_SUCCESS));
- free(p_info);
- clist_d->p_info = NULL;
- Elm_Object_Item *item = (Elm_Object_Item *)
- evas_object_data_get(clist_d->navi, NAVI_ITEM_POP);
- if (item)
- {
- elm_naviframe_item_pop_to(item);
- }
- else
- {
- elm_naviframe_item_pop(clist_d->navi);
- }
- return;
- }
- else
- {
- __list_add_contacts_to_group(clist_d);
- }
-}
-
-void ct_list_add_contacts_to_group_without_progressbar_cb(int err, void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- p_retm_if(NULL == clist_d, "Invalid parameter(clist_d is NULL)");
-
- PH_DBG("err = %d", err);
- if (CONTACTS_ERROR_NONE != err)
- {
- clist_d->updating = false;
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
- }
- else if (clist_d->update_add_list)
- {
- contacts_list_destroy(clist_d->update_add_list, true);
- clist_d->update_add_list = NULL;
-
- phone_show_tickernoti(S_(CT_SYS_POP_SUCCESS));
- }
-
- elm_naviframe_item_pop(clist_d->navi);
-}
-
-void ct_list_add_contacts_to_group_without_progressbar(ct_list_data *clist_d)
-{
- PH_TRACE;
- p_retm_if(NULL == clist_d, "parameter(clist_d) is NULL");
- Eina_List *l = NULL;
- void *v_person_info = NULL;
- contacts_list_h list = NULL;
-
- int err = contacts_list_create(&list);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_list_create() Failed(%d)", err);
- EINA_LIST_FOREACH(*clist_d->list_grp_person, l, v_person_info)
- {
- ct_person_list *person_info = (ct_person_list *) v_person_info;
- if (person_info)
- {
- if (person_info->checked)
- {
- PH_DBG("person_info->display = %s", person_info->display);
- __list_add_group_relation(clist_d->base_grp, person_info->id, list);
- }
- }
- }
-
- unsigned int count = 0;
- contacts_list_get_count(list, &count);
- if (count)
- {
- clist_d->update_add_list = list;
- }
- else
- {
- contacts_list_destroy(clist_d->update_add_list, true);
- clist_d->update_add_list = NULL;
- }
-}
-
-static void __list_add_contacts_to_group(ct_list_data *clist_d)
-{
- PH_TRACE;
- const int LIST_BULK_LENGTH = 50;
- int count = 0;
- int base_count = 0;
- double value = 0.0;
- char percent_total[PH_TEXT_MAX_LEN + 1] = { 0, };
- char percent[PH_TEXT_MAX_LEN + 1] = { 0, };
-
- contacts_list_h list = NULL;
- int err = CONTACTS_ERROR_NONE;
- ph_progress_info *p_info = NULL;
- Eina_List *l = NULL;
- void *v_person_info = NULL;
-
-
- p_retm_if(NULL == clist_d, "parameter(clist_d) is NULL");
- p_info = clist_d->p_info;
- p_retm_if(NULL == p_info, "parameter(p_info) is NULL");
-
- err = contacts_list_create(&list);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_list_create() Failed(%d)",
- err);
-
- EINA_LIST_FOREACH(clist_d->list, l, v_person_info)
- {
- ct_person_list *person_info = (ct_person_list *) v_person_info;
- if (NULL == person_info)
- continue;
-
- if (person_info->checked)
- {
- if (base_count < p_info->cnt)
- {
- base_count++;
- continue;
- }
-
- __list_add_group_relation(clist_d->base_grp, person_info->id, list);
-
- count++;
- if (LIST_BULK_LENGTH == count
- || (count + p_info->cnt) == p_info->cnt_checked_total)
- {
- p_info->cnt += count;
- break;
- }
- }
- }
-
- value = (double) p_info->cnt / (double) p_info->cnt_checked_total;
- elm_progressbar_value_set(p_info->progressbar, value);
- snprintf(percent, sizeof(percent), "%d%%",
- (int) (100.0 * (double) p_info->cnt
- / (double) p_info->cnt_checked_total));
- snprintf(percent_total, sizeof(percent_total), "%d/%d", p_info->cnt,
- p_info->cnt_checked_total);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext1", percent);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext2", percent_total);
-
- p_info->update_list = list;
- contacts_db_update_records_async(list, __list_add_contacts_to_group_cb,
- clist_d);
-}
-
-void ct_list_add_contacts_to_group(Evas_Object *win, Evas_Object *navi, int cnt)
-{
- PH_TRACE;
- ct_list_data *clist_d;
- ph_progress_info *p_info;
-
- clist_d = (ct_list_data *) evas_object_data_get(navi, "gadd_list_d");
- p_retm_if(NULL == clist_d, "evas_object_data_get return NULL");
-
- p_retm_if(clist_d->p_info, "thread is running");
-
- p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- p_retm_if(NULL == p_info, "calloc return NULL");
-
- clist_d->p_info = p_info;
- p_info->cnt_checked_total = cnt;
- p_info->alive = true;
- p_info->result = TRUE;
- p_info->popup = phone_progressbar_popup(win, p_info,
- T_(CT_GET_TEXT_BASIC, CTTEXT_ADDING_MEMBERS_TO_GROUP));
- __list_add_contacts_to_group(clist_d);
-}
-
-
-void ct_list_add_contacts(Evas_Object *win, Evas_Object *navi, int cnt)
-{
- PH_TRACE;
- p_retm_if(NULL == navi, "navi return NULL");
- ct_list_data *clist_d = (ct_list_data *) evas_object_data_get(navi, "gadd_list_d");
- p_retm_if(NULL == clist_d, "evas_object_data_get return NULL");
-
- if (clist_d->list_grp_person)
- {
- Eina_List *l = NULL;
- void *v_person_info = NULL;
- EINA_LIST_FOREACH(clist_d->list, l, v_person_info)
- {
- ct_person_list *person_info = (ct_person_list *) v_person_info;
- if (person_info)
- {
- if (person_info->checked)
- {
- PH_DBG("person_info->display = %s", person_info->display);
- *clist_d->list_grp_person = eina_list_append(
- *clist_d->list_grp_person, person_info);
- person_info->is_in_group = true;
- }
- }
- }
- }
-
- elm_naviframe_item_pop_to((Elm_Object_Item *)
- evas_object_data_get(navi, NAVI_ITEM_POP));
-}
diff --git a/lib/list/ct-list-utils.h b/lib/list/ct-list-utils.h
deleted file mode 100755
index 9dd6aa7..0000000
--- a/lib/list/ct-list-utils.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CONTACTS_LIST_UTILS_H__
-#define __CONTACTS_LIST_UTILS_H__
-
-/**
- * Helper-like functionality used in the following managing contacts routines:
- * * add specified contact to group/favorites
- * * create/destroy user-gadgets for calls and messages
- */
-
-int ct_list_parse_bundle(service_h service, ct_list_data* clist_d);
-void ct_list_call(void *data, Evas_Object *obj, void *event_info);
-void ct_list_msg(void *data, Evas_Object *obj, void *event_info);
-void ct_list_popup_hide_cb(void *data, Evas_Object *obj, void *event_info);
-void ct_list_sweep_del_cb(void *data, Evas_Object *obj, void *event_info);
-void ct_list_get_title(ct_list_data *data, int list_op, int id_ab, int id_grp);
-void ct_list_add_contacts_to_group(Evas_Object *win, Evas_Object *navi,
- int cnt);
-
-/**
- * Adds group contacts to database.
- * @param clist_d Contact list data.
- */
-void ct_list_add_contacts_to_group_without_progressbar(ct_list_data *clist_d);
-
-/**
- * The callback function to get the result of contacts_db_update_records_async operation.
- * @param error Error code for batch operation.
- * @param user_data The user data passed from the batch operation.
- */
-void ct_list_add_contacts_to_group_without_progressbar_cb(int err, void *data);
-/**
- * Add checked contacts to group.
- * @param win a window object.
- * @param navi a naviframe object.
- * @param cnt the number of checked contacts.
- */
-void ct_list_add_contacts(Evas_Object *win, Evas_Object *navi, int cnt);
-
-void ct_list_add_contacts_to_favorite(Evas_Object *win, Evas_Object *navi,
- int cnt);
-void ct_list_destroy_child_ug(void *data);
-
-#endif //__CONTACTS_LIST_UTILS_H__
diff --git a/lib/list/ct-list-view-ug.cpp b/lib/list/ct-list-view-ug.cpp
deleted file mode 100755
index 0b1164d..0000000
--- a/lib/list/ct-list-view-ug.cpp
+++ /dev/null
@@ -1,888 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-#include "ct-list.h"
-#include "ct-detail.h"
-#include "ct-list-utils.h"
-#include "ct-list-edit-view.h"
-#include "ct-list-contact-view.h"
-#include "phone-common.h"
-#define MAX_SIZE_POPUP 300
-
-static void list_ug_nums_popup_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) evas_object_data_get(obj, "clist_d");
- int person_id = (int) evas_object_data_get(obj, "person_id");
-
- if (CT_UG_REQUEST_CHECK_FOR_NUMBER == clist_d->ug_request
- || CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == clist_d->ug_request)
- {
- Elm_Object_Item *item;
- ct_person_list *person_info;
-
- item = (Elm_Object_Item *) evas_object_data_get(obj, "item");
- p_retm_if(NULL == item, "evas_object_data_get() return NULL");
-
- person_info = (ct_person_list *) elm_object_item_data_get(item);
- p_retm_if(NULL == person_info,
- "elm_object_item_data_get() return NULL");
-
- person_info->id_ret = (int) data;
- person_info->id_ret_type = 1;
- person_info->checked = !person_info->checked;
- ct_list_item_checked_set(item, clist_d);
- ctui_list_update_selection_info(clist_d);
- ct_list_popup_hide_cb(obj, NULL, NULL);
- }
- else if (PH_UG_REQUEST_LAUNCH_VOICECALL == clist_d->ug_request)
- {
- char *num_info = (char*) elm_object_item_text_get((Elm_Object_Item *) event_info);
- char *number;
- strtok(num_info, " ");
- number = strtok(NULL, " ");
- PH_DBG("%s", number);
- ct_list_popup_hide_cb(obj, NULL, NULL);
- phone_launch_voice_call(person_id, number);
- }
- else
- {
- if (clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, 0, (int) data, 0,
- 0);
- else
- phone_ug_return_id(clist_d->ug, person_id, (int) data, 0);
- ug_destroy_me(clist_d->ug);
- }
-
-}
-
-static void list_ug_emails_popup_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) evas_object_data_get(obj, "clist_d");
- int contact_id = (int) evas_object_data_get(obj, "person_id");
-
- if (CT_UG_REQUEST_CHECK_FOR_EMAIL == clist_d->ug_request
- || CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == clist_d->ug_request)
- {
- Elm_Object_Item * item;
- ct_person_list *person_info;
-
- item = (Elm_Object_Item *) evas_object_data_get(obj, "item");
- p_retm_if(NULL == item, "evas_object_data_get() return NULL");
-
- person_info = (ct_person_list *) elm_object_item_data_get(item);
- p_retm_if(NULL == person_info,
- "elm_object_item_data_get() return NULL");
-
- person_info->id_ret = (int) data;
- person_info->id_ret_type = 2;
- person_info->checked = !person_info->checked;
- ct_list_item_checked_set(item, clist_d);
- ctui_list_update_selection_info(clist_d);
- ct_list_popup_hide_cb(obj, NULL, NULL);
- }
- else
- {
- if (clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, 0, 0, (int) data,
- 0);
- else
- phone_ug_return_id(clist_d->ug, contact_id, 0, (int) data);
-
- ug_destroy_me(clist_d->ug);
- }
-}
-
-API Evas_Object* ctui_list_create_values_list(const char *view_uri,
- Evas_Object *popup, Evas_Object *list, Eina_List *values,
- void (*cb)(void *, Evas_Object *, void *))
-{
- PH_TRACE;
- int id;
- int val_type;
- char *email_str_p;
- const char *type_str;
- char buf[PH_TEXT_MAX_LEN];
- Eina_List *l;
- int err = CONTACTS_ERROR_NONE;
- void *v_record = NULL;
-
- if (NULL == list)
- {
- list = elm_list_add(popup);
- evas_object_size_hint_max_set(list, -1, MAX_SIZE_POPUP * elm_config_scale_get()); // TODO : should be revise
- }
-
- EINA_LIST_FOREACH(values, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- if (NULL == record)
- continue;
-
- if (0 == strcmp(view_uri, _contacts_email._uri))
- {
- err = contacts_record_get_int(record, _contacts_email.id, &id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_get_int(record, _contacts_email.type,
- &val_type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- type_str =
- T_(CT_GET_TEXT_EMAIL_TYPE, ctui_get_email_type_index(val_type));
-
- err = contacts_record_get_str_p(record, _contacts_email.email,
- &email_str_p);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- snprintf(buf, sizeof(buf), "%s %s", type_str, email_str_p);
- }
- else
- {
- char num_type_str[PH_TEXT_MAX_LEN + 1];
-
- err = contacts_record_get_int(record, _contacts_number.id, &id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_get_int(record, _contacts_number.type,
- &val_type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- ctui_get_number_type_str(record, val_type, num_type_str,
- sizeof(num_type_str));
-
- err = contacts_record_get_str_p(record, _contacts_number.number,
- &email_str_p);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
-
- snprintf(buf, sizeof(buf), "%s %s", num_type_str, email_str_p);
- }
- elm_list_item_append(list, buf, NULL, NULL, cb, (void *) id);
- }
-
- elm_list_mode_set(list, ELM_LIST_EXPAND);
- return list;
-}
-
-static Evas_Object* list_ug_create_popup_values_list(ct_list_data *clist_d,
- ct_person_list *person_info)
-{
- PH_TRACE;
- Evas_Object *popup;
- Evas_Object *list = NULL;
- Evas_Object *btn;
-
- popup = elm_popup_add(clist_d->navi);
- elm_object_style_set(popup, "min_liststyle");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- if (person_info->number_list)
- list = ctui_list_create_values_list(_contacts_number._uri, popup, list,
- person_info->number_list, list_ug_nums_popup_sel);
- if (person_info->email_list)
- list = ctui_list_create_values_list(_contacts_email._uri, popup, list,
- person_info->email_list, list_ug_emails_popup_sel);
-
- elm_object_content_set(popup, list);
- evas_object_data_set(list, "clist_d", clist_d);
- evas_object_data_set(list, "person_id", (void *) person_info->id);
-
- btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_POP_CLOSE));
- elm_object_part_content_set(popup, "button1", btn);
- elm_object_style_set(btn, "popup_button/default");
- evas_object_smart_callback_add(btn, "clicked", ct_list_popup_hide_cb, list);
-
- clist_d->popup = popup;
- evas_object_show(popup);
- return list;
-}
-
-static inline void list_ug_handle_select_number(ct_list_data *clist_d,
- ct_person_list *person_info)
-{
- PH_TRACE;
- char *number_str_p = NULL;
- int number_id;
- Eina_List *list_contact;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- list_contact = ctui_person_get_contact_list(person_info->id);
- p_retm_if(NULL == list_contact,
- "ctui_person_get_contact_list() return NULL");
-
- if (person_info->number_list == NULL)
- person_info->number_list = ctui_person_get_number_list(list_contact);
-
- if (person_info->number_list)
- {
- if (1 == eina_list_count(person_info->number_list))
- {
- record = (contacts_record_h) person_info->number_list->data;
- if (PH_UG_REQUEST_LAUNCH_VOICECALL == clist_d->ug_request)
- {
- err = contacts_record_get_str_p(record, _contacts_number.number,
- &number_str_p);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_str_p() Failed(%d)", err);
- phone_launch_voice_call(person_info->id, number_str_p);
- }
- else
- {
- err = contacts_record_get_int(record, _contacts_number.id,
- &number_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- if (clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, 0,
- number_id, 0, 0);
- else
- phone_ug_return_id(clist_d->ug, person_info->id, number_id,
- 0);
- ug_destroy_me(clist_d->ug);
- }
- }
- else
- list_ug_create_popup_values_list(clist_d, person_info);
- }
- else
- {
- phone_show_popup(clist_d->navi, T_(CT_GET_TEXT_ERR, CTTEXT_NO_NUMBER),
- 1.5);
- }
- ctui_free_record_list(list_contact);
-}
-
-static inline void list_ug_handle_select_email(ct_list_data *clist_d,
- ct_person_list *person_info)
-{
- PH_TRACE;
- int email_id;
- Eina_List *list_contact;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- list_contact = ctui_person_get_contact_list(person_info->id);
- p_retm_if(NULL == list_contact,
- "ctui_person_get_contact_list() return NULL");
-
- if (person_info->email_list == NULL)
- person_info->email_list = ctui_person_get_email_list(list_contact);
- if (person_info->email_list)
- {
- if (1 == eina_list_count(person_info->email_list))
- {
- record = (contacts_record_h) person_info->email_list->data;
- err = contacts_record_get_int(record, _contacts_email.id,
- &email_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- if (clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, 0, 0,
- email_id, 0);
- else
- phone_ug_return_id(clist_d->ug, person_info->id, 0, email_id);
- ug_destroy_me(clist_d->ug);
- }
- else
- list_ug_create_popup_values_list(clist_d, person_info);
- }
- else
- {
- phone_show_popup(clist_d->navi, T_(CT_GET_TEXT_ERR, CTTEXT_NO_EMAIL),
- 1.5);
- }
- ctui_free_record_list(list_contact);
-}
-
-static inline void list_ug_handle_select_number_or_email(ct_list_data *clist_d,
- ct_person_list *person_info)
-{
- PH_TRACE;
- int number_id;
- int email_id;
- int number_list_count = 0;
- int email_list_count = 0;
- Eina_List *list_contact;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- list_contact = ctui_person_get_contact_list(person_info->id);
- p_retm_if(NULL == list_contact,
- "ctui_person_get_contact_list() return NULL");
-
- if (NULL == person_info->number_list)
- person_info->number_list = ctui_person_get_number_list(list_contact);
- if (NULL == person_info->email_list)
- person_info->email_list = ctui_person_get_email_list(list_contact);
-
- if (person_info->number_list)
- number_list_count = eina_list_count(person_info->number_list);
- if (person_info->email_list)
- email_list_count = eina_list_count(person_info->email_list);
-
- if (number_list_count == 0 && email_list_count == 0)
- {
- phone_show_popup(clist_d->navi, T_(CT_GET_TEXT_ERR, CTTEXT_NO_EMAIL),
- 1.5);
- }
- else if (number_list_count == 1 && email_list_count == 0)
- {
- record = (contacts_record_h) person_info->number_list->data;
- err = contacts_record_get_int(record, _contacts_number.id, &number_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- if (clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, 0, number_id, 0,
- 0);
- else
- phone_ug_return_id(clist_d->ug, person_info->id, number_id, 0);
- ug_destroy_me(clist_d->ug);
- }
- else if (number_list_count == 0 && email_list_count == 1)
- {
- record = (contacts_record_h) person_info->email_list->data;
- err = contacts_record_get_int(record, _contacts_email.id, &email_id);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- if (clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, 0, 0, email_id,
- 0);
- else
- phone_ug_return_id(clist_d->ug, person_info->id, 0, email_id);
- ug_destroy_me(clist_d->ug);
- }
- else
- {
- list_ug_create_popup_values_list(clist_d, person_info);
- }
- ctui_free_record_list(list_contact);
-}
-
-static inline void ct_list_ug_handle_select_vcard(ct_list_data *clist_d,
- int person_id)
-{
- PH_TRACE;
- bool result = false;
- char vcard_path[PH_TEXT_MAX_LEN + 1];
-
- result = ctui_list_make_vcard(person_id, vcard_path, sizeof(vcard_path));
- PH_DBG("%d, %s", person_id, vcard_path);
- if (result == true)
- {
- if (clist_d->service_operation)
- phone_ug_operation_return_vcard(clist_d->service_operation,
- person_id, vcard_path);
- else
- phone_ug_return_vcard(clist_d->ug, person_id, vcard_path);
- ug_destroy_me(clist_d->ug);
- }
- else
- {
- phone_show_popup(clist_d->navi, T_(CT_GET_TEXT_ERR, CTTEXT_NO_CONTACTS),
- 1.5);
- }
-}
-
-static void list_ug_img_crop_result(ui_gadget_h ug, service_h service,
- void *data)
-{
- PH_TRACE;
- Eina_List *list_writable_contact;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- p_retm_if(NULL == ug || NULL == data, "ug or data is NULL");
-
- if (service)
- {
- char *normal = NULL;
- char *full = NULL;
- void *data;
- Eina_List *l;
- contacts_record_h record = NULL;
- contacts_record_h record_image = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- service_get_extra_data(service, "crop_image_path", &normal);
- p_retm_if(NULL == normal, "return value is NULL.");
- service_get_extra_data(service, "image_path", &full);
-
- list_writable_contact = NULL;
- list_writable_contact = ctui_person_get_writable_contact_list(
- clist_d->selected_person_id);
-
- if (list_writable_contact)
- {
- EINA_LIST_FOREACH(list_writable_contact, l, data)
- {
- record = (contacts_record_h) data;
- if (NULL == record)
- continue;
-
- record_image = ctui_get_record_image(record);
- if (NULL == record_image)
- {
- ERR("ctui_get_record_image() Failed(%d)", err);
- break;
- }
-
- err = contacts_record_set_str(record_image,
- _contacts_image.path, normal);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_str() Failed(%d)", err);
-
- err = contacts_db_update_record(record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_record() Failed(%d)", err);
- }
- ctui_free_record_list(list_writable_contact);
- }
-
- free(normal);
- free(full);
- }
-}
-
-void ct_list_ug_handle_check_for_number(Elm_Object_Item *item,
- ct_list_data *clist_d)
-{
- PH_TRACE;
- ct_person_list *person_info;
- Eina_List *list_contact;
- Evas_Object *list_nums;
- Eina_Bool all_check;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- person_info = (ct_person_list *) elm_object_item_data_get(item);
- p_retm_if(NULL == person_info, "elm_object_item_data_get() return NULL");
-
- list_contact = ctui_person_get_contact_list(person_info->id);
- p_retm_if(NULL == list_contact,
- "ctui_person_get_contact_list() return NULL");
-
- if (NULL == person_info->number_list)
- person_info->number_list = ctui_person_get_number_list(list_contact);
-
- if (NULL == person_info->number_list)
- {
- Evas_Object *check;
- ERR("ctui_person_get_number_list() return NULL");
- ctui_free_record_list(list_contact);
-
- phone_show_popup(clist_d->navi, T_(CT_GET_TEXT_ERR, CTTEXT_NO_NUMBER),
- 1.5);
-
- check = elm_object_part_content_get(clist_d->select_all_layout,
- "elm.icon");
- p_retm_if(NULL == check, "elm_object_part_content_get() return NULL");
-
- if (clist_d->cnt_list_total == clist_d->cnt_checked)
- all_check = EINA_TRUE;
- else
- all_check = EINA_FALSE;
-
- elm_check_state_set(check, all_check);
- elm_genlist_item_update(item);
- return;
- }
-
- if (1 == eina_list_count(person_info->number_list))
- {
- record = (contacts_record_h) person_info->number_list->data;
- person_info->id_ret_type = 1;
- err = contacts_record_get_int(record, _contacts_number.id,
- &(person_info->id_ret));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- person_info->checked = !person_info->checked;
- ct_list_item_checked_set(item, clist_d);
- ctui_list_update_selection_info(clist_d);
- }
- else
- {
- list_nums = list_ug_create_popup_values_list(clist_d, person_info);
- if (list_nums)
- evas_object_data_set(list_nums, "item", item);
- }
- ctui_free_record_list(list_contact);
-}
-
-void ct_list_ug_handle_check_for_email(Elm_Object_Item *item,
- ct_list_data *clist_d)
-{
- PH_TRACE;
- Eina_List *list_contact;
- Evas_Object *list_emails;
- ct_person_list *person_info;
- Eina_Bool all_check;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- person_info = (ct_person_list *) elm_object_item_data_get(item);
- p_retm_if(NULL == person_info, "elm_object_item_data_get() return NULL");
-
- list_contact = ctui_person_get_contact_list(person_info->id);
- p_retm_if(NULL == list_contact,
- "ctui_person_get_contact_list() return NULL");
-
- if (NULL == person_info->email_list)
- person_info->email_list = ctui_person_get_email_list(list_contact);
-
- if (NULL == person_info->email_list)
- {
- Evas_Object *check;
- ERR("ctui_person_get_email_list() return NULL");
- ctui_free_record_list(list_contact);
-
- phone_show_popup(clist_d->navi, T_(CT_GET_TEXT_ERR, CTTEXT_NO_EMAIL),
- 1.5);
-
- check = elm_object_part_content_get(clist_d->select_all_layout,
- "elm.icon");
- p_retm_if(NULL == check, "elm_object_part_content_get() return NULL");
-
- if (clist_d->cnt_list_total == clist_d->cnt_checked)
- all_check = EINA_TRUE;
- else
- all_check = EINA_FALSE;
-
- elm_check_state_set(check, all_check);
- elm_genlist_item_update(item);
- return;
- }
-
- if (1 == eina_list_count(person_info->email_list))
- {
- record = (contacts_record_h) person_info->email_list->data;
- person_info->id_ret_type = 2;
- err = contacts_record_get_int(record, _contacts_email.id,
- &(person_info->id_ret));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- person_info->checked = !person_info->checked;
- ct_list_item_checked_set(item, clist_d);
- ctui_list_update_selection_info(clist_d);
- }
- else
- {
- list_emails = list_ug_create_popup_values_list(clist_d, person_info);
- if (list_emails)
- evas_object_data_set(list_emails, "item", item);
- }
- ctui_free_record_list(list_contact);
-}
-
-void ct_list_ug_handle_check_for_number_or_email(Elm_Object_Item *item,
- ct_list_data *clist_d)
-{
- PH_TRACE;
- int number_list_count = 0;
- int email_list_count = 0;
- Eina_List *list_contact;
- Evas_Object *list;
- ct_person_list *person_info;
- Eina_Bool all_check;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
-
- person_info = (ct_person_list *) elm_object_item_data_get(item);
- p_retm_if(NULL == person_info, "elm_object_item_data_get() return NULL");
-
- list_contact = ctui_person_get_contact_list(person_info->id);
- p_retm_if(NULL == list_contact,
- "ctui_person_get_contact_list() return NULL");
-
- if (NULL == person_info->email_list)
- person_info->email_list = ctui_person_get_email_list(list_contact);
- if (NULL == person_info->number_list)
- person_info->number_list = ctui_person_get_number_list(list_contact);
-
- if (person_info->number_list)
- number_list_count = eina_list_count(person_info->number_list);
-
- if (person_info->email_list)
- email_list_count = eina_list_count(person_info->email_list);
-
- if (0 == number_list_count && 0 == email_list_count)
- {
- Evas_Object *check;
- ERR("ctui_person_get_email_list() return NULL");
- ctui_free_record_list(list_contact);
-
- phone_show_popup(clist_d->navi, T_(CT_GET_TEXT_ERR, CTTEXT_NO_EMAIL),
- 1.5);
-
- check = elm_object_part_content_get(clist_d->select_all_layout,
- "elm.icon");
- p_retm_if(NULL == check, "elm_object_part_content_get() return NULL");
-
- if (clist_d->cnt_list_total == clist_d->cnt_checked)
- all_check = EINA_TRUE;
- else
- all_check = EINA_FALSE;
-
- elm_check_state_set(check, all_check);
- elm_genlist_item_update(item);
- return;
- }
-
- if (1 == number_list_count && 0 == email_list_count)
- {
- record = (contacts_record_h) person_info->number_list->data;
- err = contacts_record_get_int(record, _contacts_number.id,
- &(person_info->id_ret));
- DBG("person_info->number_list->data = %i",person_info->id_ret);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- person_info->id_ret_type = 1;
- person_info->checked = !person_info->checked;
- ct_list_item_checked_set(item, clist_d);
- ctui_list_update_selection_info(clist_d);
- }
- else if (0 == number_list_count && 1 == email_list_count)
- {
- record = (contacts_record_h) person_info->email_list->data;
- err = contacts_record_get_int(record, _contacts_email.id,
- &(person_info->id_ret));
- DBG("person_info->number_list->data = %i",person_info->id_ret);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
- person_info->id_ret_type = 2;
- person_info->checked = !person_info->checked;
- ct_list_item_checked_set(item, clist_d);
- ctui_list_update_selection_info(clist_d);
- }
- else
- {
- list = list_ug_create_popup_values_list(clist_d, person_info);
- if (list)
- evas_object_data_set(list, "item", item);
- }
-
- ctui_free_record_list(list_contact);
-}
-
-static void list_destory_child_ug(ui_gadget_h ug, void *priv)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) priv;
- p_retm_if(NULL == ug, "ug is NULL");
- ug_destroy(ug);
-
- p_retm_if(NULL == priv, "priv is NULL");
- clist_d->child_ug = NULL;
- if (clist_d->ug)
- ug_destroy_me(clist_d->ug);
-}
-
-void ct_list_ug_gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- assert(event_info);
- if (NULL != data && NULL != event_info)
- {
- ct_list_data *clist_d = static_cast<ct_list_data*>(data);
- Elm_Object_Item *lastItem = clist_d->last_sweep_item;
-
- bool isSweepedItemSelected = false;
-
- if (NULL != lastItem)
- {
- elm_genlist_item_selected_set(lastItem, EINA_FALSE);
- elm_genlist_item_decorate_mode_set(lastItem, "slide", EINA_FALSE);
- elm_genlist_item_select_mode_set(lastItem, ELM_OBJECT_SELECT_MODE_DEFAULT);
- if (clist_d->fast_index)
- {
- evas_object_show(clist_d->fast_index);
- elm_object_disabled_set(clist_d->fast_index, EINA_FALSE);
- }
- }
-
- Elm_Object_Item *item = NULL;
- item = static_cast<Elm_Object_Item*>(event_info);
- if (NULL != item)
- {
- elm_genlist_item_selected_set(item, EINA_FALSE);
- elm_genlist_item_decorate_mode_set(item, "slide", EINA_FALSE);
- if (lastItem == item)
- {
- isSweepedItemSelected = true;
- }
- }
- clist_d->last_sweep_item = NULL;
-
- if (!isSweepedItemSelected)
- {
- int err = CONTACTS_ERROR_NONE;
- int ret;
- const char *err_msg;
- contacts_record_h record = NULL;
- struct ug_cbs cbs = { 0 };
- ct_person_list *person_info;
- ph_view_info *view_info;
- Evas_Object *popup;
-
- PH_DBG("##### [TSP_TEST] list->detail start #####");
-
- if (CT_GET_LIST_VCARD == clist_d->list_op && CT_UG_REQUEST_CHECK != clist_d->ug_request)
- {
- Evas_Object *content;
-
- p_retm_if(NULL == clist_d->vcard_path, "vcard_path is NULL");
-
- person_info = (ct_person_list *) elm_object_item_data_get(item);
- p_retm_if(NULL == person_info, "elm_object_item_data_get() returns NULL");
-
- clist_d->idx_vcard = elm_genlist_item_index_get(item);
-
- content = ctui_contacts_viewer(clist_d->win, clist_d->navi, clist_d->idx_vcard, clist_d->vcard_path);
- if (NULL == content)
- {
- ERR("ctui_contacts_viewer() return NULL");
- elm_exit();
- }
- return;
- }
-
- if (CT_LIST_MODE_EDIT == clist_d->list_mode)
- {
- person_info = (ct_person_list *) elm_object_item_data_get(item);
- p_retm_if(NULL == person_info, "elm_object_item_data_get() returns NULL");
-
- if (person_info->checked)
- {
- person_info->checked = !person_info->checked;
- ct_list_item_checked_set(item, clist_d);
- ctui_list_update_selection_info(clist_d);
- return;
- }
-
- if (CT_UG_REQUEST_CHECK_FOR_NUMBER == clist_d->ug_request)
- ct_list_ug_handle_check_for_number(item, clist_d);
- else if (CT_UG_REQUEST_CHECK_FOR_EMAIL == clist_d->ug_request)
- ct_list_ug_handle_check_for_email(item, clist_d);
- else if (CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL == clist_d->ug_request)
- ct_list_ug_handle_check_for_number_or_email(item, clist_d);
- else
- {
- person_info->checked = !person_info->checked;
- ct_list_item_checked_set(item, clist_d);
- ctui_list_update_selection_info(clist_d);
- }
-
- return;
- }
-
- person_info = (ct_person_list *) elm_object_item_data_get(item);
- p_retm_if(NULL == person_info, "elm_object_item_data_get() returns NULL");
-
- PH_DBG("clist_d->ug_request = %d", clist_d->ug_request);
- switch (clist_d->ug_request)
- {
- case CT_UG_REQUEST_LIST:
- case CT_UG_REQUEST_LIST_WITH_BACK:
- ret = ctui_create_detail_view(clist_d, person_info);
- p_warn_if(ret < 0, "ctui_create_detail_view() Failed");
- break;
- case CT_UG_REQUEST_SELECT_PERSON:
- if (clist_d->ug)
- {
- if (clist_d->service_operation)
- phone_ug_return_value(clist_d->service_operation, person_info->id, 0, 0, 0);
- else
- phone_ug_return_id(clist_d->ug, person_info->id, 0, 0);
- ug_destroy_me(clist_d->ug);
- }
- break;
- case CT_UG_REQUEST_SELECT_NUMBER:
- case PH_UG_REQUEST_LAUNCH_VOICECALL:
- case CT_UG_REQUEST_SELECT_CONTACT_ADD_TO_HOME:
- list_ug_handle_select_number(clist_d, person_info);
- break;
- case CT_UG_REQUEST_SELECT_EMAIL:
- list_ug_handle_select_email(clist_d, person_info);
- break;
- case CT_UG_REQUEST_SELECT_NUMBER_OR_EMAIL:
- list_ug_handle_select_number_or_email(clist_d, person_info);
- break;
- case CT_UG_REQUEST_SELECT_VCARD:
- ct_list_ug_handle_select_vcard(clist_d, person_info->id);
- break;
- case CT_UG_REQUEST_SHARE_CONTACT_INFO:
- ctui_create_share_info_ug_layout(clist_d->navi, person_info->id, clist_d->ug);
- break;
- case CT_UG_REQUEST_UPDATE_CONTACT:
- case CT_UG_REQUEST_UPDATE_WITH_NUM:
- case CT_UG_REQUEST_UPDATE_WITH_EMAIL:
- case CT_UG_REQUEST_UPDATE_WITH_WEB:
- view_info = (ph_view_info *) calloc(1, sizeof(ph_view_info));
- phone_set_view_info(view_info, clist_d->win, clist_d->navi, clist_d->ug, clist_d->ug_request, clist_d->cnt_max_check, clist_d->ug_data);
- ctui_list_update_with_data(view_info, clist_d, person_info->id, clist_d->base_grp, clist_d->base_ab);
- free(view_info);
- break;
- case PH_UG_REQUEST_SET_WITH_IMG:
- case CT_UG_REQUEST_SAVE_IMG:
- clist_d->selected_person_id = person_info->id;
-
- cbs.result_cb = list_ug_img_crop_result;
- cbs.destroy_cb = list_destory_child_ug;
- cbs.priv = clist_d;
- clist_d->child_ug = phone_image_crop_ug(clist_d->ug, clist_d->ug_data, &cbs);
- break;
- case PH_UG_REQUEST_SET_WITH_RINGTONE:
- case CT_UG_REQUEST_SAVE_RINGTONE:
- err = contacts_db_get_record(_contacts_person._uri, person_info->id, &record);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)", err);
-
- err = contacts_record_set_str(record, _contacts_person.ringtone_path, clist_d->ug_data);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_set_str() Failed(%d)", err);
-
- err = contacts_db_update_record(record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_update_record() Failed(%d)", err);
- ctui_create_contacts_error_popup(clist_d->navi, err);
- }
- else
- {
- err_msg = S_(CT_SYS_POP_SUCCESS);
- popup = phone_show_popup(clist_d->navi, err_msg, 1.5);
- evas_object_smart_callback_add(popup, "timeout", ctui_list_ug_hide_cb, clist_d->ug);
- }
- break;
- default:
- ERR("Invalid ug_request(%d)", clist_d->ug_request);
- break;
- }
- }
- }
-}
diff --git a/lib/list/ct-list-view-ug.h b/lib/list/ct-list-view-ug.h
deleted file mode 100755
index 551c7dc..0000000
--- a/lib/list/ct-list-view-ug.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * A module responsible for filtering contacts-list (e.g list only contacts with email), and handling "onContactSelected" events.
- */
-#ifndef __CONTACTS_LIST_VIEW_UG_H__
-#define __CONTACTS_LIST_VIEW_UG_H__
-
-void ct_list_ug_gl_sel(void *data, Evas_Object *obj, void *event_info);
-void ct_list_ug_handle_check_for_email(Elm_Object_Item *item,
- ct_list_data *clist_d);
-void ct_list_ug_handle_check_for_number(Elm_Object_Item *item,
- ct_list_data *clist_d);
-void ct_list_ug_handle_check_for_number_or_email(Elm_Object_Item *item,
- ct_list_data *clist_d);
-
-#endif //__CONTACTS_LIST_VIEW_UG_H__
diff --git a/lib/list/include/ct-list.h b/lib/list/include/ct-list.h
deleted file mode 100755
index 66c80ff..0000000
--- a/lib/list/include/ct-list.h
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * ct-list is an UI-control responsible for drawing and handling list-specific event of
- * contacts-application (some kind of "sub-application" used by "host" contacts-app).
- */
-
-#ifndef __CONTACTS_LIST_H__
-#define __CONTACTS_LIST_H__
-
-#include "phone-common.h"
-
-#define CT_LIST_MAX_SEARCH_STR 1024
-#define CT_LIST_ICON_SIZE 70
-#define CT_LIST_ACCOUNT_CNT_MAX 3
-
-enum
-{ // this order affects to set list_op in ctui_list_create_contact_view_with_info
- CT_GET_LIST_ALL_PERSON = 0,
- CT_GET_LIST_PERSON_OF_ADDRBOOK_ID = 1,
- CT_GET_LIST_PERSON_HAD_NUMBER_OF_ADDRBOOK_ID = 2,
- CT_GET_LIST_PERSON_HAD_EMAIL_OF_ADDRBOOK_ID = 3,
- CT_GET_LIST_PERSON_HAD_NUMBER_OR_EMAIL_OF_ADDRBOOK_ID = 4,
- CT_GET_LIST_PERSON_OF_WRITABLE_ADDRBOOK_ID = 5,
-
- CT_GET_LIST_PERSON_OF_GROUP_ID = 10,
- CT_GET_LIST_PERSON_HAD_NUMBER_OF_GROUP_ID = 11,
- CT_GET_LIST_PERSON_HAD_EMAIL_OF_GROUP_ID = 12,
- CT_GET_LIST_PERSON_HAD_NUMBER_OR_EMAIL_OF_GROUP_ID = 13,
-
- CT_GET_LIST_PERSON_NOT_ASSIGNED_OF_ADDRBOOK_ID = 14,
- CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_NUMBER_OF_ADDRBOOK_ID = 15,
- CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_EMAIL_OF_ADDRBOOK_ID = 16,
- CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_NUMBER_OR_EMAIL_OF_ADDRBOOK_ID = 17,
-
- CT_GET_LIST_ALL_PERSON_HAD_NUMBER = 20,
- CT_GET_LIST_ALL_PERSON_HAD_EMAIL = 21,
- CT_GET_LIST_ALL_PERSON_HAD_NUMBER_OR_EMAIL = 22,
- CT_GET_LIST_VCARD = 23,
-};
-
-enum
-{
- CT_LIST_ITEM_NO_NUMBER,
- CT_LIST_ITEM,
- CT_LIST_ITEM_SEARCH_NO_NUMBER,
- CT_LIST_ITEM_SEARCH,
- CT_LIST_ITEM_COUNT,
-};
-
-enum
-{
- CT_LIST_SINGLE_VIEW,
- CT_LIST_IN_MULTI_TAB,
-};
-
-enum
-{
- CT_LIST_MODE_DEFAULT,
- CT_LIST_MODE_EDIT,
-};
-
-typedef struct
-{
- int id_ab;
- int id_grp;
- int count;
- int mode;
- bool is_read_only;
- char *name;
- char *img;
- char *img_list[6];
- Eina_Bool selected;
- Elm_Object_Item *item;
-} ct_group_list;
-
-/**
- * Creates and initialises select-list of contacts according to specified filter.
- * @param navi a navi-frame object.
- * @param result_cb is a callback that fills the ui-list.
- * @param result_cb_data a data with data-list inside passed into result_cb.
- * @param list_op is a code of filtering to be applied to list inside result_cb_data (e.g. "fill list only with the contacts with email specified").
- * @param id_ab passed to ct_list_data::base_ab.
- * @param id_grp is group-id, passed to ct_list_data::base_grp.
- * @param cnt_max passed to ct_list_data::cnt_max_check.
- * @return navi-frame of newly created instance of ct_list_data (TODO: do we really need to return the input parameter?).
- * @see ct_list_data.
- */
-Evas_Object* ctui_create_list_select_view(
- Evas_Object *navi,
- ct_select_result_cb result_cb,
- void *result_cb_data,
- int list_op,
- int id_ab,
- int id_grp,
- int cnt_max);
-
-/**
- * Creates and initialises instance of ct_list_data. Also pushes new item to navi-frame object and attaches there data of newly created contact.
- * @param win a window with list-control on it.
- * @param navi is a naviframe-object.
- * @param group_id is an id of group new contacts will be assigned to.
- * @param ab_id passed to ct_list_data::base_ab
- * @param list is a group members list
- * @param save_contacts if true: the contacts list will be saved to the group database
- * @return navi-item of newly created instance of ct_list_data.
- * @see ct_list_data
- */
-Elm_Object_Item *ctui_create_gadd_list_select_view(
- Evas_Object *win,
- Evas_Object *navi,
- int group_id,
- int ab_id,
- Eina_List **list,
- bool save_contacts);
-
-/**
- * Updates group list in database.
- * @param navi a navi-frame object.
- * @param group_id an id of group which will be updated.
- * @param add_list a list of contacts which will be added.
- * @param remove_list a list of contacts which will be deleted.
- */
-void ctui_list_update_group_list_without_progressbar(Evas_Object *navi,
- int group_id,
- Eina_List *add_list,
- Eina_List *remove_list);
-
-/**
- * Creates select-list of favourites contacts.
- * @param win a window with list-control on it.
- * @param navi is a navi-frame object that will contain list-elements.
- * @param list is a contacts-container.
- */
-void ctui_create_favorite_list_select_view(
- Evas_Object *win,
- Evas_Object *navi,
- Eina_List *list);
-
-/**
- * Creates vcard-based contact select-list view to importing contacts from vcf file.
- * @param navi is a navi-frame object that will contain list-elements.
- * @param list is a contacts-container.
- * @param path is a path to vcf-file.
- * @param result_cb a callback that fills the ui-list.
- * @param result_cb_data a data with data-list inside passed into result_cb.
- * @return navi-frame object of newly created instance of ct_list_data.
- */
-Evas_Object* ctui_create_vcard_list_select_view(
- Evas_Object *navi,
- Eina_List *list,
- const char *path,
- ct_select_result_cb result_cb,
- void *result_cb_data);
-
-
-/**
- * @param win a window with list-control on it.
- * @param list is a contacts-container.
- * @param path is a path to vcf-file.
- * @return created layout-object or NULL in case of error.
- */
-Evas_Object* ctui_create_vcard_list_view(
- Evas_Object *win,
- Eina_List *list,
- const char *path);
-
-/**
- * Creates phone list-view based on specified ph_view_info structure.
- * @param view_info view-info structure.
- * @return list-view's layout.
- */
-Evas_Object* ctui_create_phone_list_view(const ph_view_info *view_info);
-
-/**
- * Creates contact list for single contact select.
- * @param win a window with list-control on it.
- * @param navi is a navi-frame object that will contain list-elements.
- * @param sel_cb function to be called when contact was selected
- * @param cb_data data to pass to sel_cb
- * @param id_caller person id to exclude from contact list
- */
-void ctui_create_list_single_select_view(Evas_Object *win,
- Evas_Object *navi, Evas_Smart_Cb sel_cb, void *cb_data, int id_caller);
-
-/**
- * Re-fills the existing contact-list. Function destroys current update-timer if it was specified before.
- * @param data is an instance of ct_list_data(contact-list data structure).
- * @return ECORE_CALLBACK_CANCEL (always, for some reason).
- */
-Eina_Bool ctui_list_genlist_update(void *data);
-
-/**
- * A callback that handle onClick event of toolbar-button. Is used within create\update contact routines.
-* @param data is an instance of ct_list_data(contact-list data structure).
-* @param obj not used
-* @param event_info not used
- */
-void ctui_list_new_btn_clicked_cb(void *data,
- Evas_Object *obj,
- void *event_info);
-
-/**
- * Draws contact-list view according to one of specified modes.
- * @param mode specifies how the contact-list will be looking(CT_LIST_MODE_EDIT - edit view or CT_LIST_MODE_DEFAULT for default view)
- * @param clist_d is the contact-list data structure.
- */
-void ctui_list_navi_set(
- int mode,
- ct_list_data *clist_d);
-/**
- * Clears contact-list view.
-* @param clist_d is the contact-list data structure.
- */
-void ctui_list_view_reset(ct_list_data *clist_d);
-
-/**
- * Is used when user switches back contacts-application.
- * @param navi is a navi-frame object that will contain list-elements.
- */
-void ctui_list_view_resume(Evas_Object *navi);
-
-/**
- * Is used when user switches to other application leaving contacts-application inactive.
- * @param navi is a navi-frame object that will contain list-elements.
- */
-void ctui_list_view_pause(Evas_Object *navi);
-
-/**
- * Is used in handling language-changing event.
- * @param navi is a navi-frame object that will contain list-elements.
- */
-void ctui_list_view_language_changed(Evas_Object *navi);
-
-Evas_Object* ctui_list_create_contact_view_with_info(
- ph_view_info *view_info,
- int list_op,
- ct_group_list *info);
-
-/**
- * Fills search-bar of specified contact-list with specified text. Function does nothing if search-bar is hidden.
- * @param clist_d is a contact-list data-structure(contains pointer to search-bar object).
- * @param text a text to put into search-bar.
- */
-void ctui_list_set_search_text(
- ct_list_data *clist_d,
- const char *text);
-
-void ctui_list_edit_mode_start(ct_list_data *clist_d);
-
-void ctui_list_set_selectall(ct_list_data *clist_d);
-
-void ctui_list_update_with_data(
- ph_view_info *view_info,
- void *data,
- int id,
- int grp_id,
- int ab_id);
-
-Evas_Object* ctui_list_create_values_list(
- const char *view_uri,
- Evas_Object *popup,
- Evas_Object *list,
- Eina_List *values,
- void (*cb)(void *, Evas_Object *, void *));
-
-#define CT_MAX_ADDRBOOK 200
-
-void ct_list_init_account_data(ct_list_data *clist_d);
-
-void ct_list_get_addrbook_icon_path(
- ct_list_data *clist_d,
- int id_ab,
- char *dest,
- int dest_len);
-
-int ct_list_get_contacts(
- ct_list_data *clist_d,
- Eina_List **list);
-
-char* ct_list_gl_label_get(
- void *data,
- Evas_Object *obj,
- const char *part);
-
-char* ct_list_count_gl_label_get(
- void *data,
- Evas_Object *obj,
- const char *part);
-
-Evas_Object* ct_list_create_contact_layout(ct_list_data *clist_d);
-
-void ctui_create_group_input_view(
- Evas_Object *win,
- Evas_Object *navi,
- ct_group_list *info,
- ct_group_input_result_cb result_cb,
- void *cb_data);
-
-void ctui_list_set_background(
- Evas_Object *obj,
- bool is_background);
-
-void list_create_itcs(ct_list_data *clist_d);
-
-#endif //__CONTACTS_LIST_H__
diff --git a/lib/log/CMakeLists.txt b/lib/log/CMakeLists.txt
deleted file mode 100755
index 0914351..0000000
--- a/lib/log/CMakeLists.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
-
-SET(TARGET ${PH_LOG})
-
-FILE(GLOB SRCS *.cpp)
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(log_pkgs REQUIRED notification icu-i18n feedback)
-
-FOREACH(flag ${log_pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-ADD_LIBRARY(${TARGET} SHARED ${SRCS})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES VERSION ${VERSION})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
-TARGET_LINK_LIBRARIES(${TARGET} ${COMMON_LIB} ${ug_pkgs_LDFLAGS} ${log_pkgs_LDFLAGS} ${CT_DETAILS})
-
-ADD_DEPENDENCIES(${TARGET} progress_edj_build logdetail_theme_build)
-INSTALL(TARGETS ${TARGET} DESTINATION ${UGLIBDIR})
diff --git a/lib/log/CallDurationCounter.cpp b/lib/log/CallDurationCounter.cpp
deleted file mode 100644
index e93a1bf..0000000
--- a/lib/log/CallDurationCounter.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "CallDurationCounter.h"
-
-#include "phone.h"
-#include "phone-common.h"
-
-#define VCONFKEY_CALL_DB_PREFIX "db/call"
-#define VCONFKEY_CALL_DURATION VCONFKEY_CALL_DB_PREFIX"/duration"
-#define VCONFKEY_CALL_DURATION_LAST VCONFKEY_CALL_DURATION"/last"
-#define VCONFKEY_CALL_DURATION_INCOMMING VCONFKEY_CALL_DURATION"/in"
-#define VCONFKEY_CALL_DURATION_OUTGOING VCONFKEY_CALL_DURATION"/out"
-
-namespace Phone
-{
- namespace Logs
- {
- CallDurationCounter::CallDurationCounter()
- : m_Listener(NULL)
- {
- PH_TRACE;
- memset(m_Counters, 0, sizeof(m_Counters));
- }
-
- CallDurationCounter::~CallDurationCounter()
- {
- PH_TRACE;
- vconf_ignore_key_changed(VCONFKEY_CALL_DURATION_LAST, onCountersChange);
- }
-
- bool CallDurationCounter::initialize()
- {
- PH_TRACE;
- bool success = update()
- && vconf_notify_key_changed(VCONFKEY_CALL_DURATION_LAST, onCountersChange, this) == 0;
-
- return success;
- }
-
- void CallDurationCounter::setListener(CallDurationCounterListener *listener)
- {
- m_Listener = listener;
- }
-
- int CallDurationCounter::getValue(CounterType type) const
- {
- PH_TRACE;
- if(type >= 0 && type < Count_Max)
- {
- return m_Counters[type];
- }
- else
- {
- return 0;
- }
- }
-
- bool CallDurationCounter::update()
- {
- PH_TRACE;
- bool success = vconf_get_int(VCONFKEY_CALL_DURATION_LAST, &m_Counters[Count_Last]) == 0
- && vconf_get_int(VCONFKEY_CALL_DURATION_INCOMMING, &m_Counters[Count_Received]) == 0
- && vconf_get_int(VCONFKEY_CALL_DURATION_OUTGOING, &m_Counters[Count_Dialed]) == 0;
-
- if(success)
- {
- m_Counters[Count_All] = m_Counters[Count_Received] + m_Counters[Count_Dialed];
- }
- else
- {
- memset(m_Counters, 0, sizeof(m_Counters));
- }
-
- return success;
- }
-
- bool CallDurationCounter::reset()
- {
- PH_TRACE;
- bool success = vconf_set_int(VCONFKEY_CALL_DURATION_LAST, 0) == 0
- && vconf_set_int(VCONFKEY_CALL_DURATION_INCOMMING, 0) == 0
- && vconf_set_int(VCONFKEY_CALL_DURATION_OUTGOING, 0) == 0;
-
- if(success)
- {
- memset(m_Counters, 0, sizeof(m_Counters));
- }
-
- return success;
- }
-
- void CallDurationCounter::onCountersChange(keynode_t *node, void *data)
- {
- PH_TRACE;
- if(!data)
- {
- return;
- }
-
- CallDurationCounter *counter = static_cast<CallDurationCounter*>(data);
- if(counter->update() && counter->m_Listener)
- {
- counter->m_Listener->onCounterChange();
- }
- }
- }
-}
diff --git a/lib/log/CallDurationCounter.h b/lib/log/CallDurationCounter.h
deleted file mode 100644
index 1531428..0000000
--- a/lib/log/CallDurationCounter.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CALL_DURATION_COUNTER_H__
-#define __CALL_DURATION_COUNTER_H__
-
-#include <Elementary.h>
-#include <vconf.h>
-#include "NonCopyable.h"
-
-namespace Phone
-{
- namespace Logs
- {
- /*
- * @brief Listener for call duration counters events
- */
- class CallDurationCounterListener
- {
- public:
- virtual ~CallDurationCounterListener() { }
-
- /*
- * @brief Called whenever values of counters were changed
- */
- virtual void onCounterChange() = 0;
- };
-
- /*
- * @brief Calculates call durations based on log list.
- * @details Maintains call duration counters and provides data
- * for CallDurationView items.
- */
- class CallDurationCounter : public Utils::NonCopyable
- {
- public:
- /*
- * @brief Defines available counters.
- */
- enum CounterType
- {
- Count_Last = 0,
- Count_Received,
- Count_Dialed,
- Count_All,
- Count_Max
- };
-
- public:
- CallDurationCounter();
- ~CallDurationCounter();
-
- /*
- * @brief Initialize counter based on call log list.
- * @param logs Call log list of ph_log_info type
- * @return true on success, false otherwise
- */
- bool initialize();
-
- /*
- * @brief Set listener for counters events
- */
- void setListener(CallDurationCounterListener *listener);
-
- /*
- * @param type Counter to retrieve value of
- * @return Value of requested counter
- */
- int getValue(CounterType type) const;
-
- /*
- * @brief Recalculate counters.
- * @return true on success, false otherwise
- */
- bool update();
-
- /*
- * @brief Reset all counters to zero.
- */
- bool reset();
-
- private:
- static void onCountersChange(keynode_t *node, void *data);
-
- int m_Counters[Count_Max];
- CallDurationCounterListener *m_Listener;
- };
- }
-}
-
-#endif /* __CALL_DURATION_COUNTER_H__ */
diff --git a/lib/log/CallDurationItem.cpp b/lib/log/CallDurationItem.cpp
deleted file mode 100644
index e5ef4e3..0000000
--- a/lib/log/CallDurationItem.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "CallDurationItem.h"
-
-#include "phone.h"
-#include "phone-common.h"
-
-namespace Phone
-{
- namespace Logs
- {
- CallDurationItem::CallDurationItem(
- CallDurationCounter *counter,
- CallDurationCounter::CounterType type,
- const char *label
- ) : m_Counter(counter), m_Type(type), m_Label(label)
- {
- PH_TRACE;
- }
-
- Elm_Genlist_Item_Class * CallDurationItem::getClass() const
- {
- PH_TRACE;
- static Elm_Genlist_Item_Class *itemClass = createClass("2text");
- return itemClass;
- }
-
- char * CallDurationItem::getText(const char *part) const
- {
- PH_TRACE;
- check_if(!part, return NULL);
- if(strcmp(part, "elm.text.1") == 0)
- {
- return strdup(m_Label.c_str());
- }
- else
- {
- check_if(!m_Counter, return NULL);
- return phone_detail_log_get_duration_from_number(m_Counter->getValue(m_Type));
- }
- }
- }
-}
diff --git a/lib/log/CallDurationItem.h b/lib/log/CallDurationItem.h
deleted file mode 100644
index 8f82ad1..0000000
--- a/lib/log/CallDurationItem.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CALL_DURATION_ITEM_H__
-#define __CALL_DURATION_ITEM_H__
-
-#include <string>
-#include "Genlist.h"
-#include "CallDurationCounter.h"
-
-namespace Phone
-{
- namespace Logs
- {
- /*
- * \par Description:
- * Genlist item for CallDurationView.
- *
- * @see Ui::Genlist::Item
- */
- class CallDurationItem : public Ui::Genlist::Item
- {
- public:
- /*
- * @param counter The source of counters data
- * @param type A counter to get values from
- * @param label A label for the counter data
- */
- CallDurationItem(CallDurationCounter *counter,
- CallDurationCounter::CounterType type,
- const char *label);
-
- /*
- * @see Ui::Genlist::Item::getClass
- */
- Elm_Genlist_Item_Class * getClass() const;
-
- /*
- * @see Ui::Genlist::Item::getText
- */
- char * getText(const char *part) const;
-
- private:
- CallDurationCounter *m_Counter;
- CallDurationCounter::CounterType m_Type;
- std::string m_Label;
- };
- }
-}
-
-#endif /* __CALL_DURATION_ITEM_H__ */
diff --git a/lib/log/CallDurationView.cpp b/lib/log/CallDurationView.cpp
deleted file mode 100644
index db9de46..0000000
--- a/lib/log/CallDurationView.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "CallDurationView.h"
-
-#include "phone.h"
-#include "phone-common.h"
-
-namespace Phone
-{
- namespace Logs
- {
- CallDurationView::CallDurationView()
- : View(T_(PH_GET_TEXT_BASIC, PHTEXT_CALL_DURATION))
- {
- PH_TRACE;
- }
-
- static void createMenuCb(void *data)
- {
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- CallDurationView* pCallDurationView = static_cast<CallDurationView*>( data );
- pCallDurationView->createMenu();
- }
- }
-
- static void hideMenuCb(void *data, Evas_Object *obj, void *event_info)
- {
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- CallDurationView *view = static_cast<CallDurationView *>(data);
- if(view->m_Menu)
- {
- evas_object_del(view->m_Menu);
- view->m_Menu = NULL;
- }
- }
- }
-
- bool CallDurationView::initialize(Evas_Object *parent)
- {
- PH_TRACE;
- bool success = true;
-
- success = View::initialize(parent);
- if(!success)
- {
- return false;
- }
-
- success = m_Counter.initialize();
- if(!success)
- {
- return false;
- }
-
- success = m_List.create(m_Content);
- if(!success)
- {
- return false;
- }
-
- m_Counter.setListener(this);
- elm_genlist_select_mode_set(m_List.getObject(), ELM_OBJECT_SELECT_MODE_NONE);
- elm_object_part_content_set(m_Content, "elm.swallow.content", m_List.getObject());
-
- menu_cb = createMenuCb;
-
- success = fillList();
- return success;
- }
-
- bool CallDurationView::addItem(CallDurationCounter::CounterType type, const char *label)
- {
- PH_TRACE;
- CallDurationItem *item = new CallDurationItem(&m_Counter, type, label);
- bool success = m_List.append(item) != NULL;
- if(!success)
- {
- delete item;
- }
- return success;
- }
-
- void CallDurationView::createMenu()
- {
- PH_TRACE;
-
- if (m_Menu)
- evas_object_del(m_Menu);
-
- m_Menu = elm_ctxpopup_add(m_Content);
- if (NULL != m_Menu)
- {
- evas_object_smart_callback_add(m_Menu, "dismissed", hideMenuCb, this);
- elm_ctxpopup_item_append(m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_LOGS_DURATION_RESET), NULL, onReset, this);
-
- int y, h;
- evas_object_geometry_get(m_Content, NULL, &y, NULL, &h);
- evas_object_move(m_Menu, 0, y + h);
- evas_object_show(m_Menu);
- }
- }
-
- bool CallDurationView::fillList()
- {
- PH_TRACE;
- return addItem(CallDurationCounter::Count_Last,
- T_(PH_GET_TEXT_BASIC, PHTEXT_LOGS_DURATION_LAST))
- && addItem(CallDurationCounter::Count_Dialed,
- T_(PH_GET_TEXT_BASIC, PHTEXT_LOGS_DURATION_DIALED))
- && addItem(CallDurationCounter::Count_Received,
- T_(PH_GET_TEXT_BASIC, PHTEXT_LOGS_DURATION_RECEIVED))
- && addItem(CallDurationCounter::Count_All,
- T_(PH_GET_TEXT_BASIC, PHTEXT_LOGS_DURATION_ALL));
- }
-
- void CallDurationView::onCounterChange()
- {
- elm_genlist_realized_items_update(m_List.getObject());
- }
-
- void CallDurationView::onReset(void *data, Evas_Object *obj, void *event_info)
- {
- PH_TRACE;
- CallDurationView *view = static_cast<CallDurationView *>(data);
- check_if(!view, return);
-
- elm_ctxpopup_dismiss(view->m_Menu);
- view->m_Counter.reset();
- elm_genlist_realized_items_update(view->m_List.getObject());
- }
-
- }
-}
diff --git a/lib/log/CallDurationView.h b/lib/log/CallDurationView.h
deleted file mode 100644
index 313ee75..0000000
--- a/lib/log/CallDurationView.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __CALL_DURATION_VIEW_H__
-#define __CALL_DURATION_VIEW_H__
-
-#include "View.h"
-#include "CallDurationItem.h"
-
-namespace Phone
-{
- namespace Logs
- {
- /*
- * \par Description:
- * Call duration view provides summary information about call durations for:
- * - last call
- * - dialed calls
- * - received calls
- * - all calls
- */
- class CallDurationView :
- public Common::View,
- public CallDurationCounterListener
- {
- public:
- CallDurationView();
-
- /*
- * \par Description:
- * Initialize view.
- *
- * @param parent Parent for the main layout
- * @param logs Call log list of ph_log_info type
- * @return true on success, false otherwise
- *
- * @see View::initialize
- */
- bool initialize(Evas_Object *parent);
-
- /*
- * \par Description:
- * Create a menu for CallDurationView.
- */
- void createMenu();
-
- private:
- CallDurationCounter m_Counter;
- Ui::Genlist::Genlist m_List;
-
- bool addItem(CallDurationCounter::CounterType type, const char *label);
- bool fillList();
-
- void onCounterChange();
- static void onReset(void *data, Evas_Object *obj, void *event_info);
- };
- }
-}
-
-#endif /* __CALL_DURATION_VIEW_H__ */
diff --git a/lib/log/include/phone-log.h b/lib/log/include/phone-log.h
deleted file mode 100755
index fe4cdcd..0000000
--- a/lib/log/include/phone-log.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_LOG_H__
-#define __PHONE_LOG_H__
-
-#include <unicode/udat.h>
-
-#include "phone-common.h"
-
-enum
-{
- LOG_VIEW_TYPE_NORMAL = 0,
- LOG_VIEW_TYPE_NORMAL_CHECK,
- LOG_VIEW_TYPE_UG_NUMBER_CHECK,
- LOG_VIEW_TYPE_UG_NUMBER_SELECT,
- LOG_VIEW_TYPE_UG_EMAIL_CHECK,
- LOG_VIEW_TYPE_UG_EMAIL_SELECT,
- LOG_VIEW_TYPE_UG_NUMBER_OR_EMAIL_CHECK,
- LOG_VIEW_TYPE_UG_NUMBER_OR_EMAIL_SELECT,
- LOG_VIEW_TYPE_UG_LAUNCH_CALL,
-};
-
-enum
-{
- VIEWBY_ALL_CALL = 0,
- VIEWBY_MISSED_CALL,
- VIEWBY_DIALED_CALL,
- VIEWBY_RECEIVED_CALL,
- VIEWBY_REJECTED_CALL,
- VIEWBY_MAX,
-};
-
-enum
-{
- LOG_FORMAT_TIME_12 = 0,
- LOG_FORMAT_TIME_24,
- LOG_FORMAT_DATE,
- LOG_FORMAT_MAX,
-};
-
-typedef struct : public Common::View
-{
- Evas_Object *box;
- Evas_Object *cbar;
- Evas_Object *genlist;
- Evas_Object* radio_main;
- Evas_Object *content;
- Evas_Object *ctrl_item;
- Evas_Object *number;
- Eina_List *log_list;
- int view_type;
- int viewby_type;
- size_t log_checkable_count;
- int log_list_count;
- int all_log_list_count;
- int pre_date_type; //for index
- int readed_n;
- int ug_request;
- Ecore_Idler *list_idler;
- Elm_Object_Item *git;
- Elm_Object_Item *item_last_sweep;
- Ecore_Timer *timer;
- UDateFormat *formatter[LOG_FORMAT_MAX];
- Ecore_Timer *update_timer;
- bool is_background;
- bool logdetail_update;
-
- /* edit mode */
- Evas_Object *select_all_layout;
- int cnt_checked;
- ph_progress_info *p_info;
-} ph_log_data;
-
-typedef struct
-{
- int index;
- int state_index;
-} viewby_list_item;
-
-Evas_Object *phone_create_log_view(ph_view_info *view_info);
-void phone_log_views_update(Evas_Object *navi);
-void phone_log_missed_info_update(void *navi);
-void phone_log_view_reset(Evas_Object *navi);
-void phone_log_view_resume(Evas_Object *layout);
-void phone_log_set_navi(Evas_Object *layout);
-void phone_log_set_background(Evas_Object *obj, bool is_background);
-void phone_log_check_mode_start(ph_log_data *log_d);
-void phone_viewby_type_set(Evas_Object *layout, int log_type);
-void phone_log_view_language_changed(Evas_Object *navi);
-
-#endif //__PHONE_LOG_H__
diff --git a/lib/log/ph-log-check-view.cpp b/lib/log/ph-log-check-view.cpp
deleted file mode 100755
index 7f0ff45..0000000
--- a/lib/log/ph-log-check-view.cpp
+++ /dev/null
@@ -1,425 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <bundle.h>
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-#include "phone-log.h"
-#include "ph-log-utils.h"
-#include "ph-log-main-view.h"
-
-#include "assert.h"
-
-void ph_log_check_update_button_status(ph_log_data *log_d)
-{
- PH_TRACE;
- Eina_Bool disabled;
- p_retm_if(NULL == log_d, "parameter is NULL");
- p_retm_if(NULL == log_d->ctrl_item, "ctrl_item is NULL");
-
- if (0 == log_d->log_list_count)
- disabled = EINA_TRUE;
- else if (log_d->genlist && elm_genlist_decorate_mode_get(log_d->genlist))
- {
- if (0 < log_d->cnt_checked)
- disabled = EINA_FALSE;
- else
- disabled = EINA_TRUE;
- }
- else
- disabled = EINA_FALSE;
-
- elm_object_disabled_set(log_d->ctrl_item, disabled);
-}
-
-void ph_log_check_update_selection_info(ph_log_data *log_d)
-{
- PH_TRACE;
-
- if (log_d->cnt_checked == 0)
- phone_hide_notify(log_d->layout);
- else
- {
- char info_text[PH_TEXT_SHORT_LEN] = { 0 };
- snprintf(info_text, sizeof(info_text), "%s (%d)",
- S_(PH_SYS_POP_SELECTED), log_d->cnt_checked);
- phone_show_notify(log_d->layout, info_text);
- }
-}
-
-static void log_check_select_all(void *data, Eina_Bool checked)
-{
- PH_TRACE;
- Eina_List *l;
- ph_log_data *log_d = (ph_log_data *) data;
- void *v_l_info;
-
- if (checked)
- log_d->cnt_checked = log_d->log_list_count;
- else
- log_d->cnt_checked = 0;
-
- EINA_LIST_FOREACH(log_d->log_list, l, v_l_info)
- {
- ph_log_info *l_info = (ph_log_info *) v_l_info;
- if (!l_info)
- continue;
- l_info->checked = checked;
- }
- elm_genlist_realized_items_update(log_d->genlist);
- ph_log_check_update_selection_info(log_d);
- ph_log_check_update_button_status(log_d);
-}
-
-API void phone_log_check_mode_start(ph_log_data *log_d)
-{
- PH_TRACE;
- Elm_Object_Item * item;
- p_retm_if(NULL == log_d, "log data is NULL");
-
- if (log_d->item_last_sweep)
- {
- elm_genlist_item_decorate_mode_set(log_d->item_last_sweep, "slide",
- EINA_FALSE);
- elm_genlist_item_select_mode_set(log_d->item_last_sweep,
- ELM_OBJECT_SELECT_MODE_DEFAULT);
- log_d->item_last_sweep = NULL;
- }
-
- if (0 < log_d->log_list_count && !log_d->select_all_layout)
- {
- log_d->select_all_layout = phone_create_select_all(log_d->box,
- S_(PH_SYS_BODY_SELECT_ALL), log_check_select_all, log_d);
- elm_box_pack_start(log_d->box, log_d->select_all_layout);
- }
-
- if (LOG_VIEW_TYPE_NORMAL == log_d->view_type)
- log_d->view_type = LOG_VIEW_TYPE_NORMAL_CHECK;
-
- elm_genlist_decorate_mode_set(log_d->genlist, EINA_TRUE);
- phone_log_set_navi(log_d->navi);
-
- item = elm_genlist_first_item_get(log_d->genlist);
- while (item)
- {
- elm_genlist_item_fields_update(item, "elm.icon.3",
- ELM_GENLIST_ITEM_FIELD_CONTENT);
- item = elm_genlist_item_next_get(item);
- }
-}
-
-void ph_log_check_mode_end(ph_log_data *log_d, bool redraw)
-{
- PH_TRACE;
- Elm_Object_Item * item;
-
- phone_hide_notify(log_d->navi);
-
- elm_box_unpack(log_d->box, log_d->select_all_layout);
- evas_object_del(log_d->select_all_layout);
- log_d->select_all_layout = NULL;
-
- if (log_d->cnt_checked)
- log_check_select_all(log_d, EINA_FALSE);
-
- if (LOG_VIEW_TYPE_NORMAL_CHECK == log_d->view_type)
- {
- log_d->view_type = LOG_VIEW_TYPE_NORMAL;
- if (log_d->timer)
- ecore_timer_del(log_d->timer);
- log_d->timer = ecore_timer_add(1.0, ph_log_missed_call_count_reset,
- (void*) log_d);
- }
- elm_genlist_decorate_mode_set(log_d->genlist, EINA_FALSE);
-
- if (redraw)
- phone_log_set_navi(log_d->navi);
-
- item = elm_genlist_first_item_get(log_d->genlist);
- while (item)
- {
- elm_genlist_item_fields_update(item, "elm.icon.3",
- ELM_GENLIST_ITEM_FIELD_CONTENT);
- item = elm_genlist_item_next_get(item);
- }
-}
-
-void ph_log_check_update_select_all(ph_log_data *log_d)
-{
- PH_TRACE;
- Eina_Bool all_check;
- Evas_Object *check;
-
- p_retm_if(NULL == log_d->select_all_layout, "select_all_layout is NULL");
-
- check = elm_object_part_content_get(log_d->select_all_layout, "elm.icon");
- p_retm_if(NULL == check, "elm_object_part_content_get() return NULL");
-
- if (log_d->log_list_count == log_d->cnt_checked)
- all_check = EINA_TRUE;
- else
- all_check = EINA_FALSE;
- elm_check_state_set(check, all_check);
-}
-
-void ph_log_check_done_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int i = 0;
- int *result_list;
- Eina_List *l;
- ph_log_data *log_d = (ph_log_data *) data;
- void *v_l_info;
-
- result_list = (int *) calloc(log_d->cnt_checked, sizeof(int));
- EINA_LIST_FOREACH(log_d->log_list, l, v_l_info)
- {
- ph_log_info *l_info = (ph_log_info *) v_l_info;
- if (!l_info)
- continue;
- if (l_info->checked)
- result_list[i++] = l_info->id;
- }
- phone_list_ug_return_ids(log_d->ug, result_list, log_d->cnt_checked,
- PH_UG_BUNDLE_RESULT_PLOG_ID_LIST);
-
- free(result_list);
- ug_destroy_me(log_d->ug);
-}
-
-static PTHREAD_FN log_check_del(void *data)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) data;
- ph_progress_info *p_info = log_d->p_info;
- Eina_List *l;
- void *v_l_info;
-
- contacts_connect_on_thread();
-
- EINA_LIST_FOREACH(log_d->log_list, l, v_l_info)
- {
- ph_log_info *l_info = (ph_log_info *) v_l_info;
- if (!p_info->alive)
- {
- p_info->completed = true;
- break;
- }
- if (!l_info)
- continue;
-
- if (TRUE == l_info->checked)
- {
- if (CONTACTS_ERROR_NONE
- != contacts_db_delete_record(_contacts_phone_log._uri,
- l_info->id))
- {
- ERR("contacts_db_delete_record() failed (id=%d)", l_info->id);
- p_info->completed = true;
- break;
- }
- p_info->cnt++;
- }
- if (p_info->cnt == p_info->cnt_checked_total)
- break;
- }
-
- contacts_disconnect_on_thread();
-
- pthread_exit (NULL);
-}
-
-static Eina_Bool log_check_del_timer(void *data)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) data;
- ph_progress_info *p_info = log_d->p_info;
-
- p_retvm_if(NULL == p_info, ECORE_CALLBACK_CANCEL,
- "parameter(ph_progress_info) is NULL");
-
- if (!p_info->completed)
- {
- char count[PH_TEXT_SHORT_LEN];
- char percent[5];
- double value = (double) p_info->cnt
- / (double) p_info->cnt_checked_total;
-
- elm_progressbar_value_set(p_info->progressbar, value);
- snprintf(percent, sizeof(percent), "%d%%",
- (int) (100.0 * (double) p_info->cnt
- / (double) p_info->cnt_checked_total));
- snprintf(count, sizeof(count), "%d/%d", p_info->cnt,
- p_info->cnt_checked_total);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext1", percent);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext2", count);
-
- if (p_info->cnt == p_info->cnt_checked_total)
- p_info->completed = true;
-
- return ECORE_CALLBACK_RENEW;
- }
- else
- {
- bool deleted = false;
-
- pthread_join(p_info->thread, NULL);
-
- if (p_info->cnt == p_info->cnt_checked_total)
- {
- deleted = true;
- }
-
- evas_object_del(log_d->popup);
- log_d->popup = NULL;
-
- if (NULL != p_info)
- {
- free(p_info);
- log_d->p_info = NULL;
- }
-
- ph_log_check_mode_end(log_d, true);
-
- if (deleted)
- phone_show_tickernoti(S_(PH_SYS_POP_DELETED));
- else
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
-
- ph_log_data_changed_cb(log_d);
- return ECORE_CALLBACK_CANCEL;
- }
-}
-
-static void ph_log_check_del_reponse_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int ret;
- ph_log_data *log_d = (ph_log_data *) data;
- ph_progress_info *p_info;
-
- p_retm_if(NULL == log_d, "log data is NULL");
- evas_object_del(log_d->popup);
- log_d->popup = NULL;
-
- p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- p_retm_if(NULL == p_info, "calloc return NULL");
-
- log_d->p_info = p_info;
- p_info->cnt_checked_total = log_d->cnt_checked;
- p_info->alive = true;
-
- ret = pthread_create(&p_info->thread, NULL, log_check_del, log_d);
- if (0 != ret)
- {
- ERR("Thread creation failed(%d)", ret);
- free(p_info);
- log_d->p_info = NULL;
- return;
- }
-
- p_info->timer = ecore_timer_add(0.2, log_check_del_timer, log_d);
- if (NULL == p_info->timer)
- {
- ERR("ecore_timer_add() return NULL");
-
- p_info->alive = false;
- pthread_join(p_info->thread, NULL);
- free(p_info);
- log_d->p_info = NULL;
- return;
- }
-
- log_d->popup = phone_progressbar_popup(log_d->win, p_info,
- T_(PH_GET_TEXT_BASIC, PHTEXT_DELETING_LOGS));
-}
-
-void ph_log_check_del_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_log_data* log_d = (ph_log_data *) data;
- ph_log_info *l_info = (ph_log_info *)log_d->log_list;
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- Evas_Object *btn;
-
- if(!log_d || !l_info)
- {
- return;
- }
-
- snprintf(buf, sizeof(buf), T_(PH_GET_TEXT_BASIC, PHTEXT_DELETING_N_LOGS), log_d->cnt_checked);
- btn = phone_create_confirm_popup(&log_d->popup, log_d->win, buf,
- ph_log_check_del_reponse_cb, (void *) log_d);
- evas_object_data_set(btn, "log_data", log_d);
-}
-
-void ph_log_check_groupped_items(ph_log_data& logData, int logInfoId, Eina_Bool bChecked)
-{
- PH_TRACE;
- if (elm_genlist_decorate_mode_get(logData.genlist))
- {
- Eina_List *list = NULL;
- void *v_l_info = NULL;
-
- EINA_LIST_FOREACH(logData.log_list, list, v_l_info)
- {
- ph_log_info *l_info = (ph_log_info *) v_l_info;
- if (l_info)
- {
- if (l_info->group_base_id == logInfoId)
- {
- l_info->checked = bChecked;
- }
- }
- }
- }
-}
-
-void ph_log_check_check_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_log_data *logData = (ph_log_data *) data;
- ph_log_info *logInfo = (ph_log_info *) evas_object_data_get(obj, "person_info");
-
- assert(logData && obj && logInfo);
- if ((logData == NULL) || (obj == NULL) || (logInfo == NULL))
- {
- return;
- }
-
- if(logData)
- {
- ph_log_check_groupped_items(*logData, logInfo->id, logInfo->checked);
- }
-
- if (elm_check_state_get(obj))
- {
- logData->cnt_checked += logInfo->grouped_count;
- }
- else
- {
- logData->cnt_checked -= logInfo->grouped_count;
- }
-
- ph_log_check_update_select_all(logData);
- ph_log_check_update_selection_info(logData);
- ph_log_check_update_button_status(logData);
-}
diff --git a/lib/log/ph-log-check-view.h b/lib/log/ph-log-check-view.h
deleted file mode 100755
index 9ed52bc..0000000
--- a/lib/log/ph-log-check-view.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PH_LOG_CHECK_VIEW_H_
-#define __PH_LOG_CHECK_VIEW_H_
-
-void ph_log_check_mode_end(ph_log_data *log_d, bool redraw);
-void ph_log_check_update_select_all(ph_log_data *log_d);
-void ph_log_check_update_selection_info(ph_log_data *log_d);
-void ph_log_check_update_button_status(ph_log_data *log_d);
-void ph_log_check_done_btn_cb(void *data, Evas_Object *obj, void *event_info);
-void ph_log_check_del_btn_cb(void *data, Evas_Object *obj, void *event_info);
-void ph_log_check_check_changed_cb(void *data, Evas_Object *obj,
- void *event_info);
-
-/**
- * @brief The function marks items of log, if there was checked related item of genlist
- * @param logData Data of log list
- * @param logInfoId Id of checked item
- * @param bChecked Checked/Unchecked item
- */
-void ph_log_check_groupped_items(ph_log_data& logData, int logInfoId, Eina_Bool bChecked);
-
-#endif /* __PH_LOG_CHECK_VIEW_H_ */
diff --git a/lib/log/ph-log-detail-view.cpp b/lib/log/ph-log-detail-view.cpp
deleted file mode 100755
index 34d611b..0000000
--- a/lib/log/ph-log-detail-view.cpp
+++ /dev/null
@@ -1,1441 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <vconf.h>
-#include <vconf-keys.h>
-#include <ui-gadget-module.h>
-#include <aul.h>
-
-#include "phone.h"
-#include "phone-log.h"
-#include "ph-log-utils.h"
-#include "ph-log-detail-view.h"
-#include "phone-common.h"
-
-#include <feedback.h>
-#include <msg.h>
-
-#define KEY_LOG_DETAIL_DATA "logdetail_d"
-
-enum LOG_DETAIL_ITC_TYPE
-{
- LOG_DETAIL_ITC_TOP_INFO_NAMED = 0,
- LOG_DETAIL_ITC_TOP_INFO_NONAMED,
-
- LOG_DETAIL_ITC_TOP_BTNS,
- LOG_DETAIL_ITC_DETAIL,
- LOG_DETAIL_ITC_TITLE,
- LOG_DETAIL_ITC_MAX,
-};
-
-static Elm_Genlist_Item_Class log_detail_itcs[LOG_DETAIL_ITC_MAX] = { { 0, 0, 1,
- "2text.2icon.1", NULL, NULL, { NULL, NULL, NULL, NULL }, }, { 0, 0, 1,
- "1text.1icon.7", NULL, NULL, { NULL, NULL, NULL, NULL }, }, { 0, 0, 1,
- "logdetail.2icon", NULL, NULL, { NULL, NULL, NULL, NULL }, }, { 0, 0,
- 1, "dialogue/3text.2icon", NULL, NULL, { NULL, NULL, NULL, NULL }, }, {
- 0, 0, 1, "grouptitle", NULL, NULL, { NULL, NULL, NULL, NULL }, }, };
-
-typedef struct
-{
- int plog_id;
- int plog_type;
- int plog_time;
- int plog_duration;
- int plog_msgid;
- char *plog_shortmsg;
-} ph_log_detail_info;
-
-static void log_detail_destroy_child_ug(void *data)
-{
- PH_TRACE;
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
- logdetail_d->child_ug = NULL;
-}
-
-static void log_detail_msg_btn_pressed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- elm_image_file_set((Evas_Object *) data, PH_IMG_ICON_SMS_PRESSED, NULL);
-}
-
-static void log_detail_msg_btn_unpressed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- elm_image_file_set((Evas_Object *) data, PH_IMG_ICON_SMS, NULL);
-}
-
-static void log_detail_msg_btn_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
- p_retm_if(NULL == logdetail_d, "log_info is NULL");
- ph_log_util_svi_play(FEEDBACK_PATTERN_TOUCH_TAP,
- FEEDBACK_PATTERN_TOUCH_TAP);
-
- p_retm_if(1 == aul_app_is_running(VIDEOCALL_PKG), "vtcall is running");
- p_retm_if(1 == aul_app_is_running(VOICECALL_PKG), "voice call is running");
-
- logdetail_d->child_ug = phone_launch_msg_composer_ug(logdetail_d->ug,
- logdetail_d->log_number, 0, log_detail_destroy_child_ug,
- logdetail_d);
-}
-
-static void log_detail_call_btn_pressed_cb(void *data, Evas *e,
- Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- elm_image_file_set((Evas_Object *) data, PH_IMG_ICON_CALL_PRESSED, NULL);
-}
-
-static void log_detail_call_btn_unpressed_cb(void *data, Evas *e,
- Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- elm_image_file_set((Evas_Object *) data, PH_IMG_CIRCLE_ICON_CALL, NULL);
-}
-
-static void log_detail_call_btn_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
- p_retm_if(NULL == logdetail_d, "log_info is NULL");
- ph_log_util_svi_play(FEEDBACK_PATTERN_TOUCH_TAP,
- FEEDBACK_PATTERN_TOUCH_TAP);
- phone_launch_voice_call(logdetail_d->contact_id, logdetail_d->log_number);
-}
-
-static void log_detail_gl_realized(void *data, Evas_Object *obj, void *ei)
-{
- PH_TRACE;
- p_retm_if(obj == NULL, "obj is null");
- p_retm_if(ei == NULL, "ei is null");
-
- ph_log_detail_data *logdetail_d;
- logdetail_d = (ph_log_detail_data *) evas_object_data_get(obj,
- KEY_LOG_DETAIL_DATA);
-
- int first = 0;
-
- if (logdetail_d->log_number && *logdetail_d->log_number)
- first = 5;
- else
- first = 3;
- int last = (int) elm_genlist_items_count(obj) - 1;
- int index = elm_genlist_item_index_get((Elm_Object_Item *) ei);
-
- if (last == first)
- return;
-
- if (index == first)
- elm_object_item_signal_emit((Elm_Object_Item *) ei, "elm,state,top",
- "");
- else if (index == last)
- elm_object_item_signal_emit((Elm_Object_Item *) ei, "elm,state,bottom",
- "");
- else if (index > first && index < last)
- elm_object_item_signal_emit((Elm_Object_Item *) ei, "elm,state,center",
- "");
-
- return;
-}
-
-static void log_detail_append_separator(Evas_Object *genlist, bool isEnd)
-{
- PH_TRACE;
- static Elm_Genlist_Item_Class itc[2] = { { 0, 0, 1,
- "dialogue/separator/end", NULL, NULL, { NULL, NULL, NULL, NULL }, },
- { 0, 0, 1, "dialogue/separator/10", NULL, NULL, { NULL, NULL, NULL,
- NULL }, }, };
-
- Elm_Object_Item *item;
- if (isEnd)
- item = elm_genlist_item_append(genlist, &itc[0], NULL, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- else
- item = elm_genlist_item_append(genlist, &itc[1], NULL, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-}
-
-static void log_detail_gl_selected_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Elm_Object_Item *it = (Elm_Object_Item *) event_info;
- if (it)
- {
- elm_genlist_item_selected_set(it, EINA_FALSE);
- }
-}
-
-static void log_detail_fill_genlist(ph_log_detail_data *logdetail_d)
-{
- PH_TRACE;
- Eina_List *l;
- ph_log_detail_info * l_detail_info;
- void *v_l_detail_info;
- Elm_Object_Item *git;
-
- p_retm_if(NULL == logdetail_d->genlist, "Genlist is null");
- if (logdetail_d->log_display)
- logdetail_d->top_item = elm_genlist_item_append(logdetail_d->genlist,
- &log_detail_itcs[LOG_DETAIL_ITC_TOP_INFO_NAMED], logdetail_d,
- NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- else
- logdetail_d->top_item = elm_genlist_item_append(logdetail_d->genlist,
- &log_detail_itcs[LOG_DETAIL_ITC_TOP_INFO_NONAMED], logdetail_d,
- NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
- if (logdetail_d->log_number)
- {
- elm_genlist_item_append(logdetail_d->genlist,
- &log_detail_itcs[LOG_DETAIL_ITC_TOP_BTNS], logdetail_d, NULL,
- ELM_GENLIST_ITEM_NONE, NULL, NULL);
- log_detail_append_separator(logdetail_d->genlist, false);
- }
- l_detail_info = (ph_log_detail_info*) eina_list_data_get(
- eina_list_last(logdetail_d->log_list));
- git = elm_genlist_item_append(logdetail_d->genlist,
- &log_detail_itcs[LOG_DETAIL_ITC_TITLE], l_detail_info, NULL,
- ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_NONE);
- v_l_detail_info = (void *) l_detail_info;
- EINA_LIST_FOREACH(logdetail_d->log_list, l, v_l_detail_info)
- {
- l_detail_info = (ph_log_detail_info *) v_l_detail_info;
- Elm_Object_Item * it;
- if (!l_detail_info)
- continue;
- it = elm_genlist_item_append(logdetail_d->genlist,
- &log_detail_itcs[LOG_DETAIL_ITC_DETAIL], l_detail_info, git,
- ELM_GENLIST_ITEM_NONE, log_detail_gl_selected_cb, NULL);
- elm_genlist_item_select_mode_set(it,
- ELM_OBJECT_SELECT_MODE_ALWAYS);
- }
- log_detail_append_separator(logdetail_d->genlist, true);
-}
-
-static void log_detail_free_log_data(Eina_List *list)
-{
- PH_TRACE;
- Eina_List *l;
- void *v_l_detail_info;
- p_retm_if(NULL == list, "data is null");
-
- EINA_LIST_FOREACH(list, l, v_l_detail_info)
- {
- ph_log_detail_info *l_detail_info =
- (ph_log_detail_info *) v_l_detail_info;
- if (!l_detail_info)
- continue;
- free(l_detail_info->plog_shortmsg);
- free(l_detail_info);
- }
- eina_list_free(list);
-}
-
-contacts_error_e log_detail_get_list(const char *view_uri, int property_id,
- const char* match_value, contacts_list_h *out_list)
-{
- PH_TRACE;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- contacts_filter_h filter = NULL;
- contacts_query_h query = NULL;
-
- p_retvm_if(NULL == out_list, CONTACTS_ERROR_INVALID_PARAMETER,
- "parameter(out_list) is NULL");
-
- err = (contacts_error_e) contacts_filter_create(view_uri, &filter);
- p_retvm_if(CONTACTS_ERROR_NONE != err, err,
- "contactcs_filter_create() Failed(%d)", err);
-
- do
- {
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_filter_add_str(filter,
- property_id, CONTACTS_MATCH_FULLSTRING, match_value)))
- break;
- if (CONTACTS_ERROR_NONE != (err =
- (contacts_error_e) contacts_query_create(view_uri, &query)))
- break;
- if (CONTACTS_ERROR_NONE != (err =
- (contacts_error_e) contacts_query_set_filter(query, filter)))
- break;
- if (CONTACTS_ERROR_NONE
- != (err = (contacts_error_e) contacts_db_get_records_with_query(
- query, 0, 0, out_list)))
- break;
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- return CONTACTS_ERROR_NONE;
- }
- while (0);
-
- contacts_filter_destroy(filter);
- contacts_query_destroy(query);
-
- return err;
-}
-
-static char* log_detail_get_custom_number_type(int contact_id,
- const char* req_number)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_list_h num_list = NULL;
- char *out_num = NULL;
- char *out_label = NULL;
-
- if (contact_id > 0)
- {
- err = phone_cts_get_list(_contacts_person_number._uri,
- _contacts_person_number.person_id, contact_id, &num_list);
- if (CONTACTS_ERROR_NONE == err)
- {
- while (CONTACTS_ERROR_NONE == err)
- {
- err = phone_cts_get_str_from_list(num_list,
- _contacts_person_number.number, &out_num);
- if (err == CONTACTS_ERROR_NONE
- && strcmp(req_number, out_num) == 0)
- {
- err = phone_cts_get_str_from_list(num_list,
- _contacts_person_number.label, &out_label);
- break;
- }
- err = contacts_list_next(num_list);
- }
- }
- contacts_list_destroy(num_list, true);
- }
-
- if (err == CONTACTS_ERROR_NONE && out_label && *out_label)
- return strdup(out_label);
- else
- return (char *) T_(CT_GET_TEXT_NUM_TYPE, CTTEXT_TYPE_OTHER);
-
-}
-
-static void log_detail_get_contact_info(char *req_number,
- ph_log_detail_data *logdetail_d)
-{
- PH_TRACE;
- int index;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h out_contact = NULL;
- contacts_list_h num_list = NULL;
- char *out_num;
-
- p_retm_if(NULL == req_number, "Parameter is null");
- free(logdetail_d->log_display);
- logdetail_d->log_display = NULL;
- free(logdetail_d->log_img_path);
- logdetail_d->log_img_path = NULL;
-
- index = 0;
- if (logdetail_d->contact_id > 0)
- {
- err = phone_cts_get_list(_contacts_person_number._uri,
- _contacts_person_number.person_id, logdetail_d->contact_id,
- &num_list);
- if (CONTACTS_ERROR_NONE == err)
- {
- while (CONTACTS_ERROR_NONE == err)
- {
- err = phone_cts_get_str_from_list(num_list,
- _contacts_person_number.number, &out_num);
- if (err == CONTACTS_ERROR_NONE
- && strcmp(req_number, out_num) == 0)
- {
- index = logdetail_d->contact_id;
- break;
- }
- err = contacts_list_next(num_list);
- }
- }
- contacts_list_destroy(num_list, true);
- }
-
- if (index <= 0)
- {
- err = log_detail_get_list(_contacts_person_number._uri,
- _contacts_person_number.number, req_number, &num_list);
- if (CONTACTS_ERROR_NONE == err)
- {
- unsigned int count = 0;
- contacts_list_get_count(num_list, &count);
- if (count > 0)
- {
- phone_cts_get_int_from_list(num_list,
- _contacts_person_number.person_id, &index);
- PH_DBG("FOUND ONE: %d", index);
- }
-
- }
- contacts_list_destroy(num_list, true);
- }
-
- if (index > 0)
- {
- err = contacts_db_get_record(_contacts_person._uri, index,
- &out_contact);
- if (err < CONTACTS_ERROR_NONE)
- ERR("contacts_db_get_record is failed");
- else
- {
- contacts_record_get_str(out_contact, _contacts_person.display_name,
- &logdetail_d->log_display);
- logdetail_d->contact_id = index;
- contacts_record_get_str(out_contact,
- _contacts_person.image_thumbnail_path,
- &logdetail_d->log_img_path);
- contacts_record_destroy(out_contact, true);
- PH_DBG("updated) name: %s, id: %d, imgpath: %s",
- logdetail_d->log_display, logdetail_d->contact_id, logdetail_d->log_img_path);
- return;
- }
- }
- logdetail_d->contact_id = 0;
-}
-
-static void log_detail_view_clicked_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
- p_retm_if(NULL == logdetail_d, "detail data is null");
-
- if (0 < logdetail_d->contact_id)
- {
- PH_DBG("requested ID: %d", logdetail_d->contact_id);
- logdetail_d->child_ug = phone_launch_contact_detail_ug(logdetail_d->ug,
- logdetail_d->contact_id, log_detail_destroy_child_ug,
- logdetail_d);
- }
-}
-
-static void log_detail_add_contact_btn_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
- logdetail_d->child_ug = phone_launch_contact_add_list_edit_ug(
- logdetail_d->ug, logdetail_d->log_number,
- log_detail_destroy_child_ug, logdetail_d);
-}
-
-static void log_detail_update_view_with_contact_cb(const char* view_uri,
- void* data)
-{
- PH_TRACE;
-
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
- log_detail_get_contact_info(logdetail_d->log_number, logdetail_d);
-
- if (logdetail_d->top_item)
- elm_object_item_del(logdetail_d->top_item);
- if (logdetail_d->log_display)
- logdetail_d->top_item = elm_genlist_item_prepend(logdetail_d->genlist,
- &log_detail_itcs[LOG_DETAIL_ITC_TOP_INFO_NAMED], logdetail_d,
- NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- else
- logdetail_d->top_item = elm_genlist_item_prepend(logdetail_d->genlist,
- &log_detail_itcs[LOG_DETAIL_ITC_TOP_INFO_NONAMED], logdetail_d,
- NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
- ph_log_detail_set_toolbar(logdetail_d);
-
- return;
-
-}
-
-static void log_detail_delete_confirm_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int ret = CONTACTS_ERROR_NONE;
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
- Eina_List *l;
- void *v_l_info;
-
- evas_object_del(logdetail_d->popup);
- logdetail_d->popup = NULL;
-
- l = logdetail_d->log_list;
- EINA_LIST_FOREACH(l, l, v_l_info)
- {
- ph_log_detail_info *l_info = (ph_log_detail_info *) v_l_info;
- ret = contacts_db_delete_record(_contacts_phone_log._uri,
- l_info->plog_id);
- if (CONTACTS_ERROR_NONE != ret)
- break;
- }
-
- if (CONTACTS_ERROR_NONE != ret)
- {
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
- }
- else
- {
- evas_object_data_del(logdetail_d->navi, KEY_LOG_DETAIL_DATA);
- elm_naviframe_item_pop(logdetail_d->navi);
- phone_show_tickernoti(S_(PH_SYS_POP_DELETED));
- }
-}
-
-static void log_detail_del_btn_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- snprintf(buf, sizeof(buf), "%s?", S_(PH_SYS_SK_DELETE));
- phone_create_confirm_popup(&logdetail_d->popup, logdetail_d->win, buf,
- log_detail_delete_confirm_cb, logdetail_d);
-}
-
-static Evas_Object *log_detail_gl_top_info_icon_get(void *data,
- Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
- if (0 == strcmp(part, "elm.icon"))
- {
- }
- else if (0 == strcmp(part, "elm.icon.2"))
- {
- Evas_Object *detail_img = NULL;
- if (logdetail_d->log_img_path)
- detail_img = phone_create_icon_with_img(obj,
- logdetail_d->log_img_path);
- else
- detail_img = phone_create_icon_with_img(obj, IMG_DEFAULT);
- if (detail_img)
- evas_object_size_hint_aspect_set(detail_img,
- EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1);
- return detail_img;
- }
- return NULL;
-}
-
-void log_detail_destroy_list_child_ug(void *data)
-{
- PH_TRACE;
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
- logdetail_d->child_ug = NULL;
-
-}
-
-static Evas_Object *log_detail_gl_top_btns_icon_get(void *data,
- Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- const char *fullpath;
- Evas_Object *btn;
- Evas_Object *icon;
- Evas_Smart_Cb clicked_fn;
- Evas_Smart_Cb pressed_fn;
- Evas_Smart_Cb unpressed_fn;
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
-
- p_retv_if(NULL == data, NULL);
-
- if (0 == strcmp(part, "elm.icon.1"))
- {
- fullpath = PH_IMG_CIRCLE_ICON_CALL;
- clicked_fn = log_detail_call_btn_cb;
- pressed_fn = (Evas_Smart_Cb) log_detail_call_btn_pressed_cb;
- unpressed_fn = (Evas_Smart_Cb) log_detail_call_btn_unpressed_cb;
- }
- else if (0 == strcmp(part, "elm.icon.2"))
- {
- fullpath = PH_IMG_ICON_SMS;
- clicked_fn = log_detail_msg_btn_cb;
- pressed_fn = log_detail_msg_btn_pressed_cb;
- unpressed_fn = log_detail_msg_btn_unpressed_cb;
- }
- else
- {
- return NULL;
- }
-
- btn = elm_button_add(obj);
- p_retvm_if(NULL == btn, NULL, "elm_button_add() return NULL");
- evas_object_propagate_events_set(btn, false);
-
- icon = elm_icon_add(btn);
- p_retvm_if(NULL == icon, NULL, "phone_create_icon_with_img() return NULL");
- elm_image_file_set(icon, fullpath, NULL);
- elm_image_resizable_set(icon, EINA_TRUE, EINA_TRUE);
- elm_object_part_content_set(btn, "elm.swallow.content", icon);
- evas_object_smart_callback_add(btn, "clicked", clicked_fn, logdetail_d);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_DOWN,
- (Evas_Object_Event_Cb) pressed_fn, icon);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_UP,
- (Evas_Object_Event_Cb) unpressed_fn, icon);
-
- if (!logdetail_d->log_number || !*logdetail_d->log_number)
- elm_object_disabled_set(btn, EINA_TRUE);
-
- return btn;
-}
-
-static char *log_detail_gl_top_info_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
- char buf[PATH_MAX] = { 0 };
-
- if (0 == strcmp(part, "elm.text"))
- {
- if (logdetail_d->log_number && *logdetail_d->log_number)
- if (logdetail_d->log_list_count > 1)
- snprintf(buf, sizeof(buf), "%s (%d)", logdetail_d->log_number,
- logdetail_d->log_list_count);
- else
- snprintf(buf, sizeof(buf), "%s", logdetail_d->log_number);
- else
- snprintf(buf, sizeof(buf), "%s (%d)", S_(PH_SYS_BODY_UNKNOWN),
- logdetail_d->log_list_count);
- return strdup(buf);
- }
- else if (0 == strcmp(part, "elm.text.1"))
- {
- if (logdetail_d->log_display && *logdetail_d->log_display)
- if (logdetail_d->log_list_count > 1)
- snprintf(buf, sizeof(buf), "%s (%d)", logdetail_d->log_display,
- logdetail_d->log_list_count);
- else
- snprintf(buf, sizeof(buf), "%s", logdetail_d->log_display);
- else if (logdetail_d->log_number && *logdetail_d->log_number)
- if (logdetail_d->log_list_count > 1)
- snprintf(buf, sizeof(buf), "%s (%d)", logdetail_d->log_number,
- logdetail_d->log_list_count);
- else
- snprintf(buf, sizeof(buf), "%s", logdetail_d->log_number);
- else
- snprintf(buf, sizeof(buf), "%s (%d)", S_(PH_SYS_BODY_UNKNOWN),
- logdetail_d->log_list_count);
- return strdup(buf);
- }
- else if (0 == strcmp(part, "elm.text.2"))
- {
- if ((logdetail_d->log_display && *logdetail_d->log_display)
- && (logdetail_d->log_number && *logdetail_d->log_number))
- {
- if (logdetail_d->log_num_type & CONTACTS_NUMBER_TYPE_CUSTOM)
- snprintf(buf, sizeof(buf), "%s %s",
- log_detail_get_custom_number_type(
- logdetail_d->contact_id,
- logdetail_d->log_number),
- logdetail_d->log_number);
- else
- snprintf(buf, sizeof(buf), "%s %s",
- T_(CT_GET_TEXT_NUM_TYPE, phone_detail_log_get_phonenumber_type(logdetail_d->log_num_type)),
- logdetail_d->log_number);
- return strdup(buf);
- }
- else
- return NULL;
- }
- return NULL;
-}
-
-static Evas_Object *log_detail_gl_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ph_log_detail_info *l_detail_info = (ph_log_detail_info *) data;
- char buf[PATH_MAX] = { 0 };
- Evas_Object *ic;
-
- if (0 == strcmp(part, "elm.icon.1"))
- {
- char *made_data = phone_detail_log_get_icon_type(
- l_detail_info->plog_type);
- snprintf(buf, sizeof(buf), "%s", made_data);
- free(made_data);
- }
- else if (0 == strcmp(part, "elm.icon.2"))
- {
- char *made_data = phone_detail_log_get_icon_path_with_action(
- l_detail_info->plog_type);
- snprintf(buf, sizeof(buf), "%s", made_data);
- free(made_data);
- }
- else
- return NULL;
- ic = elm_icon_add(obj);
- p_retvm_if(NULL == ic, NULL, "elm_icon_add() return NULL");
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- return ic;
-}
-
-static const char* log_detail_get_type_name(int type)
-{
- PH_TRACE;
- switch (type)
- {
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING:
- return T_(PH_GET_TEXT_BASIC, PHTEXT_INCOMMING_CALL);
- break;
- case CONTACTS_PLOG_TYPE_VOICE_OUTGOING:
- case CONTACTS_PLOG_TYPE_VIDEO_OUTGOING:
- return T_(PH_GET_TEXT_BASIC, PHTEXT_OUTGOING_CALL);
- break;
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN:
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_SEEN:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_SEEN:
- return T_(PH_GET_TEXT_BASIC, PHTEXT_MISSED_CALL);
- break;
- case CONTACTS_PLOG_TYPE_MMS_OUTGOING:
- case CONTACTS_PLOG_TYPE_SMS_OUTGOING:
- case CONTACTS_PLOG_TYPE_EMAIL_SENT:
- return T_(PH_GET_TEXT_BASIC, PHTEXT_SENT_MESSAGE);
- break;
- case CONTACTS_PLOG_TYPE_MMS_INCOMMING:
- case CONTACTS_PLOG_TYPE_SMS_INCOMMING:
- case CONTACTS_PLOG_TYPE_EMAIL_RECEIVED:
- return T_(PH_GET_TEXT_BASIC, PHTEXT_RECEIVED_MESSAGE);
- break;
- case CONTACTS_PLOG_TYPE_VOICE_REJECT:
- case CONTACTS_PLOG_TYPE_VIDEO_REJECT:
- return T_(PH_GET_TEXT_BASIC, PHTEXT_REJECTED_CALL_ABB);
- break;
- case CONTACTS_PLOG_TYPE_VOICE_BLOCKED:
- case CONTACTS_PLOG_TYPE_VIDEO_BLOCKED:
- return T_(PH_GET_TEXT_BASIC, PHTEXT_BLOCKED_CALL_ABB);
- break;
- case CONTACTS_PLOG_TYPE_SMS_BLOCKED:
- case CONTACTS_PLOG_TYPE_MMS_BLOCKED:
- default:
- break;
- }
- return NULL;
-}
-
-static char* log_detail_gl_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ph_log_detail_info * l_detail_info = (ph_log_detail_info *) data;
- char buf[PATH_MAX] = { 0 };
- const char* type_name = NULL;
-
- if (0 == strcmp(part, "elm.text.1"))
- {
- ph_log_detail_data *logdetail_d;
- logdetail_d = (ph_log_detail_data *) evas_object_data_get(obj,
- KEY_LOG_DETAIL_DATA);
- return phone_detail_log_get_time(logdetail_d->log_d->formatter,
- l_detail_info->plog_time);
- }
- else if (0 == strcmp(part, "elm.text.2"))
- {
- type_name = log_detail_get_type_name(l_detail_info->plog_type);
- if (type_name)
- {
- if (TRUE
- == phone_detail_log_is_call_ing_type(
- l_detail_info->plog_type))
- {
- sprintf(buf, "%s %s", type_name,
- phone_detail_log_get_duration_from_number(
- l_detail_info->plog_duration));
- return strdup(buf);
- }
- else
- return strdup(type_name);
- }
- else
- {
- if (TRUE
- == phone_detail_log_is_call_ing_type(
- l_detail_info->plog_type))
- return phone_detail_log_get_duration_from_number(
- l_detail_info->plog_duration);
- }
- }
- else if (0 == strcmp(part, "elm.text.3"))
- {
- if (TRUE == phone_detail_log_is_call_ing_type(l_detail_info->plog_type))
- return phone_detail_log_get_duration_from_number(
- l_detail_info->plog_duration);
- }
-
- return NULL;
-}
-
-static const char *log_detail_get_day_in_week(
- ph_log_detail_info * l_detail_info)
-{
- PH_TRACE;
- time_t stime;
- struct tm *tmp;
-
- stime = l_detail_info->plog_time - l_detail_info->plog_duration;
- tmp = localtime(&stime);
-
- switch (tmp->tm_wday)
- {
- case 0:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_SUNDAY);
- case 1:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_MONDAY);
- case 2:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_TUESDAY);
- case 3:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_WEDNESDAY);
- case 4:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_THURSDAY);
- case 5:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_FRIDAY);
- case 6:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_SATURDAY);
- }
- return NULL;
-}
-static int log_detail_get_group_index(ph_log_detail_info* l_detail_info)
-{
- PH_TRACE;
- time_t stime;
- struct timeval timeval;
- struct tm *tmp;
- int yday, cur_yday;
-
- gettimeofday(&timeval, 0);
- tmp = localtime(&timeval.tv_sec);
- cur_yday = tmp->tm_yday;
-
- stime = l_detail_info->plog_time - l_detail_info->plog_duration;
- tmp = localtime(&stime);
-
- yday = tmp->tm_yday;
-
- if (yday == cur_yday)
- return -1;
- else if (yday == (cur_yday - 1))
- return -2;
- else
- return 0;
-}
-
-static char* log_detail_gl_sep_date_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ph_log_detail_info * l_detail_info = (ph_log_detail_info*) data;
- const char *when;
-
- if (data == NULL)
- {
- PH_DBG("WARNING: data is NULL");
- return NULL;
- }
-
- int index = log_detail_get_group_index(l_detail_info);
-
- if (0 == strcmp(part, "elm.text"))
- {
- char *date_temp;
- ph_log_detail_data *logdetail_d;
-
- if (-1 == index)
- when = S_(PH_SYS_BODY_TODAY);
- else if (-2 == index)
- when = S_(PH_SYS_BODY_YESTERDAY);
- else
- when = log_detail_get_day_in_week(l_detail_info);
-
- logdetail_d = (ph_log_detail_data *) evas_object_data_get(obj,
- KEY_LOG_DETAIL_DATA);
- date_temp = phone_detail_log_get_date(logdetail_d->log_d->formatter,
- l_detail_info->plog_time - l_detail_info->plog_duration);
- if (date_temp)
- {
- char buf[PATH_MAX] = { 0 };
- snprintf(buf, sizeof(buf), " %s (%s)", when, date_temp);
- free(date_temp);
- return strdup(buf);
- }
- else
- return strdup(when);
- }
- else
- return NULL;
-
-}
-static inline void log_detail_create_itcs()
-{
- PH_TRACE;
- log_detail_itcs[LOG_DETAIL_ITC_DETAIL].func.text_get =
- log_detail_gl_label_get;
- log_detail_itcs[LOG_DETAIL_ITC_DETAIL].func.content_get =
- log_detail_gl_icon_get;
-
- log_detail_itcs[LOG_DETAIL_ITC_TOP_INFO_NAMED].func.text_get =
- log_detail_gl_top_info_label_get;
- log_detail_itcs[LOG_DETAIL_ITC_TOP_INFO_NAMED].func.content_get =
- log_detail_gl_top_info_icon_get;
-
- log_detail_itcs[LOG_DETAIL_ITC_TOP_INFO_NONAMED].func.text_get =
- log_detail_gl_top_info_label_get;
- log_detail_itcs[LOG_DETAIL_ITC_TOP_INFO_NONAMED].func.content_get =
- log_detail_gl_top_info_icon_get;
-
- log_detail_itcs[LOG_DETAIL_ITC_TOP_BTNS].func.content_get =
- log_detail_gl_top_btns_icon_get;
- log_detail_itcs[LOG_DETAIL_ITC_TITLE].func.text_get =
- log_detail_gl_sep_date_label_get;
-}
-
-static Evas_Object* log_detail_create_genlist(ph_log_detail_data *logdetail_d,
- Evas_Object *parent)
-{
- PH_TRACE;
- Evas_Object *genlist;
-
- genlist = elm_genlist_add(parent);
- p_retvm_if(NULL == genlist, NULL, "elm_genlist_add() return NULL");
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_data_set(genlist, KEY_LOG_DETAIL_DATA, logdetail_d);
- elm_object_theme_set(genlist, logdetail_d->th);
- evas_object_smart_callback_add(genlist, "realized", log_detail_gl_realized,
- NULL);
-
- log_detail_create_itcs();
- return genlist;
-}
-
-static void log_detail_view_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
- int err = CONTACTS_ERROR_NONE;
-
- p_retm_if(NULL == logdetail_d, "log detail data is null");
-
- err = contacts_db_remove_changed_cb(_contacts_person._uri,
- log_detail_update_view_with_contact_cb, logdetail_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_add_changed_cb() Failed(%d)", err);
-
- evas_object_data_del(logdetail_d->navi, KEY_LOG_DETAIL_DATA);
-
- elm_object_part_content_set(logdetail_d->layout, "elm.swallow.bg", NULL);
-
- if (logdetail_d->th)
- {
- elm_theme_extension_del(logdetail_d->th, DIALER_THEME_EDJ);
- elm_theme_free(logdetail_d->th);
- }
-
- if (logdetail_d->log_list)
- log_detail_free_log_data(logdetail_d->log_list);
-
- if (logdetail_d->idler)
- ecore_idler_del(logdetail_d->idler);
-
- if (logdetail_d->popup)
- evas_object_del(logdetail_d->popup);
-
- if (logdetail_d->m_Menu)
- evas_object_del(logdetail_d->m_Menu);
-
- if (logdetail_d->child_ug)
- ug_destroy(logdetail_d->child_ug);
-
- if (logdetail_d->log_display)
- free(logdetail_d->log_display);
-
- if (logdetail_d->log_number)
- free(logdetail_d->log_number);
-
- if (logdetail_d->log_img_path)
- free(logdetail_d->log_img_path);
-
- free(logdetail_d);
-}
-
-static void log_detail_back_btn_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
-
- /* TODO : remove evas_object_smart_callback_del, it will be controlled by WINSET */
- evas_object_smart_callback_del(obj, "clicked", log_detail_back_btn_cb);
-
- elm_naviframe_item_pop(logdetail_d->navi);
- phone_log_missed_info_update(logdetail_d->navi);
-}
-
-static void log_detail_ctxpopup_dismissed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_log_detail_data* logdetail_d = static_cast<ph_log_detail_data*>(data);
- if (NULL != logdetail_d->popup)
- {
- evas_object_del(logdetail_d->popup);
- logdetail_d->popup = NULL;
- }
- }
-}
-
-static void log_detail_menu_dismissed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_log_detail_data* logdetail_d = static_cast<ph_log_detail_data*>(data);
- if (NULL != logdetail_d->m_Menu)
- {
- evas_object_del(logdetail_d->m_Menu);
- logdetail_d->m_Menu = NULL;
- }
- }
-}
-
-static void log_detail_context_menu_dismissed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_log_detail_data* logdetail_d = static_cast<ph_log_detail_data*>(data);
- if (NULL != logdetail_d->m_ContextMenu)
- {
- evas_object_del(logdetail_d->m_ContextMenu);
- logdetail_d->m_ContextMenu = NULL;
- }
- }
-}
-
-static void log_detail_ctxpopup_copy_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- char buf[PH_TEXT_MAX_LEN];
-
- ph_log_detail_data *logdetail_d = (ph_log_detail_data *) data;
- evas_object_del(obj);
- logdetail_d->m_ContextMenu = NULL;
-
- if (logdetail_d->log_display && *logdetail_d->log_display)
- if (logdetail_d->log_number && *logdetail_d->log_number)
- snprintf(buf, sizeof(buf), "%s\n%s", logdetail_d->log_display,
- logdetail_d->log_number);
- else
- snprintf(buf, sizeof(buf), "%s", logdetail_d->log_display);
- else if (logdetail_d->log_number && *logdetail_d->log_number)
- snprintf(buf, sizeof(buf), "%s", logdetail_d->log_number);
- else
- snprintf(buf, sizeof(buf), "%s", S_(PH_SYS_BODY_UNKNOWN));
- elm_cnp_selection_set(logdetail_d->layout, ELM_SEL_TYPE_CLIPBOARD,
- ELM_SEL_FORMAT_TEXT, buf, strlen(buf));
-}
-
-static void log_detail_ctxpopup_block_contact_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(data == NULL, "data is NULL");
- ph_log_detail_data *logdetail_d = static_cast<ph_log_detail_data*>(data);
-
- log_detail_menu_dismissed_cb(data, NULL, NULL);
-
- logdetail_d->popup = phone_create_block_contact_popup(logdetail_d->navi, logdetail_d->contact_id);
-}
-
-static void log_detail_ctxpopup_send_number_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- assert(obj);
- if (NULL != data && NULL != obj)
- {
- ph_log_detail_data *logdetail_d = static_cast<ph_log_detail_data*>(data);
- log_detail_context_menu_dismissed_cb(logdetail_d, NULL, NULL);
- log_detail_menu_dismissed_cb(logdetail_d, NULL, NULL);
-
- evas_object_del(obj);
- logdetail_d->popup = NULL;
-
- logdetail_d->child_ug = ctui_predefined_body_msg_ug(logdetail_d->ug, NULL, 0, logdetail_d->log_number, log_detail_destroy_child_ug, logdetail_d);
- }
-}
-
-static void log_detail_ctxpopup_copy_to_dialing_screen_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- assert(obj);
- if (NULL != data && NULL != obj)
- {
- ph_log_detail_data *logdetail_d = static_cast<ph_log_detail_data*>(data);
- log_detail_context_menu_dismissed_cb(logdetail_d, NULL, NULL);
- log_detail_menu_dismissed_cb(logdetail_d, NULL, NULL);
-
- evas_object_del(obj);
- logdetail_d->popup = NULL;
- phone_copy_to_dialing_screen(logdetail_d->log_number);
- }
-}
-
-static void log_detail_gl_longpressed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- assert(event_info);
- if (NULL != data && NULL != event_info)
- {
- ph_log_detail_data *logdetail_d = (ph_log_detail_data*) data;
- if(logdetail_d->log_number)
- {
- Elm_Object_Item *it = (Elm_Object_Item *) event_info;
-
- if (elm_genlist_item_index_get(it) <= 1)
- {
- logdetail_d->m_ContextMenu = elm_ctxpopup_add(logdetail_d->navi);
- if (NULL != logdetail_d->m_ContextMenu)
- {
- elm_ctxpopup_direction_priority_set(logdetail_d->m_ContextMenu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_UNKNOWN, ELM_CTXPOPUP_DIRECTION_UNKNOWN);
-
- evas_object_smart_callback_add(logdetail_d->m_ContextMenu, "dismissed", log_detail_context_menu_dismissed_cb, logdetail_d);
- elm_ctxpopup_item_append(logdetail_d->m_ContextMenu, S_(CT_SYS_BODY_COPY), NULL, log_detail_ctxpopup_copy_cb, logdetail_d);
-
- elm_ctxpopup_item_append(logdetail_d->m_ContextMenu, T_(PH_GET_TEXT_BASIC, PHTEXT_EDIT_NUMBER_BEFORE_CALL), NULL, log_detail_ctxpopup_copy_to_dialing_screen_cb, logdetail_d);
-
- evas_object_move(logdetail_d->m_ContextMenu, 720 / 2, 50 + 142 / 2);
- evas_object_show(logdetail_d->m_ContextMenu);
- }
- else
- {
- ERR("log_detail_gl_longpressed_cb() Failed: %s", "elm_ctxpopup_add() return NULL");
- }
- }
- }
- }
-}
-
-static void more_btn_clicked_cb(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_log_detail_data *logdetail_d = static_cast<ph_log_detail_data*>(data);
-
- log_detail_ctxpopup_dismissed_cb(logdetail_d, NULL, NULL);
- log_detail_context_menu_dismissed_cb(logdetail_d, NULL, NULL);
- log_detail_menu_dismissed_cb(logdetail_d, NULL, NULL);
-
- Evas_Object *menu = elm_ctxpopup_add(logdetail_d->navi);
- if (NULL != menu)
- {
- elm_ctxpopup_direction_priority_set(menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_UNKNOWN, ELM_CTXPOPUP_DIRECTION_UNKNOWN);
- evas_object_smart_callback_add(menu, "dismissed", log_detail_menu_dismissed_cb, logdetail_d);
-
- Elm_Object_Item* menu_item = NULL;
- if(logdetail_d->contact_id > notRelatedToContactId)
- {
- menu_item = elm_ctxpopup_item_append(menu,
- T_(PH_GET_TEXT_BASIC, PHTEXT_EDIT_BLOCK_CONTACT), NULL, log_detail_ctxpopup_block_contact_cb, logdetail_d);
- }
- if( (NULL == menu_item) || (notRelatedToContactId == logdetail_d->contact_id))
- elm_object_item_disabled_set(menu_item, EINA_TRUE);
- elm_ctxpopup_item_append(menu, T_(PH_GET_TEXT_BASIC, PHTEXT_EDIT_SEND_NUMBER), NULL, log_detail_ctxpopup_send_number_cb, logdetail_d);
- menu_item = elm_ctxpopup_item_append(menu, T_(PH_GET_TEXT_BASIC, PHTEXT_EDIT_COPY_TO_DIALING_SCREEN), NULL, log_detail_ctxpopup_copy_to_dialing_screen_cb, logdetail_d);
- if (menu_item && is_unknown_contact(logdetail_d->log_number))
- {
- elm_object_item_disabled_set(menu_item, EINA_TRUE);
- }
-
- int x, y, w, h;
- evas_object_geometry_get(logdetail_d->navi, &x, &y, &w, &h);
- evas_object_move(menu, 0, y + h);
- evas_object_show(menu);
-
- logdetail_d->m_Menu = menu;
- }
- else
- {
- ERR("%s", "elm_ctxpopup_add() return NULL");
- }
- }
- else
- {
- ERR("%s", "logdetail_d is NULL");
- }
-}
-
-void ph_log_detail_set_toolbar(ph_log_detail_data *logdetail_d)
-{
- PH_TRACE;
- Elm_Object_Item *navi_it;
- Evas_Object * delete_button = NULL;
- Evas_Object * contact_btn = NULL;
-
- navi_it = elm_naviframe_top_item_get(logdetail_d->navi);
- p_retm_if(NULL == navi_it, "navi item is NULL");
-
- phone_navi_item_reset(navi_it, logdetail_d);
- logdetail_d->menu_cb = more_btn_clicked_cb;
-
- Evas_Object *toolbar_box = elm_box_add(logdetail_d->navi);
- if (!toolbar_box)
- {
- return;
- }
- elm_box_horizontal_set(toolbar_box, true);
- evas_object_size_hint_weight_set(toolbar_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(toolbar_box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_item_part_content_set(navi_it, "toolbar", toolbar_box);
-
-//delete button
- delete_button = phone_create_toolbar_btn(toolbar_box,
- S_(PH_SYS_SK_DELETE), log_detail_del_btn_cb, logdetail_d);
- elm_object_style_set(delete_button, "naviframe/toolbar/right");
-
-//contact button
- if (logdetail_d->contact_id) // view button
- contact_btn = phone_create_toolbar_btn(toolbar_box,
- T_(CT_GET_TEXT_BASIC, CTTEXT_VIEW),
- log_detail_view_clicked_cb, logdetail_d);
- else if (logdetail_d->log_number) // save button
- contact_btn = phone_create_toolbar_btn(toolbar_box,
- S_(PH_SYS_OPT_ADD_TO_CONTACTS),
- log_detail_add_contact_btn_cb, logdetail_d);
- elm_object_style_set(contact_btn, "naviframe/toolbar/left");
-
- elm_box_pack_end(toolbar_box, contact_btn);
- elm_box_pack_end(toolbar_box, delete_button);
-}
-
-void ph_log_detail_update(ph_log_data *log_d)
-{
- PH_TRACE;
- ph_log_detail_data *logdetail_d;
- logdetail_d = (ph_log_detail_data *) evas_object_data_get(log_d->navi,
- KEY_LOG_DETAIL_DATA);
-
- if (logdetail_d)
- {
- ph_log_info *l_info = NULL;
- void *v_l_info = NULL;
- ph_log_info *find_info = NULL;
- void *v_l_detail_info = NULL;
- Eina_List *l_detail = logdetail_d->log_list;
- Eina_List *l;
- Elm_Object_Item *pre_item = NULL;
-
- EINA_LIST_FOREACH(l_detail, l_detail, v_l_detail_info)
- {
- ph_log_detail_info *l_detail_info =
- (ph_log_detail_info *) v_l_detail_info;
- l = log_d->log_list;
- EINA_LIST_FOREACH(l, l, v_l_info)
- {
- l_info = (ph_log_info *) v_l_info;
- if (l_detail_info->plog_id == l_info->id)
- {
- find_info = (ph_log_info *) elm_object_item_data_get(
- l_info->item);
- break;
- }
- }
- }
-
- if (find_info)
- {
- log_detail_free_log_data(logdetail_d->log_list);
- logdetail_d->log_list = NULL;
- if (logdetail_d->genlist)
- elm_genlist_clear(logdetail_d->genlist);
-
- l = eina_list_data_find_list(log_d->log_list, find_info);
- v_l_info = (void *) l_info;
- EINA_LIST_FOREACH(l, l, v_l_info)
- {
- l_info = (ph_log_info *) v_l_info;
- ph_log_detail_info *l_detail_info =
- (ph_log_detail_info *) calloc(1,
- sizeof(ph_log_detail_info));
- l_detail_info->plog_id = l_info->id;
- l_detail_info->plog_type = l_info->plog_log_type;
- l_detail_info->plog_time = l_info->plog_log_time;
- l_detail_info->plog_duration = l_info->plog_duration;
-
- if (NULL == pre_item)
- {
- logdetail_d->log_list = eina_list_append(
- logdetail_d->log_list, (void*) l_detail_info);
- pre_item = l_info->item;
- }
- else if (l_info->item == pre_item)
- logdetail_d->log_list = eina_list_append(
- logdetail_d->log_list, (void*) l_detail_info);
- else
- {
- free(l_detail_info);
- break;
- }
- }
- logdetail_d->log_list_count = eina_list_count(
- logdetail_d->log_list);
- log_detail_fill_genlist(logdetail_d);
- }
- else
- {
- elm_naviframe_item_pop(logdetail_d->navi);
- phone_log_missed_info_update(logdetail_d->navi);
- }
- }
-}
-
-Evas_Object *ph_create_log_detail_view(ph_log_data *log_d, ph_log_info *l_info)
-{
- PH_TRACE;
- Evas_Object *layout;
- Evas_Object *bg;
- Evas_Object *genlist;
- Elm_Object_Item *navi_it;
- ph_log_detail_data *logdetail_d;
- Eina_List *l;
- Elm_Object_Item *pre_item = NULL;
- int err = CONTACTS_ERROR_NONE;
- ph_log_info *log_info;
- void *v_log_info;
- Elm_Theme *th;
- p_retvm_if(NULL == l_info, NULL, "Log information is null");
-
- logdetail_d = (ph_log_detail_data *) calloc(1, sizeof(ph_log_detail_data));
- p_retvm_if(NULL == logdetail_d, NULL, "Fail to calloc ph_log_detail_data");
- logdetail_d->ug = log_d->ug;
- logdetail_d->win = log_d->win;
- logdetail_d->navi = log_d->navi;
- logdetail_d->log_d = log_d;
- logdetail_d->start_plog_id = l_info->id;
-
- layout = elm_layout_add(logdetail_d->navi);
- if (NULL == layout)
- {
- ERR("elm_layout_add() return NULL");
- free(logdetail_d);
- return NULL;
- }
- elm_layout_theme_set(layout, "layout", "application", "noindicator");
- logdetail_d->layout = layout;
- elm_naviframe_prev_btn_auto_pushed_set(logdetail_d->navi, EINA_FALSE);
-
- th = elm_theme_new();
- elm_theme_ref_set(th, NULL);
- elm_theme_extension_add(th, LOGDETAIL_THEME_EDJ);
- logdetail_d->th = th;
-
- genlist = log_detail_create_genlist(logdetail_d, layout);
- if (NULL == genlist)
- {
- ERR("log_detail_create_genlist() return NULL");
- free(logdetail_d);
- return NULL;
- }
- logdetail_d->genlist = genlist;
- elm_object_part_content_set(logdetail_d->layout, "elm.swallow.content",
- genlist);
-
- evas_object_smart_callback_add(genlist, "selected",
- log_detail_gl_selected_cb, logdetail_d);
- evas_object_smart_callback_add(genlist, "longpressed",
- log_detail_gl_longpressed_cb, logdetail_d);
-
- logdetail_d->contact_id = l_info->plog_ct_id;
- logdetail_d->log_number = SAFE_STRDUP(l_info->plog_number);
- if (l_info->plog_img_path)
- logdetail_d->log_img_path = strdup(l_info->plog_img_path);
- if (l_info->plog_display && *l_info->plog_display)
- logdetail_d->log_display = strdup(l_info->plog_display);
- logdetail_d->log_num_type = l_info->plog_num_type;
-
- l = eina_list_data_find_list(log_d->log_list, l_info);
- EINA_LIST_FOREACH(l, l, v_log_info)
- {
- log_info = (ph_log_info *) v_log_info;
- ph_log_detail_info *l_detail_info = (ph_log_detail_info *) calloc(1,
- sizeof(ph_log_detail_info));
- l_detail_info->plog_id = log_info->id;
- l_detail_info->plog_type = log_info->plog_log_type;
- l_detail_info->plog_time = log_info->plog_log_time;
- l_detail_info->plog_duration = log_info->plog_duration;
-
- if (NULL == pre_item)
- {
- logdetail_d->log_list = eina_list_append(logdetail_d->log_list,
- (void*) l_detail_info);
- pre_item = log_info->item;
- }
- else if (log_info->item == pre_item)
- logdetail_d->log_list = eina_list_append(logdetail_d->log_list,
- (void*) l_detail_info);
- else
- {
- free(l_detail_info);
- break;
- }
- }
- logdetail_d->log_list_count = eina_list_count(logdetail_d->log_list);
- log_detail_fill_genlist(logdetail_d);
-
- evas_object_event_callback_add(logdetail_d->layout, EVAS_CALLBACK_DEL,
- log_detail_view_delete_cb, logdetail_d);
-
- err = contacts_db_add_changed_cb(_contacts_person._uri,
- log_detail_update_view_with_contact_cb, logdetail_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_add_changed_cb() Failed(%d)", err);
-
- navi_it = elm_naviframe_item_push(logdetail_d->navi,
- S_(PH_SYS_BODY_DETAILS), NULL, NULL, layout, NULL);
- elm_naviframe_item_title_visible_set(navi_it, EINA_FALSE);
- ph_log_detail_set_toolbar(logdetail_d);
- evas_object_data_set(logdetail_d->navi, KEY_LOG_DETAIL_DATA, logdetail_d);
-
- bg = phone_create_bg(logdetail_d->layout);
- elm_object_style_set(bg, "group_list");
-
- return layout;
-}
-
diff --git a/lib/log/ph-log-detail-view.h b/lib/log/ph-log-detail-view.h
deleted file mode 100755
index 8a3fceb..0000000
--- a/lib/log/ph-log-detail-view.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PH_LOG_DETAIL_VIEW_H_
-#define __PH_LOG_DETAIL_VIEW_H_
-
-typedef struct : public Common::View
-{
- Evas_Object *genlist;
- Elm_Object_Item *top_item;
- Elm_Object_Item *block_item;
- char *log_display;
- char *log_number;
- char *log_img_path;
- int contact_id; //in terms of contacts_service, this is "person_id"
- int start_plog_id;
- int log_num_type;
- int log_list_count;
- Eina_List *log_list;
- Ecore_Idler *idler;
- ph_log_data *log_d;
-} ph_log_detail_data;
-
-Evas_Object *ph_create_log_detail_view(ph_log_data *log_d, ph_log_info *l_info);
-void ph_log_detail_get_block_info(ph_log_detail_data *logdetail_d);
-void ph_log_detail_update(ph_log_data *log_d);
-void ph_log_detail_set_toolbar(ph_log_detail_data *logdetail_d);
-
-#endif /* __PH_LOG_DETAIL_VIEW_H_ */
diff --git a/lib/log/ph-log-main-view.cpp b/lib/log/ph-log-main-view.cpp
deleted file mode 100755
index 7ce18a4..0000000
--- a/lib/log/ph-log-main-view.cpp
+++ /dev/null
@@ -1,2727 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <notification.h>
-#include <ui-gadget-module.h>
-#include "vconf-keys.h"
-#include "phone.h"
-#include "phone-log.h"
-#include "ph-log-utils.h"
-#include "ph-log-main-view.h"
-#include "ph-log-detail-view.h"
-#include "ph-log-check-view.h"
-#include "ct-detail.h"
-#include "phone-common.h"
-#include <string>
-
-#include "ViewManager.h"
-#include "CallDurationView.h"
-
-#define KEY_LOG_DATA "log_data"
-#define NO_CONTENTS_ICON_POSITION 0.35
-#define LOG_ITEM_ICON_DEFAULT_GROUP "elm/layout/log.item.layout/default"
-#define CONTACT_ID "contactId"
-#define DISPLAY_NAME "display_name"
-#define LOG_INFO "log_info"
-
-static const int longPressOneSecPeriod = 1.0;
-static const char *longPressedEvent = "longpressed";
-
-static Elm_Genlist_Item_Class * pBCItem,*pSNImem,*pCopyItem;
-static Elm_Genlist_Item_Class itc, itc_date, itc_viewby_list;
-static Evas_Object* log_fill_layout(void *data);
-static void logLongpressedCb(void *data, Evas_Object *obj,
- void *event_info);
-enum
-{
- PH_LIST_ALL_CALL_MESSAGE_LOG,
- PH_LIST_MISSED_CALL_LOG,
- PH_LIST_EMAIL_LOG,
- PH_LIST_ALL_CALL_LOG, //more_popup
- PH_LIST_DIALED_CALL_LOG,
- PH_LIST_RECEIVED_CALL_LOG,
- PH_LIST_REJECTED_CALL_LOG,
- PH_LIST_ALL_MESSAGE_LOG,
- PH_LIST_ALL_CALL_MESSAGE_EMAIL_LOG,
-};
-//log type
-
-enum
-{
- VIEWBY_POPUP_ALL_CALL_LOG = 0,
- VIEWBY_POPUP_MISSED_CALL_LOG = 1,
- VIEWBY_POPUP_DIALED_CALL_LOG = 2,
- VIEWBY_POPUP_RECEIVED_CALL_LOG = 3,
- VIEWBY_POPUP_REJECTED_CALL_LOG = 4,
-};
-
-
-//set the value with viewby index
-
-static void log_gl_sweep_left(void *data, Evas_Object *obj, void *event_info);
-static void log_list_menu_hide_cb(void *data, Evas_Object *obj, void *event_info);
-
-void log_destroy_child_ug(void *data)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ph_log_data* pLogData = static_cast<ph_log_data*>(data);
- if(pLogData->child_ug)
- {
- ug_destroy(pLogData->child_ug);
- pLogData->child_ug = NULL;
- }
-
-}
-
-static void log_gl_msg_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) evas_object_data_get(obj,
- KEY_LOG_DATA);
-
- if(!log_d)
- {
- return;
- }
-
- elm_genlist_item_select_mode_set(log_d->item_last_sweep,
- ELM_OBJECT_SELECT_MODE_DEFAULT);
- log_d->child_ug = phone_launch_msg_composer_ug(log_d->ug, (char *) data, 0,
- log_destroy_child_ug, log_d);
-}
-
-// today: -1, yesterday : -2, previous : positive value
-static void log_append_separate_all_date_index(ph_log_data *log_d, void *data,
- int index)
-{
- PH_TRACE;
- ph_log_info *l_info = (ph_log_info *) data;
- time_t stime;
- struct timeval timeval;
- struct tm *tmp;
- int yday, cur_yday;
-
- gettimeofday(&timeval, 0);
- tmp = localtime(&timeval.tv_sec);
- cur_yday = tmp->tm_yday;
-
- stime = l_info->plog_log_time - l_info->plog_duration;
- tmp = localtime(&stime);
-
- yday = tmp->tm_yday;
-
- if (yday == cur_yday)
- l_info->group_index = -1;
- else if (yday == (cur_yday - 1))
- l_info->group_index = -2;
- else
- l_info->group_index = yday;
-
- if (yday + 1 != log_d->pre_date_type)
- {
- log_d->pre_date_type = yday + 1;
- log_d->git = elm_genlist_item_append(log_d->genlist, &itc_date, data,
- NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
- elm_genlist_item_select_mode_set(log_d->git,
- ELM_OBJECT_SELECT_MODE_NONE);
- }
-}
-
-static void __log_update_checked_item(ph_log_data *log_d,
- ph_log_info *l_selected_info)
-{
- PH_TRACE;
-
- if(log_d)
- {
- ph_log_check_groupped_items(*log_d, l_selected_info->id, !l_selected_info->checked);
- }
-
- if (l_selected_info->checked)
- log_d->cnt_checked += l_selected_info->grouped_count;
- else
- log_d->cnt_checked -= l_selected_info->grouped_count;
-}
-
-static void log_gl_item_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- service_h service;
- char buf[16];
- ph_log_info *l_info = (ph_log_info *) data;
- ph_log_data *log_d = (ph_log_data *) evas_object_data_get(obj,KEY_LOG_DATA);
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- if(!log_d || !l_info || !item)
- {
- return;
- }
-
- log_list_menu_hide_cb(log_d, NULL, NULL);
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- Elm_Object_Item *last_item = log_d->item_last_sweep;
- if(last_item)
- {
- log_gl_sweep_left(log_d, obj, last_item);
- }
-
- if(last_item == item)
- {
- return;
- }
-
- if (elm_genlist_decorate_mode_get(log_d->genlist))
- {
- __log_update_checked_item(log_d, l_info);
- elm_genlist_item_fields_update((Elm_Object_Item *) event_info,
- "elm.edit.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
- ph_log_check_update_select_all(log_d);
- ph_log_check_update_selection_info(log_d);
- ph_log_check_update_button_status(log_d);
- return;
- }
-
- PH_DBG("view_type : %d", log_d->view_type);
- switch (log_d->view_type)
- {
- case LOG_VIEW_TYPE_UG_LAUNCH_CALL:
- if (l_info->plog_number && *l_info->plog_number)
- phone_launch_voice_call(l_info->plog_ct_id,
- l_info->plog_number);
- break;
- case LOG_VIEW_TYPE_UG_NUMBER_SELECT:
- case LOG_VIEW_TYPE_UG_EMAIL_SELECT:
- case LOG_VIEW_TYPE_UG_NUMBER_OR_EMAIL_SELECT:
- service_create(&service);
- snprintf(buf, sizeof(buf), "%d", l_info->id);
- service_add_extra_data(service, PH_UG_BUNDLE_RESULT_PLOG_ID, buf);
- PH_DBG("plog_id : %d %s", l_info->id, buf);
- ug_send_result(log_d->ug, service);
- service_destroy(service);
- ug_destroy_me(log_d->ug);
- break;
- case LOG_VIEW_TYPE_NORMAL:
- ph_create_log_detail_view(log_d, l_info);
- break;
- default:
- ERR("Invalid view type(%d)", log_d->view_type);
- break;
- }
-}
-
-#define N 20
-static bool log_compare_type(int type, int pre_type)
-{
- PH_TRACE;
- switch (pre_type)
- {
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING:
- case CONTACTS_PLOG_TYPE_MMS_INCOMMING:
- case CONTACTS_PLOG_TYPE_SMS_INCOMMING:
- case CONTACTS_PLOG_TYPE_VOICE_OUTGOING:
- case CONTACTS_PLOG_TYPE_VIDEO_OUTGOING:
- case CONTACTS_PLOG_TYPE_MMS_OUTGOING:
- case CONTACTS_PLOG_TYPE_SMS_OUTGOING:
- switch (type)
- {
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING:
- case CONTACTS_PLOG_TYPE_MMS_INCOMMING:
- case CONTACTS_PLOG_TYPE_SMS_INCOMMING:
- case CONTACTS_PLOG_TYPE_VOICE_OUTGOING:
- case CONTACTS_PLOG_TYPE_VIDEO_OUTGOING:
- case CONTACTS_PLOG_TYPE_MMS_OUTGOING:
- case CONTACTS_PLOG_TYPE_SMS_OUTGOING:
- return true;
- default:
- return false;
- }
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN:
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_SEEN:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_SEEN:
- switch (type)
- {
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN:
- case CONTACTS_PLOG_TYPE_VOICE_INCOMMING_SEEN:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN:
- case CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_SEEN:
- return true;
- default:
- return false;
- }
- case CONTACTS_PLOG_TYPE_VOICE_REJECT:
- case CONTACTS_PLOG_TYPE_VIDEO_REJECT:
- switch (type)
- {
- case CONTACTS_PLOG_TYPE_VOICE_REJECT:
- case CONTACTS_PLOG_TYPE_VIDEO_REJECT:
- return true;
- default:
- return false;
- }
- case CONTACTS_PLOG_TYPE_VOICE_BLOCKED:
- case CONTACTS_PLOG_TYPE_VIDEO_BLOCKED:
- case CONTACTS_PLOG_TYPE_SMS_BLOCKED:
- switch (type)
- {
- case CONTACTS_PLOG_TYPE_VOICE_BLOCKED:
- case CONTACTS_PLOG_TYPE_VIDEO_BLOCKED:
- case CONTACTS_PLOG_TYPE_SMS_BLOCKED:
- return true;
- default:
- return false;
- }
- default:
- return false;
- }
-}
-
-void cleanupOnLongPressPopupHide(ph_log_data& logData)
-{
- if(logData.popup)
- {
- evas_object_del(logData.popup);
- logData.popup = NULL;
- }
- if(logData.genlist)
- {
- evas_object_data_del(logData.genlist, "number");
- evas_object_data_del(logData.genlist, "display_name");
- }
-}
-
-void logDataPopupHideCb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- if(data)
- {
- cleanupOnLongPressPopupHide(*static_cast<ph_log_data*>(data));
- }
-}
-static char *itemTextBlockContactGet(void *data, Evas_Object *obj, const char *part)
-{
- char* result = NULL;
- if(data == NULL)
- {
- ERR("data is NULL");
- }
- else
- {
- result = strdup(static_cast<const char*>(data));
- }
- return result;
-}
-static char * itemTextSendNumberGet(void *data, Evas_Object *obj, const char *part)
-{
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- if(obj == NULL)
- {
- return 0;
- }
- evas_object_size_hint_align_set(obj,0.5,0.5);
- snprintf(buf, sizeof(buf)/sizeof(buf[0]),T_(PH_GET_TEXT_BASIC,PHTEXT_EDIT_SEND_NUMBER),0);
- return strdup(buf);
-}
-static char * itemCopyDialingGet(void *data, Evas_Object *obj, const char *part)
-{
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- if(obj == NULL)
- {
- return 0;
- }
- evas_object_size_hint_align_set(obj,0.5,0.5);
- snprintf(buf, sizeof(buf)/sizeof(buf[0]),T_(PH_GET_TEXT_BASIC,PHTEXT_EDIT_COPY_TO_DIALING_SCREEN),0);
- return strdup(buf);
-}
-
-static void _copy_to_dialing_screen_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- assert(obj);
- if (NULL != data && NULL != obj)
- {
- ph_log_data* pLogData = static_cast<ph_log_data*>(data);
- if(NULL != pLogData->m_ContextMenu)
- {
- evas_object_del(pLogData->m_ContextMenu);
- pLogData->m_ContextMenu = NULL;
- }
- if(NULL != pLogData->m_Menu)
- {
- evas_object_del(pLogData->m_Menu);
- pLogData->m_Menu = NULL;
- }
- if(pLogData->popup)
- {
- evas_object_del(pLogData->popup);
- pLogData->popup = NULL;
- }
-
- ph_log_info* pLogInfo = static_cast<ph_log_info*>(evas_object_data_get(pLogData->genlist, LOG_INFO));
- phone_copy_to_dialing_screen(pLogInfo->plog_number);
- }
-}
-
-static void _block_contact_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_log_data * pLogD = static_cast<ph_log_data*>(data);
- p_retm_if(pLogD == NULL, "log data is NULL");
- int contactId = *(static_cast<int*>(evas_object_data_get(pLogD->genlist, CONTACT_ID)));
-
- if (pLogD)
- {
- cleanupOnLongPressPopupHide(*pLogD);
- }
-
- pLogD->popup = phone_create_block_contact_popup(pLogD->navi, contactId);
-}
-
-void itemDeletion(void *data, Evas_Object *obj)
-{
- PH_TRACE;
- free(static_cast<char*>(data));
-}
-
-static void _log_send_number_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_log_data* pLogData = static_cast<ph_log_data*>(data);
- p_ret_if(NULL == pLogData);
- ph_log_info* pLogInfo = static_cast<ph_log_info*>(evas_object_data_get(pLogData->genlist, LOG_INFO));
- p_ret_if(NULL == pLogInfo);
- if(pLogInfo->plog_number)
- {
- if(pLogData->popup)
- {
- evas_object_del(pLogData->popup);
- pLogData->popup = NULL;
- }
- pLogData->child_ug = ctui_predefined_body_msg_ug(NULL, NULL, 0,
- pLogInfo->plog_number, log_destroy_child_ug, pLogData);
- }
-}
-
-Eina_Bool phCreateLongpressedPopup(void *data)
-{
- PH_TRACE;
- if(data == NULL)
- {
- return ECORE_CALLBACK_CANCEL;
- }
-
- ph_log_data *pLogD = static_cast<ph_log_data *>(data);
- ph_log_info* pLogInfo = static_cast<ph_log_info*>(evas_object_data_get(pLogD->genlist, LOG_INFO));
- p_retvm_if(NULL == pLogInfo, EINA_FALSE, "Error getting log info");
- char *pDisplay = (char *)evas_object_data_get(pLogD->genlist, DISPLAY_NAME);
-
- Evas_Object *pPopup = elm_popup_add(pLogD->navi);
- if(pPopup == NULL)
- {
- return ECORE_CALLBACK_CANCEL;
- }
- pLogD->popup = pPopup;
- elm_object_style_set(pPopup, "min_menustyle");
- elm_object_part_text_set(pPopup,"title,text",pDisplay);
- evas_object_smart_callback_add(pPopup, "block,clicked", logDataPopupHideCb, pLogD);
- evas_object_size_hint_weight_set(pPopup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- Evas_Object *pBtn = elm_button_add(pPopup);
- if (pBtn != NULL)
- {
- elm_object_text_set(pBtn, S_(PH_SYS_SK_CANCEL));
- elm_object_part_content_set(pPopup, "button1", pBtn);
- evas_object_smart_callback_add(pBtn, "clicked", logDataPopupHideCb, pLogD);
- }
-
- if (!pBCItem)
- {
- pBCItem = elm_genlist_item_class_new();
- pBCItem->item_style = "default";
- pBCItem->func.text_get =itemTextBlockContactGet;
- pBCItem->func.content_get = NULL;
- pBCItem->func.state_get = NULL;
- pBCItem->func.del = itemDeletion;
- }
- if (!pSNImem)
- {
- pSNImem = elm_genlist_item_class_new();
- pSNImem->item_style = "default";
- pSNImem->func.text_get =itemTextSendNumberGet;
- pSNImem->func.content_get = NULL;
- pSNImem->func.state_get = NULL;
- pSNImem->func.del = NULL;
- }
- if (!pCopyItem)
- {
- pCopyItem = elm_genlist_item_class_new();
- pCopyItem->item_style = "default";
- pCopyItem->func.text_get =itemCopyDialingGet;
- pCopyItem->func.content_get = NULL;
- pCopyItem->func.state_get = NULL;
- pCopyItem->func.del = NULL;
- }
-
- Evas_Object *pGenlist = elm_genlist_add(pPopup);
- if (pGenlist != NULL)
- {
- int contactId = *(static_cast<int*>(evas_object_data_get(pLogD->genlist, CONTACT_ID)));
- evas_object_size_hint_weight_set(pGenlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(pGenlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- Elm_Object_Item* item = elm_genlist_item_append(pGenlist,
- pBCItem,
- strdup(T_(PH_GET_TEXT_BASIC, PHTEXT_EDIT_BLOCK_CONTACT)),
- NULL,
- ELM_GENLIST_ITEM_NONE,
- _block_contact_cb,
- pLogD);
-
- if (contactId == notRelatedToContactId)
- {
- elm_object_item_disabled_set(item, EINA_TRUE);
- }
-
- item = elm_genlist_item_append(pGenlist, pSNImem, NULL, NULL, ELM_GENLIST_ITEM_NONE, _log_send_number_cb, pLogD);
- if(!pLogInfo->plog_number)
- {
- elm_object_item_disabled_set(item, EINA_TRUE);
- }
- elm_genlist_item_append(pGenlist, pCopyItem, NULL, NULL, ELM_GENLIST_ITEM_NONE, _copy_to_dialing_screen_cb, pLogD);
- elm_object_content_set(pPopup, pGenlist);
- evas_object_show(pGenlist);
- }
- evas_object_show(pPopup);
- pLogD->timer = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void logLongpressedCb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- assert(event_info);
- if (NULL != data && NULL != event_info)
- {
- ph_log_data *pLogD = static_cast<ph_log_data *>(data);
-
- if (NULL == pLogD->item_last_sweep)
- {
- Elm_Object_Item *pItem = static_cast<Elm_Object_Item *>(event_info);
- ph_log_info *pLInfo = static_cast<ph_log_info *>(elm_object_item_data_get(pItem));
- p_ret_if(pLInfo == NULL);
- p_ret_if(is_unknown_contact(pLInfo->plog_number));
-
- if(pLInfo->plog_ct_id > 0)
- {
- evas_object_data_set(pLogD->genlist, DISPLAY_NAME, pLInfo->plog_display);
- }
- else
- {
- evas_object_data_set(pLogD->genlist, DISPLAY_NAME, pLInfo->plog_number);
- }
-
- evas_object_data_set(pLogD->genlist, CONTACT_ID, &pLInfo->plog_ct_id);
- evas_object_data_set(pLogD->genlist, LOG_INFO, pLInfo);
-
- if (pLogD->timer)
- {
- ecore_timer_del(pLogD->timer);
- }
- pLogD->timer = ecore_timer_add(longPressOneSecPeriod, phCreateLongpressedPopup, static_cast<void *>(pLogD));
- }
- }
-}
-
-static int log_fill_genlist_sub(ph_log_data * log_d, Eina_List *l,
- ph_log_info *pre_info)
-{
- PH_TRACE;
- void *v_l_info;
- int count;
- int cnt_append;
- int pre_type;
- int pre_date;
- int pre_ct_id;
- int last_group_base_id = 0;
- bool diff;
- char *pre_num;
- Elm_Object_Item * item;
- Elm_Object_Item *pre_item;
-
- if (pre_info)
- {
- pre_date = pre_info->group_index;
- pre_ct_id = pre_info->plog_ct_id;
- pre_type = pre_info->plog_log_type;
- pre_item = pre_info->item;
- pre_num = SAFE_STRDUP(pre_info->plog_number);
- }
- else
- {
- pre_date = -3;
- pre_ct_id = -1;
- pre_type = CONTACTS_PLOG_TYPE_NONE;
- pre_item = NULL;
- pre_num = NULL;
- }
-
- cnt_append = 0;
- count = 0;
- EINA_LIST_FOREACH(l, l, v_l_info)
- {
- ph_log_info *l_info = (ph_log_info *) v_l_info;
- if (N == cnt_append)
- break;
- diff = false;
- log_append_separate_all_date_index(log_d, l_info,
- cnt_append + log_d->readed_n);
-
- if (l_info->group_index != pre_date)
- diff = true;
- else if (!log_compare_type(l_info->plog_log_type, pre_type))
- diff = true;
- else if (0 < l_info->plog_ct_id && 0 < pre_ct_id
- && l_info->plog_ct_id != pre_ct_id)
- diff = true;
- else if (l_info->plog_number && *l_info->plog_number)
- {
- if (!pre_num)
- diff = true;
- else if (strcmp(l_info->plog_number, pre_num))
- diff = true;
- }
-
- if (diff)
- {
- if (pre_num)
- free(pre_num);
- if (l_info->plog_number && *l_info->plog_number)
- {
-
- item = elm_genlist_item_append(log_d->genlist, &itc, l_info,
- log_d->git, ELM_GENLIST_ITEM_NONE, log_gl_item_sel,
- l_info);
- elm_object_item_data_set(item,(void *)l_info);
- pre_num = strdup(l_info->plog_number);
- }
- else
- {
- item = elm_genlist_item_append(log_d->genlist, &itc, l_info,
- log_d->git, ELM_GENLIST_ITEM_NONE, log_gl_item_sel,
- l_info);
- pre_num = NULL;
- }
- pre_date = l_info->group_index;
- pre_type = l_info->plog_log_type;
- pre_ct_id = l_info->plog_ct_id;
- pre_item = item;
- l_info->grouped_count = 1;
- pre_info = l_info;
- cnt_append++;
- last_group_base_id = l_info->id;
- }
- else
- pre_info->grouped_count++;
-
- l_info->group_base_id = last_group_base_id;
- l_info->item = pre_item;
- count++;
- }
- return count;
-}
-
-static Eina_Bool log_append_item_part(void *data)
-{
- PH_TRACE;
- int count;
- Eina_List *l;
- ph_log_info *l_info;
- ph_log_data * log_d = (ph_log_data *) data;
-
- l = eina_list_nth_list(log_d->log_list, log_d->readed_n - 1);
- l_info = (ph_log_info *) l->data;
- count = log_fill_genlist_sub(log_d, l->next, l_info);
- if (N <= count)
- {
- log_d->readed_n += count;
- return ECORE_CALLBACK_RENEW;
- }
- else
- {
- log_d->list_idler = NULL;
- return ECORE_CALLBACK_CANCEL;
- }
-}
-
-static void log_fill_genlist(ph_log_data * log_d)
-{
- PH_TRACE;
- int count;
-
- p_retm_if(NULL == log_d || NULL == log_d->genlist, "Genlist is null");
-
- if (log_d->list_idler)
- {
- ecore_idler_del(log_d->list_idler);
- log_d->list_idler = NULL;
- }
-
- log_d->readed_n = 0;
- count = log_fill_genlist_sub(log_d, log_d->log_list, NULL);
-
- if (N <= count)
- {
- log_d->readed_n += count;
- log_d->list_idler = ecore_idler_add(log_append_item_part, log_d);
- }
-}
-
-static void log_free_log_list(ph_log_data *log_d)
-{
- PH_TRACE;
- void *v_l_info = NULL;
-
- if (log_d->log_list)
- {
-
- EINA_LIST_FREE(log_d->log_list, v_l_info)
- {
- ph_log_info *l_info = (ph_log_info *) v_l_info;
- if (NULL == l_info)
- continue;
- free(l_info->plog_display);
- free(l_info->plog_img_path);
- free(l_info->plog_number);
- free(l_info);
- }
- log_d->log_list = NULL;
- }
-}
-
-/**
- * @brief Gets log list, depending on @a type of logs
- * @remark pCts_list must be released with contacts_list_destroy() by you
- * @param[in] type Type of logs
- * @param[out] pCts_list List of logs
- * @return true if success, otherwise false
- */
-static bool get_log_list(int type, contacts_list_h* pCts_list)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_filter_h filter = NULL;
- contacts_query_h query = NULL;
- contacts_list_h tempList = NULL;
-
- int log_type_min(0), log_type_max(0);
- switch (type)
- {
- case PH_LIST_MISSED_CALL_LOG:
- log_type_min = CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN;
- log_type_max = CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_SEEN;
- break;
- case PH_LIST_EMAIL_LOG:
- log_type_min = CONTACTS_PLOG_TYPE_EMAIL_RECEIVED;
- log_type_max = CONTACTS_PLOG_TYPE_EMAIL_SENT;
- break;
- case PH_LIST_ALL_CALL_LOG:
- log_type_min = CONTACTS_PLOG_TYPE_VOICE_INCOMMING;
- log_type_max = CONTACTS_PLOG_TYPE_VIDEO_BLOCKED;
- break;
- case PH_LIST_DIALED_CALL_LOG:
- log_type_min = CONTACTS_PLOG_TYPE_VOICE_OUTGOING;
- log_type_max = CONTACTS_PLOG_TYPE_VIDEO_OUTGOING;
- break;
- case PH_LIST_RECEIVED_CALL_LOG:
- log_type_min = CONTACTS_PLOG_TYPE_VOICE_INCOMMING;
- log_type_max = CONTACTS_PLOG_TYPE_VIDEO_INCOMMING;
- break;
- case PH_LIST_REJECTED_CALL_LOG:
- log_type_min = CONTACTS_PLOG_TYPE_VOICE_REJECT;
- log_type_max = CONTACTS_PLOG_TYPE_VIDEO_REJECT;
- break;
- case PH_LIST_ALL_MESSAGE_LOG:
- log_type_min = CONTACTS_PLOG_TYPE_MMS_INCOMMING;
- log_type_max = CONTACTS_PLOG_TYPE_MMS_BLOCKED;
- break;
- case PH_LIST_ALL_CALL_MESSAGE_LOG:
- default:
- log_type_min = CONTACTS_PLOG_TYPE_VOICE_INCOMMING;
- log_type_max = CONTACTS_PLOG_TYPE_MMS_BLOCKED;
- break;
- }
-
- if( contacts_query_create(_contacts_person_phone_log._uri, &query) == CONTACTS_ERROR_NONE
- && contacts_filter_create(_contacts_person_phone_log._uri, &filter) == CONTACTS_ERROR_NONE)
- {
- if (type == PH_LIST_DIALED_CALL_LOG || type == PH_LIST_RECEIVED_CALL_LOG)
- {
- if(contacts_filter_add_int(filter, _contacts_person_phone_log.log_type,
- CONTACTS_MATCH_EQUAL, log_type_min) == CONTACTS_ERROR_NONE)
- {
- if(contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_OR)
- == CONTACTS_ERROR_NONE)
- {
- err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type,
- CONTACTS_MATCH_EQUAL, log_type_max);
- }
- }
- }
- else
- {
- if(contacts_filter_add_int(filter, _contacts_person_phone_log.log_type,
- CONTACTS_MATCH_GREATER_THAN_OR_EQUAL, log_type_min) == CONTACTS_ERROR_NONE)
- {
- if(contacts_filter_add_operator(filter, CONTACTS_FILTER_OPERATOR_AND)
- == CONTACTS_ERROR_NONE)
- {
- err = contacts_filter_add_int(filter, _contacts_person_phone_log.log_type,
- CONTACTS_MATCH_LESS_THAN_OR_EQUAL, log_type_max);
- }
- }
- }
- }
-
- if(CONTACTS_ERROR_NONE == err)
- {
- err = contacts_query_set_filter(query, filter)
- && contacts_query_set_sort(query, _contacts_person_phone_log.log_time, false);
- if(CONTACTS_ERROR_NONE == err)
- {
- err = contacts_db_get_records_with_query(query, 0, 0, &tempList);
- }
- }
-
- if(CONTACTS_ERROR_NONE != err)
- {
- ERR("Query failed err: %d", err);
- }
-
- err &= contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_query_destroy() Failed(%d)", err);
- err &= contacts_filter_destroy(filter);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_filter_destroy() Failed(%d)", err);
-
- if(CONTACTS_ERROR_NONE == err)
- {
- if(pCts_list)
- {
- if(*pCts_list)
- {
- contacts_list_destroy(*pCts_list, true);
- }
- *pCts_list = tempList;
- }
- }
-
- return (CONTACTS_ERROR_NONE == err);
-}
-
-/**
- * @brief Checks whether the same date
- * @param[in] currentTime Current time
- * @param[in] previousTime Previous time
- * @return true if the same date, otherwise false
- */
-static bool isTheSameDate(time_t currentTime, time_t previousTime)
-{
- PH_TRACE;
- struct tm *tmp = localtime(&currentTime);
- int currentYearDay = tmp->tm_yday;
- int currentYear = tmp->tm_year;
- tmp = localtime(&previousTime);
- int previousYearDay = tmp->tm_yday;
- int previousYear = tmp->tm_year;
-
- return (currentYear == previousYear && currentYearDay == previousYearDay);
-}
-
-/**
- * @brief Get count of log items in the log tab
- * @param[in] logList List of all logs from DB
- * @return Count of logs
- */
-static size_t get_checkable_logs_count(contacts_list_h logList)
-{
- PH_TRACE;
- const int defaultValue = 0;
- size_t checkableLogsCount(0);
-
- int previousType = CONTACTS_PLOG_TYPE_NONE;
- int previousDate = defaultValue;
- int previousContactId = defaultValue;
- bool isDifferentItem = false;
- char *previousNumber = NULL;
-
- size_t logListCount(0);
- contacts_list_get_count(logList, &logListCount);
- size_t currentPos(0);
- if(logListCount > 0 && (contacts_list_first(logList) == CONTACTS_ERROR_NONE))
- {
- do
- {
- contacts_record_h currRecord = NULL;
- if(contacts_list_get_current_record_p(logList, &currRecord) == CONTACTS_ERROR_NONE)
- {
- int logDate(defaultValue);
- int logType(CONTACTS_PLOG_TYPE_NONE);
- int personId(defaultValue);
- int contactId(defaultValue);
- char* logNumber = NULL;
- if( contacts_record_get_int(currRecord, _contacts_person_phone_log.log_time, &logDate)
- == CONTACTS_ERROR_NONE
- && contacts_record_get_int(currRecord, _contacts_person_phone_log.log_type, &logType)
- == CONTACTS_ERROR_NONE
- && contacts_record_get_str(currRecord, _contacts_person_phone_log.address, &logNumber)
- == CONTACTS_ERROR_NONE
- && contacts_record_get_int(currRecord, _contacts_person_phone_log.person_id, &personId)
- == CONTACTS_ERROR_NONE)
- {
- if(personId != 0)
- {
- contactId = phone_get_contact_id_by_person_id(personId);
- }
-
- isDifferentItem = false;
- if( !isTheSameDate(logDate, previousDate)
- || !log_compare_type(logType, previousType)
- || ((contactId > 0) && (previousContactId > 0) && (contactId != previousContactId)) )
- {
- isDifferentItem = true;
- }
- else if(logNumber && *logNumber)
- {
- if( !previousNumber
- || strcmp(logNumber, previousNumber))
- {
- isDifferentItem = true;
- }
- }
-
- if(isDifferentItem)
- {
- free(previousNumber);
- if(logNumber)
- {
- previousNumber = strdup(logNumber);
- }
- else
- {
- previousNumber = NULL;
- }
- previousDate = logDate;
- previousType = logType;
- previousContactId = contactId;
- ++checkableLogsCount;
- }
- }
- free(logNumber);
- }
- ++currentPos;
- }
- while(currentPos < logListCount && (contacts_list_next(logList) == CONTACTS_ERROR_NONE));
- }
- return checkableLogsCount;
-}
-
-/**
- * @brief Gets count of logs in the database according to the type of @a type
- * @param[in] type Filter value for counting
- * @param[out] pLogList List of logs
- * @return Count of logs
- */
-static size_t get_cts_log_list(int type, contacts_list_h* pLogList)
-{
- PH_TRACE;
- size_t recordCount(0);
-
- // if output param NULL, just count the records
- if (NULL == pLogList)
- {
- contacts_list_h tempList = NULL;
- if(contacts_list_create(&tempList) == CONTACTS_ERROR_NONE)
- {
- if(get_log_list(type, &tempList))
- {
- contacts_list_get_count(tempList, static_cast<unsigned int*>(&recordCount));
- contacts_list_destroy(tempList, true);
- }
- }
- }
- else
- {
- if(get_log_list(type, pLogList))
- {
- contacts_list_get_count(*pLogList, static_cast<unsigned int*>(&recordCount));
- }
- }
- return recordCount;
-}
-
-static int log_load_data(int type, ph_log_data* log_d, bool include_unknown)
-{
- PH_TRACE;
- int count = 0;
- int omit_count = 0;
- contacts_list_h cts_list = NULL;
- int err = CONTACTS_ERROR_NONE;
-
- count = (int) get_cts_log_list(type, &cts_list);
- if(count > 0)
- {
- log_d->log_checkable_count = get_checkable_logs_count(cts_list);
- contacts_list_first(cts_list);
- }
- while (CONTACTS_ERROR_NONE == err && count > 0)
- {
- ph_log_info *l_info = NULL;
- char *number;
- err = phone_cts_get_str_from_list(cts_list,
- _contacts_person_phone_log.address, &number);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() Failed(%d)", err);
-
- if (false == include_unknown && (!number || !*number))
- {
- err = contacts_list_next(cts_list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- break;
- }
- omit_count++;
- continue;
- }
-
- l_info = (ph_log_info *) calloc(1, sizeof(ph_log_info));
- p_retvm_if(l_info == NULL, 0, "ph_log_info calloc Failed.");
-
- err = phone_cts_get_int_from_list(cts_list, _contacts_person_phone_log.log_id, &l_info->id);
- err = phone_cts_get_int_from_list(cts_list, _contacts_person_phone_log.person_id, &l_info->plog_ct_id);
- l_info->plog_number = SAFE_STRDUP(number);
- err = phone_cts_get_int_from_list(cts_list, _contacts_person_phone_log.log_time, &l_info->plog_log_time);
- err = phone_cts_get_int_from_list(cts_list, _contacts_person_phone_log.log_type, &l_info->plog_log_type);
- err = phone_cts_get_int_from_list(cts_list, _contacts_person_phone_log.extra_data1, &l_info->plog_duration);
- err = phone_cts_get_int_from_list(cts_list, _contacts_person_phone_log.address_type, &l_info->plog_num_type);
-
- err = phone_cts_get_str_from_list(cts_list, _contacts_person_phone_log.display_name, &l_info->plog_display);
- err = phone_cts_get_str_from_list(cts_list, _contacts_person_phone_log.image_thumbnail_path, &l_info->plog_img_path);
-
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)", err);
- log_d->log_list = eina_list_append(log_d->log_list, (void*) l_info);
-
- err = contacts_list_next(cts_list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- break;
- }
- }
- contacts_list_destroy(cts_list, true);
-
- return count;
-}
-static int log_get_log_list_type(int viewby_type)
-{
- PH_TRACE;
- switch (viewby_type)
- {
- case VIEWBY_ALL_CALL:
- return PH_LIST_ALL_CALL_LOG;
- case VIEWBY_MISSED_CALL:
- return PH_LIST_MISSED_CALL_LOG;
- case VIEWBY_DIALED_CALL:
- return PH_LIST_DIALED_CALL_LOG;
- case VIEWBY_RECEIVED_CALL:
- return PH_LIST_RECEIVED_CALL_LOG;
- case VIEWBY_REJECTED_CALL:
- return PH_LIST_REJECTED_CALL_LOG;
- default:
- return PH_LIST_ALL_CALL_MESSAGE_LOG;
- }
-}
-static void log_load_list(ph_log_data * log_d)
-{
- PH_TRACE;
- p_retm_if(NULL == log_d, "Parameter is null");
- log_free_log_list(log_d);
-
- // need to reset all log count
- log_d->all_log_list_count = -1;
-
- switch (log_d->view_type)
- {
- case LOG_VIEW_TYPE_UG_EMAIL_SELECT:
- case LOG_VIEW_TYPE_UG_EMAIL_CHECK:
- log_d->log_list_count = log_load_data(PH_LIST_EMAIL_LOG, log_d,
- true);
- break;
- case LOG_VIEW_TYPE_NORMAL:
- case LOG_VIEW_TYPE_UG_LAUNCH_CALL:
- if (log_get_log_list_type(log_d->viewby_type)
- == PH_LIST_ALL_CALL_MESSAGE_LOG)
- log_d->all_log_list_count = log_d->log_list_count =
- log_load_data(PH_LIST_ALL_CALL_MESSAGE_LOG, log_d,
- true);
- else
- log_d->log_list_count = log_load_data(
- log_get_log_list_type(log_d->viewby_type), log_d, true);
- break;
- case LOG_VIEW_TYPE_UG_NUMBER_OR_EMAIL_CHECK:
- case LOG_VIEW_TYPE_UG_NUMBER_OR_EMAIL_SELECT:
- log_d->log_list_count = log_load_data(
- PH_LIST_ALL_CALL_MESSAGE_EMAIL_LOG, log_d, true);
- break;
- case LOG_VIEW_TYPE_UG_NUMBER_CHECK:
- case LOG_VIEW_TYPE_UG_NUMBER_SELECT:
- default:
- log_d->all_log_list_count = log_d->log_list_count = log_load_data(
- PH_LIST_ALL_CALL_MESSAGE_LOG, log_d, true);
- break;
- }
-
- //all_log_count for dim
- if (log_d->all_log_list_count == -1)
- log_d->all_log_list_count = get_cts_log_list(
- PH_LIST_ALL_CALL_MESSAGE_LOG, NULL);
-}
-
-static void log_update_db_result_cb(int err, void *user_data)
-{
- PH_TRACE;
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "log_update_db_result_cb() result : error(%d)", err);
- p_retm_if(user_data == NULL,
- "log_update_db_result_cb() list handle is NULL.");
- contacts_list_h cts_list = (contacts_list_h) user_data;
-
- err = contacts_list_destroy(cts_list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_destroy() result : error(%d)", err);
-
- return;
-}
-Eina_Bool ph_log_set_log_as_seen(int index, int type)
-{
- PH_TRACE;
- int logtype = 0;
- contacts_record_h log_record = NULL;
- contacts_list_h cts_list = NULL;
- int err = CONTACTS_ERROR_NONE;
- contacts_filter_h filter = NULL;
- contacts_query_h query = NULL;
- unsigned int record_cnt = 0;
-
- p_retvm_if(
- CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN != type && CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN != type && CONTACTS_PLOG_TYPE_NONE != type,
- false,
- "The type is invalid. It must be CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN"
- " or CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN or none");
-
- if (0 == index)
- {
- err = contacts_query_create(_contacts_phone_log._uri, &query);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_query_create() Failed(%d)", err);
-
- err = contacts_filter_create(_contacts_phone_log._uri, &filter);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_filter_create() Failed(%d)", err);
- err = contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_destroy() Failed(%d)", err);
- return false;
- }
-
- if (CONTACTS_PLOG_TYPE_NONE == type)
- {
- err = contacts_filter_add_int(filter, _contacts_phone_log.log_type,
- CONTACTS_MATCH_EQUAL,
- CONTACTS_PLOG_TYPE_VOICE_INCOMMING_UNSEEN);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_filter_add_int() Failed(%d)", err);
- err = contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_destroy() Failed(%d)", err);
- err = contacts_filter_destroy(filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_destroy() Failed(%d)", err);
- return false;
- }
-
- err = contacts_filter_add_operator(filter,
- CONTACTS_FILTER_OPERATOR_OR);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_filter_add_bool() Failed(%d)", err);
- err = contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_destroy() Failed(%d)", err);
- err = contacts_filter_destroy(filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_destroy() Failed(%d)", err);
- return false;
- }
-
- err = contacts_filter_add_int(filter, _contacts_phone_log.log_type,
- CONTACTS_MATCH_EQUAL,
- CONTACTS_PLOG_TYPE_VIDEO_INCOMMING_UNSEEN);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_filter_add_int() Failed(%d)", err);
- err = contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_destroy() Failed(%d)", err);
- err = contacts_filter_destroy(filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_destroy() Failed(%d)", err);
- return false;
- }
-
- err = contacts_query_set_filter(query, filter);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_query_set_filter() Failed(%d)", err);
- err = contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_destroy() Failed(%d)", err);
- err = contacts_filter_destroy(filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_destroy() Failed(%d)", err);
- return false;
- }
-
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_create() Failed(%d)", err);
- err = contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_destroy() Failed(%d)", err);
- err = contacts_filter_destroy(filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_destroy() Failed(%d)", err);
- return false;
- }
-
- err = contacts_db_get_records_with_query(query, 0, 0, &cts_list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_records_with_query() Failed(%d)", err);
- err = contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_destroy() Failed(%d)", err);
- err = contacts_filter_destroy(filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_destroy() Failed(%d)", err);
- return false;
- }
-
- contacts_list_get_count(cts_list, &record_cnt);
- PH_DBG(
- "get phonelogs table records(index: %d, log_type:%d, count:%d)",
- index, type, record_cnt);
-
- while (CONTACTS_ERROR_NONE == err && record_cnt > 0)
- {
- phone_cts_get_int_from_list(cts_list,
- _contacts_phone_log.log_type, &logtype);
- err = contacts_list_get_current_record_p(cts_list, &log_record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_get_current_record_p() Failed(%d)", err);
- err = contacts_record_set_int(log_record,
- _contacts_phone_log.log_type, logtype + 1);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_list_next(cts_list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- break;
- }
- }
- if (record_cnt > 0)
- {
- err = contacts_db_update_records_async(cts_list,
- log_update_db_result_cb, cts_list);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_records_async() Failed(%d)", err);
- }
- }
- else
- {
- err = contacts_filter_add_int(filter, _contacts_phone_log.log_type,
- CONTACTS_MATCH_EQUAL, type);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_filter_add_int() Failed(%d)", err);
- err = contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_destroy() Failed(%d)", err);
- err = contacts_filter_destroy(filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_destroy() Failed(%d)", err);
- return false;
- }
-
- err = contacts_query_set_filter(query, filter);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_query_set_filter() Failed(%d)", err);
- err = contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_destroy() Failed(%d)", err);
- err = contacts_filter_destroy(filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_destroy() Failed(%d)", err);
- return false;
- }
-
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_create() Failed(%d)", err);
- err = contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_destroy() Failed(%d)", err);
- err = contacts_filter_destroy(filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_destroy() Failed(%d)", err);
- return false;
- }
-
- err = contacts_db_get_records_with_query(query, 0, 0, &cts_list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_records_with_query() Failed(%d)", err);
- err = contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_query_destroy() Failed(%d)", err);
- err = contacts_filter_destroy(filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_destroy() Failed(%d)", err);
- return false;
- }
-
- contacts_list_get_count(cts_list, &record_cnt);
- PH_DBG(
- "get phonelogs table records(index: %d, log_type:%d, count:%d)",
- index, type, record_cnt);
-
- while (CONTACTS_ERROR_NONE == err && record_cnt > 0)
- {
- err = contacts_list_get_current_record_p(cts_list, &log_record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_get_current_record_p() Failed(%d)", err);
- err = contacts_record_set_int(log_record,
- _contacts_phone_log.log_type, type + 1);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_set_int() Failed(%d)", err);
-
- err = contacts_list_next(cts_list);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_list_next() Failed(%d)", err);
- break;
- }
- }
- if (record_cnt > 0)
- {
- err = contacts_db_update_records_async(cts_list,
- log_update_db_result_cb, cts_list);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_records_async() Failed(%d)", err);
- }
- }
- }
- else
- {
- PH_DBG("get phonelogs table record(index: %d, log_type:%d)",
- index, type);
- err = contacts_db_get_record(_contacts_phone_log._uri, index,
- &log_record);
- p_retvm_if(CONTACTS_ERROR_NONE != err, false,
- "contacts_db_get_record() Failed(%d)", err);
-
- err = contacts_record_get_int(log_record, _contacts_phone_log.log_type,
- &logtype);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_record() Failed(%d)", err);
- err = contacts_record_set_int(log_record, _contacts_phone_log.log_type,
- logtype + 1);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_record() Failed(%d)", err);
- err = contacts_db_update_record(log_record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_update_record() Failed(%d)", err);
- err = contacts_record_destroy(log_record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- return true;
- }
-
- err = contacts_query_destroy(query);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_query_destroy() Failed(%d)",
- err);
- err = contacts_filter_destroy(filter);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_filter_destroy() Failed(%d)", err);
-
- return true;
-}
-
-Eina_Bool ph_log_missed_call_count_reset(void *data)
-{
- PH_TRACE;
- ph_log_data * log_d = (ph_log_data *) data;
-
- notification_delete_group_by_group_id(VOICECALL_PKG, NOTIFICATION_TYPE_NOTI,
- 1001);
- notification_delete_group_by_group_id(VIDEOCALL_PKG, NOTIFICATION_TYPE_NOTI,
- 1001);
-
- ph_log_set_log_as_seen(0, CONTACTS_PLOG_TYPE_NONE);
-
- log_d->timer = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-API void phone_log_set_background(Evas_Object *obj, bool is_background)
-{
- PH_TRACE;
- ph_log_data *log_d;
- log_d = (ph_log_data *) evas_object_data_get(obj, KEY_LOG_DATA);
- p_retm_if(NULL == log_d, "log data is null");
-
- log_d->is_background = is_background;
- if (log_d->update_timer)
- {
- ecore_timer_del(log_d->update_timer);
- log_d->update_timer = NULL;
- ph_log_data_changed_cb(log_d);
- }
-}
-
-API void phone_log_missed_info_update(void *layout)
-{
- PH_TRACE;
- ph_log_data *log_d;
- log_d = (ph_log_data *) evas_object_data_get((const Evas_Object *) layout,
- KEY_LOG_DATA);
- p_retm_if(NULL == log_d, "log data is null");
-
- if (elm_naviframe_top_item_get(log_d->navi)
- == elm_naviframe_bottom_item_get(log_d->navi))
- {
- if (LOG_VIEW_TYPE_NORMAL == log_d->view_type)
- {
- if (log_d->timer)
- ecore_timer_del(log_d->timer);
- log_d->timer = ecore_timer_add(1.0, ph_log_missed_call_count_reset,
- (void*) log_d);
- }
- }
-}
-
-static void log_list_popup_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_log_data *log_d = static_cast<ph_log_data*>( data );
- if (NULL != log_d->popup)
- {
- evas_object_del(log_d->popup);
- log_d->popup = NULL;
- }
- }
-}
-
-static void log_list_menu_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_log_data *log_d = static_cast<ph_log_data*>( data );
- if (NULL != log_d->m_Menu)
- {
- evas_object_del(log_d->m_Menu);
- log_d->m_Menu = NULL;
- }
- }
-}
-
-static void log_sweep_delete_reponse_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data && NULL != obj)
- {
- ph_log_info *l_info = static_cast<ph_log_info*>(data);
- ph_log_data *log_d = static_cast<ph_log_data*>(evas_object_data_get(obj, KEY_LOG_DATA));
-
- log_list_popup_hide_cb(log_d, NULL, NULL);
-
- int err = CONTACTS_ERROR_NONE;
- err = ph_log_util_del_log_by_id(log_d->log_list, l_info);
- if (CONTACTS_ERROR_NONE != err)
- {
- phone_show_tickernoti (S_(PH_SYS_POP_FAILED));
- }
- else
- {
- phone_show_tickernoti(S_(PH_SYS_POP_DELETED));
- }
- }
-}
-
-static void log_gl_sweep_del_btn_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_log_info *l_info = (ph_log_info *) data;
- ph_log_data *log_d = (ph_log_data *) evas_object_data_get(obj,
- KEY_LOG_DATA);
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- Evas_Object *btn;
-
- if(!log_d || !l_info)
- {
- return;
- }
-
- elm_genlist_item_select_mode_set(log_d->item_last_sweep,
- ELM_OBJECT_SELECT_MODE_DEFAULT);
- snprintf(buf, sizeof(buf), "%s?", S_(PH_SYS_SK_DELETE));
- btn = phone_create_confirm_popup(&log_d->popup, log_d->win, buf,
- log_sweep_delete_reponse_cb, (void *) l_info);
- evas_object_data_set(btn, KEY_LOG_DATA, log_d);
-}
-
-static void log_gl_sweep_left(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) data;
-
- if (!event_info || !log_d)
- {
- return;
- }
-
- if (!obj)
- {
- evas_object_smart_callback_add(obj, longPressedEvent,logLongpressedCb, data);
- }
-
- elm_genlist_item_decorate_mode_set((Elm_Object_Item *) event_info, "slide",EINA_FALSE);
- elm_genlist_item_select_mode_set((Elm_Object_Item *) event_info, ELM_OBJECT_SELECT_MODE_DEFAULT);
- log_d->item_last_sweep = NULL;
-}
-
-static void log_gl_sweep_right(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) data;
-
- if (!event_info || !log_d || !obj)
- {
- return;
- }
- evas_object_smart_callback_del(obj,longPressedEvent,logLongpressedCb);
- if(log_d->item_last_sweep != event_info)
- {
- log_gl_sweep_left(data, obj, log_d->item_last_sweep);
- }
-
- elm_genlist_item_decorate_mode_set((Elm_Object_Item *) event_info, "slide", EINA_TRUE);
- elm_genlist_item_select_mode_set((Elm_Object_Item *) event_info, ELM_OBJECT_SELECT_MODE_NONE);
- log_d->item_last_sweep = (Elm_Object_Item *) event_info;
-}
-
-static void log_gl_sweep_up_down(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) data;
- Elm_Object_Item * item;
-
- if (!obj || !log_d)
- {
- return;
- }
- item = (Elm_Object_Item *) elm_genlist_decorated_item_get(obj);
- if (item)
- {
- elm_genlist_item_decorate_mode_set(item, "slide", EINA_FALSE);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DEFAULT);
- log_d->item_last_sweep = NULL;
- }
-}
-
-
-void scroll_drag_start_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- if(obj)
- {
- evas_object_smart_callback_del(obj,longPressedEvent,logLongpressedCb);
- }
-}
-void scroll_drag_end_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_log_data *log_d = static_cast<ph_log_data *>(data);
- if(log_d && obj)
- {
- evas_object_smart_callback_add(obj, longPressedEvent,logLongpressedCb, log_d);
- }
-}
-static char* log_gl_label_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- char buf[PH_TEXT_MAX_LEN] = { 0 };
- ph_log_info *l_info = (ph_log_info *) data;
-
- if (data == NULL)
- {
- PH_DBG("WARNING: data is NULL");
- return NULL;
- }
-
- if (0 == strcmp(part, "elm.text.1"))
- {
- if (NULL == l_info->plog_number || '\0' == l_info->plog_number[0])
- {
- snprintf(buf, PH_TEXT_MAX_LEN, "%s", S_(PH_SYS_BODY_UNKNOWN));
- }
- else if(0 == l_info->plog_ct_id)
- {
- snprintf(buf, PH_TEXT_MAX_LEN, "%s", l_info->plog_number);
- }
- else if(l_info->plog_ct_id > 0)
- {
- if (l_info->plog_display && *l_info->plog_display)
- {
- snprintf(buf, PH_TEXT_MAX_LEN, "%s", l_info->plog_display);
- }
- else
- {
- snprintf(buf, PH_TEXT_MAX_LEN, "%s", T_(CT_GET_TEXT_ERR, CTTEXT_NONAME));
- }
- }
- }
- else if(0 == strcmp(part, "elm.text.2"))
- {
- ph_log_data * log_d;
- char *time;
- log_d = (ph_log_data *) evas_object_data_get(obj, KEY_LOG_DATA);
- time = ph_log_util_get_formatted_date(log_d->formatter,
- l_info->plog_log_time - l_info->plog_duration,
- PH_LOG_TIME_ONLY);
- snprintf(buf, PH_TEXT_MAX_LEN, "%s", time);
- free(time);
- }
- else if(0 == strcmp(part, "elm.text.3"))
- {
- if(NULL == l_info->plog_number || '\0' == l_info->plog_number[0])
- {
- buf[0] = '\0';
- }
- else if(0 == l_info->plog_ct_id)
- {
- snprintf(buf, PH_TEXT_MAX_LEN, "%s", T_(PH_GET_TEXT_BASIC, PHTEXT_UNSAVED));
- }
- else if(l_info->plog_ct_id > 0)
- {
- if (l_info->plog_display && *l_info->plog_display)
- {
- snprintf(buf, PH_TEXT_MAX_LEN, "%s", l_info->plog_number);
- }
- }
- }
- else if(0 == strcmp(part, "elm.text.4"))
- {
- if(l_info->grouped_count > 0)
- {
- snprintf(buf, PH_TEXT_MAX_LEN, "(%d)", l_info->grouped_count);
- }
- }
- return strdup(buf);
-}
-
-static void log_gl_call_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_log_info * l_info = (ph_log_info *) data;
- ph_log_data *log_d = (ph_log_data *) evas_object_data_get(obj,
- KEY_LOG_DATA);
-
- p_retm_if(NULL == l_info, "parameter(l_info) is NULL");
- p_retm_if(NULL == log_d, "log_d is NULL");
- p_retm_if(NULL == l_info->plog_number|| '\0' == *l_info->plog_number,
- "number is NULL");
- elm_genlist_item_select_mode_set(log_d->item_last_sweep,
- ELM_OBJECT_SELECT_MODE_DEFAULT);
- phone_launch_voice_call(l_info->plog_ct_id, l_info->plog_number);
-}
-
-void ct_list_destroy_child_ug(void *data)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) data;
- log_d->child_ug = NULL;
-
-}
-
-static Evas_Object *log_gl_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- char buf[PATH_MAX];
- ph_log_info * l_info = (ph_log_info *) data;
- ph_log_data * log_d;
- Evas_Object * returnContent = NULL;
-
- buf[0] = '\0';
- log_d = (ph_log_data *) evas_object_data_get(obj, KEY_LOG_DATA);
-
- if (0 == strcmp(part, "elm.icon.1"))
- {
- Evas_Object* layout = NULL;
- layout = elm_layout_add(obj);
- p_retvm_if(NULL == layout, NULL, "elm_layout_add is failed");
- elm_layout_file_set(layout, LOG_ITEM_ICON_EDJ, LOG_ITEM_ICON_DEFAULT_GROUP);
-
- Evas_Object* icon1 = NULL;
- icon1 = elm_icon_add(layout);
- p_retvm_if(NULL == icon1, NULL, "elm_icon_add is failed");
- if(!l_info->plog_img_path || !(*l_info->plog_img_path))
- {
- elm_image_file_set(icon1, IMG_DEFAULT, NULL);
- }
- else
- {
- elm_image_file_set(icon1, l_info->plog_img_path, NULL);
- }
- evas_object_size_hint_aspect_set(icon1, EVAS_ASPECT_CONTROL_VERTICAL,
- 1, 1);
-
- Evas_Object* icon2 = NULL;
- icon2 = elm_icon_add(layout);
- p_retvm_if(NULL == icon2, NULL, "elm_icon_add is failed");
- char *icon2_path = phone_detail_log_get_icon_path_with_action(
- l_info->plog_log_type);
- elm_image_file_set(icon2, icon2_path, NULL);
- evas_object_size_hint_aspect_set(icon2, EVAS_ASPECT_CONTROL_VERTICAL,
- 1, 1);
-
- elm_object_part_content_set(layout, "elm.swallow.icon.1", icon1);
- elm_object_part_content_set(layout, "elm.swallow.icon.2", icon2);
-
- evas_object_show(icon1);
- evas_object_show(icon2);
- evas_object_show(layout);
-
- returnContent = layout;
- }
- else if (0 == strcmp(part, "elm.icon.2"))
- {
- char *icon_type = phone_detail_log_get_icon_type(l_info->plog_log_type);
- if (icon_type)
- {
- Evas_Object *ic = NULL;
- snprintf(buf, sizeof(buf), "%s", icon_type);
- free(icon_type);
-
- ic = elm_icon_add(obj);
- p_retvm_if(NULL == ic, NULL, "elm_icon_add is failed");
- elm_image_file_set(ic, buf, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL,
- 1, 1);
- returnContent = ic;
- }
- }
- else if (0 == strcmp(part, "elm.icon.3"))
- {
- if (LOG_VIEW_TYPE_NORMAL != log_d->view_type
- && LOG_VIEW_TYPE_UG_LAUNCH_CALL != log_d->view_type)
- {
- }
- else if (NULL == l_info->plog_number || '\0' == l_info->plog_number[0])
- {
- }
- else
- {
- Evas_Object *btn = NULL;
- Evas_Object *ic = NULL;
- btn = elm_button_add(obj);
- ic = elm_icon_add(btn);
- p_retvm_if(NULL == ic, NULL, "elm_icon_add is failed");
- elm_image_file_set(ic, PH_IMG_ICON_PHONE, NULL);
- evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1,
- 1);
- elm_object_part_content_set(btn, "icon", ic);
- evas_object_propagate_events_set(btn, EINA_FALSE);
- evas_object_smart_callback_add(btn, "clicked", log_gl_call_btn_cb,
- l_info);
- returnContent = btn;
- }
- }
- else if (0 == strcmp(part, "elm.slide.swallow.1"))
- {
- Evas_Object *btn = NULL;
- if (l_info->plog_number && *l_info->plog_number)
- {
- btn = phone_create_list_sweep_btn(obj, PH_IMG_ICON_CALL);
- p_retvm_if(NULL == btn, NULL,
- "phone_create_list_sweep_btn() return NULL");
-
- evas_object_data_set(btn, KEY_LOG_DATA, log_d);
- evas_object_smart_callback_add(btn, "clicked", log_gl_call_btn_cb,
- l_info);
- returnContent = btn;
- }
- else
- {
- btn = phone_create_list_sweep_btn(obj, PH_IMG_ICON_CALL_DIM);
- p_retvm_if(NULL == btn, NULL,
- "phone_create_list_sweep_btn is failed");
- evas_object_data_set(btn, KEY_LOG_DATA, log_d);
- elm_object_disabled_set(btn, true);
- returnContent = btn;
-
- }
- }
- else if (0 == strcmp(part, "elm.slide.swallow.2"))
- {
- Evas_Object *btn = NULL;
- if (l_info->plog_number && *l_info->plog_number)
- {
- btn = phone_create_list_sweep_btn(obj, PH_IMG_ICON_MESSAGE);
- p_retvm_if(NULL == btn, NULL,
- "phone_create_list_sweep_btn is failed");
- evas_object_data_set(btn, KEY_LOG_DATA, log_d);
- evas_object_smart_callback_add(btn, "clicked", log_gl_msg_btn_cb,
- l_info->plog_number);
- returnContent = btn;
- }
- else
- {
- btn = phone_create_list_sweep_btn(obj, PH_IMG_ICON_MESSAGE_DIM);
- p_retvm_if(NULL == btn, NULL,
- "phone_create_list_sweep_btn is failed");
- evas_object_data_set(btn, KEY_LOG_DATA, log_d);
- elm_object_disabled_set(btn, true);
- returnContent = btn;
- }
-
- }
-
- else if (0 == strcmp(part, "elm.slide.swallow.3"))
- {
- Evas_Object *btn = NULL;
- btn = phone_create_list_sweep_btn(obj, PH_IMG_ICON_DELETE);
- p_retvm_if(NULL == btn, NULL,
- "phone_create_list_sweep_btn() return NULL");
-
- evas_object_data_set(btn, KEY_LOG_DATA, log_d);
- evas_object_smart_callback_add(btn, "clicked", log_gl_sweep_del_btn_cb,
- l_info);
- returnContent = btn;
- }
-
- else if (0 == strcmp(part, "elm.edit.icon.1"))
- {
- Evas_Object *check = NULL;
- check = elm_check_add(obj);
- evas_object_data_set(check, "person_info", l_info);
- evas_object_propagate_events_set(check, EINA_FALSE);
- p_retvm_if(NULL == check, NULL, "elm_check_add() return NULL");
- elm_check_state_pointer_set(check, &l_info->checked);
- evas_object_smart_callback_add(check, "changed",
- ph_log_check_check_changed_cb, log_d);
- returnContent = check;
- }
-
- return returnContent;
-}
-
-static const char *log_get_day_in_week(ph_log_info *l_info)
-{
- PH_TRACE;
- time_t stime;
- struct tm *tmp;
-
- stime = l_info->plog_log_time - l_info->plog_duration;
- tmp = localtime(&stime);
-
- switch (tmp->tm_wday)
- {
- case 0:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_SUNDAY);
- case 1:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_MONDAY);
- case 2:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_TUESDAY);
- case 3:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_WEDNESDAY);
- case 4:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_THURSDAY);
- case 5:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_FRIDAY);
- case 6:
- return T_(PH_GET_TEXT_DAY, PHTEXT_BODY_SATURDAY);
- }
- return NULL;
-}
-
-static char* log_gl_sep_date_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ph_log_info *l_info = (ph_log_info *) data;
- const char *when;
- int index = l_info->group_index;
-
- if (0 == strcmp(part, "elm.text"))
- {
- char *date_temp;
- ph_log_data *log_d;
-
- if (-1 == index)
- when = S_(PH_SYS_BODY_TODAY);
- else if (-2 == index)
- when = S_(PH_SYS_BODY_YESTERDAY);
- else
- when = log_get_day_in_week(l_info);
-
- log_d = (ph_log_data *) evas_object_data_get(obj, KEY_LOG_DATA);
- date_temp = phone_detail_log_get_date(log_d->formatter,
- l_info->plog_log_time - l_info->plog_duration);
- if (date_temp)
- {
- char buf[PATH_MAX] = { 0 };
- snprintf(buf, sizeof(buf), " %s (%s)", when, date_temp);
- free(date_temp);
- return strdup(buf);
- }
- else
- return strdup(when);
- }
- else
- return NULL;
-}
-
-static void log_cancel_clicked_cb(void *data)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) data;
- ph_log_check_mode_end(log_d, true);
-}
-
-static Evas_Object* log_create_genlist(ph_log_data * log_d)
-{
- PH_TRACE;
- Evas_Object *genlist = elm_genlist_add(log_d->box);
- p_retvm_if(NULL == genlist, NULL, "elm_genlist_add() return NULL");
-
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- evas_object_show(genlist);
- evas_object_data_set(genlist, KEY_LOG_DATA, log_d);
-
- if (!log_d->ug)
- {
- evas_object_smart_callback_add(genlist, "drag,start,right", log_gl_sweep_right, log_d);
-
- evas_object_smart_callback_add(genlist, "drag,start,left",
- log_gl_sweep_left, log_d);
- evas_object_smart_callback_add(genlist, "scroll,drag,stop", scroll_drag_end_cb,log_d);
- evas_object_smart_callback_add(genlist, "scroll,drag,start", scroll_drag_start_cb,log_d);
- evas_object_smart_callback_add(genlist, "drag,start,up",
- log_gl_sweep_up_down, log_d);
- evas_object_smart_callback_add(genlist, "drag,start,down",
- log_gl_sweep_up_down, log_d);
- evas_object_smart_callback_add(genlist, longPressedEvent,
- logLongpressedCb, log_d);
- }
- elm_genlist_block_count_set(genlist, 10);
- return genlist;
-}
-
-static Evas_Object* log_fill_layout(void *data)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) data;
- if (0 < log_d->log_list_count)
- {
- if (NULL == log_d->genlist)
- log_d->genlist = log_create_genlist(log_d);
- else
- {
- elm_genlist_clear(log_d->genlist);
- log_d->pre_date_type = 0;
- }
- log_fill_genlist(log_d);
- return log_d->genlist;
- }
- else
- {
- Evas_Object *noc;
- noc = phone_create_nocontents(log_d->box,
- T_(PH_GET_TEXT_BASIC, PHTEXT_NO_LOGS));
- p_retvm_if(NULL == noc, NULL, "phone_create_nocontents() return NULL");
- evas_object_size_hint_weight_set(noc, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(noc, EVAS_HINT_FILL,
- NO_CONTENTS_ICON_POSITION);
- evas_object_show(noc);
-
- return noc;
- }
-}
-
-static void load_logs_with_checked_state(ph_log_data &log_d)
-{
- if (NULL == log_d.log_list)
- {
- log_load_list(&log_d);
- return;
- }
-
- unsigned int count = eina_list_count(log_d.log_list);
- CheckedState checkedValues[count];
-
- Eina_List* cList = NULL;
- void* cListInfo = NULL;
- ph_log_info* clog = NULL;
-
- int i =0;
- EINA_LIST_FOREACH(log_d.log_list, cList, cListInfo)
- {
- clog = static_cast<ph_log_info*>(cListInfo);
- if (clog)
- {
- CheckedState state(clog->id, clog->checked, clog->grouped_count);
- checkedValues[i++] = state;
- }
- }
-
- log_load_list(&log_d);
-
- i = 0;
- char* newNumber = NULL;
- EINA_LIST_FOREACH(log_d.log_list, cList, cListInfo)
- {
- clog = static_cast<ph_log_info*>(cListInfo);
- if (clog)
- {
- if (clog->id == checkedValues[i].getId())
- {
- if (! (i == 1 && newNumber && newNumber == clog->plog_number))
- {
- clog->checked = checkedValues[i].isChecked();
- }
- ++i;
- }
- else
- {
- newNumber = clog->plog_number;
- }
- }
- }
-}
-
-static void update_select_all_state(ph_log_data &log_d)
-{
- if (log_d.select_all_layout)
- {
- Evas_Object *check = elm_object_part_content_get(log_d.select_all_layout, "elm.icon");
- if (check)
- {
- elm_check_state_set(check, EINA_FALSE);
- }
- }
- if (log_d.layout)
- {
- phone_hide_notify(log_d.layout);
- }
-}
-
-Eina_Bool ph_log_data_changed_cb(void *data)
-{
- PH_TRACE;
- Evas_Object *content;
-
- ph_log_data *log_d = (ph_log_data *) data;
- p_retv_if(log_d == NULL,EINA_FALSE);
-
- if (log_d->update_timer)
- {
- ecore_timer_del(log_d->update_timer);
- log_d->update_timer = NULL;
- }
-
- if (log_d->list_idler)
- {
- ecore_idler_del(log_d->list_idler);
- log_d->list_idler = NULL;
- }
-
- load_logs_with_checked_state(*log_d);
- update_select_all_state(*log_d);
-
- elm_box_unpack(log_d->box, log_d->content);
- evas_object_del(log_d->content);
- log_d->content = NULL;
- if (log_d->genlist)
- {
- log_d->genlist = NULL;
- log_d->pre_date_type = 0;
- }
-
- content = log_fill_layout(log_d);
- p_retvm_if(NULL == content, ECORE_CALLBACK_CANCEL,
- "log_fill_layout() return NULL");
- log_d->content = content;
-
- elm_box_pack_end(log_d->box, content);
- if (LOG_VIEW_TYPE_UG_NUMBER_CHECK == log_d->view_type
- || LOG_VIEW_TYPE_NORMAL_CHECK == log_d->view_type
- || LOG_VIEW_TYPE_UG_EMAIL_CHECK == log_d->view_type
- || LOG_VIEW_TYPE_UG_NUMBER_OR_EMAIL_CHECK == log_d->view_type)
- phone_log_check_mode_start(log_d);
- ph_log_check_update_button_status(log_d);
- if (log_d->logdetail_update)
- {
- ph_log_detail_update(log_d);
- log_d->logdetail_update = false;
- }
-
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void log_data_lazy_update(const char* view_uri, void* data)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) data;
- if (log_d->update_timer)
- {
- ecore_timer_del(log_d->update_timer);
- log_d->update_timer = NULL;
- }
-
- if (log_d->is_background)
- log_d->update_timer = ecore_timer_add(3.0, ph_log_data_changed_cb,
- log_d);
- else
- ph_log_data_changed_cb(log_d);
-
-}
-
-static void log_data_updated(const char* view_uri, void* data)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) data;
- log_d->logdetail_update = true;
- if (log_d->p_info == NULL)
- log_data_lazy_update(_contacts_phone_log._uri, log_d);
-}
-
-static void log_view_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) data;
- p_retm_if(NULL == log_d, "log_d is null");
-
- int err = CONTACTS_ERROR_NONE;
-
- err = contacts_db_remove_changed_cb(_contacts_person._uri,
- log_data_lazy_update, log_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
- err = contacts_db_remove_changed_cb(_contacts_phone_log._uri,
- log_data_updated, log_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
-
- vconf_ignore_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED,
- ph_log_timezone_changed);
- evas_object_data_del(log_d->navi, KEY_LOG_DATA);
-
- log_free_log_list(log_d);
-
- if (log_d->list_idler)
- ecore_idler_del(log_d->list_idler);
-
- log_list_popup_hide_cb(data, NULL, NULL);
- log_list_menu_hide_cb(data, NULL, NULL);
-
- if (log_d->p_info)
- {
- log_d->p_info->alive = false;
- pthread_join(log_d->p_info->thread, NULL);
- ecore_timer_del(log_d->p_info->timer);
- free(log_d->p_info);
- }
-
- if (log_d->timer)
- ecore_timer_del(log_d->timer);
-
- if (log_d->update_timer)
- ecore_timer_del(log_d->update_timer);
-
- phone_detail_log_delete_date_format(log_d->formatter);
-
- free(log_d);
-}
-static Evas_Object* viewby_gl_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- Evas_Object *radio;
- viewby_list_item *popup_i = (viewby_list_item*) data;
- Evas_Object *radio_main = NULL;
-
- if (!strcmp(part, "elm.icon"))
- {
- radio = elm_radio_add(obj);
- p_retvm_if(NULL == radio, NULL, "elm_radio_add() return NULL");
-
- if (0 == popup_i->index)
- {
- evas_object_data_set(obj, "radio_main", radio);
- }
- else
- {
- radio_main = (Evas_Object *) evas_object_data_get(obj,
- "radio_main");
- p_retvm_if(NULL == radio_main, NULL,
- "evas_object_data_get() return NULL");
- elm_radio_group_add(radio, radio_main);
- }
-
- elm_radio_state_value_set(radio, popup_i->index);
- if (radio_main && popup_i->state_index == popup_i->index)
- elm_radio_value_set(radio_main, popup_i->state_index);
-
- evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_propagate_events_set(radio, EINA_TRUE);
-
- return radio;
-
- }
-
- return NULL;
-
-}
-
-static char *viewby_gl_text_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- viewby_list_item *popup_i = (viewby_list_item*) data;
-
- if (!strcmp(part, "elm.text"))
- {
- switch (popup_i->index)
- {
-
- case VIEWBY_POPUP_ALL_CALL_LOG:
- return strdup("All calls");
- break;
- case VIEWBY_POPUP_MISSED_CALL_LOG:
- return strdup("Missed calls");
- break;
- case VIEWBY_POPUP_DIALED_CALL_LOG:
- return strdup("Dialed calls");
- break;
- case VIEWBY_POPUP_RECEIVED_CALL_LOG:
- return strdup("Received calls");
- break;
- case VIEWBY_POPUP_REJECTED_CALL_LOG:
- return strdup("Rejected calls");
- break;
- default:
- return strdup("Error");
- break;
- }
- }
- else
- return NULL;
-}
-
-static Eina_Bool viewby_gl_state_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- return EINA_FALSE;
-}
-
-static void viewby_gl_del(void *data, Evas_Object *obj)
-{
- PH_TRACE;
- return;
-}
-
-static void viewby_gl_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
-
- viewby_list_item *popup_i;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- ph_log_data *log_d = (ph_log_data *) data;
- Evas_Object *content = NULL;
- Evas_Object * delete_button = NULL;
- p_retm_if(NULL == log_d, "log_d is NULL");
- p_retm_if(NULL == item, "item is null");
-
- popup_i = (viewby_list_item *) elm_object_item_data_get(item);
- popup_i->state_index = popup_i->index;
- elm_genlist_item_selected_set(item, EINA_FALSE);
- elm_genlist_item_update(item);
-
- switch (popup_i->index)
- {
- case VIEWBY_POPUP_ALL_CALL_LOG:
- log_d->viewby_type = VIEWBY_ALL_CALL;
- break;
- case VIEWBY_POPUP_MISSED_CALL_LOG:
- log_d->viewby_type = VIEWBY_MISSED_CALL;
- break;
- case VIEWBY_POPUP_DIALED_CALL_LOG:
- log_d->viewby_type = VIEWBY_DIALED_CALL;
- break;
- case VIEWBY_POPUP_RECEIVED_CALL_LOG:
- log_d->viewby_type = VIEWBY_RECEIVED_CALL;
- break;
- case VIEWBY_POPUP_REJECTED_CALL_LOG:
- log_d->viewby_type = VIEWBY_REJECTED_CALL;
- break;
- default:
- log_d->viewby_type = VIEWBY_ALL_CALL;
- }
-
- log_load_list(log_d);
-
- elm_box_unpack(log_d->box, log_d->content);
- evas_object_del(log_d->content);
- log_d->content = NULL;
- if (log_d->genlist)
- {
- log_d->genlist = NULL;
- log_d->pre_date_type = 0;
- }
- content = log_fill_layout(log_d);
- p_retm_if(NULL == content,
- "log_fill_layout() return NULL");
- log_d->content = content;
- elm_box_pack_end(log_d->box, log_d->content);
-
- log_list_popup_hide_cb(log_d, NULL, NULL);
- log_list_menu_hide_cb(data, NULL, NULL);
-
- delete_button = elm_object_part_content_get(log_d->layout,
- "toolbar");
- if (0 == log_d->log_list_count)
- {
- elm_object_disabled_set(delete_button, EINA_TRUE);
- }
- else
- {
- elm_object_disabled_set(delete_button, EINA_FALSE);
- }
-}
-
-static void log_set_genlist_item_style()
-{
- PH_TRACE;
- itc.item_style = "4text.1icon.3";
- itc.decorate_item_style = "mode/slide3";
- itc.decorate_all_item_style = "edit_default";
- itc.func.text_get = log_gl_label_get;
- itc.func.content_get = log_gl_icon_get;
- itc.func.state_get = NULL;
-
- itc_date.item_style = "grouptitle";
- itc_date.func.text_get = log_gl_sep_date_label_get;
-
- itc_viewby_list.item_style = "1text.1icon.2";
- itc_viewby_list.func.text_get = viewby_gl_text_get;
- itc_viewby_list.func.content_get = viewby_gl_icon_get;
- itc_viewby_list.func.state_get = viewby_gl_state_get;
- itc_viewby_list.func.del = viewby_gl_del;
-}
-
-static void log_genlist_update(Evas_Object *genlist)
-{
- PH_TRACE;
- Elm_Object_Item * item;
- p_retm_if(NULL == genlist, "Genlist is null");
-
- item = elm_genlist_first_item_get(genlist);
- while (item)
- {
- elm_genlist_item_update(item);
- item = elm_genlist_item_next_get(item);
- }
-}
-
-API void phone_log_views_update(Evas_Object *navi)
-{
- PH_TRACE;
- ph_log_data *log_d;
- ph_log_detail_data *logdetail_d;
-
- log_d = (ph_log_data *) evas_object_data_get(navi, KEY_LOG_DATA);
- if (log_d)
- {
- phone_detail_log_generate_date_format(log_d->formatter);
- log_genlist_update(log_d->genlist);
- }
-
- logdetail_d = (ph_log_detail_data *) evas_object_data_get(navi,
- "logdetail_d");
- if (logdetail_d)
- log_genlist_update(logdetail_d->genlist);
-}
-
-void ph_log_timezone_changed(keynode_t* key, void *data)
-{
- PH_TRACE;
- phone_log_views_update((Evas_Object *) data);
-}
-
-API void phone_log_view_resume(Evas_Object *navi)
-{
- PH_TRACE;
-
- phone_log_missed_info_update(navi);
-
-}
-
-API void phone_log_view_reset(Evas_Object *navi)
-{
- PH_TRACE;
- ph_log_data *log_d;
- Elm_Object_Item * item;
-
- log_d = (ph_log_data *) evas_object_data_get(navi, KEY_LOG_DATA);
- p_retm_if(NULL == log_d, "log_d is null");
-
- if (log_d->child_ug)
- {
- ug_destroy(log_d->child_ug);
- log_d->child_ug = NULL;
- }
-
- item = elm_naviframe_bottom_item_get(log_d->navi);
- if (elm_naviframe_top_item_get(log_d->navi) != item)
- elm_naviframe_item_pop_to(item);
- else if (LOG_VIEW_TYPE_NORMAL_CHECK == log_d->view_type)
- ph_log_check_mode_end(log_d, true);
- else if (log_d->item_last_sweep)
- {
- elm_genlist_item_decorate_mode_set(log_d->item_last_sweep, "slide",
- EINA_FALSE);
- elm_genlist_item_select_mode_set(log_d->item_last_sweep,
- ELM_OBJECT_SELECT_MODE_DEFAULT);
- log_d->item_last_sweep = NULL;
- }
- log_d->ctrl_item = NULL;
-}
-
-API void phone_viewby_type_set(Evas_Object *layout, int viewby_type)
-{
- PH_TRACE;
- ph_log_data *log_d;
- log_d = (ph_log_data *) evas_object_data_get(layout, KEY_LOG_DATA);
- p_retm_if(NULL == log_d, "log data is NULL");
- log_d->viewby_type = viewby_type;
-}
-
-static void log_settings_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_log_data * log_d = static_cast<ph_log_data *>(data);
- check_if(!log_d, return);
-
- log_list_popup_hide_cb(log_d, NULL, NULL);
- log_list_menu_hide_cb(data, NULL, NULL);
-
- log_d->child_ug = phone_launch_settings_ug(log_d->ug, CONTACTS_SETTINGS_UG, log_destroy_child_ug, log_d);
-}
-
-static void log_duration_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_log_data * log_d = static_cast<ph_log_data *>(data);
- check_if(!log_d, return);
-
- log_list_popup_hide_cb(log_d, NULL, NULL);
- log_list_menu_hide_cb(data, NULL, NULL);
-
- Phone::Logs::CallDurationView *view = new Phone::Logs::CallDurationView();
- bool success = view->initialize(log_d->navi);
- check_if(!success, delete view; return);
-
- Common::ViewManager *manager = static_cast<Common::ViewManager *>(evas_object_data_get(log_d->navi, "ViewManager"));
- assert(manager);
- if(manager)
- {
- manager->push(*view);
- }
- else
- {
- delete view;
- }
-}
-
-static void log_delete_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_log_data * log_d = (ph_log_data *) data;
- p_retm_if(NULL == log_d, "log data is null");
-
- log_list_popup_hide_cb(log_d, NULL, NULL);
- log_list_menu_hide_cb(data, NULL, NULL);
-
- phone_log_check_mode_start(log_d);
-}
-
-static void viewby_clicked_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
-
- Evas_Object *popup;
- Evas_Object *genlist;
- ph_log_data *log_d = (ph_log_data *) data;
- int i;
- viewby_list_item *popup_i;
- Elm_Object_Item * item;
-
- log_list_popup_hide_cb(data, NULL, NULL);
- log_list_menu_hide_cb(data, NULL, NULL);
-
- popup = elm_popup_add(log_d->navi);
- log_d->popup = popup;
- elm_object_style_set(popup, "menustyle");
- elm_object_part_text_set(popup, "title,text",
- T_(CT_GET_TEXT_BASIC, CTTEXT_VIEW));
- genlist = elm_genlist_add(popup);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
-
- Evas_Object *cancel_btn = elm_button_add(popup);
- elm_object_style_set(cancel_btn, "popup_button/default");
- elm_object_text_set(cancel_btn, S_(PH_SYS_SK_CANCEL));
- elm_object_part_content_set(popup, "button1", cancel_btn);
- evas_object_smart_callback_add(cancel_btn, "clicked",
- log_list_popup_hide_cb, log_d);
-
- for (i = 0; i < VIEWBY_MAX; i++)
- {
- popup_i = (viewby_list_item*) calloc(1, sizeof(viewby_list_item));
- popup_i->index = i;
- popup_i->state_index = log_d->viewby_type;
- item = elm_genlist_item_append(genlist, &itc_viewby_list,
- (void *) popup_i, NULL, ELM_GENLIST_ITEM_NONE, viewby_gl_sel,
- log_d);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_ALWAYS);
- }
-
- elm_object_content_set(popup, genlist);
- evas_object_show(popup);
-}
-
-static void more_btn_clicked_cb(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_log_data *log_d = static_cast<ph_log_data*>(data);
-
- log_list_popup_hide_cb(data, NULL, NULL);
- log_list_menu_hide_cb(data, NULL, NULL);
-
- Evas_Object *menu = elm_ctxpopup_add(log_d->navi);
- if (NULL != menu)
- {
- Elm_Object_Item *last_item = log_d->item_last_sweep;
- if (last_item)
- {
- log_gl_sweep_left(log_d, NULL, last_item);
- }
-
- if(log_d->log_list_count > 0)
- {
- elm_ctxpopup_item_append(menu, S_(PH_SYS_SK_DELETE), NULL, log_delete_clicked_cb, log_d);
- elm_ctxpopup_item_append(menu, T_(CT_GET_TEXT_BASIC, CTTEXT_VIEW_BY), NULL, viewby_clicked_cb, log_d);
- elm_ctxpopup_item_append(menu, T_(PH_GET_TEXT_BASIC, PHTEXT_CALL_DURATION), NULL, log_duration_clicked_cb, log_d);
- }
- elm_ctxpopup_item_append(menu, T_(PH_GET_TEXT_BASIC, PHTEXT_SETTINGS), NULL, log_settings_clicked_cb, log_d);
-
- elm_ctxpopup_direction_priority_set(menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_UNKNOWN, ELM_CTXPOPUP_DIRECTION_UNKNOWN);
-
- evas_object_smart_callback_add(menu, "dismissed", log_list_menu_hide_cb, log_d);
-
- int x, y, w, h;
- evas_object_geometry_get(log_d->navi, &x, &y, &w, &h);
-
- evas_object_move(menu, 0, y + h);
- evas_object_show(menu);
-
- log_d->m_Menu = menu;
- }
- else
- {
- ERR("more_btn_clicked_cb failed: ", "elm_ctxpopup_add() return NULL");
- }
- }
-}
-
-API void phone_log_set_navi(Evas_Object *layout)
-{
- PH_TRACE;
- ph_log_data *log_d;
- Elm_Object_Item *navi_it;
-
- log_d = (ph_log_data *) evas_object_data_get(layout, KEY_LOG_DATA);
- p_retm_if(NULL == log_d, "log data is NULL");
-
- navi_it = elm_naviframe_bottom_item_get(log_d->navi);
- p_retm_if(NULL == navi_it, "navi item is NULL");
-
- phone_navi_item_reset(log_d->navi_item, log_d);
-
- switch (log_d->view_type)
- {
- case LOG_VIEW_TYPE_NORMAL:
- case LOG_VIEW_TYPE_UG_LAUNCH_CALL:
- log_d->menu_cb = more_btn_clicked_cb;
- if(log_d->ctrl_item)
- {
- elm_object_part_content_unset(log_d->layout, "toolbar");
- evas_object_hide(log_d->ctrl_item);
- }
- break;
- case LOG_VIEW_TYPE_NORMAL_CHECK:
- {
- if(!log_d->ctrl_item)
- {
- log_d->ctrl_item = phone_create_toolbar_btn(log_d->layout,
- S_(PH_SYS_SK_DELETE), ph_log_check_del_btn_cb, log_d);
- }
-
- elm_object_part_content_set(log_d->layout, "toolbar",
- log_d->ctrl_item);
-
- if (0 == log_d->cnt_checked)
- {
- elm_object_disabled_set(log_d->ctrl_item, EINA_TRUE);
- }
- else
- {
- elm_object_disabled_set(log_d->ctrl_item, EINA_FALSE);
- }
-
- log_d->back_cb = log_cancel_clicked_cb;
- }
- break;
-
- case LOG_VIEW_TYPE_UG_NUMBER_CHECK:
- case LOG_VIEW_TYPE_UG_EMAIL_CHECK:
- case LOG_VIEW_TYPE_UG_NUMBER_OR_EMAIL_CHECK:
- {
- log_d->ctrl_item = phone_create_toolbar_btn(log_d->layout,
- S_(CT_SYS_SK_DONE), ph_log_check_done_btn_cb, log_d);
- elm_object_part_content_set(log_d->layout, "toolbar",
- log_d->ctrl_item);
- }
- break;
- case LOG_VIEW_TYPE_UG_NUMBER_SELECT:
- case LOG_VIEW_TYPE_UG_EMAIL_SELECT:
- case LOG_VIEW_TYPE_UG_NUMBER_OR_EMAIL_SELECT:
- default:
- break;
- }
-
- if (log_d->ctrl_item)
- ph_log_check_update_button_status(log_d);
-}
-
-int ph_log_create_content(ph_log_data *log_d)
-{
- PH_TRACE;
- Evas_Object *box;
- Evas_Object *content;
- int err = CONTACTS_ERROR_NONE;
-
- log_d->layout = elm_layout_add(log_d->navi);
- p_retvm_if(NULL == log_d->layout, -1, "elm_layout_add() return NULL");
- elm_layout_file_set(log_d->layout, SELECTION_INFO_EDJ,
- "selectioninfo_layout");
- box = elm_box_add(log_d->layout);
- elm_object_part_content_set(log_d->layout, "contents", box);
- p_retvm_if(NULL == box, -1, "elm_box_add() return NULL");
- log_d->box = box;
-
- log_set_genlist_item_style();
- log_load_list(log_d);
- content = log_fill_layout(log_d);
- p_retvm_if(NULL == content, -1, "log_fill_layout() return NULL");
- elm_box_pack_end(box, content);
- log_d->content = content;
-
- evas_object_event_callback_add(box, EVAS_CALLBACK_DEL, log_view_delete_cb,
- log_d);
-
- err = contacts_db_add_changed_cb(_contacts_person._uri,
- log_data_lazy_update, log_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_add_changed_cb() Failed(%d)", err);
- err = contacts_db_add_changed_cb(_contacts_phone_log._uri, log_data_updated,
- log_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_add_changed_cb() Failed(%d)", err);
-
- evas_object_data_set(log_d->navi, KEY_LOG_DATA, log_d);
-
- vconf_notify_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED,
- ph_log_timezone_changed, log_d->navi);
-
- return 0;
-}
-
-API void phone_log_view_language_changed(Evas_Object *navi)
-{
- PH_TRACE;
- // TODO: Fixme
-}
-
diff --git a/lib/log/ph-log-main-view.h b/lib/log/ph-log-main-view.h
deleted file mode 100755
index 4da8de0..0000000
--- a/lib/log/ph-log-main-view.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PH_LOG_MAIN_VIEW_H__
-#define __PH_LOG_MAIN_VIEW_H__
-
-#include "vconf.h"
-
-int ph_log_create_content(ph_log_data *log_d);
-Eina_Bool ph_log_missed_call_count_reset(void *data);
-void ph_log_timezone_changed(keynode_t *key, void *data);
-Eina_Bool ph_log_data_changed_cb(void *data);
-
-/*
- * \par Description:
- * save info about call log state.
- */
-class CheckedState
-{
-public :
- CheckedState(): m_id (0), m_groupedCount(0), m_checked(false)
- {}
-
- CheckedState(int id, bool checked, int groupedCount) : m_id (id), m_groupedCount(groupedCount), m_checked(checked)
- {
- }
-
- int getId() {return m_id;}
- int getGroupCount() {return m_groupedCount;}
- bool isChecked() {return m_checked;}
-
-private:
- int m_id;
- int m_groupedCount;
- bool m_checked;
-};
-
-#endif /* __PH_LOG_MAIN_VIEW_H__ */
diff --git a/lib/log/ph-log-main.cpp b/lib/log/ph-log-main.cpp
deleted file mode 100755
index ee83384..0000000
--- a/lib/log/ph-log-main.cpp
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <ui-gadget-module.h>
-#include <efl_assist.h>
-
-#include "phone.h"
-#include "phone-log.h"
-#include "ph-log-utils.h"
-#include "ph-log-main-view.h"
-#include "ph-log-check-view.h"
-#include "ph-log-detail-view.h"
-#include <bundle.h>
-
-#include "ViewManager.h"
-
-static bool log_create_ug_view(int request, ph_log_data *log_d,
- Evas_Object *base)
-{
- PH_TRACE;
- int ret;
- p_retvm_if(NULL == log_d, false, "Parameter is null");
-
- if (NULL == log_d->navi)
- {
- log_d->navi = elm_naviframe_add(base);
- p_retvm_if(NULL == log_d->navi, false, "elm_naviframe_add is failed");
- ea_object_event_callback_add(log_d->navi, EA_CALLBACK_BACK, &Common::ViewManager::onBack, log_d->win);
- ea_object_event_callback_add(log_d->navi, EA_CALLBACK_MORE, &Common::ViewManager::onMenu, NULL);
- elm_object_part_content_set(base, "elm.swallow.content", log_d->navi);
- evas_object_show(log_d->navi);
- }
-
- if (PH_UG_REQUEST_LOG_SELECT == request)
- log_d->view_type = LOG_VIEW_TYPE_UG_NUMBER_SELECT;
- else if (PH_UG_REQUEST_LOG_CHECK == request)
- log_d->view_type = LOG_VIEW_TYPE_UG_NUMBER_CHECK;
- else
- log_d->view_type = LOG_VIEW_TYPE_UG_LAUNCH_CALL;
-
- ret = ph_log_create_content(log_d);
- if (ret < 0)
- {
- ERR("Fail to ph_log_create_content");
- return false;
- }
- log_d->navi_item = elm_naviframe_item_push(log_d->navi,
- T_(PH_GET_TEXT_BASE_OP, PHTEXT_SELECT_LOGS), NULL, NULL,
- log_d->box, NULL);
-
- if (LOG_VIEW_TYPE_UG_NUMBER_CHECK == log_d->view_type)
- phone_log_check_mode_start(log_d);
- else
- phone_log_set_navi(log_d->navi);
-
- return true;
-}
-
-static void *log_on_create(ui_gadget_h ug, enum ug_mode mode, service_h service,
- void *priv)
-{
- PH_TRACE;
- int ret;
- Evas_Object *bg;
- Evas_Object *parent;
- Evas_Object *base;
- ph_log_data *log_d;
- int request = PH_UG_REQUEST_LOG_CHECK;
- char* val = NULL;
-
- if (!ug || !priv)
- return NULL;
-
- bindtextdomain(PACKAGE, LOCALEDIR);
-
- parent = (Evas_Object *) ug_get_parent_layout(ug);
- if (!parent)
- return NULL;
-
- ret = contacts_connect2();
- p_retvm_if(CONTACTS_ERROR_NONE != ret, NULL,
- "contacts_connect2() Failed(%d)", ret);
-
- if (SERVICE_ERROR_NONE == service_get_extra_data(service, "type", &val))
- {
- if (val)
- request = atoi(val);
- PH_DBG("log request : %d", request);
- free(val);
- }
-
- if (mode == UG_MODE_FULLVIEW)
- base = phone_create_base_layout(parent, true);
- else
- base = phone_create_base_layout(parent, false);
-
- log_d = (ph_log_data *) priv;
- log_d->win = (Evas_Object *) ug_get_window();
- log_d->ug = ug;
-
- bg = phone_create_bg(base);
- if (NULL == bg)
- {
- PH_DBG("phone_create_bg() return NULL");
- evas_object_del(base);
- ret = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != ret,
- "contacts_disconnect2() Failed(%d)", ret);
- return NULL;
- }
-
- phone_detail_log_init_time_format();
- phone_detail_log_generate_date_format(log_d->formatter);
-
- if (!log_create_ug_view(request, log_d, base))
- {
- phone_detail_log_delete_date_format(log_d->formatter);
- evas_object_del(base);
- ret = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != ret,
- "contacts_disconnect2() Failed(%d)", ret);
- return NULL;
- }
-
- return base;
-}
-
-static void log_on_start(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
-}
-
-static void log_on_pause(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) priv;
- log_d->is_background = true;
-
-}
-
-static void log_on_resume(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) priv;
-
- log_d->is_background = false;
- if (log_d->update_timer)
- {
- ecore_timer_del(log_d->update_timer);
- log_d->update_timer = NULL;
- ph_log_data_changed_cb(log_d);
- }
-}
-
-static void log_on_destroy(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
-
- if (!ug)
- return;
-
- evas_object_del((Evas_Object *) ug_get_layout(ug));
- contacts_disconnect2();
-}
-
-static void log_on_message(ui_gadget_h ug, service_h msg, service_h service,
- void *priv)
-{
- PH_TRACE;
-}
-
-static void log_on_event(ui_gadget_h ug, enum ug_event event, service_h service,
- void *priv)
-{
- PH_TRACE;
- ph_log_data *log_d = (ph_log_data *) priv;
-
- switch (event)
- {
- case UG_EVENT_REGION_CHANGE:
- if (log_d->navi)
- phone_log_views_update(log_d->navi);
- break;
- case UG_EVENT_ROTATE_PORTRAIT:
- case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
- case UG_EVENT_ROTATE_LANDSCAPE:
- case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
- break;
- case UG_EVENT_LANG_CHANGE:
- phone_log_view_language_changed(log_d->navi);
- break;
- default:
- break;
- }
-}
-
-static void log_on_key_event(ui_gadget_h ug, enum ug_key_event event,
- service_h service, void *priv)
-{
- PH_TRACE;
- if (!ug)
- return;
-
- switch (event)
- {
- case UG_KEY_EVENT_END:
- ug_destroy_me(ug);
- break;
- default:
- break;
- }
-}
-
-extern "C" API int UG_MODULE_INIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- ph_log_data *log_d;
-
- if (!ops)
- return -1;
-
- log_d = (ph_log_data *) calloc(1, sizeof(ph_log_data));
- p_retvm_if(NULL == log_d, -1, "calloc is failed");
-
- ops->create = log_on_create;
- ops->start = log_on_start;
- ops->pause = log_on_pause;
- ops->resume = log_on_resume;
- ops->destroy = log_on_destroy;
- ops->message = log_on_message;
- ops->event = log_on_event;
- ops->key_event = log_on_key_event;
- ops->priv = log_d;
- ops->opt = UG_OPT_INDICATOR_ENABLE;
-
- return 0;
-}
-
-extern "C" API void UG_MODULE_EXIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
-
- if (!ops)
- return;
-
- ops->priv = NULL;
-}
-
-API Evas_Object* phone_create_log_view(ph_view_info *view_info)
-{
- PH_TRACE;
- int ret;
- ph_log_data * log_d = (ph_log_data *) calloc(1, sizeof(ph_log_data));
- p_retvm_if(NULL == log_d, NULL, "Fail to calloc ph_log_data");
- memset(log_d, 0x00, sizeof(ph_log_data));
-
- log_d->ug = view_info->ug;
- log_d->win = view_info->win;
- log_d->navi = view_info->navi;
- log_d->navi_item = elm_naviframe_bottom_item_get(log_d->navi);
- log_d->is_background = true;
-
- if (!log_d->ug)
- {
- log_d->view_type = LOG_VIEW_TYPE_NORMAL;
- log_d->viewby_type = VIEWBY_ALL_CALL;
- }
- else
- {
- switch (view_info->ug_request)
- {
- case PH_UG_REQUEST_SELECT:
- case PH_UG_REQUEST_SELECT_NUMBER:
- log_d->view_type = LOG_VIEW_TYPE_UG_NUMBER_SELECT;
- break;
- case PH_UG_REQUEST_SELECT_EMAIL:
- log_d->view_type = LOG_VIEW_TYPE_UG_EMAIL_SELECT;
- break;
- case PH_UG_REQUEST_CHECK:
- case PH_UG_REQUEST_CHECK_FOR_NUMBER:
- log_d->view_type = LOG_VIEW_TYPE_UG_NUMBER_CHECK;
- break;
- case PH_UG_REQUEST_CHECK_FOR_EMAIL:
- log_d->view_type = LOG_VIEW_TYPE_UG_EMAIL_CHECK;
- break;
- case PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL:
- log_d->view_type = LOG_VIEW_TYPE_UG_NUMBER_OR_EMAIL_CHECK;
- break;
- default:
- log_d->view_type = LOG_VIEW_TYPE_UG_LAUNCH_CALL;
- break;
- }
- }
-
- phone_detail_log_init_time_format();
- phone_detail_log_generate_date_format(log_d->formatter);
-
- ret = ph_log_create_content(log_d);
- if (ret < 0)
- {
- free(log_d);
- return NULL;
- }
-
- return log_d->layout;
-}
-
diff --git a/lib/log/ph-log-utils.cpp b/lib/log/ph-log-utils.cpp
deleted file mode 100755
index 67632ac..0000000
--- a/lib/log/ph-log-utils.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "phone.h"
-#include "ph-log-utils.h"
-#include <feedback.h>
-
-#include <vconf.h>
-#include <vconf-keys.h>
-
-contacts_error_e ph_log_util_del_log_by_id(Eina_List *list, ph_log_info *l_info)
-{
- PH_TRACE;
- Eina_List *l;
- Elm_Object_Item * item;
- contacts_error_e err = CONTACTS_ERROR_NONE;
- void *v_l_info;
-
- l = eina_list_data_find_list(list, l_info);
- item = l_info->item;
- v_l_info = (void *) l_info;
- EINA_LIST_FOREACH(l, l, v_l_info)
- {
- l_info = (ph_log_info *) v_l_info;
- if (item != l_info->item)
- break;
- err = (contacts_error_e) contacts_db_delete_record(_contacts_phone_log._uri, l_info->id);
- if (CONTACTS_ERROR_NONE != err)
- break;
- }
- return err;
-}
-
-void ph_log_util_svi_play(int vibration_key, int sound_key)
-{
- PH_TRACE;
- int effect_status = FALSE;
- vconf_get_bool(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, &effect_status);
- if (effect_status)
- feedback_play_type(FEEDBACK_TYPE_SOUND, (feedback_pattern_e) sound_key);
-
- vconf_get_bool(VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL, &effect_status);
- if (effect_status)
- feedback_play_type(FEEDBACK_TYPE_VIBRATION, (feedback_pattern_e) vibration_key);
-}
diff --git a/lib/log/ph-log-utils.h b/lib/log/ph-log-utils.h
deleted file mode 100755
index 7187f72..0000000
--- a/lib/log/ph-log-utils.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PH_LOG_UTILS_H__
-#define __PH_LOG_UTILS_H__
-
-#include "phone-common.h"
-contacts_error_e ph_log_util_del_log_by_id(Eina_List *list,
- ph_log_info *l_info);
-void ph_log_util_svi_play(int vibration_key, int sound_key);
-
-#endif /* __PH_LOG_UTILS_H__ */
diff --git a/lib/ph-front/CMakeLists.txt b/lib/ph-front/CMakeLists.txt
deleted file mode 100755
index ec63f89..0000000
--- a/lib/ph-front/CMakeLists.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
-
-SET(TARGET ${PH_FRONT})
-
-FILE(GLOB SRCS *.cpp)
-
-ADD_LIBRARY(${TARGET} SHARED ${SRCS})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES VERSION ${VERSION})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
-TARGET_LINK_LIBRARIES(${TARGET} ${COMMON_LIB} ${FAVOR_LIB} ${ug_pkgs_LDFLAGS} ${SPEEDDIAL} ${PH_LOG} ${PH_DIALER} ${CT_DETAILS} ${CT_LIST})
-
-INSTALL(TARGETS ${TARGET} DESTINATION ${UGLIBDIR})
-
-INSTALL(FILES ${CMAKE_BINARY_DIR}/lib/ph-front/phone-tabui-efl.xml DESTINATION "/usr/share/packages")
diff --git a/lib/ph-front/include/ph-front.h b/lib/ph-front/include/ph-front.h
deleted file mode 100755
index a28e880..0000000
--- a/lib/ph-front/include/ph-front.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PH_FRONT_H__
-#define __PH_FRONT_H__
-
-#include <app.h>
-#include <phone-common.h>
-#include <ViewManager.h>
-
-enum
-{
- PH_FRONT_DIALER_WITH_NUM,
- PH_FRONT_LOG_MISSED,
- PH_FRONT_DIALER_WITH_SEND_KEY,
-};
-
-enum PH_VIEW_TYPE
-{
- PH_VIEW_NONE = -1,
- PH_VIEW_DIALER = 0,
- PH_VIEW_CONTACT,
- PH_VIEW_LOG,
- PH_VIEW_FAVORITE,
- PH_VIEW_MAX,
-};
-
-struct ph_phoneui_data : public Common::TabbedView<PH_VIEW_MAX>
-{
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
- Evas_Object *icon;
- bool is_desktop_mode;
-
- ph_phoneui_data()
- : icon(NULL), is_desktop_mode(0) { }
-#endif
-};
-
-ph_phoneui_data* phone_front_view_create(Evas_Object *win);
-API void phone_front_view_show_sub_view(ph_phoneui_data *phoneui_d);
-Eina_Bool phone_front_view_load_timer(void *data);
-void phone_front_view_region_changed(ph_phoneui_data *phoneui_d);
-void phone_front_view_reset(ph_phoneui_data *phoneui_d, int tab_index, int op,
- service_h service);
-void phone_front_view_language_changed(ph_phoneui_data *phoneui_d);
-void phone_front_view_resume(ph_phoneui_data *phoneui_d);
-void phone_front_view_pause(ph_phoneui_data *phoneui_d);
-int phone_front_view_show_call_app(ph_phoneui_data *phoneui_d);
-
-#endif /* __PH_FRONT_H__ */
-
diff --git a/lib/ph-front/ph-front-main.cpp b/lib/ph-front/ph-front-main.cpp
deleted file mode 100755
index 03c7cbe..0000000
--- a/lib/ph-front/ph-front-main.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-#include "phone-common.h"
-#include "phone-ug.h"
-#include "ph-front.h"
-#include "ph-front-view.h"
-#include <bundle.h>
-
-void *phoneui_on_create(ui_gadget_h ug, enum ug_mode mode, service_h service,
- void *priv)
-{
- PH_TRACE;
- if (!ug || !priv)
- return NULL;
-
- bindtextdomain(PACKAGE, LOCALEDIR);
-
- ph_phoneui_data *phoneui_d = (ph_phoneui_data *) priv;
-
- if (service)
- {
- char *val = NULL;
- service_get_extra_data(service, PH_UG_BUNDLE_TYPE, &val);
- if (val)
- {
- phoneui_d->ug_request = atoi(val);
- free(val);
- val = NULL;
- }
- PH_DBG("type = %d", phoneui_d->ug_request);
- }
-
- p_retvm_if(PH_UG_REQUEST_LAUNCH_VOICECALL != phoneui_d->ug_request, NULL,
- "Invalid ug request (%d)", phoneui_d->ug_request);
-
- phoneui_d->view_visible[PH_VIEW_DIALER] = true;
- phoneui_d->view_visible[PH_VIEW_LOG] = true;
- phoneui_d->view_visible[PH_VIEW_CONTACT] = false;
- phoneui_d->view_visible[PH_VIEW_FAVORITE] = false;
-
- Evas_Object *parent = (Evas_Object *) ug_get_parent_layout(ug);
- if (!parent)
- {
- return NULL;
- }
- phoneui_d = (ph_phoneui_data *) priv;
- phoneui_d->win = (Evas_Object *) ug_get_window();
- elm_win_conformant_set(phoneui_d->win, EINA_TRUE);
-
- elm_win_wm_rotation_available_rotations_set(phoneui_d->win, NULL, 0);
- elm_win_wm_rotation_preferred_rotation_set(phoneui_d->win, 0);
-
- phoneui_d->select_tab = PH_VIEW_NONE;
- phoneui_d->ug = ug;
-
- bool success = phoneui_d->initialize(phoneui_d->win, parent);
- check_if(!success, return NULL);
-
- success = ph_front_create_toolbar(*phoneui_d) != NULL;
- check_if(!success, return NULL);
-
- int err = contacts_connect2();
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_connect2() Failed(%d)", err);
-
- return phoneui_d->getContent();
-}
-
-void phoneui_on_start(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- ph_phoneui_data *phoneui_d = (ph_phoneui_data *) priv;
-
- elm_toolbar_select_mode_set(phoneui_d->tabbar,
- ELM_OBJECT_SELECT_MODE_ALWAYS);
-
- phoneui_d->timer = ecore_timer_add(3.0, phone_front_view_load_timer,
- phoneui_d);
-}
-
-void phoneui_on_pause(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
-}
-
-void phoneui_on_resume(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
-}
-
-void phoneui_on_destroy(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- p_retm_if(NULL == priv, "The parameter is invalid(priv=%p)", priv);
- p_retm_if(NULL == ug, "The parameter is invalid(ug=%p)", ug);
- ph_phoneui_data *phoneui_d = (ph_phoneui_data *) priv;
- if (!ug)
- return;
-
- elm_win_wm_rotation_preferred_rotation_set((Evas_Object *) ug_get_window(), -1);
-
- free(phoneui_d->ug_data);
-
- if (phoneui_d && phoneui_d->ug == NULL)
- {
- PH_DBG("view destroy already called, so clist_d free here");
- free(phoneui_d);
- }
- else
- {
- evas_object_del((Evas_Object *) ug_get_layout(ug));
- phoneui_d->ug = NULL;
- }
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_disconnect2() Failed(%d)",
- err);
-}
-
-void phoneui_on_message(ui_gadget_h ug, service_h msg, service_h service,
- void *priv)
-{
- PH_TRACE;
-}
-
-void phoneui_on_event(ui_gadget_h ug, enum ug_event event, service_h service,
- void *priv)
-{
- PH_TRACE;
- ph_phoneui_data *phoneui_d = (ph_phoneui_data *) priv;
- switch (event)
- {
- case UG_EVENT_REGION_CHANGE:
- phone_front_view_region_changed(phoneui_d);
- break;
- case UG_EVENT_ROTATE_PORTRAIT:
- case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
- case UG_EVENT_ROTATE_LANDSCAPE:
- case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
- break;
- case UG_EVENT_LANG_CHANGE:
- phone_front_view_language_changed(phoneui_d);
- break;
- default:
- break;
- }
-}
-
-void phoneui_on_key_event(ui_gadget_h ug, enum ug_key_event event,
- service_h data, void *priv)
-{
- PH_TRACE;
-}
-
-extern "C" API int UG_MODULE_INIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- ph_phoneui_data *phoneui_d;
-
- if (!ops)
- return -1;
-
- phoneui_d = new ph_phoneui_data();
- if (!phoneui_d)
- return -1;
-
- ops->create = phoneui_on_create;
- ops->start = phoneui_on_start;
- ops->pause = phoneui_on_pause;
- ops->resume = phoneui_on_resume;
- ops->destroy = phoneui_on_destroy;
- ops->message = phoneui_on_message;
- ops->event = phoneui_on_event;
- ops->key_event = phoneui_on_key_event;
- ops->priv = phoneui_d;
- ops->opt = UG_OPT_INDICATOR_ENABLE;
-
- return 0;
-}
-
-extern "C" API void UG_MODULE_EXIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- if (!ops)
- return;
- ops->priv = NULL;
-}
-
diff --git a/lib/ph-front/ph-front-view.cpp b/lib/ph-front/ph-front-view.cpp
deleted file mode 100755
index d37e4f5..0000000
--- a/lib/ph-front/ph-front-view.cpp
+++ /dev/null
@@ -1,670 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <bundle.h>
-#include <aul.h>
-#include <app.h>
-
-#include "phone.h"
-#include "ph-front.h"
-#include "phone-log.h"
-#include "phone-dialer.h"
-#include "ph-front-view.h"
-#include "ct-list.h"
-#include "ct-favor.h"
-
-static void front_view_reset_current_sub_view(ph_phoneui_data *phoneui_d)
-{
- PH_TRACE;
- p_ret_if(
- phoneui_d->select_tab <= PH_VIEW_NONE || PH_VIEW_MAX <= phoneui_d->select_tab);
- if (phoneui_d->sub_view[phoneui_d->select_tab])
- {
- switch (phoneui_d->select_tab)
- {
- case PH_VIEW_DIALER:
- phone_dialer_view_reset(phoneui_d->sub_view[PH_VIEW_DIALER]);
- phone_dialer_set_background(phoneui_d->sub_view[PH_VIEW_DIALER],
- true);
- break;
- case PH_VIEW_CONTACT:
- ctui_list_view_reset((ct_list_data *)
- evas_object_data_get(phoneui_d->navi, "clist_d"));
- ctui_list_set_background(phoneui_d->navi, true);
- break;
- case PH_VIEW_LOG:
- phone_log_view_reset(phoneui_d->navi);
- phone_log_set_background(phoneui_d->navi, true);
- break;
- case PH_VIEW_FAVORITE:
- phone_favor_view_reset(phoneui_d->sub_view[PH_VIEW_FAVORITE]);
- phone_favor_set_background(
- phoneui_d->sub_view[PH_VIEW_FAVORITE], true);
- break;
- }
- }
-}
-
-static void front_view_load_sub_view(ph_phoneui_data *phoneui_d, int tab_index)
-{
- PH_TRACE;
- ph_view_info *view_info;
- view_info = (ph_view_info *) calloc(1, sizeof(ph_view_info));
- phone_set_view_info(view_info, phoneui_d->win, phoneui_d->navi,
- phoneui_d->ug, phoneui_d->ug_request, phoneui_d->cnt_max,
- phoneui_d->ug_data);
- switch (tab_index)
- {
- case PH_VIEW_DIALER:
- phoneui_d->sub_view[tab_index] = phone_create_dialer_view(
- view_info);
- break;
- case PH_VIEW_CONTACT:
- phoneui_d->sub_view[tab_index] = ctui_create_phone_list_view(
- view_info);
- break;
- case PH_VIEW_LOG:
- phoneui_d->sub_view[tab_index] = phone_create_log_view(view_info);
- break;
- case PH_VIEW_FAVORITE:
- phoneui_d->sub_view[tab_index] = phone_favor_create_view(view_info);
- break;
- default:
- ERR("INVALID tab_index : %d", tab_index);
- break;
- };
- free(view_info);
- return;
-}
-
-API void phone_front_view_show_sub_view(ph_phoneui_data *phoneui_d)
-{
- PH_TRACE;
- Evas_Object *view;
- ph_view_info *view_info;
-
- front_view_reset_current_sub_view(phoneui_d);
- phone_hide_notify(phoneui_d->navi);
-
- view_info = (ph_view_info *) calloc(1, sizeof(ph_view_info));
- phone_set_view_info(view_info, phoneui_d->win, phoneui_d->navi,
- phoneui_d->ug, phoneui_d->ug_request, phoneui_d->cnt_max,
- phoneui_d->ug_data);
-
- if (NULL == phoneui_d->sub_view[PH_VIEW_CONTACT])
- phoneui_d->sub_view[PH_VIEW_CONTACT] = ctui_create_phone_list_view(
- view_info);
- ctui_list_set_background(phoneui_d->navi, false);
- ctui_list_navi_set(CT_LIST_MODE_DEFAULT, (ct_list_data *)
- evas_object_data_get(phoneui_d->navi, "clist_d"));
-
- phoneui_d->select_tab = PH_VIEW_CONTACT;
-
- view = elm_object_part_content_unset(phoneui_d->layout,
- "elm.swallow.content");
- if (view)
- evas_object_hide(view);
- elm_object_part_content_set(phoneui_d->layout, "elm.swallow.content",
- phoneui_d->sub_view[PH_VIEW_CONTACT]);
- evas_object_show(phoneui_d->sub_view[PH_VIEW_CONTACT]);
-
- free(view_info);
-}
-
-static void front_view_show_sub_view(ph_phoneui_data *phoneui_d, int tab_index)
-{
- PH_TRACE;
- Evas_Object *view;
- ph_view_info *view_info;
- p_retm_if(NULL == phoneui_d, "phoneui_d is NULL");
-
- p_retm_if(tab_index <= PH_VIEW_NONE || PH_VIEW_MAX <= tab_index,
- "tab index is invalid");
- p_retm_if(phoneui_d->select_tab == tab_index, "The tab is already shown");
-
- front_view_reset_current_sub_view(phoneui_d);
- phone_hide_notify(phoneui_d->navi);
-
- view_info = (ph_view_info *) calloc(1, sizeof(ph_view_info));
- phone_set_view_info(view_info, phoneui_d->win, phoneui_d->navi,
- phoneui_d->ug, phoneui_d->ug_request, phoneui_d->cnt_max,
- phoneui_d->ug_data);
-
- switch (tab_index)
- {
- case PH_VIEW_DIALER:
- if (NULL == phoneui_d->sub_view[tab_index])
- phoneui_d->sub_view[tab_index] = phone_create_dialer_view(
- view_info);
- phone_dialer_set_background(phoneui_d->sub_view[PH_VIEW_DIALER],
- false);
- phone_dialer_set_navi(phoneui_d->sub_view[PH_VIEW_DIALER]);
- phone_dialer_check_focus(phoneui_d->sub_view[PH_VIEW_DIALER]);
-
- evas_object_data_set(phoneui_d->sub_view[tab_index], "phoneui_d",
- phoneui_d);
- break;
- case PH_VIEW_CONTACT:
- if (NULL == phoneui_d->sub_view[tab_index])
- phoneui_d->sub_view[tab_index] = ctui_create_phone_list_view(
- view_info);
- ctui_list_set_background(phoneui_d->navi, false);
- if (PH_UG_REQUEST_CHECK == phoneui_d->ug_request
- || PH_UG_REQUEST_CHECK_FOR_NUMBER == phoneui_d->ug_request
- || PH_UG_REQUEST_CHECK_FOR_EMAIL == phoneui_d->ug_request
- || PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL
- == phoneui_d->ug_request)
- {
- ctui_list_edit_mode_start((ct_list_data *)
- evas_object_data_get(phoneui_d->navi, "clist_d"));
- }
- else
- ctui_list_navi_set(CT_LIST_MODE_DEFAULT, (ct_list_data *)
- evas_object_data_get(phoneui_d->navi, "clist_d"));
- break;
- case PH_VIEW_LOG:
- if (NULL == phoneui_d->sub_view[tab_index])
- phoneui_d->sub_view[tab_index] = phone_create_log_view(
- view_info);
- phone_log_set_background(phoneui_d->navi, false);
- if (!phoneui_d->ug)
- phone_log_missed_info_update(phoneui_d->navi);
-
- if (PH_UG_REQUEST_CHECK == phoneui_d->ug_request
- || PH_UG_REQUEST_CHECK_FOR_NUMBER == phoneui_d->ug_request
- || PH_UG_REQUEST_CHECK_FOR_EMAIL == phoneui_d->ug_request
- || PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL
- == phoneui_d->ug_request)
- phone_log_check_mode_start((ph_log_data *)
- evas_object_data_get(phoneui_d->navi, "log_data"));
- else
- phone_log_set_navi(phoneui_d->navi);
- break;
- case PH_VIEW_FAVORITE:
- if (NULL == phoneui_d->sub_view[tab_index])
- phoneui_d->sub_view[tab_index] = phone_favor_create_view(
- view_info);
- phone_favor_set_background(phoneui_d->sub_view[PH_VIEW_FAVORITE],
- false);
- if (phoneui_d->ug
- && (PH_UG_REQUEST_CHECK == phoneui_d->ug_request
- || PH_UG_REQUEST_CHECK_FOR_NUMBER
- == phoneui_d->ug_request
- || PH_UG_REQUEST_CHECK_FOR_EMAIL
- == phoneui_d->ug_request
- || PH_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL
- == phoneui_d->ug_request))
- {
- phone_favor_edit_mode_start((ph_favorite_data *)
- evas_object_data_get(phoneui_d->sub_view[tab_index],
- "favor_d"));
- }
- else
- phone_favor_set_navi(phoneui_d->sub_view[tab_index],
- PH_FAVOR_MODE_DEFAULT);
- break;
- default:
- free(view_info);
- ERR("INVALID tab_index: %d", tab_index);
- return;
- }
- phoneui_d->select_tab = tab_index;
-
- view = elm_object_part_content_unset(phoneui_d->layout,
- "elm.swallow.content");
- if (view)
- evas_object_hide(view);
- elm_object_part_content_set(phoneui_d->layout, "elm.swallow.content",
- phoneui_d->sub_view[tab_index]);
- evas_object_show(phoneui_d->sub_view[tab_index]);
-
- free(view_info);
-}
-
-static Eina_Bool front_view_load_all_sub_view(void *data)
-{
- PH_TRACE;
- ph_phoneui_data *phoneui_d = (ph_phoneui_data *) data;
- int i;
-
- for (i = PH_VIEW_DIALER; i < PH_VIEW_MAX; i++)
- {
- if (phoneui_d->view_visible[i] && NULL == phoneui_d->sub_view[i])
- {
- front_view_load_sub_view(phoneui_d, i);
- return ECORE_CALLBACK_RENEW;
- }
- }
- phoneui_d->idler = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-API Eina_Bool phone_front_view_load_timer(void *data)
-{
- PH_TRACE;
- ph_phoneui_data *phoneui_d = (ph_phoneui_data *) data;
- phoneui_d->idler = ecore_idler_add(front_view_load_all_sub_view, phoneui_d);
- phoneui_d->timer = NULL;
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void pfront_view_change_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int i;
- Elm_Object_Item *selected_it;
- ph_phoneui_data *phoneui_d = (ph_phoneui_data *) data;
-
- selected_it = elm_toolbar_selected_item_get(obj);
-
- for (i = PH_VIEW_DIALER; i < PH_VIEW_MAX; i++)
- {
- if (phoneui_d->item[i])
- if (selected_it == phoneui_d->item[i])
- break;
- }
- PH_DBG("cur sel : %d, sel index : %d", phoneui_d->select_tab, i);
- front_view_show_sub_view(phoneui_d, i);
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
- if(phoneui_d->is_desktop_mode)
- {
- Elm_Object_Item *navi_item = elm_naviframe_bottom_item_get(phoneui_d->navi);
- elm_object_item_part_content_set(navi_item, "prev_btn", NULL);
- }
-#endif
-}
-
-static void pfront_view_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_phoneui_data *phoneui_d = (ph_phoneui_data *) data;
- int i;
-
- p_retm_if(NULL == phoneui_d, "phoneui_d is null");
-
- for (i = 0; i < PH_VIEW_MAX; i++)
- {
- if (phoneui_d->sub_view[i])
- evas_object_del(phoneui_d->sub_view[i]);
- }
-
- if (phoneui_d->idler)
- ecore_idler_del(phoneui_d->idler);
-
- if (phoneui_d->timer)
- ecore_timer_del(phoneui_d->timer);
-
- if (!phoneui_d->ug)
- {
- PH_DBG("no ug");
- delete phoneui_d;
- }
- else
- {
- PH_DBG("view destroy called earlier than ug destroy");
- phoneui_d->ug = NULL;
- }
-}
-
-Evas_Object* ph_front_create_toolbar(ph_phoneui_data &phoneui_d)
-{
- PH_TRACE;
- Evas_Object *layout = elm_layout_add(phoneui_d.navi);
- p_retvm_if(NULL == layout, NULL, "elm_layout_add() Failed");
- elm_layout_theme_set(layout, "layout", "tabbar", "default");
- phoneui_d.layout = layout;
-
- Evas_Object *toolbar = elm_toolbar_add(phoneui_d.navi);
- p_retvm_if(NULL == toolbar, NULL, "elm_toolbar_add() Failed");
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
- elm_object_style_set(toolbar, "tabbar");
- elm_object_part_content_set(layout, "elm.swallow.tabbar", toolbar);
- phoneui_d.tabbar = toolbar;
-
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
-
- if (phoneui_d.view_visible[PH_VIEW_DIALER])
- {
- phoneui_d.item[PH_VIEW_DIALER] = elm_toolbar_item_append(toolbar,
- PH_IMG_ICON_DIALER,
- T_(PH_GET_TEXT_BASIC, PHTEXT_KEYPAD),
- pfront_view_change_cb,
- &phoneui_d);
- }
- if (phoneui_d.view_visible[PH_VIEW_CONTACT])
- {
- phoneui_d.item[PH_VIEW_CONTACT] = elm_toolbar_item_append(toolbar,
- PH_IMG_ICON_CONTACTS,
- S_(PH_SYS_BODY_CONTACTS),
- pfront_view_change_cb,
- &phoneui_d);
- }
- if (phoneui_d.view_visible[PH_VIEW_LOG])
- {
- phoneui_d.item[PH_VIEW_LOG] = elm_toolbar_item_append(toolbar,
- PH_IMG_ICON_LOGS,
- T_(PH_GET_TEXT_BASIC, PHTEXT_LOGS),
- pfront_view_change_cb,
- &phoneui_d);
- }
- if (phoneui_d.view_visible[PH_VIEW_FAVORITE])
- {
- phoneui_d.item[PH_VIEW_FAVORITE] = elm_toolbar_item_append(toolbar,
- PH_IMG_ICON_FAVORITE,
- T_(PH_GET_TEXT_BASIC, PHTEXT_FAVORITES),
- pfront_view_change_cb,
- &phoneui_d);
- }
-
- Elm_Object_Item *navi_it = elm_naviframe_item_push(phoneui_d.navi, NULL, NULL, NULL, layout, NULL);
- elm_naviframe_item_title_visible_set(navi_it, EINA_FALSE);
- evas_object_event_callback_add(phoneui_d.getContent(), EVAS_CALLBACK_DEL, pfront_view_delete_cb, &phoneui_d);
- return layout;
-}
-
-API ph_phoneui_data* phone_front_view_create(Evas_Object *win)
-{
- PH_TRACE;
- ph_phoneui_data *phoneui_d = new ph_phoneui_data();
- phoneui_d->win = win;
- phoneui_d->select_tab = PH_VIEW_NONE;
-
- phoneui_d->view_visible[PH_VIEW_DIALER] = true;
- phoneui_d->view_visible[PH_VIEW_CONTACT] = true;
- phoneui_d->view_visible[PH_VIEW_LOG] = true;
- phoneui_d->view_visible[PH_VIEW_FAVORITE] = true;
-
- Evas_Object *conform = elm_conformant_add(phoneui_d->win);
- p_retvm_if(NULL == conform, NULL, "elm_conformant_add() Failed");
-
- evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(phoneui_d->win, conform);
- evas_object_show(conform);
-
- bool success = phoneui_d->initialize(phoneui_d->win, conform);
- check_if(!success, delete phoneui_d; return NULL)
-
- elm_object_content_set(conform, phoneui_d->getContent());
- success = ph_front_create_toolbar(*phoneui_d) != NULL;
- check_if(!success, delete phoneui_d; return NULL);
-
- return phoneui_d;
-}
-
-API void phone_front_view_region_changed(ph_phoneui_data *phoneui_d)
-{
- PH_TRACE;
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_LOG])
- phone_log_views_update(phoneui_d->navi);
-}
-
-API void phone_front_view_pause(ph_phoneui_data *phoneui_d)
-{
- PH_TRACE;
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_LOG])
- phone_log_set_background(phoneui_d->navi, true);
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_CONTACT])
- ctui_list_view_pause(phoneui_d->navi);
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_DIALER])
- phone_dialer_set_background(phoneui_d->sub_view[PH_VIEW_DIALER], true);
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_FAVORITE])
- phone_favor_set_background(phoneui_d->sub_view[PH_VIEW_FAVORITE], true);
-}
-
-API void phone_front_view_resume(ph_phoneui_data *phoneui_d)
-{
- PH_TRACE;
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_LOG] && PH_VIEW_LOG == phoneui_d->select_tab)
- {
- bool shouldRemoveBadge(hasBadge());
- if(!shouldRemoveBadge)
- {
- phone_log_set_background(phoneui_d->navi, false);
- phone_log_view_resume(phoneui_d->navi);
- }
- }
-
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_CONTACT])
- {
- ctui_list_view_resume(phoneui_d->navi);
- }
-
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_DIALER])
- {
- if (PH_VIEW_DIALER == phoneui_d->select_tab)
- {
- phone_dialer_set_background(phoneui_d->sub_view[PH_VIEW_DIALER],
- false);
- phone_dialer_view_resume(phoneui_d->sub_view[PH_VIEW_DIALER]);
- }
- }
-
- if (phoneui_d && phoneui_d->sub_view[PH_VIEW_FAVORITE]
- && PH_VIEW_FAVORITE == phoneui_d->select_tab)
- {
- phone_favor_set_background(phoneui_d->sub_view[PH_VIEW_FAVORITE], false);
- }
-
- removeBadge();
-
-}
-
-static void front_view_win_activate(void *data, Evas *e, void *even_info)
-{
- PH_TRACE;
- elm_win_activate((Evas_Object *) data);
- evas_event_callback_del(e, EVAS_CALLBACK_RENDER_FLUSH_POST,
- front_view_win_activate);
-}
-
-API void phone_front_view_language_changed(ph_phoneui_data *phoneui_d)
-{
- PH_TRACE;
- p_retm_if(NULL == phoneui_d, "parameter(phoneui_d) is NULL");
-
- // 1. Update toolbar
- if (phoneui_d->item[PH_VIEW_LOG])
- elm_object_item_text_set(phoneui_d->item[PH_VIEW_LOG],
- T_(PH_GET_TEXT_BASIC, PHTEXT_LOGS));
-
- if (phoneui_d->item[PH_VIEW_CONTACT])
- elm_object_item_text_set(phoneui_d->item[PH_VIEW_CONTACT],
- S_(PH_SYS_BODY_CONTACTS));
-
- if (phoneui_d->item[PH_VIEW_DIALER])
- elm_object_item_text_set(phoneui_d->item[PH_VIEW_DIALER],
- T_(PH_GET_TEXT_BASIC, PHTEXT_KEYPAD));
-
- if (phoneui_d->item[PH_VIEW_FAVORITE])
- elm_object_item_text_set(phoneui_d->item[PH_VIEW_FAVORITE],
- T_(PH_GET_TEXT_BASIC, PHTEXT_FAVORITES));
-
- // 2. update view
- if (phoneui_d->sub_view[PH_VIEW_LOG])
- phone_log_view_language_changed(phoneui_d->navi);
-
- if (phoneui_d->sub_view[PH_VIEW_CONTACT])
- ctui_list_view_language_changed(phoneui_d->navi);
-
- if (phoneui_d->sub_view[PH_VIEW_DIALER])
- phone_dialer_view_language_changed(phoneui_d->sub_view[PH_VIEW_DIALER]);
-
- if (phoneui_d->sub_view[PH_VIEW_FAVORITE])
- phone_favor_view_language_changed(
- phoneui_d->sub_view[PH_VIEW_FAVORITE]);
-}
-
-API void phone_front_view_reset(ph_phoneui_data *phoneui_d, int select_index,
- int op, service_h service)
-{
- PH_TRACE;
- int call_launched = FALSE;
- ph_view_info *view_info;
- Evas_Object *view;
- int ret;
-
- elm_toolbar_select_mode_set(phoneui_d->tabbar, ELM_OBJECT_SELECT_MODE_NONE);
-
- front_view_reset_current_sub_view(phoneui_d);
- if (phoneui_d->sub_view[PH_VIEW_CONTACT])
- ctui_list_view_resume(phoneui_d->navi);
- view = elm_object_part_content_unset(phoneui_d->layout,
- "elm.swallow.content");
- if (view)
- evas_object_hide(view);
-
- elm_toolbar_select_mode_set(phoneui_d->tabbar,
- ELM_OBJECT_SELECT_MODE_ALWAYS);
-
- view_info = (ph_view_info *) calloc(1, sizeof(ph_view_info));
- phone_set_view_info(view_info, phoneui_d->win, phoneui_d->navi,
- phoneui_d->ug, phoneui_d->ug_request, phoneui_d->cnt_max,
- phoneui_d->ug_data);
-
- switch (select_index)
- {
- case PH_VIEW_DIALER:
- if (NULL == phoneui_d->sub_view[select_index])
- phoneui_d->sub_view[select_index] = phone_create_dialer_view(
- view_info);
-
- if (PH_FRONT_DIALER_WITH_NUM == op)
- {
- char *num = NULL;
- ret = service_get_uri(service, &num);
- p_warn_if(SERVICE_ERROR_NONE != ret,
- "service_get_uri is failed(%d)", ret);
- phone_dialer_view_set_num(phoneui_d->sub_view[PH_VIEW_DIALER],
- num + 4);
- free(num);
- }
- else if (PH_FRONT_DIALER_WITH_SEND_KEY == op)
- {
- phone_dialer_view_send_key(phoneui_d->sub_view[PH_VIEW_DIALER]);
- }
- else
- {
- phone_dialer_view_resume(phoneui_d->sub_view[PH_VIEW_DIALER]);
- }
-
- phone_dialer_set_navi(phoneui_d->sub_view[PH_VIEW_DIALER]);
- phone_dialer_check_focus(phoneui_d->sub_view[PH_VIEW_DIALER]);
- phone_dialer_set_background(phoneui_d->sub_view[PH_VIEW_DIALER],
- false);
- break;
- case PH_VIEW_CONTACT:
- if (NULL == phoneui_d->sub_view[select_index])
- {
- phoneui_d->sub_view[PH_VIEW_CONTACT] =
- ctui_create_phone_list_view(view_info);
- }
- ctui_list_navi_set(CT_LIST_MODE_DEFAULT, (ct_list_data *)
- evas_object_data_get(phoneui_d->navi, "clist_d"));
- break;
- case PH_VIEW_LOG:
- if (NULL == phoneui_d->sub_view[select_index])
- {
- phoneui_d->sub_view[select_index] = phone_create_log_view(view_info);
- }
-
- if (!phoneui_d->ug)
- {
- phone_log_missed_info_update(phoneui_d->navi);
- }
-
- phone_log_set_navi(phoneui_d->navi);
- break;
- case PH_VIEW_FAVORITE:
- if (NULL == phoneui_d->sub_view[select_index])
- phoneui_d->sub_view[select_index] = phone_favor_create_view(
- view_info);
- phone_favor_set_navi(phoneui_d->sub_view[select_index],
- PH_FAVOR_MODE_DEFAULT);
- phone_favor_set_background(phoneui_d->sub_view[PH_VIEW_FAVORITE],
- false);
- break;
- default:
- break;
- }
-
- phoneui_d->select_tab = select_index;
-
- if (PH_VIEW_NONE < select_index && select_index < PH_VIEW_MAX)
- {
- elm_object_part_content_set(phoneui_d->layout, "elm.swallow.content",
- phoneui_d->sub_view[select_index]);
- evas_object_show(phoneui_d->sub_view[select_index]);
- elm_toolbar_item_selected_set(phoneui_d->item[select_index], EINA_TRUE);
- }
-
- if (phoneui_d->win && FALSE == call_launched
- && PH_VIEW_NONE != select_index)
- {
- if (EINA_FALSE == evas_object_visible_get(phoneui_d->win))
- evas_object_show(phoneui_d->win);
- evas_event_callback_add(evas_object_evas_get(phoneui_d->navi),
- EVAS_CALLBACK_RENDER_FLUSH_POST, front_view_win_activate,
- phoneui_d->win);
- elm_win_activate(phoneui_d->win);
- }
- else
- elm_win_lower(phoneui_d->win);
- phoneui_d->timer = ecore_timer_add(3.0, phone_front_view_load_timer,
- phoneui_d);
-
- free(view_info);
-}
-
-static bool front_view_call_app_check(service_h service, const char *pkg_name,
- void *data)
-{
- PH_TRACE;
- int *call_app_launched = (int *) data;
-
- // premise : Only one Call app can be running at a time
- if (1 == aul_app_is_running(pkg_name))
- {
- aul_open_app(pkg_name);
- *call_app_launched = TRUE;
- return true;
- }
- return true;
-}
-
-API int phone_front_view_show_call_app(ph_phoneui_data *phoneui_d)
-{
- PH_TRACE;
- service_h service;
- int call_app_launched = FALSE;
-
- service_create(&service);
- service_set_operation(service, SERVICE_OPERATION_CALL);
- service_set_uri(service, "tel:");
- service_foreach_app_matched(service, front_view_call_app_check,
- (void *) &call_app_launched);
-
- if (call_app_launched)
- return 1;
- if (1 == aul_app_is_running(VIDEOCALL_PKG))
- {
- aul_open_app(VIDEOCALL_PKG);
- return 1;
- }
- return 0;
-}
-
diff --git a/lib/ph-front/ph-front-view.h b/lib/ph-front/ph-front-view.h
deleted file mode 100755
index 8758114..0000000
--- a/lib/ph-front/ph-front-view.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PH_FRONT_VIEW_H__
-#define __PH_FRONT_VIEW_H__
-
-Evas_Object* ph_front_create_toolbar(ph_phoneui_data &phoneui_d);
-
-#endif /* __PH_FRONT_VIEW_H__ */
-
diff --git a/lib/ph-front/phone-tabui-efl.xml b/lib/ph-front/phone-tabui-efl.xml
deleted file mode 100644
index e486c8e..0000000
--- a/lib/ph-front/phone-tabui-efl.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="phone-tabui-efl" version="0.1.0-0" install-location="internal-only">
- <label>phone-tabui</label>
- <author email="ensung.park@samsung.com" href="www.samsung.com">ensung park</author>
- <description>phone-tabui-efl Application</description>
- <ui-application appid="phone-tabui-efl" exec="/usr/ug/bin/phone-tabui-efl" nodisplay="true" multiple="true" type="capp" taskmanage="false">
- <icon>org.tizen.contacts.png</icon>
- <label>phone-tabui</label>
- <label xml:lang="en-us">phone-tabui</label>
- <label xml:lang="nl-nl">phone-tabui</label>
- <label xml:lang="de-de">phone-tabui</label>
- <label xml:lang="en-gb">phone-tabui</label>
- <label xml:lang="zh-hk">phone-tabui</label>
- <label xml:lang="zh-cn">phone-tabui</label>
- <label xml:lang="ru-ru">phone-tabui</label>
- <label xml:lang="zh-tw">phone-tabui</label>
- <label xml:lang="ja-jp">phone-tabui</label>
- <label xml:lang="es-es">phone-tabui</label>
- <label xml:lang="el-gr">phone-tabui</label>
- <label xml:lang="it-it">phone-tabui</label>
- <label xml:lang="tr-tr">phone-tabui</label>
- <label xml:lang="pt-pt">phone-tabui</label>
- <label xml:lang="fr-fr">phone-tabui</label>
- <label xml:lang="ko-kr">phone-tabui</label>
- <application-service>
- <operation name="http://tizen.org/ns/packages"/>
- </application-service>
- </ui-application>
-</manifest>
diff --git a/lib/settings/CMakeLists.txt b/lib/settings/CMakeLists.txt
deleted file mode 100755
index 67b35b3..0000000
--- a/lib/settings/CMakeLists.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
-
-SET(TARGET ${CT_SETTING})
-
-FILE(GLOB SRCS *.cpp)
-
-ADD_LIBRARY(${TARGET} SHARED ${SRCS})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
-TARGET_LINK_LIBRARIES(${TARGET} ${COMMON_LIB} ${ug_pkgs_LDFLAGS} ${CT_LIST})
-ADD_DEPENDENCIES(${TARGET} contacts_edj_build)
-INSTALL(TARGETS ${TARGET} DESTINATION ${UGLIBDIR})
-
-INSTALL(FILES ${CMAKE_BINARY_DIR}/lib/settings/contacts-settings-efl.xml DESTINATION "/usr/share/packages")
diff --git a/lib/settings/contacts-settings-efl.xml b/lib/settings/contacts-settings-efl.xml
deleted file mode 100644
index 42fbf9a..0000000
--- a/lib/settings/contacts-settings-efl.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="contacts-settings-efl" version="0.1.0-0" install-location="internal-only">
- <label>contacts-settings</label>
- <author email="ensung.park@samsung.com" href="www.samsung.com">ensung park</author>
- <description>contacts-settings-efl Application</description>
- <ui-application appid="contacts-settings-efl" exec="/usr/ug/bin/contacts-settings-efl" nodisplay="true" multiple="true" type="capp" taskmanage="false">
- <icon>org.tizen.contacts.png</icon>
- <label>contacts-settings</label>
- <label xml:lang="en-us">contacts-settings</label>
- <label xml:lang="nl-nl">contacts-settings</label>
- <label xml:lang="de-de">contacts-settings</label>
- <label xml:lang="en-gb">contacts-settings</label>
- <label xml:lang="zh-hk">contacts-settings</label>
- <label xml:lang="zh-cn">contacts-settings</label>
- <label xml:lang="ru-ru">contacts-settings</label>
- <label xml:lang="zh-tw">contacts-settings</label>
- <label xml:lang="ja-jp">contacts-settings</label>
- <label xml:lang="es-es">contacts-settings</label>
- <label xml:lang="el-gr">contacts-settings</label>
- <label xml:lang="it-it">contacts-settings</label>
- <label xml:lang="tr-tr">contacts-settings</label>
- <label xml:lang="pt-pt">contacts-settings</label>
- <label xml:lang="fr-fr">contacts-settings</label>
- <label xml:lang="ko-kr">contacts-settings</label>
- <application-service>
- <operation name="http://tizen.org/ns/packages"/>
- </application-service>
- </ui-application>
-</manifest>
diff --git a/lib/settings/ct-setting-main.cpp b/lib/settings/ct-setting-main.cpp
deleted file mode 100755
index 1e013f3..0000000
--- a/lib/settings/ct-setting-main.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <ui-gadget-module.h>
-#include <efl_assist.h>
-#include "phone.h"
-#include "phone-common.h"
-
-#include "ct-setting-view.h"
-#include "ViewManager.h"
-
-static int create_setting_view(Evas_Object *parent, ct_setting_data *csetting_d)
-{
- PH_TRACE;
- Evas_Object *content;
- Elm_Object_Item *navi_item;
-
- p_retvm_if(NULL == parent, FALSE, "parameter(parent) is NULL");
-
- csetting_d->navi = elm_naviframe_add(parent);
- p_retvm_if(NULL == csetting_d->navi, FALSE, "navi is NULL");
- ea_object_event_callback_add(csetting_d->navi, EA_CALLBACK_BACK, &Common::ViewManager::onBack, csetting_d->win);
- ea_object_event_callback_add(csetting_d->navi, EA_CALLBACK_MORE, &Common::ViewManager::onMenu, NULL);
- evas_object_show(csetting_d->navi);
-
- content = ct_setting_create_layout(csetting_d);
- navi_item = elm_naviframe_item_push(csetting_d->navi,
- S_(PH_SYS_BODY_CONTACTS), NULL, NULL, content, NULL);
- elm_object_item_data_set(navi_item, csetting_d);
- csetting_d->navi_item = navi_item;
-
- return TRUE;
-}
-
-static void* settings_on_create(ui_gadget_h ug, enum ug_mode mode,
- service_h service, void *priv)
-{
- PH_TRACE;
- Evas_Object *bg;
- Evas_Object *parent;
- Evas_Object *base;
- int err = CONTACTS_ERROR_NONE;
- ct_setting_data *csetting_d = (ct_setting_data *) priv;
-
- p_retvm_if(NULL == ug || NULL == priv, NULL,
- "The parameter is invalid(ug=%p, priv=%p)", ug, priv);
-
- parent = (Evas_Object *) ug_get_parent_layout(ug);
- p_retvm_if(NULL == parent, NULL, "ug_get_parent_layout() return NULL");
- csetting_d->ug = ug;
-
- bindtextdomain(PACKAGE, "/usr/ug/res/locale");
-
- err = contacts_connect2();
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_connect2() Failed(%d)", err);
-
- if (UG_MODE_FULLVIEW == mode)
- base = phone_create_base_layout(parent, true);
- else
- {
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_disconnect2() Failed(%d)", err);
- return NULL;
- }
-
- bg = phone_create_bg(base);
- if (NULL == bg)
- {
- ERR("phone_create_bg() return NULL");
- evas_object_del(base);
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_disconnect2() Failed(%d)", err);
- return NULL;
- }
-
- if (create_setting_view(base, csetting_d))
- elm_object_part_content_set(base, "elm.swallow.content",
- csetting_d->navi);
- else
- {
- evas_object_del(base);
- base = NULL;
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_disconnect2() Failed(%d)", err);
- }
-
- return base;
-}
-
-static void settings_on_destroy(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- p_retm_if(NULL == ug, "The ug is NULL(ug = %p)", ug);
- evas_object_del((Evas_Object *) ug_get_layout(ug));
-
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_disconnect2() Failed(%d)",
- err);
-}
-
-extern "C" API int UG_MODULE_INIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- ct_setting_data *csetting_d;
-
- p_retvm_if(!ops, -1, "ops is NULL");
-
- csetting_d = (ct_setting_data *) calloc(1, sizeof(ct_setting_data));
- p_retvm_if(NULL == csetting_d, -1, "calloc() return NULL");
-
- ops->create = settings_on_create;
- ops->start = NULL;
- ops->pause = NULL;
- ops->resume = NULL;
- ops->destroy = settings_on_destroy;
- ops->message = NULL;
- ops->event = NULL;
- ops->key_event = NULL;
- ops->priv = csetting_d;
-
- return 0;
-}
-
-extern "C" API void UG_MODULE_EXIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- if (!ops)
- return;
-
- ops->priv = NULL;
-}
-
-API int setting_plugin_reset(service_h service, void *priv)
-{
- PH_TRACE;
- return 0;
-}
diff --git a/lib/settings/ct-setting-view.cpp b/lib/settings/ct-setting-view.cpp
deleted file mode 100755
index 89dfd1b..0000000
--- a/lib/settings/ct-setting-view.cpp
+++ /dev/null
@@ -1,1627 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <errno.h>
-#include <fcntl.h>
-#include <vconf.h>
-#include <vconf-keys.h>
-#include <unistd.h>
-#include <pthread.h>
-#include <media_content.h>
-#include <contacts.h>
-#include <assert.h>
-#include "phone.h"
-#include "phone-common.h"
-
-#include "ct-list.h"
-#include "ct-setting-view.h"
-
-#define CT_SETTING_PHONE_PATH "/opt/usr/media/Backup/Contacts"
-#define CT_SETTING_MEMORY_CARD_PATH "/opt/storage/sdcard/Backup/Contacts"
-
-#define CT_SETTING_TIMER_DURATION 0.2
-
-enum SETTING_ITC_TYPE
-{
- SETTING_ITC_TEXT = 0,
- SETTING_ITC_IMPORT = SETTING_ITC_TEXT,
- SETTING_ITC_EXPORT = SETTING_ITC_TEXT,
- SETTING_ITC_IMPORT_EXPORT = SETTING_ITC_TEXT,
- SETTING_ITC_ORDER = 1,
- SETTING_ITC_RADIO = 2,
- SETTING_ITC_FIRSTLAST = SETTING_ITC_RADIO,
- SETTING_ITC_LASTFIRST = SETTING_ITC_RADIO,
- SETTING_ITC_MFC = 3,
- SETTING_ITC_MFC_RIDIO = 4,
- SETTING_ITC_SHOW = SETTING_ITC_MFC_RIDIO,
- SETTING_ITC_HIDE = SETTING_ITC_MFC_RIDIO,
- SETTING_ITC_SDN = 5,
- SETTING_ITC_MAX,
-};
-
-enum SETTING_STORAGE_TYPE
-{
- SETTING_STORAGE_PHONE = 0,
- SETTING_STORAGE_MEMORY_CARD = 1,
-};
-
-static Elm_Genlist_Item_Class setting_itcs[] =
-{
- {
- 0, 0, 1, "dialogue/1text", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "dialogue/2text.3/expandable", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "dialogue/1text.1icon/expandable2", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "dialogue/2text.3/expandable", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "dialogue/1text.1icon/expandable2", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
- {
- 0, 0, 1, "dialogue/2text.2", NULL, NULL,
- {NULL, NULL, NULL, NULL},
- },
-};
-
-typedef enum
-{
- CT_SETTING_IMPORT,
- CT_SETTING_EXPORT,
-} ct_setting_op;
-
-static void __setting_insert_records(ct_setting_data *csetting_d);
-
-static void setting_set_mfc_option(int mfc_option)
-{
- PH_TRACE;
- int fd;
- char buf[PH_TEXT_MAX_LEN + 1] = { 0 };
-
- fd = open(SETTING_MFC_PATH, O_WRONLY | O_CREAT | O_TRUNC, 0644);
- p_retm_if(fd < 0, "Open(%s) Failed", SETTING_MFC_PATH);
- snprintf(buf, sizeof(buf), "%d", mfc_option);
- if (-1 == write(fd, buf, strlen(buf)))
- ERR("write()... Failed(%s)", strerror(errno));
- close(fd);
-}
-
-static void setting_order(contacts_name_display_order_e order_type)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
-
- /* set ORDER_OF_DISPLAY */
- err = contacts_setting_set_name_display_order(order_type);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_setting_set_name_display_order() Failed(%d)", err);
-}
-
-static void setting_order_ui(Evas_Object *genlist)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_name_display_order_e order;
- ct_setting_data *csetting_d;
- Elm_Object_Item *item_order;
-
- p_retm_if(NULL == genlist, "parameter(genlist) is NULL");
-
- csetting_d = (ct_setting_data *) evas_object_data_get(genlist, "csetting_d");
- p_retm_if(NULL == csetting_d, "evas_object_data_get() return NULL");
-
- err = contacts_setting_get_name_display_order(&order);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_name_display_order_e() Failed(%d)", err);
- elm_radio_value_set(csetting_d->radio_order, (int) order);
-
- item_order = (Elm_Object_Item *) evas_object_data_get(genlist, "order");
- p_retm_if(NULL == item_order, "evas_object_data_get() return NULL");
- elm_genlist_item_update(item_order);
-}
-
-static void setting_handle_order(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- Elm_Object_Item *it = (Elm_Object_Item *) event_info;
- elm_genlist_item_selected_set(it, EINA_FALSE);
-
- setting_order((contacts_name_display_order_e)((int) data));
- setting_order_ui(obj);
-}
-
-static void setting_handle_mfc(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_setting_data *csetting_d;
- Elm_Object_Item *it = (Elm_Object_Item *) event_info;
- Evas_Object *genlist = obj;
- Elm_Object_Item * item;
- elm_genlist_item_selected_set(it, EINA_FALSE);
-
- csetting_d = (ct_setting_data *) evas_object_data_get(genlist, "csetting_d");
- p_retm_if(NULL == csetting_d, "evas_object_data_get() return NULL");
-
- setting_set_mfc_option((int) data);
- elm_radio_value_set(csetting_d->radio_mfc, (int) data);
-
- item = (Elm_Object_Item *) evas_object_data_get(genlist, "mfc");
- p_retm_if(NULL == item, "evas_object_data_get() return NULL");
-
- elm_genlist_item_update(item);
-}
-
-static PTHREAD_FN setting_import_sim_contacts(void *data)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
-
- err = contacts_connect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_connect2() Failed(%d)",
- err);
-
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- ph_progress_info *p_info = csetting_d->p_info;
- p_info->result = contacts_sim_import_all_contacts();
- PH_DBG("p_info->result = %d", p_info->result);
- p_info->completed = true;
-
- contacts_disconnect2();
-
- pthread_exit(NULL);
-}
-
-static Eina_Bool setting_import_sim_timer_cb(void *data)
-{
- PH_TRACE;
- const char *message;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- ph_progress_info *p_info;
-
- p_retvm_if(NULL == csetting_d, ECORE_CALLBACK_CANCEL,
- "parameter(ct_setting_data) is NULL");
- p_info = csetting_d->p_info;
-
- if (!p_info->completed)
- return ECORE_CALLBACK_RENEW;
-
- pthread_join(p_info->thread, NULL);
-
- if (CONTACTS_ERROR_NONE == p_info->result)
- message = T_(CT_GET_TEXT_BASIC, CTTEXT_IMPORTED);
- else if (CONTACTS_ERROR_NO_DATA == p_info->result)
- message = T_(CT_GET_TEXT_ERR, CTTEXT_IMPORT_SIM_NO_DATA);
- else
- {
- switch (p_info->result)
- {
- case CONTACTS_ERROR_DB:
- message = T_(CT_GET_TEXT_ERR, CTTEXT_ERR_DB_LOCKED);
- break;
- case CONTACTS_ERROR_FILE_NO_SPACE:
- message = S_(CT_SYS_POP_NOT_ENOUGH_MEMORY);
- break;
- default:
- message = S_(PH_SYS_POP_FAILED);
- break;
- }
- }
-
- evas_object_del(csetting_d->popup);
- csetting_d->popup = NULL;
-
- free(p_info);
- csetting_d->p_info = NULL;
-
- phone_show_tickernoti(message);
- return ECORE_CALLBACK_CANCEL;
-}
-
-static void setting_import_sim(ct_setting_data *csetting_d)
-{
- PH_TRACE;
- int ret;
- ph_progress_info *p_info;
-
- p_retm_if(csetting_d->p_info, "thread is running");
-
- p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- p_retm_if(NULL == p_info, "calloc() return NULL");
- csetting_d->p_info = p_info;
- p_info->alive = true;
- p_info->result = TRUE;
- p_info->without_cancel_btn = true;
- ret = pthread_create(&p_info->thread, NULL, setting_import_sim_contacts,
- csetting_d);
- if (0 != ret)
- {
- ERR("Thread creation failed(%d)", ret);
- free(p_info);
- csetting_d->p_info = NULL;
- return;
- }
-
- p_info->timer = ecore_timer_add(CT_SETTING_TIMER_DURATION,
- setting_import_sim_timer_cb, csetting_d);
- if (NULL == p_info->timer)
- {
- ERR("ecore_timer_add() return NULL");
- p_info->alive = false;
- pthread_join(p_info->thread, NULL);
- free(p_info);
- csetting_d->p_info = NULL;
- return;
- }
- csetting_d->popup = phone_progressbar_popup(csetting_d->navi, p_info,
- T_(CT_GET_TEXT_BASIC, CTTEXT_IMPORTING_SIM_CONTACTS));
-}
-
-static inline void setting_progress_fail(ph_progress_info *p_info)
-{
- PH_TRACE;
- p_info->completed = true;
- p_info->result = FALSE;
- pthread_exit(NULL);
-}
-
-static Eina_Bool setting_export_timer_cb(void *data)
-{
- PH_TRACE;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- ph_progress_info *p_info;
-
- p_retvm_if(NULL == csetting_d, ECORE_CALLBACK_CANCEL,
- "parameter(ct_setting_data) is NULL");
- p_info = csetting_d->p_info;
-
- if (!p_info->completed)
- {
- char count[PH_TEXT_SHORT_LEN];
- char percent[PH_TEXT_SHORT_LEN];
- double value = (double) p_info->cnt
- / (double) p_info->cnt_checked_total;
-
- if (!p_info->alive)
- {
- p_info->result = FALSE;
- p_info->completed = true;
- return ECORE_CALLBACK_RENEW;
- }
-
- elm_progressbar_value_set(p_info->progressbar, value);
- snprintf(percent, sizeof(percent), "%d%%", (int) (100.0 * value));
- snprintf(count, sizeof(count), "%d/%d", p_info->cnt,
- p_info->cnt_checked_total);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext1", percent);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext2", count);
-
- if (p_info->cnt == p_info->cnt_checked_total)
- p_info->completed = true;
-
- return ECORE_CALLBACK_RENEW;
- }
- else
- {
- const char *message;
-
- pthread_join(p_info->thread, NULL);
-
- if (p_info->result)
- message = T_(CT_GET_TEXT_BASIC, CTTEXT_EXPORTED);
- else
- message = S_(PH_SYS_POP_FAILED);
-
- free(p_info);
- csetting_d->p_info = NULL;
-
- if (csetting_d->list_export_ct)
- {
- free(csetting_d->list_export_ct);
- csetting_d->list_export_ct = NULL;
- }
-
- evas_object_del(csetting_d->popup);
- csetting_d->popup = NULL;
- phone_show_tickernoti(message);
- elm_naviframe_item_pop_to(csetting_d->navi_item);
- return ECORE_CALLBACK_CANCEL;
- }
-}
-
-static Eina_Bool setting_import_timer_cb(void *data)
-{
- PH_TRACE;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- ph_progress_info *p_info;
-
- p_retvm_if(NULL == csetting_d, ECORE_CALLBACK_CANCEL,
- "parameter(ct_setting_data) is NULL");
- p_info = csetting_d->p_info;
-
- if (p_info->next_job)
- {
- pthread_join(p_info->thread, NULL);
- __setting_insert_records(csetting_d);
- p_info->next_job = false;
- }
-
- if (!p_info->alive && !p_info->completed)
- {
- p_info->result = FALSE;
- p_info->completed = true;
- }
-
- if (!p_info->completed)
- {
- return ECORE_CALLBACK_RENEW;
- }
- else
- {
- const char *message;
-
- pthread_join(p_info->thread, NULL);
-
- if (p_info->result)
- message = T_(CT_GET_TEXT_BASIC, CTTEXT_IMPORTED);
- else
- message = S_(PH_SYS_POP_FAILED);
-
- evas_object_del(csetting_d->popup);
- csetting_d->popup = NULL;
- phone_show_tickernoti(message);
-
- free(p_info);
- csetting_d->p_info = NULL;
-
- elm_naviframe_item_pop_to(csetting_d->navi_item);
- return ECORE_CALLBACK_CANCEL;
- }
-}
-
-static void __setting_update_media_db(const char *path)
-{
- PH_TRACE;
- p_retm_if(NULL == path, "path is NULL");
-
- int error = media_content_connect();
- p_retm_if(error != MEDIA_CONTENT_ERROR_NONE,
- "media_content_connect(%s) is failed(%d)", path, error);
-
- error = media_content_scan_file(path);
- p_retm_if(error != MEDIA_CONTENT_ERROR_NONE,
- "media_content_scan_file(%s) is failed(%d)", path, error);
-
- error = media_content_disconnect();
- p_retm_if(error != MEDIA_CONTENT_ERROR_NONE,
- "media_content_disconnect(%s) is failed(%d)", path, error);
-}
-
-static PTHREAD_FN setting_export_contacts(void *data)
-{
- PH_TRACE;
- int i;
- int ret;
- int fd;
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- ph_progress_info *p_info = csetting_d->p_info;
-
- fd = open(csetting_d->path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
- if (fd < 0)
- {
- ERR("open(%s) Failed", csetting_d->path);
- setting_progress_fail(p_info);
- }
- else
- __setting_update_media_db(csetting_d->path);
-
- err = contacts_connect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_connect2() Failed(%d)",
- err);
-
- for (i = 0; i < csetting_d->list_export_ct_cnt; i++)
- {
- char* vcard;
-
- if (!p_info->alive)
- {
- p_info->result = FALSE;
- p_info->completed = true;
- break;
- }
- PH_DBG("csetting_d->list_export_ct[%d] = %d",
- i, csetting_d->list_export_ct[i]);
- err = contacts_db_get_record(_contacts_person._uri,
- csetting_d->list_export_ct[i], &record);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_db_get_record() Failed(%d)", err);
- p_info->result = FALSE;
- continue;
- }
-
- err = contacts_vcard_make_from_person(record, &vcard);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_vcard_make_from_person() Failed(%d)", err);
- p_info->result = FALSE;
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
- continue;
- }
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- if (-1 == write(fd, vcard, strlen(vcard)))
- ERR("write()... Failed(%s)", strerror(errno));
- else
- __setting_update_media_db(csetting_d->path);
-
- p_info->cnt++;
- free(vcard);
- }
-
- ret = fsync(fd);
- if (0 != ret)
- ERR("fsync() failed(%d)", ret);
-
- close(fd);
- if (!p_info->result)
- {
- ret = unlink(csetting_d->path);
- if (0 != ret)
- ERR("unlink(%s) failed(%d)", csetting_d->path, ret);
- }
-
- contacts_disconnect2();
-
- pthread_exit(NULL);
-}
-
-static void setting_get_filename(char *fullpath, char *dest, int size_dest)
-{
- PH_TRACE;
- char* index;
- index = strrchr(fullpath, '/');
- snprintf(dest, size_dest, "%s", index + 1);
-}
-
-static inline char* setting_export_get_filename(const char *path)
-{
- PH_TRACE;
- int ret __attribute__ ((unused));
- time_t timer;
- struct tm *stime;
- char buf[PH_TEXT_MAX_LEN + 1] = { 0 };
- char mkcmd[PH_TEXT_MAX_LEN + 1] = { 0 };
-
- timer = time(NULL);
- stime = localtime(&timer);
- p_retvm_if(NULL == stime, NULL, "localtime() Failed(%d)", errno);
-
- sprintf(mkcmd, "mkdir -p %s", path);
- ret = system(mkcmd);
-
- snprintf(buf, sizeof(buf), "%s/contacts_%02d%02d%02d%02d%02d%02d.vcf", path,
- stime->tm_year - 100, stime->tm_mon + 1, stime->tm_mday,
- stime->tm_hour, stime->tm_min, stime->tm_sec);
-
- return strdup(buf);
-}
-
-static void setting_ug_destroy_cb(ui_gadget_h ug, void *priv)
-{
- PH_TRACE;
- ct_setting_data *csetting_d = (ct_setting_data *) priv;
- p_retm_if(NULL == ug, "parameter(ug) is NULL");
- ug_destroy(ug);
-
- p_retm_if(NULL == priv, "parameter(ct_setting_data) is NULL");
- csetting_d->child_ug = NULL;
-}
-
-static bool setting_import_vcard_foreach_cb(contacts_record_h record,
- void *data)
-{
- PH_TRACE;
- int err;
- ph_progress_info *p_info;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- contacts_record_h record_clone = NULL;
-
- p_retvm_if(NULL == csetting_d, -1, "parameter(csetting_d) is NULL");
-
- p_info = csetting_d->p_info;
- p_retvm_if(NULL == p_info, -1, "csetting_d->p_info is NULL");
-
- PH_DBG("setting_import_vcard_foreach_cb total_cnt %d",
- csetting_d->import_total_cnt);
-
- if (!p_info->alive)
- {
- p_info->result = FALSE;
- p_info->completed = true;
- return false;
- }
-
- err = contacts_record_clone(record, &record_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_clone() Failed(%d)", err);
- return false;
- }
- csetting_d->list_import_records = eina_list_append(
- csetting_d->list_import_records, record_clone);
- csetting_d->import_total_cnt++;
-
- return true;
-}
-
-static void __setting_insert_records_cb(int err, int *ids, unsigned int count,
- void *data)
-{
- PH_TRACE;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- int _err = CONTACTS_ERROR_NONE;
-
- if (CONTACTS_ERROR_NONE != err)
- {
- if (csetting_d->p_info)
- {
- csetting_d->p_info->completed = true;
- csetting_d->p_info->alive = false;
- csetting_d->p_info->result = false;
- }
- ctui_create_contacts_error_popup(csetting_d->navi, err);
- return;
- }
-
- _err = contacts_list_destroy(csetting_d->import_list, true);
- p_retm_if(CONTACTS_ERROR_NONE != _err, "contacts_list_destroy() Failed(%d)",
- _err);
-
- PH_DBG("__setting_insert_records_cb total count %d, count %d",
- csetting_d->import_total_cnt, csetting_d->import_cnt);
-
- if (csetting_d->p_info)
- {
- if (!csetting_d->p_info->alive)
- {
- csetting_d->p_info->result = FALSE;
- csetting_d->p_info->completed = true;
- return;
- }
- }
- else
- return;
-
- if (csetting_d->import_cnt == csetting_d->import_total_cnt)
- {
- if (csetting_d->p_info)
- {
- csetting_d->p_info->completed = true;
- csetting_d->p_info->alive = false;
- csetting_d->p_info->result = true;
- }
- return;
- }
-
- __setting_insert_records(csetting_d);
-}
-
-static void __setting_insert_records(ct_setting_data *csetting_d)
-{
- PH_TRACE;
- const int LIST_BULK_LENGTH = 50;
- Eina_List *l;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_temp = NULL;
-
- err = contacts_list_create(&csetting_d->import_list);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_list_create() Failed(%d)",
- err);
-
- EINA_LIST_FOREACH(csetting_d->list_import_records, l, v_record_temp)
- {
- contacts_record_h record_temp = (contacts_record_h) v_record_temp;
- err = contacts_list_add(csetting_d->import_list, record_temp);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_add() Failed(%d) count %d",
- err, csetting_d->import_cnt);
- csetting_d->list_import_records = eina_list_remove_list(
- csetting_d->list_import_records, l);
-
- csetting_d->import_cnt++;
-
- if ((csetting_d->import_cnt % LIST_BULK_LENGTH) == 0)
- break;
-
- }
- err = contacts_db_insert_records_async(csetting_d->import_list,
- __setting_insert_records_cb, csetting_d);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_insert_records_async() Failed(%d)", err);
-}
-
-static PTHREAD_FN setting_import_vcard_contacts(void *data)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- const char *path = NULL;
- char *last = NULL;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- ph_progress_info *p_info = csetting_d->p_info;
-
- err = contacts_connect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_connect2() Failed(%d)",
- err);
-
- path = strtok_r(csetting_d->path, "?", &last);
- while (path)
- {
- err = contacts_vcard_parse_to_contact_foreach(path,
- setting_import_vcard_foreach_cb, csetting_d);
- if (CONTACTS_ERROR_NONE != err)
- {
- p_info->result = FALSE;
- ERR("contacts_svc_vcard_foreach() Failed(%d)", p_info->result);
- break;
- }
- path = strtok_r(NULL, "?", &last);
- }
-
- p_info->next_job = true;
-
- contacts_disconnect2();
-
- pthread_exit(NULL);
-}
-
-static void setting_import_vcard_myfile_ug_result(ui_gadget_h ug,
- service_h service, void *data)
-{
- PH_TRACE;
- int ret;
- char *val = NULL;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- ph_progress_info *p_info;
-
- p_retm_if(NULL == ug, "parameter(ug) is NULL");
- ug_destroy(ug);
-
- p_retm_if(NULL == data, "parameter(ct_setting_data) is NULL");
- csetting_d->child_ug = NULL;
-
- p_retm_if(NULL == service, "parameter(result) is NULL");
-
- service_get_extra_data(service, "result", &val);
- p_retm_if(NULL == val, "service_get_extra_data() return NULL");
-
- FREEandSTRDUP(csetting_d->path, val);
- p_retm_if(NULL == csetting_d->path, "strdup() return NULL");
-
- free(val);
-
- p_retm_if(csetting_d->p_info, "thread is running");
-
- p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- p_retm_if(NULL == p_info, "calloc() return NULL");
- csetting_d->p_info = p_info;
- p_info->alive = true;
- p_info->result = TRUE;
-
- ret = pthread_create(&p_info->thread, NULL, setting_import_vcard_contacts,
- csetting_d);
- if (0 != ret)
- {
- ERR("Thread creation failed(%d)", ret);
- free(p_info);
- csetting_d->p_info = NULL;
- return;
- }
-
- p_info->timer = ecore_timer_add(CT_SETTING_TIMER_DURATION,
- setting_import_timer_cb, csetting_d);
- if (NULL == p_info->timer)
- {
- ERR("ecore_timer_add() return NULL");
- p_info->alive = false;
- pthread_join(p_info->thread, NULL);
- free(p_info);
- csetting_d->p_info = NULL;
- return;
- }
- csetting_d->popup = phone_progressbar_popup(csetting_d->navi, p_info,
- T_(CT_GET_TEXT_BASIC, CTTEXT_IMPORTING_SD_CONTACTS));
-}
-
-static void setting_import_vcard_myfile_ug(ct_setting_data *csetting_d)
-{
- PH_TRACE;
- ui_gadget_h ug;
- struct ug_cbs cbs = { 0 };
- service_h service;
-
- service_create(&service);
- service_add_extra_data(service, "path", CT_SETTING_PHONE_PATH);
- service_add_extra_data(service, "select_type", "IMPORT");
- service_add_extra_data(service, "file_type", "vcf");
-
- cbs.result_cb = setting_import_vcard_myfile_ug_result;
- cbs.destroy_cb = setting_ug_destroy_cb;
- cbs.layout_cb = ug_common_layout_cb;
- cbs.priv = csetting_d;
-
- ug = ug_create(csetting_d->ug, MYFILES_UG, UG_MODE_FULLVIEW, service, &cbs);
- p_warn_if(NULL == ug, "ug_create() Failed");
- csetting_d->child_ug = ug;
-
- service_destroy(service);
-}
-
-//////There was no initialization of contacts_sim_export_person function//////
-//////That's why it is written here. It needs to be rewritten/////////////////
-int contacts_sim_export_person(int data)
-{
- PH_TRACE;
- assert(false);
- return 1;
-}
-//////////////////////////////////////////////////////////////////////////////
-
-static PTHREAD_FN setting_export_sim_contacts(void *data)
-{
- PH_TRACE;
- int i;
- int err = CONTACTS_ERROR_NONE;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
-
- csetting_d->p_info->result = CONTACTS_ERROR_NONE;
- for (i = 0; i < csetting_d->list_export_ct_cnt; i++)
- {
- err = contacts_sim_export_person(csetting_d->list_export_ct[i]);
- if (CONTACTS_ERROR_NONE == err)
- {
- csetting_d->p_info->cnt++;
- }
- else
- {
- csetting_d->p_info->result = err;
- ERR("contacts_sim_export_person() Failed(%d)", err);
- }
- }
- pthread_exit(NULL);
-}
-
-static Eina_Bool setting_export_sim_timer_cb(void *data)
-{
- PH_TRACE;
- const char *message;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- ph_progress_info *p_info;
- p_info = csetting_d->p_info;
-
- double value = (double) p_info->cnt / (double) p_info->cnt_checked_total;
- p_retvm_if(NULL == csetting_d, ECORE_CALLBACK_CANCEL,
- "parameter(ct_setting_data) is NULL");
- p_info = csetting_d->p_info;
-
- if (!p_info->completed)
- {
- char count[PH_TEXT_SHORT_LEN];
- char percent[PH_TEXT_SHORT_LEN];
- if (!p_info->alive)
- {
- p_info->result = FALSE;
- p_info->completed = true;
- return ECORE_CALLBACK_RENEW;
- }
- elm_progressbar_value_set(p_info->progressbar, value);
- snprintf(percent, sizeof(percent), "%d%%", (int) (100.0 * value));
- snprintf(count, sizeof(count), "%d/%d", p_info->cnt,
- p_info->cnt_checked_total);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext1", percent);
- edje_object_part_text_set(elm_layout_edje_get(p_info->layout),
- "elm.text.subtext2", count);
-
- if (p_info->cnt == p_info->cnt_checked_total)
- p_info->completed = true;
-
- if (p_info->result == CONTACTS_ERROR_INTERNAL)
- p_info->completed = true;
-
- return ECORE_CALLBACK_RENEW;
- }
- pthread_join(p_info->thread, NULL);
-
- if (CONTACTS_ERROR_NONE == p_info->result)
- message = T_(CT_GET_TEXT_BASIC, CTTEXT_EXPORTED);
- else
- message = S_(PH_SYS_POP_FAILED);
-
- evas_object_del(csetting_d->popup);
- csetting_d->popup = NULL;
-
- free(p_info);
- csetting_d->p_info = NULL;
-
- phone_show_tickernoti(message);
- return ECORE_CALLBACK_CANCEL;
-}
-static void setting_export_sim(void *data, int *list, int cnt)
-{
- PH_TRACE;
- int ret;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- ph_progress_info *p_info;
- char title[PH_TEXT_MAX_LEN] = { 0, };
-
- if (NULL == csetting_d)
- {
- ERR("parameter(csetting_d) is NULL");
- return;
- }
-
- if (cnt <= 0)
- {
- ERR("evas_object_data_get() return NULL");
- return;
- }
- if (list == NULL)
- {
- ERR("list is NULL");
- return;
- }
- p_retm_if(csetting_d->p_info, "thread is running");
- p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- p_retm_if(NULL == p_info, "calloc() return NULL");
-
- csetting_d->p_info = p_info;
- p_info->cnt_checked_total = csetting_d->list_export_ct_cnt = cnt;
- int *export_list = (int *) calloc(cnt, sizeof(int));
- memcpy(export_list, list, sizeof(int) * cnt);
- csetting_d->list_export_ct = export_list;
-
- p_info->alive = true;
- p_info->result = TRUE;
- p_info->without_cancel_btn = true;
-
- ret = pthread_create(&p_info->thread, NULL, setting_export_sim_contacts,
- csetting_d);
- if (0 != ret)
- {
- ERR("Thread creation failed(%d)", ret);
- free(p_info);
- csetting_d->p_info = NULL;
- return;
- }
-
- p_info->timer = ecore_timer_add(CT_SETTING_TIMER_DURATION,
- setting_export_sim_timer_cb, csetting_d);
- if (NULL == p_info->timer)
- {
- ERR("ecore_timer_add() return NULL");
- p_info->alive = false;
- free(p_info);
- csetting_d->p_info = NULL;
- return;
- }
- snprintf(title, sizeof(title), "%s",
- T_(CT_GET_TEXT_BASIC, CTTEXT_EXPORT_TO_SIM_CARD));
- csetting_d->popup = phone_progressbar_popup(csetting_d->navi, p_info,
- title);
-
- return;
-
-}
-
-///There was no initialization of contacts_sim_get_empty_record_count function///
-///That's why it is written here. It needs to be rewritten///////////////////////
-int contacts_sim_get_empty_record_count(int *data)
-{
- PH_TRACE;
- assert(false);
- return 1;
-}
-/////////////////////////////////////////////////////////////////////////////////
-
-static void setting_import_export_sim_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int cnt_max = 0;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- int err;
- elm_genlist_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
-
- if (CT_SETTING_IMPORT == csetting_d->mode)
- {
- setting_import_sim(csetting_d);
- }
- else
- { // CT_SETTING_EXPORT
- err = contacts_sim_get_empty_record_count(&cnt_max);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_sim_get_empty_record_count() Failed(%d)", err);
-
- if (0 == cnt_max)
- {
- phone_show_popup(csetting_d->navi,
- T_(CT_GET_TEXT_ERR, CTTEXT_SIM_MEMORY_FULL), 2.0);
- PH_DBG("cnt_max is zero");
- return;
- }
- ctui_create_list_select_view(csetting_d->navi, setting_export_sim,
- csetting_d, CT_GET_LIST_ALL_PERSON, 0, 0, cnt_max);
- }
-}
-
-static void setting_export_vcard_contacts(void *data, int *list, int cnt)
-{
- PH_TRACE;
- int ret;
- char title[PH_TEXT_MAX_LEN] = { 0 };
- ;
- char filepath[PH_TEXT_MAX_LEN + 1] = { 0 };
- ;
- ph_progress_info *p_info;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
-
- if (NULL == csetting_d)
- {
- ERR("parameter(csetting_d) is NULL");
- return;
- }
-
- if (cnt <= 0)
- {
- ERR("evas_object_data_get() return NULL");
- return;
- }
- if (list == NULL)
- {
- ERR("list is NULL");
- return;
- }
- int *export_list = (int *) calloc(cnt, sizeof(int));
- memcpy(export_list, list, sizeof(int) * cnt);
- csetting_d->list_export_ct = export_list;
- csetting_d->list_export_ct_cnt = cnt;
-
- p_retm_if(csetting_d->p_info, "thread is running");
-
- p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- p_retm_if(NULL == p_info, "calloc() return NULL");
- csetting_d->p_info = p_info;
-
- p_info->cnt_checked_total = csetting_d->list_export_ct_cnt;
- if (p_info->cnt_checked_total <= 0)
- {
- char err[PH_TEXT_SHORT_LEN];
- ERR("cnt_checked_total is %d", p_info->cnt_checked_total);
- free(p_info);
- free(csetting_d->list_export_ct);
- csetting_d->p_info = NULL;
- csetting_d->list_export_ct = NULL;
- snprintf(err, sizeof(err), "Fail (%s)",
- T_(CT_GET_TEXT_ERR, CTTEXT_NO_CONTACTS));
- phone_show_tickernoti(err);
- return;
- }
- free(csetting_d->path);
- if (SETTING_STORAGE_MEMORY_CARD == csetting_d->storage_type)
- {
- csetting_d->path = setting_export_get_filename(
- CT_SETTING_MEMORY_CARD_PATH);
- }
- else
- {
- csetting_d->path = setting_export_get_filename(CT_SETTING_PHONE_PATH);
- }
-
- p_info->alive = true;
- p_info->result = TRUE;
- setting_get_filename(csetting_d->path, filepath, sizeof(filepath));
- snprintf(title, sizeof(title),
- T_(CT_GET_TEXT_BASIC, CTTEXT_EXPORTING_CONTACTS_TO), filepath);
- ret = pthread_create(&p_info->thread, NULL, setting_export_contacts,
- csetting_d);
- if (0 != ret)
- {
- ERR("Thread creation failed(%d)", ret);
- free(p_info);
- free(csetting_d->list_export_ct);
- csetting_d->p_info = NULL;
- csetting_d->list_export_ct = NULL;
- return;
- }
-
- p_info->timer = ecore_timer_add(CT_SETTING_TIMER_DURATION,
- setting_export_timer_cb, csetting_d);
- if (NULL == p_info->timer)
- {
- ERR("ecore_timer_add() return NULL");
- p_info->alive = false;
- pthread_join(p_info->thread, NULL);
- free(p_info);
- free(csetting_d->list_export_ct);
- csetting_d->p_info = NULL;
- csetting_d->list_export_ct = NULL;
- return;
- }
-
- csetting_d->popup = phone_progressbar_popup(csetting_d->navi, p_info,
- title);
-}
-
-static void setting_import_export_phone_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- elm_genlist_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
- csetting_d->storage_type = SETTING_STORAGE_PHONE;
- if (CT_SETTING_IMPORT == csetting_d->mode)
- setting_import_vcard_myfile_ug(csetting_d);
- else
- { // CT_SETTING_EXPORT
- ctui_create_list_select_view(csetting_d->navi,
- setting_export_vcard_contacts, csetting_d,
- CT_GET_LIST_ALL_PERSON, 0, 0, 0);
- }
-}
-
-static void setting_import_export_memory_card_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- elm_genlist_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
- csetting_d->storage_type = SETTING_STORAGE_MEMORY_CARD;
- if (CT_SETTING_IMPORT == csetting_d->mode)
- setting_import_vcard_myfile_ug(csetting_d);
- else
- { // CT_SETTING_EXPORT
- ctui_create_list_select_view(csetting_d->navi,
- setting_export_vcard_contacts, csetting_d,
- CT_GET_LIST_ALL_PERSON, 0, 0, 0);
- }
-}
-
-static void setting_import_export(ct_setting_data *csetting_d)
-{
- PH_TRACE;
- int sim_state;
- int mmc_mode = VCONFKEY_SYSMAN_MMC_REMOVED;
- char buf[PH_TEXT_MAX_LEN + 1] = { 0 };
-
- Evas_Object *genlist;
- Elm_Object_Item * item;
-
- genlist = elm_genlist_add(csetting_d->navi);
- elm_object_style_set(genlist, "dialogue");
- vconf_get_int(VCONFKEY_TELEPHONY_SIM_PB_INIT, &sim_state);
-
- ctui_genlist_append_separator_20px_with_line(genlist);
-
- PH_DBG("import/export sim_state is %d", sim_state);
- item = elm_genlist_item_append(genlist,
- &setting_itcs[SETTING_ITC_IMPORT_EXPORT], S_(CT_SYS_BODY_SIM), NULL,
- ELM_GENLIST_ITEM_NONE, setting_import_export_sim_sel, csetting_d);
- if (sim_state <= 0)
- elm_object_item_disabled_set(item, EINA_TRUE);
-
- if (CT_SETTING_EXPORT == csetting_d->mode)
- {
- elm_genlist_item_append(genlist,
- &setting_itcs[SETTING_ITC_IMPORT_EXPORT],
- T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE), NULL,
- ELM_GENLIST_ITEM_NONE, setting_import_export_phone_sel,
- csetting_d);
-
- item = elm_genlist_item_append(genlist,
- &setting_itcs[SETTING_ITC_IMPORT_EXPORT],
- S_(CT_SYS_BODY_MEMORYCARD), NULL, ELM_GENLIST_ITEM_NONE,
- setting_import_export_memory_card_sel, csetting_d);
- vconf_get_int(VCONFKEY_SYSMAN_MMC_STATUS, &mmc_mode);
- if (mmc_mode == VCONFKEY_SYSMAN_MMC_REMOVED
- || mmc_mode == VCONFKEY_SYSMAN_MMC_INSERTED_NOT_MOUNTED)
- elm_object_item_disabled_set(item, EINA_TRUE);
- snprintf(buf, sizeof(buf), "%s",
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_EXPORT_CONTACTS));
- }
- else if (CT_SETTING_IMPORT == csetting_d->mode)
- {
- elm_genlist_item_append(genlist,
- &setting_itcs[SETTING_ITC_IMPORT_EXPORT],
- S_(CT_SYS_BODY_MEMORYCARD), NULL, ELM_GENLIST_ITEM_NONE,
- setting_import_export_phone_sel, csetting_d);
- snprintf(buf, sizeof(buf), "%s",
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_IMPORT_CONTACTS));
- }
-
- elm_naviframe_item_push(csetting_d->navi, buf, NULL, NULL, genlist, NULL);
-}
-
-static void setting_import_contacts_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- elm_genlist_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
-
- csetting_d->mode = CT_SETTING_IMPORT;
- setting_import_export(csetting_d);
-}
-
-static void setting_order_item_sel(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- if (EINA_TRUE == elm_genlist_item_expanded_get(item))
- elm_genlist_item_expanded_set(item, EINA_FALSE);
- else
- elm_genlist_item_expanded_set(item, EINA_TRUE);
-}
-
-static void setting_mfc_item_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- if (EINA_TRUE == elm_genlist_item_expanded_get(item))
- elm_genlist_item_expanded_set(item, EINA_FALSE);
- else
- elm_genlist_item_expanded_set(item, EINA_TRUE);
-}
-
-static void setting_gl_exp(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_name_display_order_e order;
- int mfc_option;
- Evas_Object *genlist = obj;
- Elm_Object_Item *it = (Elm_Object_Item *) event_info;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
-
- if (evas_object_data_get(obj, "order") == it)
- {
- csetting_d->radio_order = elm_radio_add(genlist);
- elm_genlist_item_append(genlist, &setting_itcs[SETTING_ITC_FIRSTLAST],
- (void *) CONTACTS_NAME_DISPLAY_ORDER_FIRSTLAST, it,
- ELM_GENLIST_ITEM_NONE, setting_handle_order,
- (void *) CONTACTS_NAME_DISPLAY_ORDER_FIRSTLAST);
- elm_genlist_item_append(genlist, &setting_itcs[SETTING_ITC_LASTFIRST],
- (void *) CONTACTS_NAME_DISPLAY_ORDER_LASTFIRST, it,
- ELM_GENLIST_ITEM_NONE, setting_handle_order,
- (void *) CONTACTS_NAME_DISPLAY_ORDER_LASTFIRST);
-
- err = contacts_setting_get_name_display_order(&order);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_name_display_order_e() Failed(%d)", err);
- elm_radio_value_set(csetting_d->radio_order, (int) order);
- }
- else if (evas_object_data_get(obj, "mfc") == it)
- {
- csetting_d->radio_mfc = elm_radio_add(genlist);
- elm_genlist_item_append(genlist, &setting_itcs[SETTING_ITC_SHOW],
- (void *) 0, it, ELM_GENLIST_ITEM_NONE, setting_handle_mfc,
- (void *) 0);
- elm_genlist_item_append(genlist, &setting_itcs[SETTING_ITC_HIDE],
- (void *) 1, it, ELM_GENLIST_ITEM_NONE, setting_handle_mfc,
- (void *) 1);
- mfc_option = ctui_get_mfc_option();
- elm_radio_value_set(csetting_d->radio_mfc, mfc_option);
- }
-
-}
-
-static void setting_gl_con(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- elm_genlist_item_subitems_clear(item);
-
- p_retm_if(NULL == csetting_d, "parameter(csetting_d) is NULL");
-
- if (evas_object_data_get(obj, "order") == item)
- {
- if (csetting_d->radio_order)
- {
- evas_object_del(csetting_d->radio_order);
- csetting_d->radio_order = NULL;
- }
- }
- else if (evas_object_data_get(obj, "mfc") == item)
- {
- if (csetting_d->radio_mfc)
- {
- evas_object_del(csetting_d->radio_mfc);
- csetting_d->radio_mfc = NULL;
- }
- }
-}
-
-static char *setting_gl_text_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- if (0 == strcmp(part, "elm.text"))
- return strdup((const char *) data);
- return NULL;
-}
-
-static char *setting_gl_order_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- contacts_name_display_order_e order;
-
- if (0 == strcmp(part, "elm.text.1"))
- return strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_ORDER_DISPLAY_NAME));
- else if (0 == strcmp(part, "elm.text.2"))
- {
- err = contacts_setting_get_name_display_order(&order);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_name_display_order_e() Failed(%d)", err);
-
- if (CONTACTS_NAME_DISPLAY_ORDER_FIRSTLAST == order)
- return strdup(T_(CT_GET_TEXT_BASE_OP, CTTEXT_FIRSTLAST));
- else
- return strdup(T_(CT_GET_TEXT_BASE_OP, CTTEXT_LASTFIRST));
- }
- return NULL;
-}
-
-static char *setting_gl_mf_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- if (0 == strcmp(part, "elm.text.1"))
- return strdup(T_(CT_GET_TEXT_BASIC, CTTEXT_MOST_FREQUENT_CONTACTS));
- else if (0 == strcmp(part, "elm.text.2"))
- {
- if (0 == ctui_get_mfc_option())
- return strdup(T_(CT_GET_TEXT_BASE_OP, CTTEXT_SHOW));
- else if (1 == ctui_get_mfc_option())
- return strdup(T_(CT_GET_TEXT_BASE_OP, CTTEXT_HIDE));
- }
- return NULL;
-}
-
-static char *setting_gl_mf_radio_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int type = (int) data;
- if (0 == strcmp(part, "elm.text"))
- {
- if (0 == type)
- return strdup(T_(CT_GET_TEXT_BASE_OP, CTTEXT_SHOW));
- else if (1 == type)
- return strdup(T_(CT_GET_TEXT_BASE_OP, CTTEXT_HIDE));
- }
- return NULL;
-}
-
-static char *setting_gl_radio_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int type = (int) data;
- if (0 == strcmp(part, "elm.text"))
- {
- if (CONTACTS_NAME_DISPLAY_ORDER_FIRSTLAST == type)
- return strdup(T_(CT_GET_TEXT_BASE_OP, CTTEXT_FIRSTLAST));
- else if (CONTACTS_NAME_DISPLAY_ORDER_LASTFIRST == type)
- return strdup(T_(CT_GET_TEXT_BASE_OP, CTTEXT_LASTFIRST));
- }
- return NULL;
-}
-
-static Evas_Object *setting_gl_radio_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int type = (int) data;
- ct_setting_data *csetting_d;
-
- if (0 == strcmp(part, "elm.icon"))
- {
- Evas_Object *radio;
-
- csetting_d = (ct_setting_data *) evas_object_data_get(obj, "csetting_d");
- p_retvm_if(NULL == csetting_d, NULL,
- "evas_object_data_get() return NULL");
-
- radio = elm_radio_add(obj);
- p_retvm_if(NULL == radio, NULL, "elm_radio_add() return NULL");
-
- elm_radio_group_add(radio, csetting_d->radio_order);
- elm_radio_state_value_set(radio, type);
-
- return radio;
- }
- return NULL;
-}
-
-static Evas_Object *setting_gl_mf_radio_icon_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- int type = (int) data;
- ct_setting_data *csetting_d;
-
- if (0 == strcmp(part, "elm.icon"))
- {
- Evas_Object *radio;
-
- csetting_d = (ct_setting_data *) evas_object_data_get(obj, "csetting_d");
- p_retvm_if(NULL == csetting_d, NULL,
- "evas_object_data_get() return NULL");
-
- radio = elm_radio_add(obj);
- p_retvm_if(NULL == radio, NULL, "elm_radio_add() return NULL");
-
- elm_radio_group_add(radio, csetting_d->radio_mfc);
- elm_radio_state_value_set(radio, type);
-
- return radio;
- }
- return NULL;
-}
-
-static char* setting_gl_sdn_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ct_sdn_list *info = (ct_sdn_list *) data;
- p_retvm_if(NULL == data, NULL, "The parameter(data) is NULL");
-
- if (0 == strcmp(part, "elm.text.2"))
- return SAFE_STRDUP(info->name);
- else if (0 == strcmp(part, "elm.text.1"))
- return SAFE_STRDUP(info->number);
- return NULL;
-}
-
-static void setting_gl_sdn_del(void *data, Evas_Object *obj)
-{
- PH_TRACE;
- ct_sdn_list *info = (ct_sdn_list *) data;
- p_retm_if(NULL == info, "parameter(info) is NULL");
-
- free(info->name);
- free(info->number);
- free(info);
-}
-
-static inline void setting_create_itcs()
-{
- PH_TRACE;
- setting_itcs[SETTING_ITC_TEXT].func.text_get = setting_gl_text_label_get;
-
- setting_itcs[SETTING_ITC_ORDER].func.text_get = setting_gl_order_label_get;
-
- setting_itcs[SETTING_ITC_MFC].func.text_get = setting_gl_mf_label_get;
-
- setting_itcs[SETTING_ITC_RADIO].func.text_get = setting_gl_radio_label_get;
- setting_itcs[SETTING_ITC_MFC_RIDIO].func.text_get =
- setting_gl_mf_radio_label_get;
- setting_itcs[SETTING_ITC_RADIO].func.content_get =
- setting_gl_radio_icon_get;
- setting_itcs[SETTING_ITC_MFC_RIDIO].func.content_get =
- setting_gl_mf_radio_icon_get;
-
- setting_itcs[SETTING_ITC_SDN].func.text_get = setting_gl_sdn_label_get;
- setting_itcs[SETTING_ITC_SDN].func.del = setting_gl_sdn_del;
-}
-
-static void setting_view_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Eina_List *l;
- void *v_record = NULL;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- p_retm_if(NULL == csetting_d, "parameter(csetting_d) is NULL");
-
- if (csetting_d->popup)
- evas_object_del(csetting_d->popup);
-
- EINA_LIST_FOREACH(csetting_d->list_import_records, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- contacts_record_destroy(record, true);
- }
- eina_list_free(csetting_d->list_import_records);
-
- if (csetting_d->p_info)
- {
- csetting_d->p_info->alive = false;
- pthread_join(csetting_d->p_info->thread, NULL);
-
- ecore_timer_del(csetting_d->p_info->timer);
- free(csetting_d->p_info);
- csetting_d->p_info = NULL;
- }
-
- if (csetting_d->child_ug)
- ug_destroy(csetting_d->child_ug);
-
- free(csetting_d->path);
- free(csetting_d);
-}
-
-static void setting_gl_sdn_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- ct_sdn_list *info = (ct_sdn_list *) elm_object_item_data_get(item);
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
- phone_launch_voice_call(0, info->number);
-}
-
-static Evas_Object* setting_fill_sdn_view(Evas_Object *parent,
- ct_setting_data *csetting_d)
-{
- PH_TRACE;
- Evas_Object *genlist;
-
- int err = CONTACTS_ERROR_NONE;
- contacts_list_h list = NULL;
-
- genlist = elm_genlist_add(parent);
- elm_object_style_set(genlist, "dialogue");
- p_retvm_if(NULL == genlist, NULL, "elm_genlist_add() return NULL");
-
- ctui_genlist_append_separator_20px_with_line(genlist);
-
- err = contacts_db_get_all_records(_contacts_sdn._uri, 0, 0, &list);
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_db_get_all_records...() Failed(%d)", err);
-
- csetting_d->cnt_sdn_list = 0;
- while (CONTACTS_ERROR_NONE == err)
- {
- ct_sdn_list *data;
-
- data = (ct_sdn_list *) calloc(1, sizeof(ct_sdn_list));
- if (NULL == data)
- {
- ERR("calloc() return NULL");
- break;
- }
- err = phone_cts_get_str_from_list(list, _contacts_sdn.name,
- &(data->name));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() Failed(%d)", err);
-
- err = phone_cts_get_str_from_list(list, _contacts_sdn.number,
- &(data->number));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "phone_cts_get_str_from_list() Failed(%d)", err);
-
- csetting_d->cnt_sdn_list++;
- elm_genlist_item_append(genlist, &setting_itcs[SETTING_ITC_SDN], data,
- NULL, ELM_GENLIST_ITEM_NONE, setting_gl_sdn_sel, NULL);
-
- err = contacts_list_next(list);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_next() Failed(%d)",
- err);
- }
- err = contacts_list_destroy(list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_list_destroy() Failed(%d)",
- err);
-
- return genlist;
-}
-
-static void setting_create_genlist_sdn(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- Evas_Object *genlist;
- ct_setting_data *csetting_d = (ct_setting_data *) data;
- char buf[PH_TEXT_MAX_LEN + 1] = { 0 };
-
- elm_genlist_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
- genlist = setting_fill_sdn_view(csetting_d->navi, csetting_d);
-
- snprintf(buf, sizeof(buf), "%s (%d)", T_(CT_GET_TEXT_BASIC, CTTEXT_SDN),
- csetting_d->cnt_sdn_list);
-
- elm_naviframe_item_push(csetting_d->navi, buf, NULL, NULL, genlist,
- NULL);
-}
-
-Evas_Object* ct_setting_create_layout(ct_setting_data *csetting_d)
-{
- PH_TRACE;
- unsigned int sdn_count;
- contacts_list_h list = NULL;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *genlist;
- Elm_Object_Item * item;
-
- setting_create_itcs();
-
- genlist = elm_genlist_add(csetting_d->navi);
- elm_object_style_set(genlist, "dialogue");
- evas_object_data_set(genlist, "csetting_d", csetting_d);
- evas_object_event_callback_add(genlist, EVAS_CALLBACK_DEL,
- setting_view_delete_cb, csetting_d);
-
- ctui_genlist_append_separator_20px_with_line(genlist);
-
- elm_genlist_item_append(genlist, &setting_itcs[SETTING_ITC_IMPORT],
- T_(CT_GET_TEXT_BASE_OP, CTTEXT_IMPORT_CONTACTS), NULL,
- ELM_GENLIST_ITEM_NONE, setting_import_contacts_cb, csetting_d);
- item = elm_genlist_item_append(genlist, &setting_itcs[SETTING_ITC_ORDER],
- NULL, NULL, ELM_GENLIST_ITEM_TREE, setting_order_item_sel, NULL);
- evas_object_data_set(genlist, "order", item);
-
- item = elm_genlist_item_append(genlist, &setting_itcs[SETTING_ITC_MFC],
- NULL, NULL, ELM_GENLIST_ITEM_TREE, setting_mfc_item_sel, NULL);
- evas_object_data_set(genlist, "mfc", item);
-
- err = contacts_db_get_all_records(_contacts_sdn._uri, 0, 0, &list);
- if (CONTACTS_ERROR_NONE == err)
- {
- err = contacts_list_get_count(list, &sdn_count);
- if (CONTACTS_ERROR_NONE == err && sdn_count)
- {
- elm_genlist_item_append(genlist, &setting_itcs[SETTING_ITC_TEXT],
- T_(CT_GET_TEXT_BASIC, CTTEXT_SDN), NULL,
- ELM_GENLIST_ITEM_NONE, setting_create_genlist_sdn,
- csetting_d);
- }
- err = contacts_list_destroy(list, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_destroy() Failed(%d)", err);
- }
-
- evas_object_smart_callback_add(genlist, "expanded", setting_gl_exp,
- csetting_d);
- evas_object_smart_callback_add(genlist, "contracted", setting_gl_con,
- csetting_d);
-
- return genlist;
-}
-
diff --git a/lib/settings/ct-setting-view.h b/lib/settings/ct-setting-view.h
deleted file mode 100755
index c485142..0000000
--- a/lib/settings/ct-setting-view.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Module responsible for ui-layer of contacts-settings view.
- */
-
-#ifndef __CONTACTS_SETTING_VIEW_H__
-#define __CONTACTS_SETTING_VIEW_H__
-
-#include "View.h"
-
-typedef struct
-{
- Eina_Bool checked;
- void *data;
-} ct_setting_gl_data;
-
-typedef struct : public Common::View
-{
- Evas_Object *notify;
- Evas_Object *radio_order;
- Evas_Object *radio_mfc;
-
- Evas_Object *genlist;
-
- int cnt_sdn_list;
- int id_ab;
- int mode;
- char *path;
-
- int *list_export_ct;
- int list_export_ct_cnt;
-
- Eina_List *list_import_records;
- int import_total_cnt;
- int import_cnt;
- int storage_type;
- contacts_list_h import_list;
-
- ph_progress_info *p_info;
-} ct_setting_data;
-
-typedef struct
-{
- char *name;
- char *number;
-} ct_sdn_list;
-
-Evas_Object* ct_setting_create_layout(ct_setting_data *csetting_d);
-
-#endif //__CONTACTS_DETAIL_VIEW_H__
diff --git a/lib/settings/mfc_option b/lib/settings/mfc_option
deleted file mode 100644
index e69de29..0000000
--- a/lib/settings/mfc_option
+++ /dev/null
diff --git a/lib/speed/CMakeLists.txt b/lib/speed/CMakeLists.txt
deleted file mode 100755
index 8cdeeba..0000000
--- a/lib/speed/CMakeLists.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
-
-SET(TARGET ${SPEEDDIAL})
-
-FILE(GLOB SRCS *.cpp)
-
-ADD_LIBRARY(${TARGET} SHARED ${SRCS})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES VERSION ${VERSION})
-SET_TARGET_PROPERTIES(${TARGET} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS})
-TARGET_LINK_LIBRARIES(${TARGET} ${COMMON_LIB} ${ug_pkgs_LDFLAGS})
-
-ADD_DEPENDENCIES(${TARGET} speeddial_theme_build)
-
-INSTALL(TARGETS ${TARGET} DESTINATION ${UGLIBDIR})
-
-INSTALL(FILES ${CMAKE_BINARY_DIR}/lib/speed/speeddial-efl.xml DESTINATION "/usr/share/packages")
diff --git a/lib/speed/include/phone-speed.h b/lib/speed/include/phone-speed.h
deleted file mode 100755
index 580617f..0000000
--- a/lib/speed/include/phone-speed.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PHONE_SPEED_H__
-#define __PHONE_SPEED_H__
-
-#include "phone-common.h"
-
-Evas_Object *phone_create_speeddial_view(ui_gadget_h ug, Evas_Object *win,
- Evas_Object *navi);
-
-#endif //__PHONE_SPEED_H__
diff --git a/lib/speed/ph-speeddial-main.cpp b/lib/speed/ph-speeddial-main.cpp
deleted file mode 100755
index ad27970..0000000
--- a/lib/speed/ph-speeddial-main.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <ui-gadget-module.h>
-#include <bundle.h>
-#include <efl_assist.h>
-
-#include "phone.h"
-#include "phone-common.h"
-#include "ph-speeddial-view.h"
-#include "ViewManager.h"
-
-static bool speed_create_ug_view(ph_speeddial_data * speed_d, Evas_Object *base)
-{
- PH_TRACE;
- p_retvm_if(NULL == speed_d, false, "Parameter is null");
-
- if (NULL == speed_d->navi)
- {
- speed_d->navi = elm_naviframe_add(base);
- p_retvm_if(NULL == speed_d->navi, false, "elm_naviframe_add is failed");
- ea_object_event_callback_add(speed_d->navi, EA_CALLBACK_BACK, &Common::ViewManager::onBack, speed_d->win);
- ea_object_event_callback_add(speed_d->navi, EA_CALLBACK_MORE, &Common::ViewManager::onMenu, NULL);
- elm_object_part_content_set(base, "elm.swallow.content", speed_d->navi);
- evas_object_show(speed_d->navi);
- }
-
- speed_d->layout = ph_speed_create_content(speed_d->navi, speed_d);
- p_retvm_if(NULL == speed_d->layout, false,
- "Fail to ph_speed_create_content");
-
- return true;
-}
-
-static void *speed_on_create(ui_gadget_h ug, enum ug_mode mode,
- service_h service, void *priv)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *bg;
- Evas_Object *base;
- Evas_Object *parent;
- ph_speeddial_data *speed_d;
-
- if (!ug || !priv)
- return NULL;
-
- bindtextdomain(PACKAGE, LOCALEDIR);
-
- parent = (Evas_Object *) ug_get_parent_layout(ug);
- if (!parent)
- return NULL;
-
- speed_d = (ph_speeddial_data *) priv;
- speed_d->ug = ug;
- speed_d->win = (Evas_Object *) ug_get_window();
- speed_d->is_ug = true;
-
- err = contacts_connect2();
- p_retvm_if(CONTACTS_ERROR_NONE != err, NULL,
- "contacts_connect2() Failed(%d)", err);
-
- if (mode == UG_MODE_FULLVIEW)
- base = phone_create_base_layout(parent, true);
- else
- base = phone_create_base_layout(parent, false);
-
- bg = phone_create_bg(base);
- if (NULL == bg)
- {
- PH_DBG("phone_create_bg() return NULL");
- evas_object_del(base);
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_disconnect2() Failed(%d)", err);
- return NULL;
- }
-
- if (!speed_create_ug_view(speed_d, base))
- {
- evas_object_del(base);
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_disconnect2() Failed(%d)", err);
- }
- return base;
-}
-
-static void speed_on_start(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
-}
-
-static void speed_on_pause(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
-}
-
-static void speed_on_resume(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
-}
-
-static void speed_on_destroy(ui_gadget_h ug, service_h service, void *priv)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- if (!ug)
- return;
-
- evas_object_del((Evas_Object *) ug_get_layout(ug));
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_disconnect2() Failed(%d)",
- err);
-}
-
-static void speed_on_message(ui_gadget_h ug, service_h msg, service_h service,
- void *priv)
-{
- PH_TRACE;
-}
-
-static void speed_on_event(ui_gadget_h ug, enum ug_event event,
- service_h service, void *priv)
-{
- PH_TRACE;
- switch (event)
- {
- case UG_EVENT_ROTATE_PORTRAIT:
- case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
- case UG_EVENT_ROTATE_LANDSCAPE:
- case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
- break;
- case UG_EVENT_LANG_CHANGE:
- break;
- default:
- break;
- }
-}
-
-static void speed_on_key_event(ui_gadget_h ug, enum ug_key_event event,
- service_h data, void *priv)
-{
- PH_TRACE;
- if (!ug)
- return;
-
- switch (event)
- {
- case UG_KEY_EVENT_END:
- ug_destroy_me(ug);
- break;
- default:
- break;
- }
-}
-
-extern "C" API int UG_MODULE_INIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- ph_speeddial_data *speed_d;
-
- if (!ops)
- return -1;
-
- speed_d = (ph_speeddial_data *) calloc(1, sizeof(ph_speeddial_data));
- if (!speed_d)
- return -1;
-
- ops->create = speed_on_create;
- ops->start = speed_on_start;
- ops->pause = speed_on_pause;
- ops->resume = speed_on_resume;
- ops->destroy = speed_on_destroy;
- ops->message = speed_on_message;
- ops->event = speed_on_event;
- ops->key_event = speed_on_key_event;
- ops->priv = speed_d;
- ops->opt = UG_OPT_INDICATOR_ENABLE;
-
- return 0;
-}
-
-extern "C" API void UG_MODULE_EXIT(struct ug_module_ops *ops)
-{
- PH_TRACE;
- if (!ops)
- return;
-
- ops->priv = NULL;
-}
-
-API Evas_Object *phone_create_speeddial_view(ui_gadget_h ug, Evas_Object *win,
- Evas_Object *navi)
-{
- PH_TRACE;
- ph_speeddial_data * speed_d = (ph_speeddial_data *) calloc(1, sizeof(ph_speeddial_data));
- p_retvm_if(NULL == speed_d, NULL, "Faile to calloc ph_speeddial_data");
-
- speed_d->ug = ug;
- speed_d->is_ug = false;
- speed_d->win = win;
- speed_d->navi = navi;
- speed_d->layout = ph_speed_create_content(navi, speed_d);
- if (NULL == speed_d->layout)
- {
- free(speed_d);
- return NULL;
- }
-
- return speed_d->layout;
-}
-
diff --git a/lib/speed/ph-speeddial-view.cpp b/lib/speed/ph-speeddial-view.cpp
deleted file mode 100755
index 9ff45d0..0000000
--- a/lib/speed/ph-speeddial-view.cpp
+++ /dev/null
@@ -1,724 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <Ecore_X.h>
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-#include "phone-common.h"
-#include "ph-speeddial-view.h"
-
-#define KEY_SPEED_DATA "speed_d"
-#define SPEED_VOICE_MAIL_NUM 1
-#define ELM_SWALLOW_CHECK_ICON "elm.swallow.check.icon"
-
-static Elm_Gengrid_Item_Class grid_itc, grid_itc_empty;
-
-enum
-{
- PH_SPEED_MODE_DEFAULT,
- PH_SPEED_MODE_EDIT,
-};
-
-static void speed_edit_mode_start(ph_speeddial_data * speed_d);
-static void speed_edit_mode_end(ph_speeddial_data * speed_d);
-
-static int speed_unset_speeddial(int spdial_num)
-{
- PH_TRACE;
- return contacts_db_delete_record(_contacts_speeddial._uri, spdial_num);
-}
-
-static void speed_update_button_status(ph_speeddial_data *speed_d)
-{
- PH_TRACE;
- p_retm_if(NULL == speed_d, "Parameter is null");
- p_retm_if(NULL == speed_d->ctrl_item, "Navi button is null");
-
- if (speed_d->is_edit_mode && 0 == speed_d->checked_cnt)
- {
- elm_object_disabled_set(speed_d->ctrl_item, EINA_TRUE);
- }
- else
- {
- elm_object_disabled_set(speed_d->ctrl_item, EINA_FALSE);
- }
-}
-
-static void speed_load_list(ph_speeddial_data *speed_d)
-{
- PH_TRACE;
- p_retm_if(NULL == speed_d, "Parameter is null");
-
- phone_free_speeddial_data(speed_d->speeddial_list);
- speed_d->speeddial_list_count = 0;
- speed_d->speeddial_list = phone_load_speeddial_data(
- &(speed_d->speeddial_list_count));
-}
-
-static void speed_popup_response_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) data;
- evas_object_del(speed_d->popup);
- speed_d->popup = NULL;
-}
-
-static void speed_add_start_cb(void *data, void *data2)
-{
- PH_TRACE;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) data;
- int *number_id = (int *) data2;
- int ret;
-
- p_retm_if(NULL == speed_d, "speed data is null");
- p_retm_if(*number_id <= 0, "returned number_id is less than 0");
- p_retm_if(20 < speed_d->cur_dial_num, "current dial num is higher than 20");
-
- ret = speed_set_speeddial(speed_d->cur_dial_num, *number_id);
- if (ret < 0)
- phone_show_popup(speed_d->navi, S_(PH_SYS_POP_ALREDY_EXISTS), 2.0);
-}
-
-static void speed_destroy_child_ug(void *data)
-{
- PH_TRACE;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) data;
- speed_d->child_ug = NULL;
-}
-
-static void speed_grid_empty_selected(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_speeddial_data * speed_d = (ph_speeddial_data *) evas_object_data_get(obj, KEY_SPEED_DATA);
- int index = (int) data;
- p_retm_if(true == speed_d->is_edit_mode, "It is in Edit mode");
- elm_gengrid_item_selected_set((Elm_Object_Item *) event_info, EINA_FALSE);
-
- speed_d->cur_dial_num = index;
- speed_d->child_ug = phone_launch_contact_list_ug(speed_d->ug,
- CT_UG_REQUEST_SELECT_NUMBER, speed_add_start_cb,
- speed_destroy_child_ug, speed_d);
-}
-
-static void speed_change_start_cb(void *data, void *data2)
-{
- PH_TRACE;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) data;
- int *number_id = (int *) data2;
- int err = CONTACTS_ERROR_NONE;
- p_retm_if(NULL == speed_d, "speed data is null");
- p_retm_if(*number_id <= 0, "returned number_id is less than 0");
- p_retm_if(20 < speed_d->cur_dial_num, "current dial num is higher than 20");
- speed_unset_speeddial(speed_d->cur_dial_num);
- err = speed_set_speeddial(speed_d->cur_dial_num, *number_id);
- if (CONTACTS_ERROR_NONE != err)
- {
- phone_show_popup(speed_d->navi, S_(PH_SYS_POP_ALREDY_EXISTS), 1.5);
- }
-}
-
-static void speed_grid_change_contact(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) data;
- p_retm_if(NULL== speed_d, "Speeddial data is null");
-
- speed_popup_response_cb(speed_d, NULL, NULL);
- speed_d->child_ug = phone_launch_contact_list_ug(speed_d->ug,
- CT_UG_REQUEST_SELECT_NUMBER, speed_change_start_cb,
- speed_destroy_child_ug, speed_d);
-}
-
-static void speed_grid_remove_speeddial(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) data;
- speed_popup_response_cb(speed_d, NULL, NULL);
- err = speed_unset_speeddial(speed_d->cur_dial_num);
- if (CONTACTS_ERROR_NONE != err)
- phone_show_tickernoti(S_(PH_SYS_POP_FAILED));
- else
- phone_show_tickernoti(S_(PH_SYS_POP_REMOVED));
-}
-
-static void speed_create_edit_popup(ph_speeddial_info *s_info, ph_speeddial_data *speed_d)
-{
- PH_TRACE;
- p_retm_if(NULL == s_info, "speeddial info is null");
- p_retm_if(NULL == speed_d, "speeddial data is null");
-
- Evas_Object *popup = NULL;
- Evas_Object *list = NULL;
- Evas_Object *btn = NULL;
-
- if (SPEED_VOICE_MAIL_NUM == s_info->dial_number)
- return;
-
- speed_d->cur_dial_num = s_info->dial_number;
- popup = elm_popup_add(speed_d->win);
- elm_object_style_set(popup, "min_liststyle");
- elm_object_part_text_set(popup, "title,text", S_(PH_SYS_SK_EDIT));
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- list = elm_list_add(popup);
- elm_list_item_append(list, T_(PH_GET_TEXT_BASE_OP, PHTEXT_CHANGE_CONTACT),
- NULL, NULL, speed_grid_change_contact, speed_d);
- elm_list_item_append(list, S_(PH_SYS_BODY_REMOVE), NULL, NULL,
- speed_grid_remove_speeddial, speed_d);
- elm_list_mode_set(list, ELM_LIST_EXPAND);
- elm_object_content_set(popup, list);
-
- btn = elm_button_add(popup);
- elm_object_text_set(btn, S_(PH_SYS_POP_CLOSE));
- elm_object_part_content_set(popup, "button1", btn);
- elm_object_style_set(btn, "popup_button/default");
- evas_object_smart_callback_add(btn, "clicked", speed_popup_response_cb,
- speed_d);
-
- speed_d->popup = popup;
- evas_object_show(popup);
-}
-
-static void speed_edit_update_check(Elm_Object_Item *item, ph_speeddial_info *s_info, ph_speeddial_data *speed_d);
-
-static void speed_grid_item_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ph_speeddial_info *s_info = (ph_speeddial_info *) data;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) evas_object_data_get(obj, KEY_SPEED_DATA);
- p_retm_if(NULL == speed_d, "speeddial data is null");
-
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- p_retm_if(NULL == item, "item is NULL");
- elm_gengrid_item_selected_set(item, EINA_FALSE);
-
- if (speed_d->is_edit_mode)
- {
- speed_edit_update_check(item, s_info, speed_d);
- }
- else
- {
- speed_create_edit_popup(s_info, speed_d);
- }
-}
-
-static void speed_fill_gengrid(ph_speeddial_data *speed_d)
-{
- PH_TRACE;
- int i;
- p_retm_if(NULL == speed_d, "Parameter is null");
-
- for (i = 1; i < 10; i++)
- {
- Eina_List *l = NULL;
- bool is_find = false;
- ph_speeddial_info *cd;
- void *v_cd = NULL;
-
- EINA_LIST_FOREACH(speed_d->speeddial_list, l, v_cd)
- {
- cd = (ph_speeddial_info *) v_cd;
- if (!cd)
- continue;
- if (cd->dial_number == i)
- {
- is_find = true;
- break;
- }
- }
- if (is_find)
- elm_gengrid_item_append(speed_d->gengrid, &grid_itc, cd,
- speed_grid_item_sel, cd);
- else
- elm_gengrid_item_append(speed_d->gengrid, &grid_itc_empty,
- (void*) i, speed_grid_empty_selected, (void*) i);
- }
- evas_object_show(speed_d->gengrid);
-}
-
-static void speed_data_list_changed_cb(const char* view_uri, void* data)
-{
- PH_TRACE;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) data;
- p_retm_if(NULL == speed_d, "Parameter is null");
- if (speed_d->gengrid)
- {
- speed_d->checked_cnt = 0;
- speed_load_list(speed_d);
- elm_gengrid_clear(speed_d->gengrid);
- speed_fill_gengrid(speed_d);
- speed_update_button_status(speed_d);
- }
-}
-
-static char *speed_grid_empty_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- if (0 == strcmp(part, "elm.text.number"))
- {
- int index = (int) data;
- char buf[PATH_MAX] = { 0 };
- snprintf(buf, sizeof(buf), "%d", index);
- return strdup(buf);
- }
- return NULL;
-}
-
-static char *speed_grid_label_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- char buf[PATH_MAX] = { 0 };
- ph_speeddial_info *s_info = (ph_speeddial_info *) data;
-
- p_retvm_if(NULL == s_info, NULL, "speeddial info is null");
-
- if (0 == strcmp(part, "elm.text.number"))
- {
- if (SPEED_VOICE_MAIL_NUM == s_info->dial_number)
- return NULL;
- snprintf(buf, sizeof(buf), "%d", s_info->dial_number);
- return strdup(buf);
- }
- else if (0 == strcmp(part, "elm.text"))
- {
- if (s_info->display && *s_info->display)
- snprintf(buf, sizeof(buf), "%s", s_info->display);
- else if (s_info->ph_number && *s_info->ph_number)
- snprintf(buf, sizeof(buf), "%s", s_info->ph_number);
- else
- return NULL;
- return strdup(buf);
- }
- return NULL;
-}
-
-static void speed_del_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) data;
- Eina_List *l;
- bool deleted = false;
- void *info = NULL;
-
- EINA_LIST_FOREACH(speed_d->speeddial_list, l, info)
- {
- ph_speeddial_info *s_info = (ph_speeddial_info *) info;
- if (!s_info)
- continue;
- if (EINA_TRUE == s_info->is_checked)
- {
- PH_DBG("%d", s_info->dial_number);
- speed_unset_speeddial(s_info->dial_number);
- deleted = true;
- }
- }
-
- if (deleted)
- {
- phone_hide_notify(speed_d->layout);
- phone_show_tickernoti(S_(PH_SYS_POP_REMOVED));
- }
-
- speed_edit_mode_end(speed_d);
-}
-
-static void speed_edit_set_selection_info(void *data)
-{
- PH_TRACE;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) data;
- p_retm_if(NULL == speed_d, "Selection info is null");
-
- if (0 == speed_d->checked_cnt)
- phone_hide_notify(speed_d->layout);
- else
- {
- char info_text[PH_TEXT_SHORT_LEN] = { 0 };
- snprintf(info_text, sizeof(info_text), "%s (%d)",
- S_(PH_SYS_POP_SELECTED), speed_d->checked_cnt);
- phone_show_notify(speed_d->layout, info_text);
- }
-}
-
-static void speed_edit_check_changed_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) data;
- if (elm_check_state_get(obj))
- speed_d->checked_cnt++;
- else
- speed_d->checked_cnt--;
- speed_edit_set_selection_info(speed_d);
- speed_update_button_status(speed_d);
-}
-
-static void speed_edit_update_check(Elm_Object_Item *item, ph_speeddial_info *s_info, ph_speeddial_data *speed_d)
-{
- PH_TRACE;
- p_retm_if(NULL == speed_d, "speeddial data is null");
- p_retm_if(NULL == s_info, "speeddial info is null");
- p_retm_if(NULL == item, "item is NULL");
-
- Evas_Object *check = NULL;
-
- if (s_info->is_checked)
- {
- speed_d->checked_cnt--;
- }
- else
- {
- speed_d->checked_cnt++;
- }
- check = elm_object_item_part_content_get(item, ELM_SWALLOW_CHECK_ICON);
- elm_check_state_set(check, !s_info->is_checked);
- speed_edit_set_selection_info(speed_d);
- speed_update_button_status(speed_d);
-}
-
-static Evas_Object *speed_grid_content_get(void *data, Evas_Object *obj,
- const char *part)
-{
- PH_TRACE;
- ph_speeddial_info *s_info = (ph_speeddial_info *) data;
- p_retvm_if(NULL == s_info, NULL, "parameter is null");
- ph_speeddial_data *speed_d = (ph_speeddial_data *) evas_object_data_get(obj, KEY_SPEED_DATA);
-
- if ((0 == strcmp(part, "elm.thumbnail"))
- || (0 == strcmp(part, "elm.swallow.icon")))
- {
- Evas_Object *ic;
- if (s_info->img_path)
- ic = phone_create_icon_with_img(obj, s_info->img_path);
- else
- ic = phone_create_icon_with_img(obj, IMG_DEFAULT);
- if (SPEED_VOICE_MAIL_NUM == s_info->dial_number)
- elm_image_resizable_set(ic, EINA_FALSE, EINA_FALSE);
- return ic;
- }
- else if (0 == strcmp(part, ELM_SWALLOW_CHECK_ICON)
- && speed_d->is_edit_mode)
- {
- Evas_Object *btn;
- if (SPEED_VOICE_MAIL_NUM == s_info->dial_number)
- return NULL;
- btn = elm_check_add(obj);
- elm_object_style_set(btn, "grid");
- elm_check_state_pointer_set(btn, &(s_info->is_checked));
- evas_object_smart_callback_add(btn, "changed",
- speed_edit_check_changed_cb, speed_d);
- evas_object_propagate_events_set(btn, EINA_FALSE);
- return btn;
- }
- return NULL;
-}
-
-static void ph_speed_menu_cb(void* data);
-
-static void speed_edit_back_btn_cb(void *data)
-{
- PH_TRACE;
- Elm_Object_Item * item;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) data;
- Eina_List *l;
- void *info = NULL;
-
- EINA_LIST_FOREACH(speed_d->speeddial_list, l, info)
- {
- ph_speeddial_info *s_info = (ph_speeddial_info *) info;
- if (!s_info)
- continue;
- s_info->is_checked = EINA_FALSE;
- }
- speed_d->checked_cnt = 0;
- phone_hide_notify(speed_d->layout);
- speed_edit_mode_end(speed_d);
-
- item = elm_gengrid_first_item_get(speed_d->gengrid);
- while (item)
- {
- elm_gengrid_item_update(item);
- item = elm_gengrid_item_next_get(item);
- }
-
- speed_d->menu_cb = ph_speed_menu_cb;
- evas_object_del(speed_d->ctrl_item);
- speed_d->ctrl_item = NULL;
-}
-
-static void speed_edit_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) data;
- if (speed_d)
- {
- speed_edit_mode_start(speed_d);
- }
-}
-
-static void speed_navi_set(int mode, ph_speeddial_data *speed_d)
-{
- PH_TRACE;
- Elm_Object_Item *navi_it;
- Evas_Object *toolbar_btn;
-
- p_retm_if(NULL == speed_d, "parameter(controlbar) is NULL");
-
- navi_it = elm_naviframe_top_item_get(speed_d->navi);
- p_retm_if(NULL == navi_it, "navi item is NULL");
- phone_navi_item_reset(speed_d->navi_item, speed_d);
-
- if (mode == PH_SPEED_MODE_EDIT)
- {
- toolbar_btn = phone_create_toolbar_btn(speed_d->navi,
- S_(PH_SYS_SK_DELETE), speed_del_btn_cb, speed_d);
-
- elm_object_item_part_content_set(speed_d->navi_item, "toolbar", toolbar_btn);
- speed_d->back_cb = speed_edit_back_btn_cb;
-
- speed_d->ctrl_item = toolbar_btn;
- }
-
- speed_update_button_status(speed_d);
-}
-
-static void speed_edit_mode_start(ph_speeddial_data *speed_d)
-{
- PH_TRACE;
- Elm_Object_Item * item;
-
- speed_d->is_edit_mode = true;
-
- item = elm_gengrid_first_item_get(speed_d->gengrid);
- while (item)
- {
- elm_gengrid_item_update(item);
- item = elm_gengrid_item_next_get(item);
- }
- elm_object_item_part_text_set(speed_d->navi_item, "elm.text.title",
- T_(PH_GET_TEXT_BASE_OP, PHTEXT_SELECT_SPEED_DIAL_CONTACTS));
- speed_navi_set(PH_SPEED_MODE_EDIT, speed_d);
-}
-
-static void speed_edit_mode_end(ph_speeddial_data *speed_d)
-{
- PH_TRACE;
- p_retm_if(NULL == speed_d, "speed_d is NULL");
-
- speed_d->is_edit_mode = false;
-
- elm_object_item_part_text_set(speed_d->navi_item, "elm.text.title",
- T_(PH_GET_TEXT_BASIC, PHTEXT_SPEEDDIAL));
- speed_navi_set(PH_SPEED_MODE_DEFAULT, speed_d);
-}
-
-static Evas_Object* speed_create_gengrid(ph_speeddial_data *speed_d,
- Evas_Object *parent)
-{
- PH_TRACE;
- Evas_Object *gengrid;
- int wx = 0;
- int hy = 0;
-
- p_retvm_if(NULL == speed_d, NULL, "Parameter is null");
-
- gengrid = elm_gengrid_add(parent);
- p_retvm_if(NULL == gengrid, NULL, "elm_gengrid_add is failed");
- elm_object_theme_set(gengrid, speed_d->th);
-
- ecore_x_window_size_get(ecore_x_window_root_get(ecore_x_window_focus_get()),
- &wx, &hy);
- elm_gengrid_item_size_set(gengrid, wx / 3, 273);
- elm_gengrid_align_set(gengrid, 0.5, 0.0);
- elm_gengrid_horizontal_set(gengrid, EINA_FALSE);
- elm_scroller_bounce_set(gengrid, EINA_FALSE, EINA_TRUE);
- elm_gengrid_multi_select_set(gengrid, EINA_TRUE);
-
- evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
-
- grid_itc_empty.item_style = "gridtext_speeddial";
- grid_itc_empty.func.text_get = speed_grid_empty_label_get;
- grid_itc_empty.func.content_get = NULL;
- grid_itc_empty.func.state_get = NULL;
- grid_itc_empty.func.del = NULL;
-
- grid_itc.item_style = "gridtext_speeddial";
- grid_itc.func.text_get = speed_grid_label_get;
- grid_itc.func.content_get = speed_grid_content_get;
- grid_itc.func.state_get = NULL;
- grid_itc.func.del = NULL;
-
- evas_object_data_set(gengrid, KEY_SPEED_DATA, speed_d);
-
- return gengrid;
-}
-
-static void speed_view_delete_cb(void *data, Evas *e, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ph_speeddial_data *speed_d = (ph_speeddial_data *) data;
- int err = CONTACTS_ERROR_NONE;
-
- p_retm_if(NULL == speed_d, "speed data is null");
-
- err = contacts_db_remove_changed_cb(_contacts_person._uri,
- speed_data_list_changed_cb, speed_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
- err = contacts_db_remove_changed_cb(_contacts_speeddial._uri,
- speed_data_list_changed_cb, speed_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_remove_changed_cb() Failed(%d)", err);
-
- if (speed_d->speeddial_list)
- phone_free_speeddial_data(speed_d->speeddial_list);
-
- if (speed_d->th)
- {
- elm_theme_extension_del(speed_d->th, SPEEDDIAL_THEME_EDJ);
- elm_theme_free(speed_d->th);
- }
-
- if (speed_d->popup)
- evas_object_del(speed_d->popup);
-
- if (!speed_d->ug && speed_d->child_ug)
- ug_destroy(speed_d->child_ug);
-
- free(speed_d);
-}
-
-static int speed_create_layout(ph_speeddial_data *speed_d)
-{
- PH_TRACE;
- Evas_Object *layout;
- Evas_Object *base;
- Evas_Object *gengrid;
-
- base = elm_layout_add(speed_d->navi);
- p_retvm_if(NULL == base, 0, "elm_layout_add() return NULL");
- elm_layout_file_set(base, SELECTION_INFO_EDJ, "selectioninfo_layout");
-
- layout = phone_create_base_layout(base, false);
- p_retvm_if(NULL == layout, 0, "fail : phone_create_base_layout");
- elm_object_part_content_set(base, "contents", layout);
- speed_d->layout = base;
-
- gengrid = speed_create_gengrid(speed_d, layout);
- p_retvm_if(NULL == gengrid, 0, "fail : _create_check_gengrid");
- speed_d->gengrid = gengrid;
- elm_object_part_content_set(layout, "elm.swallow.content", gengrid);
-
- speed_load_list(speed_d);
- speed_fill_gengrid(speed_d);
-
- evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL,
- speed_view_delete_cb, speed_d);
- return 1;
-}
-
-static void ph_speed_hide_menu_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ph_speeddial_data* speed_d = static_cast<ph_speeddial_data*>( data );
- if(speed_d->m_Menu)
- {
- evas_object_del(speed_d->m_Menu);
- speed_d->m_Menu = NULL;
- }
- }
-}
-
-static void ph_speed_delete_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ph_speed_hide_menu_cb(data,obj,event_info);
- speed_edit_btn_cb(data,obj,event_info);
-}
-
-static void ph_speed_menu_cb(void* data)
-{
- PH_TRACE;
- ph_speeddial_data* speed_d = (ph_speeddial_data*) data;
-
- if (speed_d)
- {
- speed_d->m_Menu = elm_ctxpopup_add(speed_d->navi);
-
- if (speed_d->m_Menu)
- {
- elm_ctxpopup_item_append(speed_d->m_Menu, S_(PH_SYS_SK_DELETE), NULL, ph_speed_delete_cb, speed_d);
- Elm_Object_Item * changeOrderItem = elm_ctxpopup_item_append(speed_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_CHANGE_ORDER), NULL, NULL, speed_d);
- elm_object_item_disabled_set(changeOrderItem, EINA_TRUE);
-
- evas_object_smart_callback_add(speed_d->m_Menu, "dismissed", ph_speed_hide_menu_cb, speed_d);
- int x = 0, y = 0, w = 0, h = 0;
- evas_object_geometry_get(speed_d->navi, &x, &y, &w, &h);
-
- evas_object_move(speed_d->m_Menu, 0, y + h);
- evas_object_show(speed_d->m_Menu);
- }
- }
-}
-
-Evas_Object *ph_speed_create_content(Evas_Object *parent,
- ph_speeddial_data *speed_d)
-{
- PH_TRACE;
- Elm_Theme *th;
- int ret;
- int err = CONTACTS_ERROR_NONE;
-
- th = elm_theme_new();
- elm_theme_ref_set(th, NULL);
- elm_theme_extension_add(th, SPEEDDIAL_THEME_EDJ);
- speed_d->th = th;
-
- ret = speed_create_layout(speed_d);
- p_retvm_if(0 == ret, NULL, "speed_create_layout is failed");
-
- speed_d->navi_item = elm_naviframe_item_push(speed_d->navi,
- T_(PH_GET_TEXT_BASIC, PHTEXT_SPEEDDIAL), NULL, NULL,
- speed_d->layout, NULL);
-
- speed_navi_set(PH_SPEED_MODE_DEFAULT, speed_d);
-
- speed_d->menu_cb = ph_speed_menu_cb;
-
- err = contacts_db_add_changed_cb(_contacts_person._uri,
- speed_data_list_changed_cb, speed_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_add_changed_cb() Failed(%d)", err);
- err = contacts_db_add_changed_cb(_contacts_speeddial._uri,
- speed_data_list_changed_cb, speed_d);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_add_changed_cb() Failed(%d)", err);
-
- return speed_d->layout;
-}
diff --git a/lib/speed/ph-speeddial-view.h b/lib/speed/ph-speeddial-view.h
deleted file mode 100755
index cd35f20..0000000
--- a/lib/speed/ph-speeddial-view.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __SPEEDDIAL_VIEW_H__
-#define __SPEEDDIAL_VIEW_H__
-
-#include "View.h"
-
-typedef struct : public Common::View
-{
- Evas_Object *gengrid;
- Evas_Object *ctrl_item;
- Eina_List *speeddial_list;
- int cur_dial_num;
- int checked_cnt;
- int speeddial_list_count;
- bool is_ug;
- bool is_edit_mode;
-} ph_speeddial_data;
-
-Evas_Object *ph_speed_create_content(Evas_Object *parent,
- ph_speeddial_data *speed_d);
-
-#endif /* __SPEEDDIAL_VIEW_H__ */
diff --git a/lib/speed/speeddial-efl.xml b/lib/speed/speeddial-efl.xml
deleted file mode 100644
index d6151a2..0000000
--- a/lib/speed/speeddial-efl.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="speeddial-efl" version="0.1.0-0" install-location="internal-only">
- <label>speeddial</label>
- <author email="ensung.park@samsung.com" href="www.samsung.com">ensung park</author>
- <description>speeddial-efl Application</description>
- <ui-application appid="speeddial-efl" exec="/usr/ug/bin/speeddial-efl" nodisplay="true" multiple="true" type="capp" taskmanage="false">
- <icon>org.tizen.contacts.png</icon>
- <label>speeddial</label>
- <label xml:lang="en-us">speeddial</label>
- <label xml:lang="nl-nl">speeddial</label>
- <label xml:lang="de-de">speeddial</label>
- <label xml:lang="en-gb">speeddial</label>
- <label xml:lang="zh-hk">speeddial</label>
- <label xml:lang="zh-cn">speeddial</label>
- <label xml:lang="ru-ru">speeddial</label>
- <label xml:lang="zh-tw">speeddial</label>
- <label xml:lang="ja-jp">speeddial</label>
- <label xml:lang="es-es">speeddial</label>
- <label xml:lang="el-gr">speeddial</label>
- <label xml:lang="it-it">speeddial</label>
- <label xml:lang="tr-tr">speeddial</label>
- <label xml:lang="pt-pt">speeddial</label>
- <label xml:lang="fr-fr">speeddial</label>
- <label xml:lang="ko-kr">speeddial</label>
- <application-service>
- <operation name="http://tizen.org/ns/packages"/>
- </application-service>
- </ui-application>
-</manifest>
diff --git a/libug-phone-efl.manifest b/libug-phone-efl.manifest
deleted file mode 100644
index 4a7d8dd..0000000
--- a/libug-phone-efl.manifest
+++ /dev/null
@@ -1,11 +0,0 @@
-<manifest>
- <define>
- <domain name="libug-phone"/>
- <provide>
- <label name="libug-phone::data"/>
- </provide>
- </define>
- <request>
- <domain name="_"/>
- </request>
-</manifest>
diff --git a/main-app/.cproject b/main-app/.cproject
new file mode 100644
index 0000000..9197cbb
--- /dev/null
+++ b/main-app/.cproject
@@ -0,0 +1,947 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="contacts" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GmakeErrorParser" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.app.debug" postannouncebuildStep="" postbuildStep="" preannouncebuildStep="" prebuildStep="mkdir ../lib;cp ../../lib-phone/ph-dialer/Debug/libph-dialer.so ../lib;cp ../../lib-phone/ph-loglist/Debug/libph-loglist.so ../lib;cp ../../lib-phone/ph-common/Debug/libph-common.so ../lib;cp ../../lib-carriermatch/Debug/libcarriermatch.so ../lib;cp ../../lib-common/Debug/libcommon.so ../lib;cp ../../app-assist-efl/Debug/libapp-assist-efl.so ../lib;cp ../../lib-contact/ct-setting/Debug/libct-setting.so ../lib;cp ../../lib-contact/ct-list/Debug/libct-list.so ../lib;cp ../../lib-contact/ct-tab/Debug/libct-tab.so ../lib;cp ../../lib-contact/ct-detail/Debug/libct-detail.so ../lib;cp ../../app-assist-efl/Debug/res/edje/app-assist-efl.edj ../res/edje;&#10;">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844." name="/" resourcePath="">
+ <toolChain errorParsers="" id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.2114912907" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.222513004" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/contacts-app}/Debug" enableAutoBuild="true" errorParsers="org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.CWDLocator" id="org.tizen.nativecore.target.sbi.gnu.builder.1174331631" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="unlimited" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1910351546" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="i386-linux-gnueabi-g++" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.2010863231" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1445887887" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.570639686" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.812561764" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.346497617" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.279876328" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.525721940" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc/app-assist}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-list/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-dialer/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-tab/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="../../app-assist-efl/inc"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-loglist/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-speeddial/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.2030816842" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1314014196" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="_SDK_BUILD"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.808103680" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <option id="gnu.cpp.compiler.option.dialect.std.1207180970" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.1341328680"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1772398707" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="i386-linux-gnueabi-gcc" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1686051833" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.721199363" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.366010254" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.971722997" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.43530535" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2081097659" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.619848615" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csc-feature&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-assist&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/privacymgr&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.98377245" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.1724966490" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <option id="gnu.c.compiler.option.dialect.std.839182964" name="Language standard" superClass="gnu.c.compiler.option.dialect.std" value="gnu.c.compiler.dialect.default" valueType="enumerated"/>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1919648094"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.236121862" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.681323582" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="i386-linux-gnueabi-g++" commandLinePattern="${COMMAND} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} ${FLAGS}" errorParsers="org.eclipse.cdt.core.GLDErrorParser" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.604042716" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1022864765" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath=&quot;/home/developer/sdk_tools/lib&quot;"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script=${PROJ_PATH}/.exportMap"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1367131774" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-dialer/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-loglist/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-common/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ph-speeddial/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-list/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/ct-tab/Debug}&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.102752693" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="app-assist-efl"/>
+ <listOptionValue builtIn="false" value="ph-speeddial"/>
+ <listOptionValue builtIn="false" value="ct-list"/>
+ <listOptionValue builtIn="false" value="ph-loglist"/>
+ <listOptionValue builtIn="false" value="ph-common"/>
+ <listOptionValue builtIn="false" value="ph-dialer"/>
+ <listOptionValue builtIn="false" value="common"/>
+ <listOptionValue builtIn="false" value="ct-tab"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1954793875" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GASErrorParser" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.598533575" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1879865449" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool command="msgfmt" commandLinePattern="${COMMAND} ${OUTPUT_FLAG} ${OUTPUT} ${INPUTS}" errorParsers="" id="org.tizen.nativecore.tool.sbi.po.compiler.197367705" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool command="edje_cc" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${INPUTS} ${OUTPUT}" errorParsers="" id="org.tizen.nativecore.tool.sbi.edc.compiler.179678276" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.2110817018" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/contacts/images&quot;" valueType="string"/>
+ <option id="sbi.gnu.edc.compiler.option.misc.sd.216021372" name="Sound Path (-sd)" superClass="sbi.gnu.edc.compiler.option.misc.sd" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/contacts/sounds&quot;" valueType="string"/>
+ <option id="sbi.gnu.edc.compiler.option.misc.fd.1286717966" name="Font Path (-fd)" superClass="sbi.gnu.edc.compiler.option.misc.fd" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/contacts/fonts&quot;" valueType="string"/>
+ </tool>
+ <tool command="clangFnMapGen" commandLinePattern="${COMMAND} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} -ast $(@:%.fn=%.ast) ${INPUTS} -- ${FLAGS}" errorParsers="" id="org.tizen.nativecore.tool.fnmapgen.5577801" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool command="clangFnMapGen" commandLinePattern="${COMMAND} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} -ast $(@:%.fn=%.ast) ${INPUTS} -- ${FLAGS}" errorParsers="" id="org.tizen.nativecore.tool.fnmapgen.cpp.938792979" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool command="clang" commandLinePattern="${COMMAND} -emit-ast ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="" id="org.tizen.nativecore.tool.ast.2000073338" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool command="clang++" commandLinePattern="${COMMAND} -emit-ast ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="" id="org.tizen.nativecore.tool.ast.cpp.1105170907" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844.243484005" name="ph-dialer.edc" rcbsApplicability="disable" resourcePath="res/edje/phone/ph-dialer.edc" toolsToInvoke="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.1545221285">
+ <tool errorParsers="" id="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.1545221285" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler.179678276">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.1617038329" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/phone/images/WVGA/dialer_images&quot;" valueType="string"/>
+ <option id="sbi.gnu.edc.compiler.option.misc.sd.1169826641" name="Sound Path (-sd)" superClass="sbi.gnu.edc.compiler.option.misc.sd" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/phone/sounds&quot;" valueType="string"/>
+ </tool>
+ <tool customBuildStep="true" id="org.eclipse.cdt.managedbuilder.ui.rcbs.1298236447" name="Resource Custom Build Step">
+ <inputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.inputtype.279465914" name="Resource Custom Build Step Input Type">
+ <additionalInput kind="additionalinputdependency" paths=""/>
+ </inputType>
+ <outputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.outputtype.43426525" name="Resource Custom Build Step Output Type"/>
+ </tool>
+ </fileInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844.264600913" name="ph-speeddial.edc" rcbsApplicability="disable" resourcePath="res/edje/phone/ph-speeddial.edc" toolsToInvoke="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.1813052628">
+ <tool errorParsers="" id="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.1813052628" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler.179678276">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.746901078" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/phone/images/WVGA/dialer_images&quot;" valueType="string"/>
+ <option id="sbi.gnu.edc.compiler.option.misc.sd.354809432" name="Sound Path (-sd)" superClass="sbi.gnu.edc.compiler.option.misc.sd" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/phone/sounds&quot;" valueType="string"/>
+ </tool>
+ </fileInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844.133143220" name="ph-loglist.edc" rcbsApplicability="disable" resourcePath="res/edje/phone/ph-loglist.edc" toolsToInvoke="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.1910850546">
+ <tool errorParsers="" id="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.1910850546" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler.179678276">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.1903108552" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/phone/images/WVGA/log_images&quot;" valueType="string"/>
+ <option id="sbi.gnu.edc.compiler.option.misc.sd.223567481" name="Sound Path (-sd)" superClass="sbi.gnu.edc.compiler.option.misc.sd" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/phone/sounds&quot;" valueType="string"/>
+ </tool>
+ </fileInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844.514286429" name="genlist_extended_item.edc" rcbsApplicability="disable" resourcePath="res/edje/contacts/genlist_extended_item.edc" toolsToInvoke="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.1917688655">
+ <tool errorParsers="" id="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.1917688655" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler.179678276">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.998134772" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" value=" &quot;${workspace_loc:/${ProjName}}/res/edje&quot;" valueType="string"/>
+ </tool>
+ <tool customBuildStep="true" id="org.eclipse.cdt.managedbuilder.ui.rcbs.2094789805" name="Resource Custom Build Step">
+ <inputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.inputtype.2121565926" name="Resource Custom Build Step Input Type">
+ <additionalInput kind="additionalinputdependency" paths=""/>
+ </inputType>
+ <outputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.outputtype.356254831" name="Resource Custom Build Step Output Type"/>
+ </tool>
+ </fileInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844.672523985" name="detail_layout_carrier_match.edc" rcbsApplicability="disable" resourcePath="res/edje/contacts/detail_layout_carrier_match.edc" toolsToInvoke="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.2147168470">
+ <tool errorParsers="" id="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.2147168470" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler.179678276">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.978779635" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/contacts/image/WVGA/contact_edc_images&quot;" valueType="string"/>
+ </tool>
+ </fileInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844.252697286" name="image_layout.edc" rcbsApplicability="disable" resourcePath="res/edje/contacts/image_layout.edc" toolsToInvoke="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.1752667964">
+ <tool errorParsers="" id="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.1752667964" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler.179678276">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.1268005824" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/contacts/image/WVGA/contact_edc_images&quot;" valueType="string"/>
+ <option id="sbi.gnu.edc.compiler.option.misc.sd.913843116" name="Sound Path (-sd)" superClass="sbi.gnu.edc.compiler.option.misc.sd" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/contacts/sounds&quot;" valueType="string"/>
+ </tool>
+ </fileInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844.1124567286" name="list.edc" rcbsApplicability="disable" resourcePath="res/edje/contacts/list.edc" toolsToInvoke="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.228237912">
+ <tool errorParsers="" id="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.228237912" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler.179678276">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.514513500" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/&quot;" valueType="string"/>
+ </tool>
+ <tool customBuildStep="true" id="org.eclipse.cdt.managedbuilder.ui.rcbs.287082757" name="Resource Custom Build Step">
+ <inputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.inputtype.1127746263" name="Resource Custom Build Step Input Type">
+ <additionalInput kind="additionalinputdependency" paths=""/>
+ </inputType>
+ <outputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.outputtype.1627193673" name="Resource Custom Build Step Output Type"/>
+ </tool>
+ </fileInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844.98788682" name="detail_layout.edc" rcbsApplicability="disable" resourcePath="res/edje/contacts/detail_layout.edc" toolsToInvoke="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.797892194">
+ <tool errorParsers="" id="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.797892194" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler.179678276">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.1374489941" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" value=" &quot;${workspace_loc:/${ProjName}}/res/edje&quot;" valueType="string"/>
+ </tool>
+ <tool customBuildStep="true" id="org.eclipse.cdt.managedbuilder.ui.rcbs.1583575229" name="Resource Custom Build Step">
+ <inputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.inputtype.866393835" name="Resource Custom Build Step Input Type">
+ <additionalInput kind="additionalinputdependency" paths=""/>
+ </inputType>
+ <outputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.outputtype.1148201374" name="Resource Custom Build Step Output Type"/>
+ </tool>
+ </fileInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844.589669784" name="contacts.edc" rcbsApplicability="disable" resourcePath="res/edje/contacts/contacts.edc" toolsToInvoke="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.383718543">
+ <tool errorParsers="" id="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.383718543" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler.179678276">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.1403163244" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" value=" &quot;${workspace_loc:/${ProjName}}/res/edje&quot;" valueType="string"/>
+ <option id="sbi.gnu.edc.compiler.option.misc.sd.636049529" name="Sound Path (-sd)" superClass="sbi.gnu.edc.compiler.option.misc.sd" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/contacts/sounds&quot;" valueType="string"/>
+ </tool>
+ <tool customBuildStep="true" id="org.eclipse.cdt.managedbuilder.ui.rcbs.26462344" name="Resource Custom Build Step">
+ <inputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.inputtype.1796180992" name="Resource Custom Build Step Input Type">
+ <additionalInput kind="additionalinputdependency" paths=""/>
+ </inputType>
+ <outputType id="org.eclipse.cdt.managedbuilder.ui.rcbs.outputtype.860098961" name="Resource Custom Build Step Output Type"/>
+ </tool>
+ </fileInfo>
+ <fileInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844.458424620" name="settings_layout.edc" rcbsApplicability="disable" resourcePath="res/edje/contacts/settings_layout.edc" toolsToInvoke="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.439624948">
+ <tool errorParsers="" id="org.tizen.nativecore.tool.sbi.edc.compiler.179678276.439624948" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler.179678276">
+ <option id="sbi.gnu.edc.compiler.option.misc.id.1681492133" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" value=" &quot;${workspace_loc:/${ProjName}}/res/edje/contacts/image/WVGA/contact_edc_images&quot;" valueType="string"/>
+ </tool>
+ </fileInfo>
+ <sourceEntries>
+ <entry excluding="edje/contacts/WVGA-inc.edc|edje/contacts/sync_popup_carrier_match.edc|edje/contacts/progressbar_popup.edc|edje/contacts/loading_popup.edc|edje/contacts/genlist_macro.edc|edje/contacts/input_theme_carrier_match.edc|edje/contacts/input_theme.edc|contacts/edc/progressbar_popup.edc|contacts/edc/input_theme_carrier_match.edc|contacts/edc/input_theme.edc" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings">
+ <externalSettings containerId="app-assist-efl;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="carriermatch;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="common;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="ct-common;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="ct-detail;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="ct-detail-ug;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="ct-list;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="ct-setting;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="ct-tab;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="ph-common;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="ph-dialer;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="ph-dialer-ug;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="ph-loglist;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ <externalSettings containerId="ph-speeddial-ug;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier"/>
+ </storageModule>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.release.927461714">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.release.927461714" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="contacts" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.release.927461714" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.app.release" prebuildStep="mkdir ../lib;cp ../../app-assist-efl/Release/libapp-assist-efl.so ../lib;cp ../../lib-common/Release/libcommon.so ../lib;cp ../../lib-contact/ct-tab/Release/libct-tab.so ../lib;">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.release.927461714." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.release.1117327736" name="Tizen Core Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1250634553" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/contacts-app}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.1942998448" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.289087166" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.22563753" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.1026973801" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.93118832" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option id="sbi.gnu.cpp.compiler.option.687256290" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-device.core_llvm34.armel.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.946612840" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.440100875" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1494293051" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csc-feature&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-assist&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0/NPAPI&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0/WebKit2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/privacymgr&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1593975332" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.1176460442"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1888324645" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1067526977" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1581526614" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1240093942" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option id="sbi.gnu.c.compiler.option.1273446296" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-device.core_llvm34.armel.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1055691764" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1017983890" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-mthumb"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.2108756053" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1365836491" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1571337542"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1854755196" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1491889315" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.8910263" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.623534545" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath=&quot;/home/developer/sdk_tools/lib&quot;"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script=${PROJ_PATH}/.exportMap"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1631340226" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.948870615" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="app-assist-efl"/>
+ <listOptionValue builtIn="false" value="common"/>
+ <listOptionValue builtIn="false" value="ct-tab"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1450566687" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="arm-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1397921329" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1783676203" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1153468690" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1248097518" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.1099980126" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.112190289" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.1283451427" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1034694786" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.debug.da.498424816">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.da.498424816" moduleId="org.eclipse.cdt.core.settings" name="Dynamic Analyzer">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="contacts" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.da.498424816" name="Dynamic Analyzer" parent="org.tizen.nativecore.config.sbi.gcc45.app.debug.da.498424816">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.da.498424816." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.da.553322350" name="Tizen Core Toolchain">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1184561060" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/contacts-app}/Dynamic Analyzer" id="org.tizen.nativecore.target.sbi.gnu.builder.1938169727" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.675958309" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1899062544" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.55740821" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.1568602790" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.948732476" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_llvm34.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.285426329" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csc-feature&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-assist&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0/NPAPI&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0/WebKit2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/privacymgr&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.116607920" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="$(TC_COMPILER_MISC)"/>
+ <listOptionValue builtIn="false" value="$(RS_COMPILER_MISC)"/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1859028402" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.992705976" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_USE_DA_"/>
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1779640851" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.70229212"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1278127312" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.2116334695" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.572498057" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.87338974" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.547558273" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1156834285" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="contacts-app.org.tizen.nativecore.target.sbi.gcc45.app.30163666" name="Tizen Core Application" projectType="org.tizen.nativecore.target.sbi.gcc45.app"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.release.927461714">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.debug.da.498424816">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.debug.871430844">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Dynamic Analyzer">
+ <resource resourceType="PROJECT" workspacePath="/contacts-app"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/contacts-app"/>
+ </configuration>
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/contacts-app"/>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.tizen.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+</cproject>
diff --git a/main-app/.exportMap b/main-app/.exportMap
new file mode 100644
index 0000000..43e310e
--- /dev/null
+++ b/main-app/.exportMap
@@ -0,0 +1,4 @@
+{
+ global: main;
+ local: *;
+};
diff --git a/main-app/.gitignore b/main-app/.gitignore
new file mode 100644
index 0000000..364186e
--- /dev/null
+++ b/main-app/.gitignore
@@ -0,0 +1,2 @@
+/Debug
+/Release
diff --git a/main-app/.project b/main-app/.project
new file mode 100644
index 0000000..f386fcb
--- /dev/null
+++ b/main-app/.project
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>main-app</name>
+ <comment></comment>
+ <projects>
+ <project>app-assist-efl</project>
+ <project>carriermatch</project>
+ <project>common</project>
+ <project>ct-common</project>
+ <project>ct-detail</project>
+ <project>ct-detail-ug</project>
+ <project>ct-list</project>
+ <project>ct-setting</project>
+ <project>ct-tab</project>
+ <project>ph-common</project>
+ <project>ph-dialer</project>
+ <project>ph-dialer-ug</project>
+ <project>ph-loglist</project>
+ <project>ph-speeddial</project>
+ <project>ph-speeddial-ug</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <filteredResources>
+ <filter>
+ <id>0</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/main-app/.sdk_delta.info b/main-app/.sdk_delta.info
new file mode 100644
index 0000000..43dbc9a
--- /dev/null
+++ b/main-app/.sdk_delta.info
Binary files differ
diff --git a/main-app/.tproject b/main-app/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/main-app/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/main-app/CMakeLists.txt b/main-app/CMakeLists.txt
new file mode 100644
index 0000000..c325d80
--- /dev/null
+++ b/main-app/CMakeLists.txt
@@ -0,0 +1,18 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(contacts CXX)
+
+# install configuration file
+CONFIGURE_FILE(${PKGNAME}.xml ${CMAKE_BINARY_DIR}/${PKGNAME}.xml)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKGNAME}.png DESTINATION ${CMAKE_APP_ICON_DIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.phone.png DESTINATION ${CMAKE_APP_ICON_DIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKGNAME}.xml DESTINATION /usr/share/packages)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKGNAME}.efl DESTINATION /etc/smack/accesses.d)
+
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/edje/contacts/images/WVGA/contact_images/ DESTINATION ${CTIMGDIR})
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/edje/contacts/images/HD/ DESTINATION ${CTHDIMGDIR})
+
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/edje/phone/images/WVGA/common_images/ DESTINATION ${CTIMGDIR})
+
+# Add your submodule directory name
+ADD_SUBDIRECTORY(src)
+ADD_SUBDIRECTORY(res)
diff --git a/main-app/NOTICE b/main-app/NOTICE
new file mode 100755
index 0000000..1a82fd9
--- /dev/null
+++ b/main-app/NOTICE
@@ -0,0 +1 @@
+Copyright (c) Samsung Electronics Co., Ltd. All rights reserved.
diff --git a/main-app/org.tizen.contacts.efl b/main-app/org.tizen.contacts.efl
new file mode 100644
index 0000000..2e353c1
--- /dev/null
+++ b/main-app/org.tizen.contacts.efl
@@ -0,0 +1,162 @@
+org.tizen.contacts aul::launch --x--- ------
+org.tizen.contacts notification::db rw---- ------
+org.tizen.contacts system::homedir rwxat- ------
+org.tizen.contacts pulseaudio rwxat- ------
+org.tizen.contacts org.tizen.call r-x--- ------
+org.tizen.contacts system-server rw-a-- ------
+org.tizen.contacts cbhm r-x--- ------
+org.tizen.contacts csc-manager rwx--- ------
+org.tizen.contacts svi-data rwxat- ------
+org.tizen.contacts badge::db rw---- ------
+org.tizen.contacts system::media rwxat- ------
+org.tizen.contacts ug-launcher r-x--- ------
+org.tizen.contacts system::share rwxat- ------
+org.tizen.contacts sys-assert::core rwxat- ------
+org.tizen.contacts testmode r-x--- ------
+org.tizen.contacts init-dial::db r-x--- ------
+org.tizen.contacts data-provider-master::badge rw---- ------
+org.tizen.contacts data-provider-master::badge.client rw---- ------
+org.tizen.contacts data-provider-master::notification -w---- ------
+org.tizen.contacts data-provider-master rwx--- ------
+org.tizen.contacts data-provider-master::notification.client rwx--- ------
+org.tizen.contacts data-provider-master::data rwx--- ------
+org.tizen.contacts data-provider-master::share rwx--- ------
+org.tizen.contacts data-provider-master::provider rwx--- ------
+org.tizen.contacts org.tizen.w-add-viewer rwx--- ------
+org.tizen.contacts secure-storage rw---- ------
+org.tizen.contacts secure-storage::telephony_sim r----- ------
+org.tizen.contacts telephony_framework::api_modem rw---- ------
+org.tizen.contacts telephony_framework::api_call rwx--- ------
+org.tizen.contacts libaccounts-svc rw---- ------
+org.tizen.contacts net-config r----- ------
+org.tizen.contacts xorg rw---- ------
+org.tizen.contacts contacts-service rwx--- ------
+org.tizen.contacts isf rwx--- ------
+org.tizen.contacts media-data::db rw---- ------
+org.tizen.contacts sound_server rw---- ------
+org.tizen.contacts pkgmgr r----- ------
+org.tizen.contacts efreet r-x--- ------
+org.tizen.contacts appsvc::db rw---- ------
+org.tizen.contacts msg-service rwx--- ------
+org.tizen.contacts syspopup::db rw---- ------
+org.tizen.contacts contacts-service::svc rwx--- ------
+org.tizen.contacts contacts-service::phonelog rw---- ------
+org.tizen.contacts libug-phone::data rwx--- ------
+org.tizen.contacts ug_bluetooth r----- ------
+org.tizen.contacts system::use_internet rw---- ------
+org.tizen.contacts org.tizen.contacts rwxat- ------
+org.tizen.contacts libaccounts-svc::db rw---- ------
+org.tizen.contacts libaccounts-svc::check_read r----- ------
+org.tizen.contacts app-svc::db rw---- ------
+org.tizen.contacts org.tizen.message rwx--- ------
+org.tizen.contacts org.tizen.indicator rwx--- ------
+org.tizen.contacts org.tizen.facebook rwx--- ------
+org.tizen.contacts org.tizen.setting rwx--- ------
+org.tizen.contacts immvibed rw---- ------
+org.tizen.contacts org.tizen.contacts-viewer r-x--- ------
+org.tizen.contacts ui-gadget::client rwx--- ------
+org.tizen.contacts org.tizen.contacts-group-viewer --x--- ------
+org.tizen.contacts org.tizen.camera-app rw---- ------
+org.tizen.contacts media-server rwx--- ------
+org.tizen.contacts thumb-server r----- ------
+org.tizen.contacts ug-image-viewer-efl -wx--- ------
+org.tizen.contacts org.tizen.gallery-service -w---- ------
+org.tizen.contacts org.tizen.email r-x--- ------
+org.tizen.contacts org.tizen.dropbox r----- ------
+org.tizen.contacts pkgmgr::db rw---l ------
+org.tizen.contacts org.tizen.cluster-home -w---- ------
+org.tizen.contacts org.tizen.easy-home -w---- ------
+org.tizen.contacts mdm-server -w---- ------
+org.tizen.contacts nfc-share-service --x--- ------
+org.tizen.contacts stest-service -w---- ------
+org.tizen.contacts data-provider-master rw---- ------
+org.tizen.contacts sdbd r-x--- ------
+org.tizen.contacts data-provider-master::shortcut rw---- ------
+org.tizen.contacts data-provider-master::shortcut.shortcut -w---- ------
+org.tizen.contacts eas-engine r-x--- ------
+org.tizen.contacts tts-server r-x--- ------
+org.tizen.contacts org.tizen.help r-x--- ------
+org.tizen.contacts beu6y5fgnl --x--- ------
+org.tizen.contacts nfc-manager::p2p rw---- ------
+org.tizen.contacts ims-service -wx--- ------
+org.tizen.contacts ims-service::db rw---- ------
+org.tizen.contacts location_fw::db rw---- ------
+org.tizen.contacts intl-dial::db rw---- ------
+org.tizen.contacts deviced::testmode rwx--- ------
+org.tizen.contacts launchpad r----- ------
+org.tizen.contacts deviced::haptic rw---- ------
+org.tizen.contacts org.tizen.data-provider-slave rwx--- ------
+org.tizen.contacts factory-15 --x--- ------
+org.tizen.contacts telephony_framework::api_network rw---- ------
+org.tizen.data-provider-slave bt-service::admin rw---- ------
+org.tizen.data-provider-slave bt-service rw---- ------
+org.tizen.data-provider-slave data-provider-master rw---- ------
+org.tizen.data-provider-slave data-provider-master::notification rw---- ------
+org.tizen.data-provider-slave data-provider-master::notification.client rw---- ------
+org.tizen.data-provider-slave syspopup::db r----l ------
+e17 org.tizen.contacts rwx--- ------
+org.tizen.data-provider-slave contacts-service::phonelog rwx--- ------
+org.tizen.indicator org.tizen.contacts rwx--- ------
+org.tizen.app-tray org.tizen.contacts rwx--- ------
+org.tizen.setting org.tizen.contacts rwx--- ------
+system::use_internet org.tizen.contacts rw---- ------
+isf org.tizen.contacts --x--- ------
+org.tizen.quickpanel org.tizen.contacts r-x--- ------
+org.tizen.cluster-home org.tizen.contacts r-x--- ------
+org.tizen.easy-home org.tizen.contacts r-x--- ------
+org.tizen.gallery-service org.tizen.contacts rw---- ------
+ui-gadget::client org.tizen.contacts rwxa-- ------
+org.tizen.facebook org.tizen.contacts rwx--- ------
+org.tizen.lockscreen org.tizen.contacts rwx--- ------
+org.tizen.dailybriefing-agent org.tizen.contacts --x--- ------
+org.tizen.volume org.tizen.contacts --x--- ------
+activesync-ui::eas-appsvc org.tizen.contacts rwx--- ------
+nfc-share-service org.tizen.contacts r-x--- ------
+stest-service org.tizen.contacts r-x--- ------
+crash-viewer org.tizen.contacts --x--- ------
+obexd org.tizen.contacts r-x--- ------
+system::use_internet org.tizen.contact rw---- ------
+org.tizen.contact system::use_internet rw---- ------
+org.tizen.add-viewer org.tizen.contacts rwx--- ------
+org.tizen.contacts security-server::api-data-share rw---- ------
+org.tizen.contacts osp::datacontrol rwx--- ------
+org.tizen.contacts osp-installer::db r-x--l ------
+org.tizen.data-provider-slave org.tizen.contacts rwx--- ------
+org.tizen.data-provider-slave org.tizen.contacts-viewer r-x--- ------
+org.tizen.data-provider-slave contacts-service rwx--- ------
+org.tizen.data-provider-slave contacts-service::svc rwx--- ------
+aul::launch org.tizen.data-provider-slave r-x--- ------
+ui-gadget::client ug-ncr-efl rw---- ------
+samsung-log-manager::use_app_feature_survey org.tizen.contacts rw---- ------
+samsung-log-manager::report_app_status_survey org.tizen.contacts rw---- ------
+org.tizen.contacts device::app_logging -w---- ------
+org.tizen.contacts privacy-manager::db r----l ------
+org.tizen.contacts ecore::lock rwxat- ------
+org.tizen.contacts com.samsung.add-viewer r-x--- ------
+org.tizen.contacts com.samsung.answering-message rwx--- ------
+org.tizen.contacts com.samsung.call-eq-analyzer rwx--- ------
+org.tizen.contacts com.samsung.vtmain --x--- ------
+org.tizen.contacts intl-dial --x--- ------
+org.tizen.contacts system::app_logging -w---- ------
+org.tizen.contacts system::camera rw-at- ------
+org.tizen.contacts telephony_framework::api_manager r----- ------
+org.tizen.contacts telephony_framework::api_phonebook rwx--- ------
+org.tizen.contacts telephony_framework::api_sim r-x--- ------
+org.tizen.contacts telephony_framework::api_ss rwx--- ------
+org.tizen.contacts ug-setting-call-efl rwxat- ------
+aul org.tizen.contacts r-x--- ------
+org.tizen.contacts xorg::screencapture r----- ------
+org.tizen.contacts org.tizen.gallery rwx--- ------
+org.tizen.contacts samsung-log-manager::use_app_feature_survey rw---- ------
+org.tizen.contacts samsung-log-manager::report_app_status_survey rw---- ------
+media-server org.tizen.contacts -w---- ------
+org.tizen.contacts msg-service::read rw---- ------
+org.tizen.contacts msg-service::write rw---- ------
+org.tizen.contacts msg-service::wappush rw---- ------
+org.tizen.contacts aul::terminate --x--- ------
+context-service org.tizen.contacts r-x--- ------
+org.tizen.contacts org.tizen.phone rwx--- ------
+org.tizen.contacts com.samsung.indicator -w---- ------
+org.tizen.contacts org.tizen.volume rwx--- ------
+org.tizen.contacts com.samsung.setting::default-resources r-x--- ------
+org.tizen.contacts msg-service::db rw---- ------
diff --git a/main-app/org.tizen.contacts.manifest b/main-app/org.tizen.contacts.manifest
new file mode 100755
index 0000000..c508aca
--- /dev/null
+++ b/main-app/org.tizen.contacts.manifest
@@ -0,0 +1,22 @@
+<manifest>
+ <define>
+ <domain name="org.tizen.contacts"/>
+ </define>
+ <assign>
+ <filesystem path="/usr/share/packages/org.tizen.contacts.xml" label="_" />
+ <filesystem path="/usr/share/applications/org.tizen.contacts.desktop" label="_" />
+ <filesystem path="/usr/share/icons/default/small/org.tizen.contacts.png" label="_" />
+ <filesystem path="/usr/share/icons/default/small/Contacts_1x1.png" label="_" />
+ <filesystem path="/usr/share/icons/default/small/Contacts_2x2.png" label="_" />
+ <filesystem path="/opt/usr/ug/data/ug-phone" label="org.tizen.contacts" type="transmutable" />
+ <filesystem path="/usr/share/icons/default/small/org.tizen.phone.png" label="_" />
+ <filesystem path="/usr/share/icons/default/small/Phone_1x1.png" label="_" />
+ <filesystem path="/usr/share/icons/default/small/Phone_2x1.png" label="_" />
+ <filesystem path="/usr/share/icons/default/small/Phone_2x2.png" label="_" />
+ <filesystem path="/usr/apps/org.tizen.contacts/res/locale/*" label="_" />
+ <filesystem path="/usr/share/locale/*" label="_" />
+ </assign>
+ <request>
+ <domain name="org.tizen.contacts"/>
+ </request>
+</manifest>
diff --git a/main-app/org.tizen.contacts.png b/main-app/org.tizen.contacts.png
new file mode 100755
index 0000000..0775b27
--- /dev/null
+++ b/main-app/org.tizen.contacts.png
Binary files differ
diff --git a/main-app/org.tizen.contacts.xml b/main-app/org.tizen.contacts.xml
new file mode 100755
index 0000000..cfb5288
--- /dev/null
+++ b/main-app/org.tizen.contacts.xml
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.4" package="org.tizen.contacts" version="0.1.189" support-mode="ultra-power-saving">
+ <author email="ps.jeong@samsung.com" href="www.samsung.com">Bongsoo Jeong</author>
+ <description>phone-contacts</description>
+ <ui-application appid="org.tizen.contacts" exec="/usr/apps/org.tizen.contacts/bin/contacts" multiple="false" taskmanage="true" type="capp" mainapp="true" effectimage-type="edj-light" portrait-effectimage="/usr/apps/org.tizen.contacts/shared/res/portrait.edj" process-pool="false" hw-acceleration="use-GL" launch_mode="single">
+ <image section="preview">/usr/share/icons/default/small/org.tizen.contacts_preview.png</image>
+ <icon>org.tizen.contacts.png</icon>
+ <label>Contacts</label>
+ <metadata key="http://developer.samsung.com/tizen/metadata/largememory"/>
+ <label xml:lang="ar-ae">الأسماء</label>
+ <label xml:lang="az-az">Adlar</label>
+ <label xml:lang="bg-bg">Телефонен указател</label>
+ <label xml:lang="ca-es">Contactes</label>
+ <label xml:lang="cs-cz">Kontakty</label>
+ <label xml:lang="da-dk">Kontakter</label>
+ <label xml:lang="de-de">Kontakte</label>
+ <label xml:lang="el-gr">Επαφές</label>
+ <label xml:lang="en-gb">Contacts</label>
+ <label xml:lang="en-ph">Contacts</label>
+ <label xml:lang="en-us">Contacts</label>
+ <label xml:lang="es-es">Contactos</label>
+ <label xml:lang="es-mx">Contactos</label>
+ <label xml:lang="et-ee">Kontaktid</label>
+ <label xml:lang="eu-es">Kontaktuak</label>
+ <label xml:lang="fi-fi">Yhteystiedot</label>
+ <label xml:lang="fr-ca">Contacts</label>
+ <label xml:lang="fr-fr">Contacts</label>
+ <label xml:lang="ga-ie">Teagmhálaithe</label>
+ <label xml:lang="gl-es">Contactos</label>
+ <label xml:lang="hi-in">संपर्क</label>
+ <label xml:lang="hr-hr">Imenik</label>
+ <label xml:lang="hu-hu">Névjegyek</label>
+ <label xml:lang="hy-am">Կոնտակտներ</label>
+ <label xml:lang="is-is">Tengiliðir</label>
+ <label xml:lang="it-it">Rubrica</label>
+ <label xml:lang="ja-jp">電話帳</label>
+ <label xml:lang="ka-ge">კონტაქტები</label>
+ <label xml:lang="kk-kz">Контактілер</label>
+ <label xml:lang="ko-kr">연락처</label>
+ <label xml:lang="lt-lt">Adresatai</label>
+ <label xml:lang="lv-lv">Kontakti</label>
+ <label xml:lang="mk-mk">Именик</label>
+ <label xml:lang="nb-no">Kontakter</label>
+ <label xml:lang="nl-nl">Contacten</label>
+ <label xml:lang="pl-pl">Kontakty</label>
+ <label xml:lang="pt-br">Contatos</label>
+ <label xml:lang="pt-pt">Contactos</label>
+ <label xml:lang="ro-ro">Contacte</label>
+ <label xml:lang="ru-ru">Контакты</label>
+ <label xml:lang="sk-sk">Kontakty</label>
+ <label xml:lang="sl-si">Imenik</label>
+ <label xml:lang="sr-rs">Kontakti</label>
+ <label xml:lang="sv-se">Kontakter</label>
+ <label xml:lang="tr-tr">Rehber</label>
+ <label xml:lang="uk-ua">Контакти</label>
+ <label xml:lang="uz-uz">Kontaktlar</label>
+ <label xml:lang="zh-cn">联系人</label>
+ <label xml:lang="zh-hk">聯絡人</label>
+ <label xml:lang="zh-tw">聯絡人</label>
+ </ui-application>
+ <ui-application appid="org.tizen.phone" exec="/usr/apps/org.tizen.contacts/bin/contacts" multiple="false" type="capp" taskmanage="true" mainapp="false" effectimage-type="edj-light" portrait-effectimage="/usr/apps/org.tizen.contacts/shared/res/portrait.edj" process-pool="false" hw-acceleration="use-GL" launch_mode="single">
+ <icon>org.tizen.phone.png</icon>
+ <label>Phone</label>
+ <metadata key="http://developer.samsung.com/tizen/metadata/largememory"/>
+ <metadata key="http://tizen.org/metadata/effective-appid" value="org.tizen.contacts"/>
+ <label xml:lang="ar-ae">الهاتف</label>
+ <label xml:lang="az-az">Telefon</label>
+ <label xml:lang="bg-bg">Телефон</label>
+ <label xml:lang="ca-es">Telèfon</label>
+ <label xml:lang="cs-cz">Telefon</label>
+ <label xml:lang="da-dk">Telefon</label>
+ <label xml:lang="de-de">Telefon</label>
+ <label xml:lang="el-gr">Τηλέφωνο</label>
+ <label xml:lang="en-gb">Phone</label>
+ <label xml:lang="en-ph">Phone</label>
+ <label xml:lang="en-us">Phone</label>
+ <label xml:lang="es-es">Teléfono</label>
+ <label xml:lang="es-mx">Teléfono</label>
+ <label xml:lang="et-ee">Telefon</label>
+ <label xml:lang="eu-es">Telefon</label>
+ <label xml:lang="fi-fi">Puhelin</label>
+ <label xml:lang="fr-ca">Téléphone</label>
+ <label xml:lang="fr-fr">Téléphone</label>
+ <label xml:lang="ga-ie">Teileafón</label>
+ <label xml:lang="gl-es">Teléfono</label>
+ <label xml:lang="hi-in">टेलीफोन</label>
+ <label xml:lang="hr-hr">Telefon</label>
+ <label xml:lang="hu-hu">Telefon</label>
+ <label xml:lang="hy-am">Հեռախոս</label>
+ <label xml:lang="is-is">Sími</label>
+ <label xml:lang="it-it">Telefono</label>
+ <label xml:lang="ja-jp">電話</label>
+ <label xml:lang="ka-ge">ტელეფონი</label>
+ <label xml:lang="kk-kz">Телефон</label>
+ <label xml:lang="ko-kr">일반 전화</label>
+ <label xml:lang="lt-lt">Telefonas</label>
+ <label xml:lang="lv-lv">Tālrunis</label>
+ <label xml:lang="mk-mk">Телефон</label>
+ <label xml:lang="nb-no">Telefon</label>
+ <label xml:lang="nl-nl">Telefoon</label>
+ <label xml:lang="pl-pl">Telefon</label>
+ <label xml:lang="pt-br">Telefone</label>
+ <label xml:lang="pt-pt">Telefone</label>
+ <label xml:lang="ro-ro">Telefon</label>
+ <label xml:lang="ru-ru">Телефон</label>
+ <label xml:lang="sk-sk">Telefón</label>
+ <label xml:lang="sl-si">Telefon</label>
+ <label xml:lang="sr-rs">Telefon</label>
+ <label xml:lang="sv-se">Telefon</label>
+ <label xml:lang="tr-tr">Telefon</label>
+ <label xml:lang="uk-ua">Телефон</label>
+ <label xml:lang="uz-uz">Telefon</label>
+ <label xml:lang="zh-cn">电话</label>
+ <label xml:lang="zh-hk">電話</label>
+ <label xml:lang="zh-tw">電話</label>
+ <application-service>
+ <operation name="http://tizen.org/appcontrol/operation/dial" />
+ <uri name="tel" />
+ </application-service>
+ </ui-application>
+ <ui-application appid="org.tizen.contacts-list" exec="/usr/apps/org.tizen.contacts/bin/ct-list-app" nodisplay="true" multiple="true" type="capp" taskmanage="false" process-pool="false" effectimage-type="edj-default" portrait-effectimage="/usr/apps/org.tizen.contacts/shared/res/portrait.edj" launch_mode="caller">
+ <icon>/usr/share/icons/default/small/org.tizen.contacts.png</icon>
+ <label>Contacts</label>
+ <application-service>
+ <operation name="http://tizen.org/appcontrol/operation/pick"/>
+ <mime name="application/vnd.tizen.contact"/>
+ </application-service>
+ <application-service>
+ <operation name="http://tizen.org/appcontrol/operation/update"/>
+ <mime name="application/vnd.tizen.contact"/>
+ </application-service>
+ </ui-application>
+ <ui-application appid="org.tizen.contacts-vcard" exec="/usr/apps/org.tizen.contacts/bin/ct-vcard-app" nodisplay="true" multiple="true" type="capp" taskmanage="false" launch_mode="caller">
+ <label>vCard importer</label>
+ <icon>org.tizen.contacts.png</icon>
+ <application-service>
+ <operation name="http://tizen.org/appcontrol/operation/view"/>
+ <mime name="text/vcard"/>
+ <mime name="text/x-vcard"/>
+ </application-service>
+ </ui-application>
+ <ui-application appid="org.tizen.contacts-details" exec="/usr/apps/org.tizen.contacts/bin/ct-detail-app" nodisplay="true" multiple="true" type="capp" taskmanage="false" process-pool="false" launch_mode="caller">
+ <label>Contacts</label>
+ <application-service>
+ <operation name="http://tizen.org/appcontrol/operation/view"/>
+ <mime name="application/vnd.tizen.contact"/>
+ </application-service>
+ <application-service>
+ <operation name="http://tizen.org/appcontrol/operation/add"/>
+ <mime name="application/vnd.tizen.contact"/>
+ </application-service>
+ <application-service>
+ <operation name="http://tizen.org/appcontrol/operation/edit"/>
+ <mime name="application/vnd.tizen.contact"/>
+ </application-service>
+ </ui-application>
+ <widget-application appid="org.tizen.contacts-widget" exec="/usr/apps/org.tizen.contacts/bin/widget" main="true" update-period="0">
+ <label>Contacts</label>
+ <label xml:lang="ar-ae">الأسماء</label>
+ <label xml:lang="az-az">Adlar</label>
+ <label xml:lang="bg-bg">Телефонен указател</label>
+ <label xml:lang="ca-es">Contactes</label>
+ <label xml:lang="cs-cz">Kontakty</label>
+ <label xml:lang="da-dk">Kontakter</label>
+ <label xml:lang="de-de">Kontakte</label>
+ <label xml:lang="el-gr">Επαφές</label>
+ <label xml:lang="en-gb">Contacts</label>
+ <label xml:lang="en-ph">Contacts</label>
+ <label xml:lang="en-us">Contacts</label>
+ <label xml:lang="es-es">Contactos</label>
+ <label xml:lang="es-mx">Contactos</label>
+ <label xml:lang="et-ee">Kontaktid</label>
+ <label xml:lang="eu-es">Kontaktuak</label>
+ <label xml:lang="fi-fi">Yhteystiedot</label>
+ <label xml:lang="fr-ca">Contacts</label>
+ <label xml:lang="fr-fr">Contacts</label>
+ <label xml:lang="ga-ie">Teagmhálaithe</label>
+ <label xml:lang="gl-es">Contactos</label>
+ <label xml:lang="hi-in">संपर्क</label>
+ <label xml:lang="hr-hr">Imenik</label>
+ <label xml:lang="hu-hu">Névjegyek</label>
+ <label xml:lang="hy-am">Կոնտակտներ</label>
+ <label xml:lang="is-is">Tengiliðir</label>
+ <label xml:lang="it-it">Rubrica</label>
+ <label xml:lang="ja-jp">電話帳</label>
+ <label xml:lang="ka-ge">კონტაქტები</label>
+ <label xml:lang="kk-kz">Контактілер</label>
+ <label xml:lang="ko-kr">연락처</label>
+ <label xml:lang="lt-lt">Adresatai</label>
+ <label xml:lang="lv-lv">Kontakti</label>
+ <label xml:lang="mk-mk">Именик</label>
+ <label xml:lang="nb-no">Kontakter</label>
+ <label xml:lang="nl-nl">Contacten</label>
+ <label xml:lang="pl-pl">Kontakty</label>
+ <label xml:lang="pt-br">Contatos</label>
+ <label xml:lang="pt-pt">Contactos</label>
+ <label xml:lang="ro-ro">Contacte</label>
+ <label xml:lang="ru-ru">Контакты</label>
+ <label xml:lang="sk-sk">Kontakty</label>
+ <label xml:lang="sl-si">Imenik</label>
+ <label xml:lang="sr-rs">Kontakti</label>
+ <label xml:lang="sv-se">Kontakter</label>
+ <label xml:lang="tr-tr">Rehber</label>
+ <label xml:lang="uk-ua">Контакти</label>
+ <label xml:lang="uz-uz">Kontaktlar</label>
+ <label xml:lang="zh-cn">联系人</label>
+ <label xml:lang="zh-hk">聯絡人</label>
+ <label xml:lang="zh-tw">聯絡人</label>
+ <icon>org.tizen.contacts.png</icon>
+ <support-size preview="/usr/apps/org.tizen.contacts/res/images/widget/preview_4x4.png">4x4</support-size>
+ <support-size preview="/usr/apps/org.tizen.contacts/res/images/widget/preview_4x2.png">4x2</support-size>
+ </widget-application>
+ <privileges>
+ <privilege>http://tizen.org/privilege/account.read</privilege>
+ <privilege>http://tizen.org/privilege/application.launch</privilege>
+ <privilege>http://tizen.org/privilege/call</privilege>
+ <privilege>http://tizen.org/privilege/callhistory.read</privilege>
+ <privilege>http://tizen.org/privilege/contact.read</privilege>
+ <privilege>http://tizen.org/privilege/contact.write</privilege>
+ <privilege>http://tizen.org/privilege/externalstorage</privilege>
+ <privilege>http://tizen.org/privilege/filesystem.write</privilege>
+ <privilege>http://tizen.org/privilege/mediastorage</privilege>
+ <privilege>http://tizen.org/privilege/notification</privilege>
+ <privilege>http://tizen.org/privilege/telephony</privilege>
+ </privileges>
+</manifest>
diff --git a/main-app/org.tizen.phone.png b/main-app/org.tizen.phone.png
new file mode 100755
index 0000000..803d1a3
--- /dev/null
+++ b/main-app/org.tizen.phone.png
Binary files differ
diff --git a/main-app/org.tizen.vcard-importer.manifest b/main-app/org.tizen.vcard-importer.manifest
new file mode 100644
index 0000000..60368cb
--- /dev/null
+++ b/main-app/org.tizen.vcard-importer.manifest
@@ -0,0 +1,11 @@
+<manifest>
+ <define>
+ <domain name="org.tizen.vcard-importer"/>
+ </define>
+ <assign>
+ <filesystem path="/usr/share/packages/org.tizen.vcard-importer.xml" label="_" />
+ </assign>
+ <request>
+ <domain name="org.tizen.vcard-importer"/>
+ </request>
+</manifest>
diff --git a/main-app/res/CMakeLists.txt b/main-app/res/CMakeLists.txt
new file mode 100644
index 0000000..09c8624
--- /dev/null
+++ b/main-app/res/CMakeLists.txt
@@ -0,0 +1,4 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+ADD_SUBDIRECTORY(edje)
+ADD_SUBDIRECTORY(po)
diff --git a/main-app/res/edje/CMakeLists.txt b/main-app/res/edje/CMakeLists.txt
new file mode 100644
index 0000000..93d9f85
--- /dev/null
+++ b/main-app/res/edje/CMakeLists.txt
@@ -0,0 +1,94 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+SET(FAKE_EDJ_PATH "/usr/apps/org.tizen.contacts/shared/res")
+SET(CT_EDJ_PATH "/usr/apps/org.tizen.contacts/res/edje/contacts")
+SET(PH_EDJ_PATH "/usr/apps/org.tizen.contacts/res/edje/phone")
+
+
+# fake Image
+ADD_CUSTOM_TARGET(portrait.edj COMMAND edje_cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/phone/portrait.edc portrait.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/phone/portrait.edc)
+
+ADD_DEPENDENCIES(${PROJECT_NAME} portrait.edj)
+INSTALL(FILES portrait.edj DESTINATION ${FAKE_EDJ_PATH})
+
+############## Phone
+# install edj
+
+ADD_CUSTOM_TARGET(ph-loglist.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/phone/images/WVGA/log_images
+ -sd ${CMAKE_CURRENT_SOURCE_DIR}/phone/sounds ${EDJE_CFLAGS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/phone/ph-loglist.edc ph-loglist.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/phone/ph-loglist.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} ph-loglist.edj)
+INSTALL(FILES ph-loglist.edj DESTINATION ${PH_EDJ_PATH})
+
+
+############## Contacts
+# install edj //contacts
+ADD_CUSTOM_TARGET(contacts.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/contacts/image/WVGA/contact_edc_images
+ -sd ${CMAKE_CURRENT_SOURCE_DIR}/contacts/sounds ${EDJE_CFLAGS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/contacts/contacts.edc contacts.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/contacts/contacts.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} contacts.edj)
+INSTALL(FILES contacts.edj DESTINATION ${CT_EDJ_PATH})
+
+ADD_CUSTOM_TARGET(list.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/contacts/image/WVGA/contact_edc_images
+ -sd ${CMAKE_CURRENT_SOURCE_DIR}/contacts/sounds ${EDJE_CFLAGS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/contacts/list.edc list.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/contacts/list.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} list.edj)
+INSTALL(FILES list.edj DESTINATION ${CT_EDJ_PATH})
+
+IF(_ENABLE_HD) # For HD
+ADD_CUSTOM_TARGET(genlist_extended_item.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/contacts/image/WVGA/contact_edc_images
+ -sd ${CMAKE_CURRENT_SOURCE_DIR}/contacts/sounds ${EDJE_CFLAGS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/contacts/genlist_extended_item.edc genlist_extended_item.edj -D_HD_
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/contacts/genlist_extended_item.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} genlist_extended_item.edj)
+INSTALL(FILES genlist_extended_item.edj DESTINATION ${CT_EDJ_PATH})
+ELSE(_ENABLE_HD) # For WVGA
+ADD_CUSTOM_TARGET(genlist_extended_item.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/contacts/image/WVGA/contact_edc_images
+ -sd ${CMAKE_CURRENT_SOURCE_DIR}/contacts/sounds ${EDJE_CFLAGS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/contacts/genlist_extended_item.edc genlist_extended_item.edj -D_WVGA_
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/contacts/genlist_extended_item.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} genlist_extended_item.edj)
+INSTALL(FILES genlist_extended_item.edj DESTINATION ${CT_EDJ_PATH})
+ENDIF(_ENABLE_HD)
+
+ADD_CUSTOM_TARGET(image_layout.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/contacts/image/WVGA/contact_edc_images
+ -sd ${CMAKE_CURRENT_SOURCE_DIR}/contacts/sounds ${EDJE_CFLAGS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/contacts/image_layout.edc image_layout.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/contacts/image_layout.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} image_layout.edj)
+INSTALL(FILES image_layout.edj DESTINATION ${CT_EDJ_PATH})
+
+ADD_CUSTOM_TARGET(detail_layout.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/contacts/image/WVGA/contact_edc_images
+ -id ${CMAKE_CURRENT_SOURCE_DIR}/contacts/image/WVGA/contact_images
+ -sd ${CMAKE_CURRENT_SOURCE_DIR}/contacts/sounds ${EDJE_CFLAGS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/contacts/detail_layout.edc detail_layout.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/contacts/detail_layout.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} detail_layout.edj)
+INSTALL(FILES detail_layout.edj DESTINATION ${CT_EDJ_PATH})
+
+ADD_CUSTOM_TARGET(settings_layout.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/contacts/image/WVGA/contact_edc_images
+ -sd ${CMAKE_CURRENT_SOURCE_DIR}/contacts/sounds ${EDJE_CFLAGS}
+ ${CMAKE_CURRENT_SOURCE_DIR}/contacts/settings_layout.edc settings_layout.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/contacts/settings_layout.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} settings_layout.edj)
+INSTALL(FILES settings_layout.edj DESTINATION ${CT_EDJ_PATH})
diff --git a/main-app/res/edje/contacts/WVGA-inc.edc b/main-app/res/edje/contacts/WVGA-inc.edc
new file mode 100644
index 0000000..47bfa23
--- /dev/null
+++ b/main-app/res/edje/contacts/WVGA-inc.edc
@@ -0,0 +1,563 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+//****************************************************************************//
+// This file defines the width, height (not color!) for each widgets
+// We can define different INC file by Resolution (HD, WVGA, HVGA)
+//
+// ************* Naming Rule ************ //
+// {WIDGET}_{GROUP}_{PART}_{STATE}_{TYPE}
+// WIDGET: NAVIFRAME, LIST, DATETIME, POPUP, etc.
+// GROUP: INDEX
+// PART: TEXT, ICON, BG, PADDING, DIVIDER, ICON, etc.
+// STATE: LEFT, RIGHT, TOP, BOTTOM, MIN, MAX,
+// TYPE: HEIGHT, WIDTH, SIZE
+// e.g. LIST_PADDING_LEFT_HEIGHT
+//****************************************************************************//
+//****************************************************************************//
+// Colorselector
+//****************************************************************************//
+#define COLORSELECTOR_PALETTE_COLORPLANE_HEIGHT_INC 158
+#define COLORSELECTOR_PALETTE_COLORPLANE_WIDTH_INC 480
+#define COLORSELECTOR_PORTRAIT_HOR_PAD_COLORPLANE_INC "5"
+#define COLORSELECTOR_PORTRAIT_VER_PAD_COLORPLANE_INC "6"
+#define COLORSELECTOR_PALETTE_COLORBG_MIN_COLORPLANE_INC 60 60
+#define COLORPLANE_MIN_HEIGHT_INC 80
+#define COLORSELECTOR_TOPBOTTOM_PAD_COLORPLANE_INC 16
+//****************************************************************************//
+// Naviframe
+//****************************************************************************//
+#define NAVIFRAME_TITLE_HEIGHT_INC 72
+#define NAVIFRAME_SUBTITLE_HEIGHT_INC 28
+#define NAVIFRAME_TITLE_TOP_PADDING_HEIGHT_INC 3
+#define NAVIFRAME_SUBTITLE_BOTTOM_PADDING_HEIGHT_INC 3
+#define NAVIFRAME_TABBAR_HEIGHT_INC 72
+#define NAVIFRAME_TABBAR2_HEIGHT_INC 104
+#define NAVIFRAME_TABBAR_TOP_DIVIDER_HEIGHT_INC 1
+#define NAVIFRAME_TITLE_LEFT_PADDING_WIDTH_INC 15
+#define NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC 82 72
+#define NAVIFRAME_BADGE_ICON_LEFT_PADDING_WIDTH_INC 15
+#define NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC 12
+#define NAVIFRAME_BADGE_HEIGHT_INC 32
+#define NAVIFRAME_BADGE2_PADDING_WIDTH_INC (NAVIFRAME_BADGE_ICON_LEFT_PADDING_WIDTH_INC + NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC + NAVIFRAME_BADGE_TEXT_LEFT_PADDING_WIDTH_INC)
+#define NAVIFRAME_DRAWERS_WIDTH_INC 55
+#define NAVIFRAME_TOOLBAR_HEIGHT_INC 108
+#define NAVIFRAME_TOOLBAR_COLOR_INC 245 245 245 255
+
+#define BUTTON_NAVIFRAME_TITLE_BUTTON_SIZE_INC 82 72
+#define BUTTON_NAVIFRAME_TITLE_BUTTON_BG_PADDING_WIDTH_INC 21
+#define BUTTON_NAVIFRAME_TITLE_BUTTON_BG_SIZE_INC 46 46
+#define BUTTON_NAVIFRAME_TITLE_BUTTON_IMAGE_PADDING_WIDTH_INC 21
+#define BUTTON_NAVIFRAME_TITLE_BUTTON_IMAGE_SIZE_INC 46 46
+#define BUTTON_NAVIFRAME_DRAWERS_WIDTH_INC 55
+#define BUTTON_NAVIFRAME_DRAWERS_IMAGE_SIZE_INC 55 72
+
+//****************************************************************************//
+// Label
+//****************************************************************************//
+#define LABEL_FONT_SIZE_INC 24
+
+//****************************************************************************//
+// Layout
+//****************************************************************************//
+#define LAYOUT_INDICATOR_HEIGHT_INC 36
+
+#define SEARCHBAR_CANCEL_BUTTON_W_INC 46
+#define SEARCHBAR_CANCEL_BUTTON_LEFT_PADDING_INC 15
+#define SEARCHBAR_H_INC 96
+#define SEARCHBAR_HEIGHT_INC 96
+#define SEARCHBAR_BASE_HEIGHT_INC 96
+#define SEARCHBAR_WIDTH_INC 480
+#define SEARCHBAR_TOP_PADDING_INC 0
+#define SEARCHBAR_BOTTOM_PADDING_INC 0
+#define SEARCHBAR_LEFT_PADDING_INC 0
+#define SEARCHBAR_RIGHT_PADDING_INC 0
+
+//****************************************************************************//
+// Ctxpopup
+//****************************************************************************//
+#define CTXPOPUP_MOVE_PAD 40
+#define CTXPOPUP_OUTLINE_SIZE 1
+#define CTXPOPUP_WIDTH 480
+#define CTXPOPUP_TEXT_MAX 438
+#define CTXPOPUP_ITEM_TEXT_SIZE 30
+#define CTXPOPUP_ITEM_TEXT_MAX_SIZE (CTXPOPUP_ITEM_TEXT_SIZE*2)
+#define CTXPOPUP_ITEM_HEIGHT_MIN 96
+#define CTXPOPUP_ITEM_HEIGHT_MAX 104
+#define CTXPOPUP_ITEM_TEXT_LR_PADDING 21
+#define CTXPOPUP_ITEM_TEXT_TB_PADDING 29
+#define CTXPOPUP_ITEM_TEXT_HEIGHT_MIN 38
+#define CTXPOPUP_DROPDOWN_WIDTH 450
+#define CTXPOPUP_DROPDOWN_TEXT_MAX 418
+#define CTXPOPUP_DROPDOWN_ITEM_TEXT_SIZE 27
+#define CTXPOPUP_DROPDOWN_ITEM_TEXT_MAX_SIZE (CTXPOPUP_DROPDOWN_ITEM_TEXT_SIZE*2)
+#define CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MIN 72
+#define CTXPOPUP_DROPDOWN_ITEM_HEIGHT_MAX 92
+#define CTXPOPUP_DROPDOWN_ITEM_TEXT_LR_PADDING 15
+#define CTXPOPUP_DROPDOWN_CONTENT_LR_PADDING 1
+#define CTXPOPUP_DROPDOWN_CONTENT_TB_PADDING 1
+#define CTXPOPUP_DROPDOWN_SEPARATOR_HEIGHT 1
+
+//****************************************************************************//
+// progressbar popup
+//****************************************************************************//
+//#define POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC 15 27
+//#define POPUP_PROGRESSBAR_VIEW_LAYOUT_TEXT_FONT_SIZE_INC 0 38
+//#define POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_INC 0 69
+//#define POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_MIN_INC 0 161
+
+#define POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC 20 18
+#define POPUP_PROGRESSBAR_VIEW_LAYOUT_TEXT_FONT_SIZE_INC 0 24
+#define POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_INC 0 45
+#define POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_MIN_INC 0 152
+
+
+
+#define POPUP_PROGRESSBAR_2TEXT_VIEW_LAYOUT_BG_MIN_INC 0 193
+#define POPUP_PROGRESSBAR_VIEW_LAYOUT_SUBTEXT_FONT_SIZE_INC 0 32
+
+//****************************************************************************//
+// Copypaste
+//****************************************************************************//
+#define CTXPOPUP_SHADOW_TOP_PADDING 3
+#define CTXPOPUP_SHADOW_BOTTOM_PADDING 5
+#define CTXPOPUP_SHADOW_LEFT_PADDING 3
+#define CTXPOPUP_SHADOW_RIGHT_PADDING 3
+#define CTXPOPUP_ITEM_DISABLED_COLOR 0 0 0 0
+#define CTXPOPUP_ITEM_TEXT_LR_PADDING_INC 20
+#define CTXPOPUP_ICON_ITEM_HORIZONTAL_WIDTH_INC 112
+#define CTXPOPUP_FRAME_CORNER_ARROW_PADDING 18
+#define CTXPOPUP_CONTENT_PADDING_WIDTH 2
+#define CTXPOPUP_CONTENT_PADDING_HEIGHT 2
+#define CTXPOPUP_ARROW_PADDING 0
+#define CTXPOPUP_ARROW_SIZE_INC 20 16
+#define CTXPOPUP_COPYPASTE_ITEM_HORIZONTAL_WIDTH_MIN_INC 86
+#define CTXPOPUP_COPYPASTE_ITEM_HORIZONTAL_WIDTH_MAX_INC 110
+#define CTXPOPUP_COPYPASTE_TEXT_SIZE_INC 17
+#define CTXPOPUP_COPYPASTE_TEXT_MAX_SIZE_INC (CTXPOPUP_COPYPASTE_TEXT_SIZE_INC * 2)
+#define CTXPOPUP_COPYPASTE_WIDTH_MAX_INC 800
+#define CTXPOPUP_COPYPASTE_ITEM_HEIGHT_MIN_INC 80
+#define CTXPOPUP_COPYPASTE_ICON_WIDTH_INC 30
+#define CTXPOPUP_COPYPASTE_ICON_HEIGHT_INC 30
+#define CTXPOPUP_COPYPASTE_ITEM_ICON_TOP_PADDING_INC 9
+#define CTXPOPUP_COPYPASTE_ITEM_ICON_BOTTOM_PADDING_INC 6
+#define CTXPOPUP_COPYPASTE_ITEM_TEXT_PADDING_INC 10
+#define CTXPOPUP_COPYPASTE_ITEM_TEXT_BOTTOM_PADDING_INC 9
+#define CTXPOPUP_COPYPASTE_SEPARATOR_MIN_SIZE_INC 1 CTXPOPUP_COPYPASTE_ITEM_HEIGHT_MIN_INC
+#define CTXPOPUP_COPYPASTE_SEPARATOR_MAX_SIZE_INC 1 -1
+
+//****************************************************************************//
+// Tabbar
+//****************************************************************************//
+#define TABBAR_TWO_ITEMS_SIZE_INC 240 0;
+#define TABBAR_THREE_ITEMS_SIZE_INC 160 0;
+#define TABBAR_FOUR_ITEMS_SIZE_INC 120 0;
+#define TABBAR_SCROLLABLE_ITEMS_SIZE_INC 135 0;
+#define TABBAR_LANDSCAPE_TWO_ITEMS_SIZE_INC 400 0;
+#define TABBAR_LANDSCAPE_THREE_ITEMS_SIZE_INC 267 0;
+#define TABBAR_LANDSCAPE_FOUR_ITEMS_SIZE_INC 200 0;
+#define TABBAR_LANDSCAPE_SCROLLABLE_ITEMS_SIZE_INC 175 0;
+#define TABBAR_SELECTED_LINE_SIZE_INC 0 3
+#define TABBAR_TEXT_LEFT_TOP_PADDING_SIZE_INC 8 18
+#define TABBAR_TEXT_RIGHT_BOTTOM_PADDING_SIZE_INC 8 14
+#define TABBAR_ICON_TEXT_LEFT_TOP_PADDING_SIZE_INC 8 14
+#define TABBAR_ICON_TEXT_RIGHT_BOTTOM_PADDING_SIZE_INC 8 10
+#define TABBAR_ICON_TEXT_LAND_LEFT_TOP_PADDING_SIZE_INC 8 20
+#define TABBAR_ICON_TEXT_LAND_RIGHT_BOTTOM_PADDING_SIZE_INC 8 14
+#define TABBAR_ICON_SIZE_INC 46 46
+#define TABBAR_TEXT_TEXT_SIZE_INC 0 37
+#define TABBAR_ICON_TEXT_TEXT_SIZE_INC 0 31
+#define TABBAR_ICON_TEXT_LAND_TEXT_SIZE_INC 0 39
+#define TABBAR_ICON_RECT_SIZE_INC 61 46
+//Navigation style
+#define TOOLBAR_NAVI_HEIGHT_INC 51
+#define TOOLBAR_NAVI_PADDING_INC 15
+#define TOOLBAR_NAVI_DIVIDER_INC 42
+
+//****************************************************************************//
+// Genlist
+//****************************************************************************//
+// Group index
+#define LIST_INDEX_PADDING_LEFT_SIZE 15
+#define LIST_INDEX_PADDING_RIGHT_SIZE 15
+#define LIST_INDEX_PADDING_TOP_SIZE 7
+#define LIST_INDEX_PADDING_BOTTOM_SIZE 8
+
+#define LIST_INDEX_HEIGHT 36
+
+#define LIST_INDEX_TEXT_MAIN_SIZE 27
+#define LIST_INDEX_TEXT_SUB_SIZE 27
+
+// Normal style
+#define LIST_ITEM_HEIGHT 96
+#define LIST_PADDING_TOP_SIZE 29 // FIXME: please check font height
+#define LIST_PADDING_BOTTOM_SIZE 29 // FIXME: please check font height
+#define LIST_2LINE_PADDING_TOP_SIZE 13 // FIXME: please check font height
+#define LIST_2LINE_PADDING_BOTTOM_SIZE 13 // FIXME: please check font height
+#define LIST_PADDING_CENTER_LEFT_SIZE 15
+#define LIST_PADDING_CENTER_RIGHT_SIZE 15
+#define LIST_PADDING_DEFAULT_SIZE 15
+
+#define LIST_TEXT_MAIN_HEIGHT 38
+#define LIST_TEXT_SUB_HEIGHT 32
+
+#define LIST_TEXT_MAIN_SIZE 30
+#define LIST_TEXT_SUB_SIZE 24
+#define LIST_TEXT_SUB_WIDTH_MAX 130
+
+// Multiline style
+#define LIST_WRAP_PADDING_LEFT_SIZE 15
+#define LIST_WRAP_PADDING_RIGHT_SIZE 15
+#define LIST_WRAP_PADDING_TOP_SIZE 14
+#define LIST_WRAP_PADDING_BOTTOM_SIZE 14
+
+// Editfield style
+#define LIST_ENTRY_PADDING_LEFT_SIZE 0
+#define LIST_ENTRY_PADDING_RIGHT_SIZE 0
+#define LIST_ENTRY_PADDING_TOP_SIZE 0
+#define LIST_ENTRY_PADDING_BOTTOM_SIZE 0
+
+#define LIST_ENTRY_PADDING_ICON_RIGHT_SIZE 15
+#define LIST_ENTRY_PADDING_MAIN_TEXT_TOP_SIZE 12
+
+#define LIST_ENTRY_TEXT_SUB_WIDTH_MAX 160
+#define LIST_ENTRY_ICON_SIZE 80 80
+
+// Bar style
+#define LIST_BAR_PADDING_TOP_SIZE 14
+#define LIST_BAR_PADDING_BOTTOM_SIZE 14
+#define LIST_SLIDER_PADDING_CENTER_SIZE 10
+#define LIST_PROGRESSBAR_HEIGHT 76
+#define LIST_PROGRESSBAR_PADDING_CENTER_SIZE 10
+
+// List A
+#define LIST_A_LEFTICON_RIGHT_PADDING_WIDTH 10
+#define LIST_A_LEFTICON_SIZE 22 22
+#define LIST_A_RIGHTICON_LEFT_PADDING_WIDTH 10
+#define LIST_A_RIGHTICON_SIZE 22 22
+#define LIST_B_TYPE1_ICON_SIZE 96 96
+#define LIST_B_TYPE2_LEFT_PADDING_WIDTH 15
+#define LIST_B_TYPE2_RIGHT_PADDING_WIDTH 7
+#define LIST_B_TYPE2_ICON_SIZE 74 96
+#define LIST_B_TYPE3_LEFT_PADDING_WIDTH 10
+#define LIST_B_TYPE3_ICON_SIZE 46 46
+#define LIST_B_TYPE4_LEFT_PADDING_WIDTH 14
+#define LIST_B_TYPE4_RIGHT_PADDING_WIDTH 6
+#define LIST_B_TYPE4_ICON_SIZE 40 40
+#define LIST_C_TYPE1_RIGHT_PADDING_WIDTH 15
+#define LIST_C_TYPE1_ICON_SIZE 46 46
+#define LIST_C_TYPE2_RIGHT_PADDING_WIDTH 15
+#define LIST_C_TYPE2_ICON_SIZE 40 40
+#define LIST_C_TYPE3_RIGHT_PADDING_WIDTH 15
+#define LIST_C_TYPE3_ICON_SIZE 60 60
+#define LIST_GROUP_HEIGHT 10
+#define LIST_DESC_PADDING_TOP_SIZE 10
+#define LIST_DESC_PADDING_BOTTOM_SIZE 32
+#define LIST_DESC_PADDING_LEFT_RIGHT_SIZE 15
+#define LIST_DESC_TEXT_PART_SIZE 32
+#define LIST_DESC_TEXT_SIZE 24
+#define LIST_SELECT_ALL_PADDING_LEFT_SIZE 15
+#define LIST_SELECT_ALL_PADDING_RIGHT_SIZE 15
+#define LIST_SELECT_ALL_PADDING_BOTTOM_SIZE 1
+#define LIST_SELECT_ALL_ICON_SIZE 40 40
+#define LIST_SELECT_ALL_PADDING_CENTER_SIZE 15
+#define LIST_SELECT_ALL_HEIGHT 84
+
+#define STYLE_TAGS \
+ tag: "br" "\n";\
+ tag: "ps" "ps";\
+ tag: "tab" "\t";\
+ tag: "b" "+ font_weight=Bold";
+
+
+//****************************************************************************//
+// Panel
+//****************************************************************************//
+// Drawer
+#define PANEL_HANDLER_MIN_INC 36 0
+
+//****************************************************************************//
+// SCROLLER
+//****************************************************************************//
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_MIN_SIZE_INC 16 22
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_MAX_SIZE_INC 16 99999
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_MIN_SIZE_INC 22 16
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_MAX_SIZE_INC 99999 16
+#define SCROLLER_DEFAULT_SCROLLBAR_VBAR_PADDING_SIZE 4
+#define SCROLLER_DEFAULT_SCROLLBAR_HBAR_PADDING_SIZE 4
+#define SCROLLER_HANDLER_SCROLLBAR_VBAR_MIN_SIZE_INC 25 47
+#define SCROLLER_HANDLER_SCROLLBAR_HBAR_MIN_SIZE_INC 47 25
+#define SCROLLER_HANDLER_SCROLLBAR_VBAR_MIDDLE_MIN_SIZE_INC 21 21
+#define SCROLLER_HANDLER_SCROLLBAR_HBAR_MIDDLE_MIN_SIZE_INC 21 21
+#define SCROLLER_HANDLER_SCROLLBAR_VBAR_PADDING_SIZE 4
+#define SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE 45
+#define SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE 30
+#define SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MOVE_CORRECTION_VALUE 15
+#define SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE 30
+#define SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE 20
+#define SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MOVE_CORRECTION_VALUE 10
+#define SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE 15
+#define SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE 10
+#define SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MOVE_CORRECTION_VALUE 5
+
+//****************************************************************************//
+// Entry
+//****************************************************************************//
+// Normal Entry
+#define ENTRY_TEXT_SIZE_INC 24
+#define ENTRY_PREEDIT_BACKGROUND_COLOR_INC "#FAFAFA"
+#define ENTRY_PREEDIT_TEXT_COLOR_INC "#000000"
+#define ENTRY_PREEDIT_UNDERLINE_COLOR_INC "#FAFAFA"
+#define ENTRY_PREEDIT_SUB1_COLOR_INC "#2EA8E1"
+#define ENTRY_PREEDIT_SUB2_COLOR_INC "#9962C3"
+#define ENTRY_PREEDIT_SUB3_COLOR_INC "#76DE37"
+#define ENTRY_PREEDIT_SUB4_COLOR_INC "#999999"
+#define ENTRY_SELECTION_BLOCK_HANDLE_MIN_WIDTH_INC 32
+#define ENTRY_SELECTION_BLOCK_HANDLE_MIN_HEIGHT_INC 54
+#define ENTRY_CURSOR_HANDLE_MIN_WIDTH_INC 32
+#define ENTRY_CURSOR_HANDLE_MIN_HEIGHT_INC 54
+#define ENTRY_CURSOR_SIZE_INC 2 0
+#define MAGNIFIER_WIDTH_FIXED_INC 165
+#define MAGNIFIER_HEIGHT_FIXED_INC 85
+#define MAGNIFIER_ARROW_HEIGHT_INC 10
+#define MAGNIFIER_LEFT_OFFSET_INC 11 11
+#define MAGNIFIER_RIGHT_OFFSET_INC 11 30
+// Editfield
+#define ENTRY_EDITFIELD_TEXT_SIZE_INC 24
+#define ENTRY_EDITFIELD_CLEAR_BUTTON_PADDING_MIN_MAX_INC 51 0
+#define ENTRY_EDITFIELD_FOCUS_UNDERLINE_SIZE_INC 0 2
+#define ENTRY_EDITFIELD_FOCUS_UNDERLINE_BOTTOM_PADDING_SIZE_INC 0 10
+#define ENTRY_EDITFIELD_TOP_PADDING_HEIGHT 0 10
+#define ENTRY_EDITFIELD_BOTTOM_PADDING_HEIGHT 0 16
+#define ENTRY_EDITFIELD_LEFT_PADDING_HEIGHT 15 0
+#define ENTRY_EDITFIELD_RIGHT_PADDING_HEIGHT 15 0
+#define ENTRY_EDITFIELD_SCROLLER_TOP_PADDING_HEIGHT 0 14
+#define ENTRY_EDITFIELD_SCROLLER_BOTTOM_PADDING_HEIGHT 0 9
+#define ENTRY_EDITFIELD_SEARCHBAR_TEXT_SIZE_INC 24
+// Clear Button
+#define BUTTON_EDITFIELD_CLEAR_BUTTON_MIN_MAX_INC 36 36
+#define BUTTON_EDITFIELD_CLEAR_BUTTON_IMAGE_MIN_MAX_INC 36 36
+
+#define BUTTON_OPTION_MIN_MAX_INC 46 46
+#define BUTTON_OPTION_IMAGE_MIN_MAX_INC 46 46
+
+//Slider
+#define SLIDER_BASE_HEIGHT_INC 6
+#define SLIDER_INDICATOR_SIZE_INC 42
+#define SLIDER_SWALLOWBAR_HEIGHT_INC 42
+#define SLIDER_LEFT_RIGHT_PADDING_SIZE_INC 21 0
+#define SLIDER_ICON_PADDING_SIZE_INC 5 0
+#define SLIDER_CENTER_POINT_SIZE_INC 10 24
+
+//Slider vertical
+#define SLIDER_VERTICAL_BASE_HEIGHT_INC 6
+#define SLIDER_SWALLOWBAR_WIDTH_INC 42
+#define SLIDER_VERTICAL_CENTER_POINT_SIZE_INC 24 10
+#define SLIDER_VERTICAL_ICON_PADDING_SIZE_INC 42 5
+#define SLIDER_TOP_BOTTOM_PADDING_SIZE_INC 42 21
+
+//Progressbar
+#define PROGRESSBAR_LIST_PROGRESS_HEIGHT_INC 6
+#define PROGRESSBAR_PADDING_HEIGHT_INC 7
+#define PROCESS_LARGE_IMAGE_HEIGHT_INC 66
+#define PROCESS_LARGE_IMAGE_WIDTH_INC 66
+#define PROCESS_MEDIUM_IMAGE_HEIGHT_INC 36
+#define PROCESS_MEDIUM_IMAGE_WIDTH_INC 36
+#define PROCESS_SMALL_IMAGE_HEIGHT_INC 28
+#define PROCESS_SMALL_IMAGE_WIDTH_INC 28
+
+//Check and Radio
+#define CHECK_GEN_SIZE 60 60
+#define CHECK_SIZE 26 26
+#define CHECK_ICON_SIZE 30 30
+#define CHECK_BG_SIZE 40 40
+#define RADIO_SIZE 30 30
+#define RADIO_BG_SIZE 40 40
+#define CHECK_TEXT_FONT_SIZE_INC 22
+#define CHECK_PAD_BEFORE_TEXT_INC 10 0
+// No Content
+#define NO_CONTENT_WIDTH_INC 480
+#define NO_CONTENT_WIDTH_LANDSCAPE_INC 800
+#define NO_CONTENT_BG_HEIGHT_INC 280
+#define NO_CONTENT_BG_LANDSCAPE_HEIGHT_INC 200
+#define NO_CONTENT_MAX_HEIGHT_INC 378
+#define NO_CONTENT_LEFT_RIGHT_PADDING_WIDTH_INC 15
+#define NO_CONTENT_TITLE_TEXT_HEIGHT_INC 38
+#define NO_CONTENT_TEXT_PADDING_HEIGHT_INC 20
+#define NO_CONTENT_TITLE_TEXT_FONT_SIZE_INC 30
+#define NO_CONTENT_TEXT_FONT_SIZE_INC 24
+//Button
+#define BUTTON_BOTTOM_MIN_HEIGHT 74
+#define BUTTON_MIN_WIDTH 142
+#define BUTTON_MIN_HEIGHT 56
+#define BUTTON_MAX_WIDTH 450
+#define BUTTON_BOTTOM_PADDING_LEFT_RIGHT 8
+#define BUTTON_PADDING_LEFT_RIGHT 8
+#define BUTTON_ICON_HEIGHT 46
+#define BUTTON_ICON_WIDTH 46
+#define BUTTON_CIRCLE_SIZE 74 74
+#define BUTTON_CIRCLE_ICON_SIZE 46 46
+#define BUTTON_TRANS_HEIGHT 42
+#define BUTTON_CIRCLE_LABEL_SIZE 120 173
+#define BUTTON_CIRCLE_TOP_PADDING_HEIGHT 15
+#define BUTTON_CIRCLE_LEFT_RIGHT_PADDING_WIDTH 8
+#define BUTTON_CIRCLE_MIDDDLE_PADDING_HEIGHT 10
+#define BUTTON_CIRCLE_BOTTOM_PADDING_HEIGHT 10
+#define BUTTON_CIRCLE_TEXT_HEIGHT 64
+#define BUTTON_TEXT_SIZE 30
+#define BUTTON_BOTTOM_TEXT_SIZE 33
+#define BUTTON_DATE_TEXT_SIZE 30
+#define BUTTON_TEXT_CIRCLE_SIZE 24
+#define BUTTON_POPUP_TEXT_SIZE 33
+//Multibuttonentry
+#define MULTIBUTTONENTRY_BOX_HORIZONTAL_PAD_INC 15
+#define MULTIBUTTONENTRY_BOX_VERTICAL_PAD_INC 15
+#define MULTIBUTTONENTRY_WIDTH_PAD_INC 15
+#define MULTIBUTTONENTRY_HEIGHT_PAD_INC 15
+#define MULTIBUTTONENTRY_BOTTOM_HEIGHT_PAD_INC 16
+#define MULTIBUTTONENTRY_GUIDE_HEIGHT_INC 56
+#define MULTIBUTTONENTRY_GUIDE_TEXT_SIZE_INC 30
+#define MULTIBUTTONENTRY_BUTTON_TEXT_SIZE_INC 30
+#define MULTIBUTTONENTRY_BUTTON_PAD_INC 22
+#define MULTIBUTTONENTRY_BUTTON_HEIGHT_INC 56
+#define MULTIBUTTONENTRY_LABEL_TEXT_SIZE_INC 30
+#define MULTIBUTTONENTRY_LABEL_HEIGHT_INC 56 // same as button
+#define MULTIBUTTONENTRY_LABEL_PAD_INC 0
+
+//****************************************************************************//
+// Index
+//****************************************************************************//
+// FastScrol
+#define INDEX_ITEM_WIDTH_INC 33
+#define INDEX_ITEM_HEIGHT_INC 26
+#define INDEX_POPUP_TEXT_SIZE_INC 54
+#define INDEX_DIVIDER_WIDTH_INC 0
+#define INDEX_SCROLL_BG_LINE_WIDTH_INC 0
+#define INDEX_TEXT_LEFT_PADDING_SIZE_INC 0
+#define INDEX_TEXT_RIGHT_PADDING_SIZE_INC 0
+#define INDEX_PADDING_SIZE_INC 3
+#define INDEX_ITEM_PADDING_SIZE_INC 0
+#define INDEX_SCROLL_DRAG_PART_SIZE 33 28
+#define INDEX_SCROLL_PADDING_COLOR 34 34 34 255
+#define INDEX_SCROLL_POPUP_SIZE 100 100
+#define INDEX_SCROLL_POPUP_ACTIVE_SIZE 100 100
+#define INDEX_SCROLL_TEXT1_DEFAULT_SIZE 100 64
+#define INDEX_SCROLL_TEXT1_ACTIVE_SIZE 100 64
+
+// Page Control
+#define INDEX_PAGECONTROL_IND_INC 32 26
+#define INDEX_PAGECONTROL_IND_MIN_INC 26 26
+
+//****************************************************************************//
+// Popup
+//****************************************************************************//
+#define POPUP_BASE_DEFAULT_TEXT_FONT_SIZE_INC 30
+#define POPUP_SUBTITLE_TEXT_FONT_SIZE_INC 21
+#define POPUP_DESCRIPTION_DEFAULT_TEXT_FONT_SIZE_INC 30
+
+#define POPUP_OUTSIDE_PADDING "48"
+#define POPUP_TITLE_AREA_HEIGHT "72"
+
+#define POPUP_BASE_DEFAULT_BASE_DEFAULT_MIN_INC 480 0
+#define POPUP_BASE_DEFAULT_BASE_DEFAULT_MAX_INC 480 752
+#define POPUP_BASE_DEFAULT_BASE_LANDSCAPE_MIN_INC 480 0
+#define POPUP_BASE_DEFAULT_BASE_LANDSCAPE_MAX_INC 480 432
+#define POPUP_BASE_DEFAULT_TITLE_DEFAULT_MIN_INC 480 72
+#define POPUP_BASE_DEFAULT_BUTTON_BG_DEFAULT_MIN_INC 438 108
+#define POPUP_BASE_DEFAULT_TEXT_SHADOW_COLOR_INC "#08080855"
+#define POPUP_SUBTITLE_TEXT_SHADOW_COLOR_INC "#08080855"
+
+#define POPUP_TITLE_LEFT_PADDING 15
+#define POPUP_TITLE_RIGHT_PADDING 15
+#define POPUP_TITLE_TOP_PADDING 3
+#define POPUP_TITLE_BOTTOM_PADDING 3
+#define POPUP_SUBTITLE_HEIGHT 28
+
+#define POPUP_CONTENT_DEFAULT_PADDING_TOP_MIN_INC 27
+#define POPUP_CONTENT_DEFAULT_PADDING_LEFT_MIN_INC 27
+#define POPUP_CONTENT_DEFAULT_PADDING_RIGHT_MIN_INC 15
+#define POPUP_CONTENT_DEFAULT_PADDING_BOTTOM_MIN_INC 15
+#define POPUP_EDITFIELD_LAYOUT_MINMAX_HEIGHT_INC 96
+
+#define POPUP_BUTTON_DEFAULT_ACTION_AREA_HEIGHT "108"
+#define POPUP_BUTTON1_DEFAULT_HEIGHT_INC 74
+#define POPUP_BUTTON1_DEFAULT_PADDING_LEFT_RIGHT_WIDTH_INC 21
+#define POPUP_BUTTON2_DEFAULT_HEIGHT_INC 74
+#define POPUP_BUTTON2_DEFAULT_PADDING_BUTTON_MIN_MAX_INC 12 74
+#define POPUP_BUTTON2_DEFAULT_PADDING_LEFT_RIGHT_WIDTH_INC 21
+#define POPUP_BUTTON3_DEFAULT_HEIGHT_INC 74
+#define POPUP_BUTTON3_DEFAULT_PADDING_BUTTON_MIN_MAX_INC 12 74
+#define POPUP_BUTTON3_DEFAULT_PADDING_LEFT_RIGHT_WIDTH_INC 21
+
+#define POPUP_TOAST_TITLE_BOTTOM_PAD_INC 52
+#define POPUP_TOAST_TITLE_LEFT_RIGHT_PAD_INC 30
+#define POPUP_TOAST_TEXT_MIN_HEIGHT_INC 64
+#define POPUP_TOAST_TITLE_TOP_PAD_INC 16
+#define POPUP_TOAST_PAD_DIVIDER_INC 30 64
+#define POPUP_TOAST_DIVIDER_INC 1 44
+#define POPUP_TOAST_ACTION_TEXT_MAX_INC 103 64
+
+//****************************************************************************//
+// Gengrid
+//****************************************************************************//
+
+#define GRID_PADDING_LEFT_TOP_SIZE 1 1
+#define GRID_PADDING_RIGHT_BOTTOM_SIZE 1 1
+#define GRID_POPUP_PADDING_LEFT_TOP_SIZE 39 21
+#define GRID_POPUP_PADDING_RIGHT_BOTTOM_SIZE 39 11
+#define GRID_POPUP_ITEM_REAL_BG_SIZE 150 167
+#define GRID_POPUP_SWALLOW_ICON_SIZE 72 72
+#define GRID_POPUP_TEXT_SIZE 124 60
+
+//**************************DATETIME SPINNER****************//
+
+#define DATETIME_WIDGET_HEIGHT 49 //FIXME : widget UX not provided
+#define DATETIME_WIDGET_PADDING_SIZE_INC 11 49 //FIXME : widget UX not provided
+
+
+#define DATETIME_LAYOUT_CONTENT_SIZE_INC 480 222
+#define TIME_LAYOUT_CONTENT_TIME_24HR_LEFT_RIGHT_PADDING_WIDTH_INC 85
+#define TIME_LAYOUT_CONTENT_TIME_24HR_CENTER_PADDING_WIDTH_INC 38
+#define TIME_LAYOUT_CONTENT_COLON_WIDTH_INC 24
+
+#define DATETIME_AMPM_BUTTON_SIZE_INC 105 110
+#define DATETIME_AMPM_BUTTON_PRESSED_AREA_SIZE_INC 105 68
+#define DATETIME_AMPM_BUTTON_TEXT_UNDERLINE_SIZE_INC 81 4
+#define DATETIME_AMPM_BUTTON_TEXT_UNDERLINE_BOTTOM_PDDING_HEIGHT_INC 7
+#define DATETIME_AMPM_BUTTON_TOP_BOTTOM_PADDING_HEIGHT_INC 21
+
+#define TIME_LAYOUT_CONTENT_LEFT_PADDING_WIDTH_INC 45
+#define TIME_LAYOUT_CONTENT_RIGHT_PADDING_WIDTH_INC 26
+#define TIME_LAYOUT_CONTENT_FIELD_WIDTH_INC 105
+#define TIME_LAYOUT_CONTENT_CENTER_PADDING_WIDTH_INC 22
+
+#define DATE_LAYOUT_CONTENT_FIELD_WIDTH_INC 140
+#define DATE_LAYOUT_CONTENT_LEFT_RIGHT_PADDING_WIDTH_INC 24
+#define DATE_LAYOUT_CONTENT_CENTER_PADDING_WIDTH_INC 6
+
+#define SPINNER_UP_DOWN_ARROW_IMAGE_SIZE_INC 60 42
+#define SPINNER_UP_DOWN_BG_IMAGE_SIZE_INC 60 42
+#define SPINNER_TEXT_HEIGHT_INC 110
+#define SPINNER_TEXT_TOP_BOTTOM_PADDING_HEIGHT_INC 14
+#define SPINNER_UP_DOWN_BG_EVENT_AREA_HEIGHT_INC 56
+
+#define ENTRY_TIME_LAYOUT_TEXT_SIZE_INC 60
+#define ENTRY_DATE_LAYOUT_TEXT_SIZE_INC 40
+
+//***************************DATETIME SPINNER*************************//
+
+
diff --git a/main-app/res/edje/contacts/contacts.edc b/main-app/res/edje/contacts/contacts.edc
new file mode 100755
index 0000000..837d231
--- /dev/null
+++ b/main-app/res/edje/contacts/contacts.edc
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+#include "WVGA-inc.edc"
+#include "genlist_macro.edc"
+#include "list.edc"
+#include "input_theme.edc"
+#include "progressbar_popup.edc"
+#include "loading_popup.edc"
diff --git a/main-app/res/edje/contacts/detail_layout.edc b/main-app/res/edje/contacts/detail_layout.edc
new file mode 100644
index 0000000..d6ad4d1
--- /dev/null
+++ b/main-app/res/edje/contacts/detail_layout.edc
@@ -0,0 +1,349 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "genlist_macro.edc"
+#include "WVGA-inc.edc"
+#include "../../../../lib-contact/ct-common/inc/CtPath.h"
+#include "../../../../lib-common/res/edje/ColorClass.h"
+#include "../../../../lib-common/res/edje/Utils.h"
+
+#define MAIN_H 1280
+#define MAIN_W 720
+
+#define BACK_BTN_SIZE 80
+#define BACK_BTN_OFFSET_L 10
+#define BACK_BTN_OFFSET_T 13
+
+#define FAVOR_BTN_SIZE 80
+#define FAVOR_BTN_OFFSET_R (MAIN_W - 17 - FAVOR_BTN_SIZE)
+#define FAVOR_BTN_OFFSET_T 13
+
+#define THUMBNAIL_SIZE 240
+#define THUMBNAIL_OFFSET_L 240
+#define THUMBNAIL_OFFSET_T 44
+
+#define TEXT_BLOCK_W 672
+#define BIG_TEXT_BLOCK_H 82
+#define SMALL_TEXT_BLOCK_H 52
+#define TEXT_BLOCK_OFFSET_L 24
+
+#define FIRST_BLOCK_OFFSET_T (THUMBNAIL_OFFSET_T + THUMBNAIL_SIZE + 2)
+#define SECOND_BLOCK_OFFSET_T (FIRST_BLOCK_OFFSET_T + BIG_TEXT_BLOCK_H + 2)
+#define THIRD_BLOCK_OFFSET_T (SECOND_BLOCK_OFFSET_T + SMALL_TEXT_BLOCK_H + 2)
+
+#define BASE_INFO_OFFSET_B 28
+
+#define BASE_INFO_1LINE_H (FIRST_BLOCK_OFFSET_T + BIG_TEXT_BLOCK_H + BASE_INFO_OFFSET_B)
+#define BASE_INFO_2LINE_H (BASE_INFO_1LINE_H + SMALL_TEXT_BLOCK_H + 2)
+#define BASE_INFO_3LINE_H (BASE_INFO_2LINE_H + SMALL_TEXT_BLOCK_H + 2)
+
+#define CT_DETAILS_BACK_IC "contact_details_back_ic.png"
+
+#define CT_ICON_CONTAINER "logs_icon_badge_container.png"
+#define CT_IMG_ICON_INPUT_OPEN "contacts_icon_open.png"
+#define CT_IMG_ICON_INPUT_CLOSE "contacts_icon_close.png"
+
+images {
+ image: IMAGE_PATH"contact_details_back_ic.png" COMP;
+ image: IMAGE_PATH"logs_icon_badge_container.png" COMP;
+}
+
+#define BUTTON_STYLES(style_name, button_image, COLOR_CLASS_NORMAL, COLOR_CLASS_PRESSED)\
+ group { name: style_name;\
+ images {\
+ image: button_image COMP;\
+ }\
+ parts {\
+ part { name: "button_content";\
+ scale: 1;\
+ description { state: "default" 0.0;\
+ image.normal: button_image;\
+ color_class: COLOR_CLASS_NORMAL;\
+ }\
+ description {\
+ state: "clicked" 0.0;\
+ inherit: "default" 0.0;\
+ color_class: COLOR_CLASS_PRESSED;\
+ }\
+ }\
+ }\
+ programs {\
+ program { name: "button_click";\
+ signal: "mouse,down,1";\
+ source: "*";\
+ action: STATE_SET "clicked" 0.0;\
+ target: "button_content";\
+ }\
+ program { name: "button_unclick";\
+ signal: "mouse,up,1";\
+ source: "*";\
+ action: STATE_SET "default" 0.0;\
+ target: "button_content";\
+ }\
+ }\
+ }
+
+#define BASE_INFO_TEXT( PART_NAME, TEXT_OFFSET_T, TEXT_BLOCK_H, BASE_INFO_HEIGHT, TEXT_STYLE ) \
+ part { \
+ name: PART_NAME; \
+ type: TEXTBLOCK; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ rel1 { relative: (TEXT_BLOCK_OFFSET_L / MAIN_W) (TEXT_OFFSET_T / BASE_INFO_HEIGHT); } \
+ rel2 { relative: ((TEXT_BLOCK_OFFSET_L + TEXT_BLOCK_W) / MAIN_W) ((TEXT_OFFSET_T + TEXT_BLOCK_H) / BASE_INFO_HEIGHT); } \
+ text { \
+ style: TEXT_STYLE; \
+ } \
+ } \
+ }
+
+#define BASE_INFO( PART_NAME, BASE_INFO_HEIGHT ) \
+ group { \
+ name: PART_NAME; \
+ parts { \
+ part { \
+ name: "back_btn_bg"; \
+ type: RECT; \
+ description { \
+ state: "default" 0.0; \
+ rel1 { relative: (BACK_BTN_OFFSET_L / MAIN_W) (BACK_BTN_OFFSET_T / BASE_INFO_HEIGHT); } \
+ rel2 { relative: ((BACK_BTN_OFFSET_L + BACK_BTN_SIZE) / MAIN_W) ((BACK_BTN_OFFSET_T + BACK_BTN_SIZE) / BASE_INFO_HEIGHT); } \
+ color: 0 0 0 0; \
+ } \
+ description { \
+ state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ color: 0 0 0 50; \
+ } \
+ } \
+ part { \
+ name: "back_btn"; \
+ type: IMAGE; \
+ description { \
+ state: "default" 0.0; \
+ fixed: 1 1; \
+ aspect: 1 1; \
+ aspect_preference: BOTH; \
+ image.normal: IMAGE_PATH""CT_DETAILS_BACK_IC; \
+ rel1.to: "back_btn_bg"; \
+ rel2.to: "back_btn_bg"; \
+ } \
+ } \
+ part { \
+ name: "swallow.image_thumbnail"; \
+ type: SWALLOW; \
+ description { \
+ state: "default" 0.0; \
+ rel1 { relative: (THUMBNAIL_OFFSET_L / MAIN_W) (THUMBNAIL_OFFSET_T / BASE_INFO_HEIGHT); } \
+ rel2 { relative: ((THUMBNAIL_OFFSET_L + THUMBNAIL_SIZE) / MAIN_W) ((THUMBNAIL_OFFSET_T + THUMBNAIL_SIZE) / BASE_INFO_HEIGHT); } \
+ aspect: 1 1; \
+ aspect_preference: BOTH; \
+ } \
+ } \
+ part { \
+ name: "swallow.favor_btn"; \
+ type: SWALLOW; \
+ description { \
+ state: "default" 0.0; \
+ fixed: 1 1; \
+ rel1 { relative: ((FAVOR_BTN_OFFSET_R) / MAIN_W) ((FAVOR_BTN_OFFSET_T) / BASE_INFO_HEIGHT); } \
+ rel2 { relative: ((FAVOR_BTN_OFFSET_R + FAVOR_BTN_SIZE) / MAIN_W) ((FAVOR_BTN_OFFSET_T + FAVOR_BTN_SIZE) / BASE_INFO_HEIGHT); } \
+ } \
+ } \
+ BASE_INFO_TEXT( "text_1line", FIRST_BLOCK_OFFSET_T, BIG_TEXT_BLOCK_H, BASE_INFO_HEIGHT, "contact_display_name_textblock_style" ); \
+ } \
+ programs { \
+ program { \
+ name: "mouse_down_back_btn"; \
+ source: "back_btn"; \
+ signal: "mouse,down,*"; \
+ action: STATE_SET "pressed" 0.0; \
+ target: "back_btn_bg"; \
+ } \
+ program { \
+ name: "mouse_up_back_btn"; \
+ source: "back_btn"; \
+ signal: "mouse,up,*"; \
+ action: STATE_SET "default" 0.0; \
+ target: "back_btn_bg"; \
+ } \
+ PLAY_TOUCH_SOUND(back_btn); \
+ PLAY_TOUCH_SOUND(favor_btn.bg); \
+ } \
+ }
+
+styles {
+ style {
+ name: "contact_display_name_textblock_style";
+ base: "font=Tizen:style=Light align=center font_size=56 color=#FAFAFA ellipsis=1.0";
+ }
+ style {
+ name: "contact_display_subname_textblock_style";
+ base: "font=Tizen:style=Light align=center font_size=36 color=#FAFAFA ellipsis=1.0";
+ }
+}
+
+collections {
+ base_scale: 2.6;
+ plugins {
+ plugin {
+ name: "touch_sound"; // Name run by RUN_PLUGIN
+ source: "feedback"; // External edje plugin name
+ param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP";
+ }
+ }
+
+ group {
+ name: "main_layout";
+ parts {
+ part {
+ name: "swallow.base_info";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 (BASE_INFO_1LINE_H / MAIN_H); }
+ }
+ description {
+ state: "2lines" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 (BASE_INFO_2LINE_H / MAIN_H); }
+ }
+ description {
+ state: "3lines" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 (BASE_INFO_3LINE_H / MAIN_H); }
+ }
+ }
+ part {
+ name: "swallow.content";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "swallow.base_info"; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ }
+
+ programs {
+ program {
+ name: "base_info_1line";
+ signal: "set_1line";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "swallow.base_info";
+ }
+ program {
+ name: "base_info_2lines";
+ signal: "set_2lines";
+ source: "*";
+ action: STATE_SET "2lines" 0.0;
+ target: "swallow.base_info";
+ }
+ program {
+ name: "base_info_3lines";
+ signal: "set_3lines";
+ source: "*";
+ action: STATE_SET "3lines" 0.0;
+ target: "swallow.base_info";
+ }
+ }
+ }
+
+ BASE_INFO("base_info_1line", BASE_INFO_1LINE_H);
+ BASE_INFO("base_info_for_2lines", BASE_INFO_2LINE_H);
+ BASE_INFO("base_info_for_3lines", BASE_INFO_3LINE_H);
+
+ group {
+ name: "base_info_2lines";
+ inherit: "base_info_for_2lines";
+ parts {
+ BASE_INFO_TEXT( "text_2line", SECOND_BLOCK_OFFSET_T, SMALL_TEXT_BLOCK_H, BASE_INFO_2LINE_H, "contact_display_subname_textblock_style" );
+ }
+ }
+
+ group {
+ name: "base_info_3lines";
+ inherit: "base_info_for_3lines";
+ parts {
+ BASE_INFO_TEXT( "text_2line", SECOND_BLOCK_OFFSET_T, SMALL_TEXT_BLOCK_H, BASE_INFO_3LINE_H, "contact_display_subname_textblock_style" );
+ BASE_INFO_TEXT( "text_3line", THIRD_BLOCK_OFFSET_T, SMALL_TEXT_BLOCK_H, BASE_INFO_3LINE_H, "contact_display_subname_textblock_style" );
+ }
+ }
+
+ group { name: "list/A/log/call_state";
+ parts {
+ part {
+ name: "base";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ min: 34 38;
+ max: 34 38;
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "padding_top";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 0.0; }
+ min: 34 2;
+ max: 34 2;
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "padding_top"; }
+ rel2 { relative: 1.0 1.0; to: "base"; }
+ min: 34 34;
+ max: 34 34;
+ align: 0.0 0.0;
+ }
+ }
+ part {
+ name: "padding_left";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 1.0 0.0; to_x: "elm.swallow.content"; }
+ min: 15 34;
+ max: 15 34;
+ align: 0.0 0.0;
+ }
+ }
+ }
+ }
+
+ BUTTON_STYLES("input_open", IMAGE_PATH/CT_IMG_ICON_INPUT_OPEN, "contact_btn_ic", "contact_btn_ic");
+ BUTTON_STYLES("input_close", IMAGE_PATH/CT_IMG_ICON_INPUT_CLOSE, "contact_btn_ic", "contact_btn_ic");
+ RESOURCE_IMAGE_WITH_TOUCH(GROUP_BTN_IC_MULTIPLE, CT_IMG_ICON_INPUT_RELATIONSHIP, "contact_btn_ic", "contact_btn_ic_pressed")
+}
diff --git a/main-app/res/edje/contacts/genlist_extended_item.edc b/main-app/res/edje/contacts/genlist_extended_item.edc
new file mode 100755
index 0000000..cbeccbe
--- /dev/null
+++ b/main-app/res/edje/contacts/genlist_extended_item.edc
@@ -0,0 +1,188 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "genlist_macro.edc"
+#include "WVGA-inc.edc"
+
+#define SEARCH_BAR_H 80
+#define SEARCH_BAR_W 480
+#define SEARCH_HEIGHT 130
+
+#define LIST_GROUP_TITLE_HEIGHT 56
+#ifdef _HD_
+#define LIST_GROUP_VIEW_HEIGHT 1014
+//#define LIST_GROUP_NORESULT_HEIGHT 776
+#else
+#define LIST_GROUP_VIEW_HEIGHT 596
+//#define LIST_GROUP_NORESULT_HEIGHT 636
+#endif
+#define LIST_NORESULT_TEXT_HEIGHT 38
+
+#define PADDING_LEFT( param_padding_size ) \
+ part { \
+ name: "padding.left"; \
+ type: SPACER; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: param_padding_size 0; \
+ max: param_padding_size -1; \
+ fixed: 1 0; \
+ rel2.relative: 0.0 1.0; \
+ align: 0.0 0.5; \
+ } \
+ }
+
+#define PADDING_RIGHT( param_padding_size ) \
+ part { \
+ name: "padding.right"; \
+ type: SPACER; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: param_padding_size 0; \
+ max: param_padding_size -1; \
+ fixed: 1 0; \
+ rel1.relative: 1.0 0.0; \
+ align: 1.0 0.5; \
+ } \
+ }
+
+#define IMAGE_PATH "./contacts/images/WVGA/contact_edc_images/"
+
+images {
+ image: IMAGE_PATH"core_pattern_empty_bg.png" COMP;
+}
+collections
+{
+ base_scale: 2.6;
+ group {
+ name: "elm/genlist/item/default.center/default";
+ data.item: "texts" "elm.text";
+ data.item: "bg_color" "B0211";
+
+ parts {
+ PART(RECT, "bg",
+ description {
+ state: "default" 0.0;
+ min: 0 LIST_ITEM_HEIGHT;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ }
+ description {
+ state: "disabled" 0.0;
+ }
+ )
+ PART(SPACER, "elm.padding.left",
+ DSC_FROM_L("default" 0.0,
+ min: LIST_PADDING_DEFAULT_SIZE 0;
+ max: LIST_PADDING_DEFAULT_SIZE -1;
+ )
+ )
+ PART(SPACER, "elm.padding.right",
+ DSC_FROM_R("default" 0.0,
+ min: LIST_PADDING_DEFAULT_SIZE 0;
+ max: LIST_PADDING_DEFAULT_SIZE -1;
+ )
+ )
+ PART(SPACER, "elm.padding.top",
+ DSC_FROM_T("default" 0.0,
+ min: 0 LIST_ENTRY_PADDING_TOP_SIZE;
+ max: -1 LIST_ENTRY_PADDING_TOP_SIZE;
+ )
+ )
+ PART(SPACER, "elm.padding.bottom",
+ DSC_FROM_B("default" 0.0,
+ min: 0 LIST_ENTRY_PADDING_BOTTOM_SIZE;
+ max: -1 LIST_ENTRY_PADDING_BOTTOM_SIZE;
+ )
+ )
+ PART(TEXTBLOCK, "elm.text",
+ DSC_LRTB("default" 0.0,
+ "elm.padding.left", "elm.padding.right", "elm.padding.top", "elm.padding.bottom",
+ min: 0 LIST_TEXT_MAIN_HEIGHT;
+ fixed: 1 0;
+
+ text.min: 0 1;
+ text.style: "gal_search_more_textblock_style";
+ )
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ text.style: "gal_search_more_textblock_style_press";
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ text.style: "gal_search_more_textblock_style_dim";
+ }
+ )
+ }
+ LIST_PROGRAMS(target: "elm.text";)
+ }
+ group {
+ name: "elm/genlist/item/default.center.1/default";
+ data.item: "contents" "elm.icon.1";
+ data.item: "bg_color" "B0211";
+
+ parts {
+ PART(RECT, "bg",
+ description {
+ state: "default" 0.0;
+ min: 0 LIST_ITEM_HEIGHT;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ }
+ description {
+ state: "disabled" 0.0;
+ }
+ )
+ PART(SPACER, "elm.padding.left",
+ DSC_FROM_L("default" 0.0,
+ min: LIST_PADDING_DEFAULT_SIZE 0;
+ max: LIST_PADDING_DEFAULT_SIZE -1;
+ )
+ )
+ PART(SPACER, "elm.padding.right",
+ DSC_FROM_R("default" 0.0,
+ min: LIST_PADDING_DEFAULT_SIZE 0;
+ max: LIST_PADDING_DEFAULT_SIZE -1;
+ )
+ )
+ PART(SPACER, "elm.padding.top",
+ DSC_FROM_T("default" 0.0,
+ min: 0 LIST_ENTRY_PADDING_TOP_SIZE;
+ max: -1 LIST_ENTRY_PADDING_TOP_SIZE;
+ )
+ )
+ PART(SPACER, "elm.padding.bottom",
+ DSC_FROM_B("default" 0.0,
+ min: 0 LIST_ENTRY_PADDING_BOTTOM_SIZE;
+ max: -1 LIST_ENTRY_PADDING_BOTTOM_SIZE;
+ )
+ )
+ PART(SWALLOW, "elm.icon.1",
+ DSC_LRTB("default" 0.0,
+ "elm.padding.left", "elm.padding.right", "elm.padding.top", "elm.padding.bottom",
+ align: 0.5 0.5;
+ )
+ )
+ }
+ }
+ }//end collections
diff --git a/main-app/res/edje/contacts/genlist_macro.edc b/main-app/res/edje/contacts/genlist_macro.edc
new file mode 100644
index 0000000..c5812c0
--- /dev/null
+++ b/main-app/res/edje/contacts/genlist_macro.edc
@@ -0,0 +1,457 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+ //**************************************************************************//
+ // Generic Macros, EDJE description have 24 patterns
+ //**************************************************************************//
+ // ------------------
+ // | --> HERE
+ // ------------------
+ #define DSC_FROM_L( STATE, PARAM ) \
+ description { state: STATE; \
+ fixed: 1 0; \
+ align: 0.0 0.5; \
+ rel2.relative: 0.0 1.0; \
+ PARAM \
+ }
+
+ // ------------------
+ // HERE <-- |
+ // ------------------
+ #define DSC_FROM_R( STATE, PARAM ) \
+ description { state: STATE; \
+ fixed: 1 0; \
+ align: 1.0 0.5; \
+ rel1.relative: 1 0; \
+ PARAM \
+ }
+
+ // ----------
+ // | HERE |
+ // ----------
+ // | |
+ // ----------
+ #define DSC_FROM_T( STATE, PARAM ) \
+ description { state: STATE; \
+ fixed: 0 1; \
+ align: 0.5 0.0; \
+ rel2.relative: 1.0 0.0; \
+ PARAM \
+ }
+
+ // ----------
+ // | HERE |
+ // ----------
+ // | |
+ // ----------
+ #define DSC_FROM_B( STATE, PARAM ) \
+ description { state: STATE; \
+ fixed: 0 1; \
+ rel1.relative: 0.0 1.0; \
+ align: 0.5 1.0; \
+ PARAM \
+ }
+
+ // ------------------
+ // | PART == HERE |
+ // ------------------
+ #define DSC_TO( STATE, PART, PARAM ) \
+ description { state: STATE; \
+ rel1 { \
+ relative: 0 0; \
+ to: PART; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: PART; \
+ } \
+ PARAM \
+ }
+
+ // | TOP |
+ // ---------------------
+ // LEFT | HERE | RIGHT
+ // ---------------------
+ // | BOTTOM |
+#define DSC_LRTB( STATE, LEFT, RIGHT, TOP, BOTTOM, PARAM ) \
+ description { state: STATE; \
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ } \
+ rel2 { \
+ relative: 0 0; \
+ to_x: RIGHT; \
+ to_y: BOTTOM; \
+ } \
+ PARAM \
+ }
+
+ // ---------------------
+ // LEFT |--> HERE
+ // ---------------------
+#define DSC_L( STATE, LEFT, PARAM ) \
+ description { state: STATE; \
+ align: 0 0.5; \
+ fixed: 1 0; \
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ } \
+ PARAM \
+ }
+
+ // ---------------------
+ // HERE <--| RIGHT
+ // ---------------------
+#define DSC_R( STATE, RIGHT, PARAM ) \
+ description { state: STATE; \
+ align: 1 0.5; \
+ fixed: 1 0; \
+ rel1 { \
+ relative: 0 0; \
+ to_x: RIGHT; \
+ } \
+ rel2 { \
+ relative: 0 1; \
+ to_x: RIGHT; \
+ } \
+ PARAM \
+ }
+
+ // --------------------------
+ // LEFT |--> HERE <--| RIGHT
+ // --------------------------
+#define DSC_LR( STATE, LEFT, RIGHT, PARAM ) \
+ description { state: STATE; \
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ } \
+ rel2 { \
+ relative: 0 1; \
+ to_x: RIGHT; \
+ } \
+ PARAM \
+ }
+
+ // | TOP |
+ // -----------------
+ // | HERE <--| RIGHT
+ // -----------------
+ // | BOTTOM |
+#define DSC_RTB( STATE, RIGHT, TOP, BOTTOM, PARAM ) \
+ description { state: STATE; \
+ align: 1 0.5; \
+ rel1 { \
+ relative: 0 1; \
+ to_x: RIGHT; \
+ to_y: TOP; \
+ } \
+ rel2 { \
+ relative: 0 0; \
+ to_x: RIGHT; \
+ to_y: BOTTOM; \
+ } \
+ PARAM \
+ }
+
+ // LEFT | HERE | RIGHT
+ // ---------------------
+ // | BOTTOM |
+#define DSC_LRB( STATE, LEFT, RIGHT, BOTTOM, PARAM ) \
+ description { state: STATE; \
+ align: 0.5 1; \
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ to_y: BOTTOM; \
+ } \
+ rel2 { \
+ relative: 0 0; \
+ to_x: RIGHT; \
+ to_y: BOTTOM; \
+ } \
+ PARAM \
+ }
+
+ // | TOP |
+ // ---------------------
+ // LEFT | HERE | RIGHT
+#define DSC_LRT( STATE, LEFT, RIGHT, TOP, PARAM ) \
+ description { state: STATE; \
+ align: 0.5 0; \
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ } \
+ rel2 { \
+ relative: 0 1; \
+ to_x: RIGHT; \
+ to_y: TOP; \
+ } \
+ PARAM \
+ }
+
+ // | TOP |
+ // ---------------------
+ // LEFT | --> HERE |
+#define DSC_LT( STATE, LEFT, TOP, PARAM ) \
+ description { state: STATE; \
+ align: 0 0; \
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ } \
+ PARAM \
+ }
+
+ // LEFT | --> HERE |
+ // ---------------------
+ // | BOTTOM |
+#define DSC_LB( STATE, LEFT, BOTTOM, PARAM ) \
+ description { state: STATE; \
+ align: 0 1; \
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ to_y: BOTTOM; \
+ } \
+ rel2 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ to_y: BOTTOM; \
+ } \
+ PARAM \
+ }
+
+ // | TOP |
+ // ---------------------
+ // LEFT |--> HERE |
+ // ---------------------
+ // | BOTTOM |
+#define DSC_LTB( STATE, LEFT, TOP, BOTTOM, PARAM ) \
+ description { state: STATE; \
+ align: 0 0.5; \
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ } \
+ rel2 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ to_y: BOTTOM; \
+ } \
+ PARAM \
+ }
+
+ // | TOP |
+ // ---------------------
+ // | HERE <--| RIGHT
+#define DSC_RT( STATE, RIGHT, TOP, PARAM ) \
+ description { state: STATE; \
+ align: 1 0; \
+ rel1 { \
+ relative: 0 1; \
+ to_x: RIGHT; \
+ to_y: TOP; \
+ } \
+ rel2 { \
+ relative: 0 1; \
+ to_x: RIGHT; \
+ to_y: TOP; \
+ } \
+ PARAM \
+ }
+
+ // | HERE <-- | RIGHT
+ // ---------------------
+ // | BOTTOM |
+#define DSC_RB( STATE, RIGHT, BOTTOM, PARAM ) \
+ description { state: STATE; \
+ align: 1 1; \
+ rel1 { \
+ relative: 0 0; \
+ to_x: RIGHT; \
+ to_y: BOTTOM; \
+ } \
+ rel2 { \
+ relative: 0 0; \
+ to_x: RIGHT; \
+ to_y: BOTTOM; \
+ } \
+ PARAM \
+ }
+
+ // | TOP |
+ // ----------
+ // | HERE |
+ // ----------
+ // | BOTTOM |
+#define DSC_TB( STATE, TOP, BOTTOM, PARAM ) \
+ description { state: STATE; \
+ align: 0.5 0.5; \
+ rel1 { \
+ relative: 0 1; \
+ to_y: TOP; \
+ } \
+ rel2 { \
+ relative: 1 0; \
+ to_y: BOTTOM; \
+ } \
+ PARAM \
+ }
+
+ // | TOP |
+ // ----------
+ // | HERE |
+ // ----------
+#define DSC_T( STATE, TOP, PARAM ) \
+ description { state: STATE; \
+ align: 0.5 0.0; \
+ rel1 { \
+ relative: 0 1; \
+ to_y: TOP; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to_y: TOP; \
+ } \
+ PARAM \
+ }
+
+ // | HERE |
+ // ----------
+ // | BOTTOM |
+ // ----------
+#define DSC_B( STATE, BOTTOM, PARAM ) \
+ description { state: STATE; \
+ align: 0.5 1.0; \
+ rel1 { \
+ relative: 0 0; \
+ to_y: BOTTOM; \
+ } \
+ rel2 { \
+ relative: 1 0; \
+ to_y: BOTTOM; \
+ } \
+ PARAM \
+ }
+
+ // PART
+#define PART(TYPE, NAME, DESCRIPION) \
+ part { name: NAME; \
+ scale: 1; \
+ type: TYPE; \
+ DESCRIPION \
+ }
+
+ //**************************************************************************//
+ // Genlist Macros
+ //**************************************************************************//
+#define LIST_PART_BG \
+ PART(RECT, "bg", \
+ description { state: "default" 0.0; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ description { state: "disabled" 0.0; \
+ } \
+ )
+
+#define LIST_PROGRAM_DEFAULT( TARGET ) \
+ program { name: "default"; \
+ signal: "elm,state,default"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ } \
+
+#define LIST_PROGRAM_DISABLED( TARGET ) \
+ program { name: "enabled"; \
+ signal: "elm,state,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ } \
+ program { name: "disabled"; \
+ signal: "elm,state,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "disabled" 0.0; \
+ TARGET \
+ }
+
+#define LIST_PROGRAM_SELECT( TARGET ) \
+ program { name: "pressed"; \
+ signal: "elm,state,selected"; \
+ source: "elm"; \
+ action: STATE_SET "pressed" 0.0; \
+ TARGET \
+ } \
+ program { name: "unselected"; \
+ signal: "elm,state,unselected"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ }
+
+#define LIST_PROGRAM_SOUND \
+ program { name: "play_sound"; \
+ signal: "elm,state,clicked"; \
+ source: "elm"; \
+ script { \
+ run_program(PROGRAM:"touch_sound"); \
+ } \
+ } \
+ program { name: "touch_sound"; \
+ action: RUN_PLUGIN "touch_sound"; \
+ }
+
+#define LIST_PROGRAMS( TARGET ) \
+ programs { \
+ LIST_PROGRAM_DEFAULT( TARGET \
+ target: "bg"; \
+ ) \
+ LIST_PROGRAM_DISABLED( TARGET \
+ target: "bg"; \
+ ) \
+ LIST_PROGRAM_SELECT( TARGET \
+ target: "bg"; \
+ ) \
+ LIST_PROGRAM_SOUND \
+ }
+
+#define PARAM_TEXT(STYLE) \
+ text { \
+ min: 0 1; \
+ style: STYLE; \
+ }
diff --git a/main-app/res/edje/contacts/image_layout.edc b/main-app/res/edje/contacts/image_layout.edc
new file mode 100644
index 0000000..30c265e
--- /dev/null
+++ b/main-app/res/edje/contacts/image_layout.edc
@@ -0,0 +1,208 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#define SOUND_PATH "../sounds/"
+#define IMAGE_RECT 629
+
+#define IMAGE_FADE_DURATION 0.2
+
+#if defined(_CONTACTS_LITE_ENABLE)
+#defined IMAGE_BUTTON_WIDTH_HEIGHT_INC 32 32
+#defined IMAGE_LANDSCAPE_BUTTON_WIDTH_HEIGHT_INC 37 37
+#else
+#defined IMAGE_BUTTON_WIDTH_HEIGHT_INC 64 64
+#defined IMAGE_LANDSCAPE_BUTTON_WIDTH_HEIGHT_INC 74 74
+#endif
+
+#define GENLIST_DESCRIPTION_FADE \
+description { state: "fadeout" 0.0; \
+ inherit: "default" 0.0; \
+ color: 255 255 255 10; \
+} \
+description { state: "fadein" 0.0; \
+ inherit: "default" 0.0; \
+}
+
+#define GENLIST_PART_IMAGE(NAME, DESCRIPION) \
+part { name: NAME; \
+ scale: 1; \
+ type: IMAGE; \
+ DESCRIPION \
+ GENLIST_DESCRIPTION_FADE \
+}
+
+#define GENLIST_PART_FOCUS \
+ GENLIST_PART_IMAGE( "focus_part", \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ image { \
+ normal: IMAGE_PATH"00_focus_01.png"; \
+ border: 7 7 7 7; \
+ } \
+ } \
+ description { state: "focused" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ )
+
+#define GENLIST_PROGRAM_FOCUS \
+ program { name: "focused"; \
+ signal: "elm,action,focus_highlight,show"; \
+ source: "elm"; \
+ action: STATE_SET "focused" 0.0; \
+ target: "focus_part"; \
+ } \
+ program { name: "unfocused"; \
+ signal: "elm,action,focus_highlight,hide"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "focus_part"; \
+ }
+
+images {
+ image: IMAGE_PATH"C02_edit_default_blue.png" COMP;
+ image: IMAGE_PATH"C01-4_circle_add_button.png" COMP;
+ image: IMAGE_PATH"C02_edit_default_blue_h.png" COMP;
+ image: IMAGE_PATH"C02_circle_add_button_h.png" COMP;
+ image: IMAGE_PATH"00_focus_01.png" COMP;
+}
+
+ collections {
+ base_scale: 2.6;
+ sounds {
+ sample {
+ name: "touch_sound" AS_IS;
+ source: SOUND_PATH"Tizen_Touch.wav";
+ }
+ }
+
+ group {
+ name: "elm/genlist/item/image_layout/default";
+ alias: "dialogue/image_layout";
+ data.item: "selectraise" "on";
+ data.item: "stacking" "above";
+ data.item: "contents" "elm.icon";
+ parts {
+ part {
+ name: "base";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 90 90;
+ max: 90 90;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name: "elm.icon";
+ type: SWALLOW;
+ mouse_events: 1;
+ clip_to: "disclip";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0 0;
+ min: 90 90;
+ max: 90 90;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "base"; }
+ rel2 { relative: 1.0 1.0; to: "base"; }
+ }
+ }
+ part {
+ name: "disclip";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ visible: 1;
+ }
+ description {
+ state: "remove,fade,out" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 100;
+ rel1 { relative: 0.25 0.25; to: "base";}
+ rel2 { relative: 0.75 0.75; to: "base";}
+ visible: 0;
+ }
+ }
+ part {
+ name: "press.bg";
+ type: RECT;
+ repeat_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ rel1 { relative: 0.0 0.0; to: "base";}
+ rel2 { relative: 1.0 1.0; to: "base";}
+ }
+ description {
+ state: "press" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color: 255 255 255 127;
+ }
+ }
+ }
+ programs{
+ program {
+ name: "set,image";
+ signal: "set,image";
+ source: "elm.icon";
+ action: STATE_SET "default" 0.0;
+ target: "elm.icon";
+ target: "disclip";
+ transition: ACCELERATE 0.7;
+ }
+ program {
+ name: "remove,fade,out";
+ signal: "remove,fade,out";
+ source: "elm.icon";
+ action: STATE_SET "remove,fade,out" 0.0;
+ target: "elm.icon";
+ target: "disclip";
+ transition: ACCELERATE IMAGE_FADE_DURATION;
+ }
+ program {
+ name: "play_sound";
+ signal: "play_sound";
+ source: "elm.icon4";
+ action: PLAY_SAMPLE "touch_sound" 1.0;
+ }
+ program {
+ name: "press";
+ signal: "press,bg";
+ source: "press,bg";
+ action: STATE_SET "press" 0.0;
+ target: "press.bg";
+ }
+ program {
+ name: "unpress";
+ signal: "unpress,bg";
+ source: "press,bg";
+ action: STATE_SET "default" 0.0;
+ target: "press.bg";
+ }
+ }
+ }
+}
diff --git a/main-app/res/edje/contacts/images/HD/contact_details_back_ic.png b/main-app/res/edje/contacts/images/HD/contact_details_back_ic.png
new file mode 100755
index 0000000..bdbf15a
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contact_details_back_ic.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_btn_ic_Internet.png b/main-app/res/edje/contacts/images/HD/contacts_btn_ic_Internet.png
new file mode 100644
index 0000000..d03feba
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_btn_ic_Internet.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_btn_ic_call.png b/main-app/res/edje/contacts/images/HD/contacts_btn_ic_call.png
new file mode 100644
index 0000000..7ded7ed
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_btn_ic_call.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_btn_ic_email.png b/main-app/res/edje/contacts/images/HD/contacts_btn_ic_email.png
new file mode 100644
index 0000000..d7f307e
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_btn_ic_email.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_btn_ic_message.png b/main-app/res/edje/contacts/images/HD/contacts_btn_ic_message.png
new file mode 100644
index 0000000..2610874
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_btn_ic_message.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_btn_ic_multiple.png b/main-app/res/edje/contacts/images/HD/contacts_btn_ic_multiple.png
new file mode 100644
index 0000000..cee85f8
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_btn_ic_multiple.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_caller_id_default.png b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default.png
new file mode 100644
index 0000000..7093c6b
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_02.png b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_02.png
new file mode 100644
index 0000000..9715b8b
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_02.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_03.png b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_03.png
new file mode 100644
index 0000000..808a289
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_03.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg.png b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg.png
new file mode 100644
index 0000000..1653730
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg_02.png b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg_02.png
new file mode 100644
index 0000000..6c51cac
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg_02.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg_03.png b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg_03.png
new file mode 100644
index 0000000..647d2a1
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_bg_03.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim.png b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim.png
new file mode 100644
index 0000000..0d7d8ab
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim_02.png b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim_02.png
new file mode 100644
index 0000000..2a23ded
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim_02.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim_03.png b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim_03.png
new file mode 100644
index 0000000..c44b8d2
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_dim_03.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking.png b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking.png
new file mode 100644
index 0000000..48431d7
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking_02.png b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking_02.png
new file mode 100644
index 0000000..37787dd
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking_02.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking_03.png b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking_03.png
new file mode 100644
index 0000000..c44b8d2
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_caller_id_default_masking_03.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_call.png b/main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_call.png
new file mode 100644
index 0000000..ca9ef39
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_call.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_email.png b/main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_email.png
new file mode 100644
index 0000000..19a804a
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_email.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_more.png b/main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_more.png
new file mode 100644
index 0000000..4b2e446
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_more.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_note.png b/main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_note.png
new file mode 100644
index 0000000..db0856c
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/contacts_circle_btn_ic_note.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/HD/core_floating_icon_01.png b/main-app/res/edje/contacts/images/HD/core_floating_icon_01.png
new file mode 100644
index 0000000..7f487f9
--- /dev/null
+++ b/main-app/res/edje/contacts/images/HD/core_floating_icon_01.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/common_images/logs_default_90.png b/main-app/res/edje/contacts/images/WVGA/common_images/logs_default_90.png
new file mode 100755
index 0000000..c63d7f0
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/common_images/logs_default_90.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_Nocontents_picture.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_Nocontents_picture.png
new file mode 100644
index 0000000..2a89eda
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_Nocontents_picture.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01.png
new file mode 100644
index 0000000..c7f9850
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg.#.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg.#.png
new file mode 100755
index 0000000..bfca892
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg.#.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_dim_ef.#.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_dim_ef.#.png
new file mode 100755
index 0000000..dbde380
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_dim_ef.#.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_ef.#.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_ef.#.png
new file mode 100755
index 0000000..e760712
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_ef.#.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_focus.#.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_focus.#.png
new file mode 100755
index 0000000..84eb170
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_bg_focus.#.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_dim.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_dim.png
new file mode 100644
index 0000000..c7f9850
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_dim.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_focus.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_focus.png
new file mode 100644
index 0000000..c9e4eda
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_focus.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_press.png
new file mode 100644
index 0000000..7b9bb42
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_button_01_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_circle_thumbnail_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_circle_thumbnail_bg.png
new file mode 100755
index 0000000..96a0eb8
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_circle_thumbnail_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_circle_thumbnail_bg_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_circle_thumbnail_bg_press.png
new file mode 100644
index 0000000..e069a63
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_circle_thumbnail_bg_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_focus_01.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_focus_01.png
new file mode 100644
index 0000000..cee8217
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_focus_01.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_group_index_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_group_index_bg.png
new file mode 100755
index 0000000..834f3f6
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_group_index_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_icon_call.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_icon_call.png
new file mode 100644
index 0000000..e0097ee
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_icon_call.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_icon_message.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_icon_message.png
new file mode 100644
index 0000000..d5c8aa9
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_icon_message.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg.#.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg.#.png
new file mode 100755
index 0000000..0f5c388
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg.#.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg.png
new file mode 100644
index 0000000..7ceeced
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom.#.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom.#.png
new file mode 100755
index 0000000..c818d9f
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom.#.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom.png
new file mode 100644
index 0000000..9854f6f
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom_press.png
new file mode 100644
index 0000000..30fb957
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_bottom_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center.#.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center.#.png
new file mode 100755
index 0000000..305d3b7
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center.#.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center.png
new file mode 100644
index 0000000..9854f6f
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center_press.png
new file mode 100644
index 0000000..30fb957
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_center_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_press.png
new file mode 100644
index 0000000..04310ca
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top.#.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top.#.png
new file mode 100755
index 0000000..65da1ba
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top.#.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top.png
new file mode 100644
index 0000000..7ceeced
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top_press.png
new file mode 100644
index 0000000..04310ca
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_group_bg_top_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_swipe_left.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_swipe_left.png
new file mode 100644
index 0000000..f9f6a0f
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_swipe_left.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_swipe_right.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_swipe_right.png
new file mode 100644
index 0000000..ecb521c
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_list_swipe_right.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_02_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_02_bg.png
new file mode 100644
index 0000000..350c64c
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_02_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg.#.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg.#.png
new file mode 100755
index 0000000..202ecec
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg.#.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg_ef.#.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg_ef.#.png
new file mode 100755
index 0000000..39d8213
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg_ef.#.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg_line.#.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg_line.#.png
new file mode 100755
index 0000000..92aee52
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_bg_line.#.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_bottom.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_bottom.png
new file mode 100644
index 0000000..ce83e81
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_bottom.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_left.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_left.png
new file mode 100644
index 0000000..67805f2
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_left.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_right.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_right.png
new file mode 100644
index 0000000..cc88ff4
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_right.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top.png
new file mode 100755
index 0000000..6e635fc
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top_ef.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top_ef.png
new file mode 100755
index 0000000..c896981
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top_ef.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top_line.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top_line.png
new file mode 100755
index 0000000..3b1ad65
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_bubble_tail_top_line.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_list_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_list_press.png
new file mode 100644
index 0000000..820a3aa
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_popup_list_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_search_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_search_bg.png
new file mode 100644
index 0000000..d5ab65c
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_search_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_search_icon.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_search_icon.png
new file mode 100644
index 0000000..be26006
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_search_icon.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_title_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_title_bg.png
new file mode 100644
index 0000000..c49531d
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/00_title_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-3_field_btn_clear.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-3_field_btn_clear.png
new file mode 100755
index 0000000..4858fb6
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-3_field_btn_clear.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-3_search_icon.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-3_search_icon.png
new file mode 100755
index 0000000..4894b7c
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-3_search_icon.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_add_button.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_add_button.png
new file mode 100644
index 0000000..0141054
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_add_button.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_big.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_big.png
new file mode 100644
index 0000000..e5527ac
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_big.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_big_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_big_press.png
new file mode 100644
index 0000000..4a4140e
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_big_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_small.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_small.png
new file mode 100644
index 0000000..4fc5a94
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_small.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_small_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_small_press.png
new file mode 100644
index 0000000..851838a
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C01-4_circle_button_small_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_bg.png
new file mode 100644
index 0000000..87730d2
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete.png
new file mode 100755
index 0000000..270f8a0
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete_bg.png
new file mode 100755
index 0000000..f9a3dab
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete_ef.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete_ef.png
new file mode 100755
index 0000000..ab5f492
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_delete_ef.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_icon_add_account.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_icon_add_account.png
new file mode 100755
index 0000000..27baef3
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_button_icon_add_account.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_h.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_h.png
new file mode 100755
index 0000000..153a66d
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_h.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_icon.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_icon.png
new file mode 100755
index 0000000..3f9914a
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_icon.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_icon_h.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_icon_h.png
new file mode 100755
index 0000000..85c61df
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_add_button_icon_h.png
Binary files differ
diff --git a/lib/images/contact_images/C02_circle_button.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button.png
index 5e58d0d..5e58d0d 100755
--- a/lib/images/contact_images/C02_circle_button.png
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg.png
new file mode 100755
index 0000000..59a101a
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg_ef.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg_ef.png
new file mode 100755
index 0000000..0d06542
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg_ef.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg_press_ef.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg_press_ef.png
new file mode 100755
index 0000000..5b346a1
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_01_bg_press_ef.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg.png
new file mode 100755
index 0000000..12c0725
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg_ef.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg_ef.png
new file mode 100755
index 0000000..c3fdca0
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg_ef.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg_press_ef.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg_press_ef.png
new file mode 100755
index 0000000..8dae78d
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_02_bg_press_ef.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call.png
new file mode 100644
index 0000000..b4c2aff
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_02.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_02.png
new file mode 100644
index 0000000..94493bd
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_02.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_02_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_02_press.png
new file mode 100644
index 0000000..006eb0e
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_02_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_press.png
new file mode 100644
index 0000000..2ee9d0d
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_call_press.png
Binary files differ
diff --git a/lib/images/contact_images/C02_circle_button_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_press.png
index 8ea6881..8ea6881 100755
--- a/lib/images/contact_images/C02_circle_button_press.png
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms.png
new file mode 100644
index 0000000..c482deb
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_02.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_02.png
new file mode 100644
index 0000000..20f0fe5
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_02.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_02_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_02_press.png
new file mode 100644
index 0000000..50733b9
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_02_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_press.png
new file mode 100644
index 0000000..5c03ab4
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_circle_button_sms_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_dialogue_circle_thumbnail_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_dialogue_circle_thumbnail_bg.png
new file mode 100755
index 0000000..68f8061
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_dialogue_circle_thumbnail_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_dialogue_circle_thumbnail_bg_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_dialogue_circle_thumbnail_bg_press.png
new file mode 100644
index 0000000..e069a63
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_dialogue_circle_thumbnail_bg_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_edit_default_blue.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_edit_default_blue.png
new file mode 100755
index 0000000..ab47488
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_edit_default_blue.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_edit_default_blue_h.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_edit_default_blue_h.png
new file mode 100755
index 0000000..be30f7c
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_edit_default_blue_h.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_no_contacts.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_no_contacts.png
new file mode 100755
index 0000000..7bbb849
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_no_contacts.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_no_contacts_default.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_no_contacts_default.png
new file mode 100755
index 0000000..5467662
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_no_contacts_default.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_search_button_icon_add.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_search_button_icon_add.png
new file mode 100755
index 0000000..f434502
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_search_button_icon_add.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_search_button_icon_add_press.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_search_button_icon_add_press.png
new file mode 100644
index 0000000..33e48b8
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_search_button_icon_add_press.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_thumbnail_icon_call.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_thumbnail_icon_call.png
new file mode 100755
index 0000000..9eabe74
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/C02_thumbnail_icon_call.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/T01-1_divider_P.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/T01-1_divider_P.png
new file mode 100644
index 0000000..c9023e5
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/T01-1_divider_P.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/contacts_caller_id_default_dim.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/contacts_caller_id_default_dim.png
new file mode 100644
index 0000000..daf15e9
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/contacts_caller_id_default_dim.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_center.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_center.png
new file mode 100755
index 0000000..aa57a2f
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_center.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left.png
new file mode 100755
index 0000000..6556b1f
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_01.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_01.png
new file mode 100755
index 0000000..7aa4b55
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_01.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_01_reversed.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_01_reversed.png
new file mode 100755
index 0000000..2b695d5
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_01_reversed.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_reversed.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_reversed.png
new file mode 100755
index 0000000..86163dc
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_left_reversed.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right.png
new file mode 100755
index 0000000..2b695d5
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_01.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_01.png
new file mode 100755
index 0000000..86163dc
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_01.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_01_reversed.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_01_reversed.png
new file mode 100755
index 0000000..6556b1f
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_01_reversed.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_reversed.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_reversed.png
new file mode 100755
index 0000000..7aa4b55
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/copy&paste_Handler_right_reversed.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/core_pattern_empty_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/core_pattern_empty_bg.png
new file mode 100644
index 0000000..0d03848
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/core_pattern_empty_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_edc_images/core_pattern_empty_bg_h.png b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/core_pattern_empty_bg_h.png
new file mode 100644
index 0000000..e4d75d3
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_edc_images/core_pattern_empty_bg_h.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/C02_icon_phone.png b/main-app/res/edje/contacts/images/WVGA/contact_images/C02_icon_phone.png
new file mode 100755
index 0000000..6886ef6
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/C02_icon_phone.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contact_details_back_ic.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contact_details_back_ic.png
new file mode 100755
index 0000000..bdbf15a
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contact_details_back_ic.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_badge_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_badge_bg.png
new file mode 100755
index 0000000..e40cd7c
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_badge_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_call.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_call.png
new file mode 100644
index 0000000..cd0c34e
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_call.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_email.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_email.png
new file mode 100644
index 0000000..b97ee25
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_email.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_more.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_more.png
new file mode 100644
index 0000000..b5eb8a4
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_more.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_note.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_note.png
new file mode 100644
index 0000000..38c473b
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_btn_ic_note.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default.png
new file mode 100644
index 0000000..2a6081c
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_02.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_02.png
new file mode 100755
index 0000000..791016f
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_02.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_bg.png
new file mode 100755
index 0000000..6021d14
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_bg_02.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_bg_02.png
new file mode 100755
index 0000000..7051ce1
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_bg_02.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_masking.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_masking.png
new file mode 100755
index 0000000..daf15e9
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_masking.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_masking_02.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_masking_02.png
new file mode 100755
index 0000000..a5669a4
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_caller_id_default_masking_02.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_49.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_49.png
new file mode 100755
index 0000000..a604e92
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_49.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_90.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_90.png
new file mode 100755
index 0000000..c63d7f0
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_90.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_108.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_108.png
new file mode 100644
index 0000000..4fd5215
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_108.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_49.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_49.png
new file mode 100755
index 0000000..88fd6cb
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_49.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_90.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_90.png
new file mode 100755
index 0000000..c03b172
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_default_masking_90.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_ic_linked.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_ic_linked.png
new file mode 100755
index 0000000..f57bdf9
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_ic_linked.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_ic_multiple.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_ic_multiple.png
new file mode 100755
index 0000000..d79079b
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_ic_multiple.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_Internet.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_Internet.png
new file mode 100755
index 0000000..d036b39
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_Internet.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_badgel.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_badgel.png
new file mode 100755
index 0000000..a63deae
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_badgel.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_call.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_call.png
new file mode 100755
index 0000000..ce564d0
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_call.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_call_1.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_call_1.png
new file mode 100755
index 0000000..016e44b
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_call_1.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_close.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_close.png
new file mode 100755
index 0000000..e45de81
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_close.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_delete.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_delete.png
new file mode 100755
index 0000000..17d2e1a
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_delete.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_email.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_email.png
new file mode 100755
index 0000000..18739f3
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_email.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_email_1.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_email_1.png
new file mode 100755
index 0000000..d99b53d
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_email_1.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_link.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_link.png
new file mode 100755
index 0000000..9512246
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_link.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_message.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_message.png
new file mode 100755
index 0000000..1949170
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_message.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_message_1.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_message_1.png
new file mode 100755
index 0000000..4f3abeb
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_message_1.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_open.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_open.png
new file mode 100755
index 0000000..cd8fa8e
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_open.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_sim_container.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_sim_container.png
new file mode 100644
index 0000000..62f3bcb
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_sim_container.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_videocall.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_videocall.png
new file mode 100755
index 0000000..4f6ac91
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_icon_videocall.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_sim_bg.png b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_sim_bg.png
new file mode 100644
index 0000000..de6eb71
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/contacts_sim_bg.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/favorites_icon_remove.PNG b/main-app/res/edje/contacts/images/WVGA/contact_images/favorites_icon_remove.PNG
new file mode 100755
index 0000000..540a01b
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/favorites_icon_remove.PNG
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_badge_container.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_badge_container.png
new file mode 100755
index 0000000..eac01df
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_badge_container.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_blocked.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_blocked.png
new file mode 100755
index 0000000..f977f03
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_blocked.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_1.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_1.png
new file mode 100755
index 0000000..d846e3c
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_1.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_1_46.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_1_46.png
new file mode 100755
index 0000000..a5e345c
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_1_46.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_2.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_2.png
new file mode 100755
index 0000000..ba1de6a
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_2.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_2_46.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_2_46.png
new file mode 100755
index 0000000..d6b5fa9
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_2_46.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_container.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_container.png
new file mode 100755
index 0000000..1930226
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_container.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_data.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_data.png
new file mode 100755
index 0000000..f1ae9cc
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_data.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_data_46.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_data_46.png
new file mode 100755
index 0000000..00b72b5
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_data_46.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_default_ic.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_default_ic.png
new file mode 100755
index 0000000..dc92b83
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_default_ic.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_heart.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_heart.png
new file mode 100755
index 0000000..aa896fd
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_heart.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_heart_46.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_heart_46.png
new file mode 100755
index 0000000..11b3618
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_heart_46.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_home.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_home.png
new file mode 100755
index 0000000..1bc3e8c
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_home.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_home_46.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_home_46.png
new file mode 100755
index 0000000..bc1e7d8
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_home_46.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_internet.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_internet.png
new file mode 100755
index 0000000..708b3ab
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_internet.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_internet_46.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_internet_46.png
new file mode 100755
index 0000000..9306fdc
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_internet_46.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_office.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_office.png
new file mode 100755
index 0000000..830296f
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_office.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_office_46.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_office_46.png
new file mode 100755
index 0000000..d85166d
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_office_46.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_phone.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_phone.png
new file mode 100755
index 0000000..06f701b
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_phone.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_phone_46.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_phone_46.png
new file mode 100755
index 0000000..dbbad45
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_phone_46.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_sms.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_sms.png
new file mode 100755
index 0000000..6a8f1e2
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_sms.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_sms_46.png b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_sms_46.png
new file mode 100755
index 0000000..408d069
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/logs_icon_sim_sms_46.png
Binary files differ
diff --git a/main-app/res/edje/contacts/images/WVGA/contact_images/noti_contact_default.png b/main-app/res/edje/contacts/images/WVGA/contact_images/noti_contact_default.png
new file mode 100755
index 0000000..b0a225f
--- /dev/null
+++ b/main-app/res/edje/contacts/images/WVGA/contact_images/noti_contact_default.png
Binary files differ
diff --git a/main-app/res/edje/contacts/input_theme.edc b/main-app/res/edje/contacts/input_theme.edc
new file mode 100644
index 0000000..1d6e9ec
--- /dev/null
+++ b/main-app/res/edje/contacts/input_theme.edc
@@ -0,0 +1,385 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#define SOUND_PATH "../sounds/"
+#define IMAGE_EDC_PATH "./contacts/images/WVGA/contact_edc_images/"
+#include "../../../../lib-common/res/edje/ColorClass.h"
+
+#define CT_INPUT_PADDING_LEFT_SIZE 42
+#define CT_INPUT_PADDING_RIGHT_SIZE 10
+#define CT_INPUT_IMAGE_SIZE 166 166
+#define CT_INPUT_LABEL_OFFSET 0 32
+#define CT_INPUT_BUTTONS_OFFSET 0 27
+#define CT_INPUT_BASE_INFO_PADDING_TOP_BOTTOM_SIZE 8
+#define CT_INPUT_MIN_HEIGHT 120
+#define CT_INPUT_MIN_WIDTH 144
+#define CT_INPUT_BUTTON_DROPDOWN_MIN_HEIGHT 100
+
+
+
+images {
+ image: IMAGE_EDC_PATH"contacts_caller_id_default_dim.png" COMP;
+}
+
+collections
+{
+ base_scale: 2.6;
+ plugins {
+ plugin {
+ name: "touch_sound"; // Name run by RUN_PLUGIN
+ source: "feedback"; // External edje plugin name
+ param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP";
+ }
+ }
+
+ group {
+ name: "elm/genlist/item/baseinfo.contract/default";
+ data.item: "contents" "elm.icon.1 elm.icon.2 elm.name.label";
+
+ parts {
+ LIST_PART_BG
+ PART(SPACER, "elm.padding.top",
+ DSC_FROM_T("default" 0.0,
+ min: 0 CT_INPUT_BASE_INFO_PADDING_TOP_BOTTOM_SIZE;
+ max: -1 CT_INPUT_BASE_INFO_PADDING_TOP_BOTTOM_SIZE;
+ )
+ )
+ PART(SPACER, "elm.padding.bottom",
+ DSC_FROM_B("default" 0.0,
+ min: 0 CT_INPUT_BASE_INFO_PADDING_TOP_BOTTOM_SIZE;
+ max: -1 CT_INPUT_BASE_INFO_PADDING_TOP_BOTTOM_SIZE;
+ )
+ )
+ PART(SPACER, "elm.padding.left",
+ DSC_FROM_L("default" 0.0,
+ min: CT_INPUT_PADDING_LEFT_SIZE 0;
+ max: CT_INPUT_PADDING_LEFT_SIZE -1;
+ )
+ )
+ PART(SPACER, "elm.padding.right",
+ DSC_FROM_R("default" 0.0,
+ min: CT_INPUT_PADDING_RIGHT_SIZE 0;
+ max: CT_INPUT_PADDING_RIGHT_SIZE -1;
+ )
+ )
+ PART(SWALLOW, "elm.icon.2",
+ DSC_TB("default" 0.0,
+ "elm.padding.top", "elm.padding.bottom",
+ align: 0.5 0.0;
+ min: CT_INPUT_IMAGE_SIZE;
+ max: CT_INPUT_IMAGE_SIZE;
+ )
+ )
+ PART(SWALLOW, "elm.name.label",
+ DSC_LT("default" 0.0,
+ "elm.padding.left", "elm.icon.2",
+ align: 0.0 0.0;
+ min: CT_INPUT_MIN_WIDTH 0;
+ max: CT_INPUT_MIN_WIDTH -1;
+ rel1.offset: CT_INPUT_LABEL_OFFSET;
+ )
+ )
+ PART(SWALLOW, "elm.icon.1",
+ DSC_LRTB("default" 0.0,
+ "elm.name.label", "elm.padding.right", "elm.icon.2", "elm.padding.bottom",
+ align: 0.0 0.0;
+ )
+ )
+ }
+ }
+
+ group {
+ name: "elm/genlist/item/baseinfo.expand/default";
+ inherit: "elm/genlist/item/baseinfo.contract/default";
+ parts {
+ PART(SPACER, "elm.padding.bottom",
+ DSC_FROM_B("default" 0.0,
+ min: 0 0;
+ max: -1 0;
+ )
+ )
+ }
+ }
+ group {
+ name: "baseinfo_sub_layout";
+ data.item: "contents" "elm.icon.1 elm.icon.2";
+ data.item: "banded_bg_area" "elm.swallow.bg";
+
+ parts {
+ PART(SWALLOW, "elm.swallow.bg",
+ description { state: "default" 0.0;
+ }
+ )
+ PART(SPACER, "elm.padding.left",
+ DSC_FROM_L("default" 0.0,
+ min: 0 0;
+ max: 0 -1;
+ )
+ )
+ PART(SWALLOW, "elm.icon.2",
+ DSC_FROM_R("default" 0.0,
+ align: 1.0 0.5;
+ min: LIST_ENTRY_ICON_SIZE LIST_ENTRY_ICON_SIZE;
+ max: LIST_ENTRY_ICON_SIZE LIST_ENTRY_ICON_SIZE;
+ )
+ )
+ PART(SWALLOW, "elm.icon.1",
+ DSC_LR("default" 0.0,
+ "elm.padding.left", "elm.icon.2",
+ align: 0.0 0.5;
+ )
+ )
+ }
+ programs{
+ program {
+ name: "play_sound";
+ signal: "mouse,clicked,1";
+ source: "elm.icon.2";
+ action: RUN_PLUGIN "touch_sound";
+ }
+ }
+ }
+ group {
+ name: "elm/genlist/item/input.3icon/default";
+
+ data.item: "contents" "elm.icon.1 elm.icon.entry elm.icon.2";
+ data.item: "banded_bg_area" "elm.swallow.bg";
+
+ parts {
+ PART(SWALLOW, "elm.swallow.bg",
+ description { state: "default" 0.0;
+ }
+ )
+ PART(SPACER, "elm.padding.left",
+ DSC_FROM_L("default" 0.0,
+ min: CT_INPUT_PADDING_LEFT_SIZE 0;
+ max: CT_INPUT_PADDING_LEFT_SIZE -1;
+ )
+ )
+ PART(SPACER, "elm.icon.1.rect",
+ DSC_L("default" 0.0, "elm.padding.left",
+ min: CT_INPUT_MIN_WIDTH CT_INPUT_MIN_HEIGHT;
+ max: CT_INPUT_MIN_WIDTH CT_INPUT_MIN_HEIGHT;
+ )
+ )
+ PART(SWALLOW, "elm.icon.1",
+ DSC_TO("default" 0.0, "elm.icon.1.rect",
+ align: 0.0 0.0;
+ min: CT_INPUT_MIN_WIDTH CT_INPUT_BUTTON_DROPDOWN_MIN_HEIGHT;
+ max: CT_INPUT_MIN_WIDTH CT_INPUT_BUTTON_DROPDOWN_MIN_HEIGHT;
+ )
+ )
+ PART(SPACER, "elm.icon.2.padding.right",
+ DSC_FROM_R("default" 0.0,
+ min: CT_INPUT_PADDING_RIGHT_SIZE 0;
+ max: CT_INPUT_PADDING_RIGHT_SIZE -1;
+ )
+ )
+ PART(SWALLOW, "elm.icon.2",
+ DSC_R("default" 0.0,
+ "elm.icon.2.padding.right",
+ align: 1.0 0.5;
+ min: LIST_ENTRY_ICON_SIZE;
+ max: LIST_ENTRY_ICON_SIZE;
+ )
+ )
+ PART(SWALLOW, "elm.icon.entry",
+ DSC_LR("default" 0.0,
+ "elm.icon.1.rect", "elm.icon.2",
+ min: 0 CT_INPUT_MIN_HEIGHT;
+ )
+ )
+ }
+ }
+ group {
+ name: "elm/genlist/item/input.2icon/default";
+ data.item: "contents" "elm.icon.entry elm.icon.2";
+ data.item: "banded_bg_area" "elm.swallow.bg";
+
+ parts {
+ PART(SWALLOW, "elm.swallow.bg",
+ description { state: "default" 0.0;
+ }
+ )
+ PART(SPACER, "elm.icon.entry.padding.left",
+ DSC_FROM_L("default" 0.0,
+ min: CT_INPUT_PADDING_LEFT_SIZE 0;
+ max: CT_INPUT_PADDING_LEFT_SIZE -1;
+ )
+ )
+ PART(SPACER, "elm.icon.2.padding.right",
+ DSC_FROM_R("default" 0.0,
+ min: CT_INPUT_PADDING_RIGHT_SIZE 0;
+ max: CT_INPUT_PADDING_RIGHT_SIZE -1;
+ )
+ )
+ PART(SWALLOW, "elm.icon.2",
+ DSC_R("default" 0.0,
+ "elm.icon.2.padding.right",
+ align: 1.0 0.5;
+ min: LIST_ENTRY_ICON_SIZE;
+ max: LIST_ENTRY_ICON_SIZE;
+ )
+ )
+ PART(SWALLOW, "elm.icon.entry",
+ DSC_LR("default" 0.0,
+ "elm.icon.entry.padding.left", "elm.icon.2",
+ min: 0 CT_INPUT_MIN_HEIGHT;
+ rel1 { relative: 0 0.0; to: "elm.swallow.bg"; }
+ )
+ )
+ }
+ }
+ group {
+ name: "elm/genlist/item/input.relationship/default";
+ inherit: "elm/genlist/item/input.3icon/default";
+ data.item: "contents" "elm.icon.1 elm.icon.entry elm.icon.2 elm.icon.3";
+ parts {
+ PART(SPACER, "elm.icon.3.padding.reft",
+ DSC_R("default" 0.0, "elm.icon.2",
+ min: LIST_PADDING_DEFAULT_SIZE 0;
+ max: LIST_PADDING_DEFAULT_SIZE -1;
+ )
+ )
+ PART(SWALLOW, "elm.icon.3",
+ DSC_R("default" 0.0,
+ "elm.icon.3.padding.reft",
+ align: 1.0 0.5;
+ min: LIST_ENTRY_ICON_SIZE;
+ max: LIST_ENTRY_ICON_SIZE;
+ )
+ )
+ PART(SWALLOW, "elm.icon.entry",
+ DSC_LR("default" 0.0,
+ "elm.icon.1.rect", "elm.icon.3",
+ min: 0 CT_INPUT_MIN_HEIGHT;
+ )
+ )
+ }
+ }
+ group {
+ name: "elm/genlist/item/input.4icon/default";
+
+ data.item: "contents" "elm.icon.1 elm.icon.2 elm.icon.3 elm.icon.4";
+ data.item: "banded_bg_area" "elm.swallow.bg";
+
+ parts {
+ PART(SWALLOW, "elm.swallow.bg",
+ description { state: "default" 0.0;
+ }
+ )
+ PART(SWALLOW, "elm.icon.1",
+ description { state: "default" 0.0;
+ rel1 {relative: 0 0; offset: CT_INPUT_BUTTONS_OFFSET;}
+ rel2 {relative: 0.25 1;}
+ }
+ )
+ PART(SWALLOW, "elm.icon.2",
+ description { state: "default" 0.0;
+ rel1 {relative: 0.25 0; offset: CT_INPUT_BUTTONS_OFFSET;}
+ rel2 {relative: 0.5 1;}
+ }
+ )
+ PART(SWALLOW, "elm.icon.3",
+ description { state: "default" 0.0;
+ rel1 {relative: 0.5 0; offset: CT_INPUT_BUTTONS_OFFSET;}
+ rel2 {relative: 0.75 1;}
+ }
+ )
+ PART(SWALLOW, "elm.icon.4",
+ description { state: "default" 0.0;
+ rel1 {relative: 0.75 0; offset: CT_INPUT_BUTTONS_OFFSET;}
+ rel2 {relative: 1 1;}
+ }
+ )
+ }
+ }
+ group { name: "popup_input_text";
+ parts {
+ PART(SPACER, "elm.padding.left",
+ DSC_FROM_L("default" 0.0,
+ min: 15 0;
+ )
+ )
+ PART(SPACER, "elm.padding.right",
+ DSC_FROM_R("default" 0.0,
+ min: 15 0;
+ )
+ )
+ PART(SWALLOW, "elm.swallow.content",
+ DSC_LR("default" 0.0,
+ "elm.padding.left", "elm.padding.right",
+ min: 0 POPUP_EDITFIELD_LAYOUT_MINMAX_HEIGHT_INC;
+ max: -1 POPUP_EDITFIELD_LAYOUT_MINMAX_HEIGHT_INC;
+ align: 0.5 0.5;
+ )
+ )
+ }
+ }
+ group { name, "datetimePickerBg";
+
+ parts {
+ part { name, "bg";
+ type, RECT;
+ description {
+ state, "default" 0.0;
+ min:0 276;
+ align: 0.0 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part {
+ name, "top_padding";
+ type, SPACER;
+ description {
+ state, "default" 0.0;
+ rel2.relative, 1.0 0.0;
+ min, 0 27;
+ max, -1 27;
+ fixed, 0 1;
+ align, 0.5 0.0;
+ }
+ }
+ part {
+ name, "bottom_padding";
+ type, SPACER;
+ description {
+ state, "default" 0.0;
+ rel1.relative, 0.0 1.0;
+ min, 0 27;
+ max, -1 27;
+ fixed, 0 1;
+ align, 0.5 1.0;
+ }
+ }
+ part { name, "elm.swallow.content";
+ type, SWALLOW;
+ description {
+ state, "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "top_padding";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "bottom_padding";
+ }
+ }
+ }
+ }
+}
+}
diff --git a/main-app/res/edje/contacts/list.edc b/main-app/res/edje/contacts/list.edc
new file mode 100755
index 0000000..a94c156
--- /dev/null
+++ b/main-app/res/edje/contacts/list.edc
@@ -0,0 +1,218 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#define SEARCH_BAR_H 80
+#define SEARCH_BAR_W 480
+#define NOCONTENT_BUTTON_HEIGHT 50
+#define NOCONTENT_BUTTON_WIDTH 292
+#define NOCONTENT_BUTTON_SPACE 11
+#define NOCONTENT_BUTTON_SIDE_SPACE 4
+#define NOCONTENT_ACTION (2*NOCONTENT_BUTTON_HEIGHT+3*NOCONTENT_BUTTON_SPACE)
+
+#define CT_IMG_ICON_LIST_DEFAULT_CALLER_ID "contacts_caller_id_default_02.png"
+#define CT_IMG_ICON_LIST_DEFAULT_CALLER_ID_BG "contacts_caller_id_default_bg_02.png"
+#define IMAGE_PATH "./contacts/images/WVGA/contact_images/"
+
+images {
+ image: IMAGE_PATH"contacts_caller_id_default_02.png" COMP;
+ image: IMAGE_PATH"contacts_caller_id_default_bg_02.png" COMP;
+}
+
+#define PADDING_LEFT( param_padding_size ) \
+ part { \
+ name: "padding.left"; \
+ type: SPACER; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: param_padding_size 0; \
+ max: param_padding_size -1; \
+ fixed: 1 0; \
+ rel2.relative: 0.0 1.0; \
+ align: 0.0 0.5; \
+ } \
+ }
+
+#define PADDING_RIGHT( param_padding_size ) \
+ part { \
+ name: "padding.right"; \
+ type: SPACER; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: param_padding_size 0; \
+ max: param_padding_size -1; \
+ fixed: 1 0; \
+ rel1.relative: 1.0 0.0; \
+ align: 1.0 0.5; \
+ } \
+ }
+
+collections
+{
+ base_scale: 2.6;
+
+ group{
+ name: "list/base_layout";
+ parts {
+ part {
+ name: "section.searchbar";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ min: 0 0;
+ max: 0 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ }
+ description {
+ state: "show_searchbar" 0.0;
+ visible: 1;
+ inherit: "default" 0.0;
+ min: 0 SEARCH_BAR_H;
+ }
+ }
+ part {
+ name: "section.selectall";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ max: 0 0;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 1.0; to: "section.searchbar"; }
+ rel2 { relative: 1.0 1.0; to: "section.searchbar";}
+ }
+ description {
+ state: "show_selectall" 0.0;
+ visible: 1;
+ inherit: "default" 0.0;
+ min: SEARCH_BAR_W SEARCH_BAR_H;
+ max: SEARCH_BAR_W SEARCH_BAR_H;
+ }
+ }
+ part {
+ name: "section.content";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ rel1 { relative: 0.0 1.0; to:"section.selectall"; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ }// end parts
+ programs{
+ program{
+ name: "show_searchbar";
+ signal: "action.show_searchbar";
+ source: "section.content";
+ action: STATE_SET "show_searchbar" 0.0;
+ target: "section.searchbar";
+ }
+ program{
+ name: "hide_searchbar";
+ signal: "action.hide_searchbar";
+ source: "section.content";
+ action: STATE_SET "default" 0.0;
+ target: "section.searchbar";
+ }
+ program{
+ name: "show_selectall";
+ signal: "action.show_selectall";
+ source: "section.content";
+ action: STATE_SET "show_selectall" 0.0;
+ target: "section.selectall";
+
+ }
+ program{
+ name: "hide_selectall";
+ signal: "action.hide_selectall";
+ source: "section.content";
+ action: STATE_SET "default" 0.0;
+ target: "section.selectall";
+ }
+
+ }//end programs
+ }//end group
+
+ group { name: "contacts_caller_id_default";
+ parts {
+ part { name: "base";
+ description {
+ state: "default" 0.0;
+ aspect: 1 1;
+ image.normal: IMAGE_PATH"contacts_caller_id_default_02.png";
+ color: 61 185 204 255;
+ }
+ }
+ }
+ }
+ //NOCONTENT : SYNC/IMPORT
+ group {
+ name: "nocontent_icon";
+ parts {
+ part {
+ name: "base";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ }
+ }
+ part {
+ name: "elm.button1";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ min: NOCONTENT_BUTTON_WIDTH NOCONTENT_BUTTON_HEIGHT;
+ max: NOCONTENT_BUTTON_WIDTH NOCONTENT_BUTTON_HEIGHT;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; offset: NOCONTENT_BUTTON_SIDE_SPACE NOCONTENT_BUTTON_SPACE;to: "base"; }
+ rel2 { relative: 1.0 0.0; offset: -1*NOCONTENT_BUTTON_SIDE_SPACE NOCONTENT_BUTTON_SPACE+NOCONTENT_BUTTON_HEIGHT;to: "base"; }
+ }
+ }
+ part {
+ name: "elm.button2";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ min: NOCONTENT_BUTTON_WIDTH NOCONTENT_BUTTON_HEIGHT;
+ max: NOCONTENT_BUTTON_WIDTH NOCONTENT_BUTTON_HEIGHT;
+ fixed: 1 1;
+ rel1 { relative: 0.0 0.0; offset: NOCONTENT_BUTTON_SIDE_SPACE 2*NOCONTENT_BUTTON_SPACE+NOCONTENT_BUTTON_HEIGHT; to: "base"; }
+ rel2 { relative: 1.0 1.0; offset: -1*NOCONTENT_BUTTON_SIDE_SPACE -1*NOCONTENT_BUTTON_SPACE;to: "base"; }
+ }
+ }
+ }
+ programs{
+ program {
+
+ }
+ }//end programs
+ }//end group
+}//end collections
diff --git a/main-app/res/edje/contacts/loading_popup.edc b/main-app/res/edje/contacts/loading_popup.edc
new file mode 100644
index 0000000..fa4873c
--- /dev/null
+++ b/main-app/res/edje/contacts/loading_popup.edc
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+collections {
+ base_scale: 2.6;
+group { name: "processing_view";
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 60;
+ fixed: 1 0;
+ }
+ }
+ part { name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 18 0;
+ max: 18 0;
+ fixed: 1 0;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 0.0 1.0;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 18 0;
+ max: 18 0;
+ fixed: 1 0;
+ rel1.relative: 1.0 0.0;
+ rel2.relative: 1.0 1.0;
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "processing";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 44 44;
+ max: 44 44;
+ rel1 {
+ relative: 1.0 0.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r";
+ }
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "pad_after_processing";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ min: 10 60;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "processing";
+ }
+ rel2.to: "processing";
+ align: 0.0 0.5;
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 60;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "pad_after_processing";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r";
+ }
+ align: 0.0 0.5;
+ text {
+ min: 0 1;
+ }
+ }
+ }
+ }
+}
+}
diff --git a/main-app/res/edje/contacts/progressbar_popup.edc b/main-app/res/edje/contacts/progressbar_popup.edc
new file mode 100644
index 0000000..e4db58f
--- /dev/null
+++ b/main-app/res/edje/contacts/progressbar_popup.edc
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+collections {
+ base_scale: 2.6;
+ group { name: "popup_text_progressbar_view_layout";
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_MIN_INC;
+ fixed: 1 0;
+ }
+ }
+ part { name: "pad_l_t";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC;
+ max: POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC;
+ fixed: 1 1;
+ rel2.relative: 0.0 0.0;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r_t";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC;
+ max: POPUP_PROGRESSBAR_VIEW_LAYOUT_PADDING_INC;
+ fixed: 1 1;
+ rel1.relative: 1.0 1.0;
+ align: 1.0 1.0;
+ }
+ }
+ part { name: "progressbar_bg";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ min: POPUP_PROGRESSBAR_VIEW_LAYOUT_BG_INC;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "pad_l_t";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r_t";
+ to_y: "pad_l_t";
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "progressbar";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 0 1;
+ rel1.to: "progressbar_bg";
+ rel2.to: "progressbar_bg";
+ }
+ }
+ part { name: "right_padding";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ min :200 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "progressbar_bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "progressbar_bg";
+ }
+ align: 1.0 0.0;
+ }
+ }
+ }
+ }
+}
diff --git a/main-app/res/edje/contacts/settings_layout.edc b/main-app/res/edje/contacts/settings_layout.edc
new file mode 100644
index 0000000..9394900
--- /dev/null
+++ b/main-app/res/edje/contacts/settings_layout.edc
@@ -0,0 +1,650 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "genlist_macro.edc"
+#include "WVGA-inc.edc"
+
+#define SOUND_PATH "../sounds/"
+#define IMAGE_PATH "./contacts/images/WVGA/contact_images/"
+
+
+#define CONTACTS_TABBAR_ICON_TEXT_PAD_INC 8 0
+#define CONTACTS_TABBAR_ICON_SIZE_INC 32 32
+#define ITEM_STATE_ENABLED 0
+#define ITEM_STATE_DISABLED 1
+#define TAG \
+ tag: "br" "\n"; \
+ tag: "ps" "ps"; \
+ tag: "hilight" "+ font_weight=Bold"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "tab" "\t";
+
+collections {
+ base_scale: 2.6;
+ plugins {
+ plugin {
+ name: "touch_sound"; // Name run by RUN_PLUGIN
+ source: "feedback"; // External edje plugin name
+ param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP";
+ }
+ }
+ group { name: "elm/toolbar/item/contacts_tabbar_with_title";
+ script {
+ public selected = 0;
+ public pressed = 0;
+ public item_state = ITEM_STATE_ENABLED;
+ public items_number = 0;
+ public icon_text = 0;
+ public mouse_down = 0;
+ public multi_down = 0;
+ public landscape = 0;
+ public item_text = 0;
+ }
+ parts {
+ part { name: "bg";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ }
+ description { state: "2items" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_TWO_ITEMS_SIZE_INC;
+ }
+ description { state: "2items_land" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_LANDSCAPE_TWO_ITEMS_SIZE_INC;
+ }
+ }
+ part { name: "selected_line";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ rel1 {
+ to_x: "elm.swallow.icon.rect";
+ to_y: "elm.text";
+ relative: 0.0 1.0;
+ }
+ rel2 {
+ to: "elm.text";
+ relative: 1.0 1.0;
+ }
+ fixed: 0 1;
+ min: TABBAR_SELECTED_LINE_SIZE_INC;
+ visible: 0;
+ align: 0.5 0.0;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "bg_cover";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "padding_left_top";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ rel2.relative: 0.0 0.0;
+ min: 0 0;
+ fixed: 1 1;
+ }
+ description { state: "text" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_TEXT_LEFT_TOP_PADDING_SIZE_INC;
+ }
+ description { state: "icon_text" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_ICON_TEXT_LAND_LEFT_TOP_PADDING_SIZE_INC;
+ }
+ }
+ part { name: "padding_right_bottom";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ align: 1.0 1.0;
+ rel1.relative: 1.0 1.0;
+ min: 0 0;
+ fixed: 1 1;
+ }
+ description { state: "text" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_TEXT_RIGHT_BOTTOM_PADDING_SIZE_INC;
+ }
+ description { state: "icon_text" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_ICON_TEXT_LAND_RIGHT_BOTTOM_PADDING_SIZE_INC;
+ }
+ }
+ part {
+ name: "icon_rect";
+ type: SPACER;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ rel2 {
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.5;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: TABBAR_ICON_RECT_SIZE_INC;
+ }
+ }
+
+ part { name: "padding_icon_text";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ rel1 {
+ to_x: "elm.text";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to_x: "elm.text";
+ relative: 0.0 1.0;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: CONTACTS_TABBAR_ICON_TEXT_PAD_INC;
+ }
+ }
+ part { name: "elm.swallow.icon.rect";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 0;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ visible: 0;
+ rel1 {
+ to_x: "padding_icon_text";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to_x: "padding_icon_text";
+ relative: 0.0 1.0;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ min: CONTACTS_TABBAR_ICON_SIZE_INC;
+ max: CONTACTS_TABBAR_ICON_SIZE_INC;
+ }
+ }
+ part { name: "elm.swallow.icon";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "elm.icon.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ min: CONTACTS_TABBAR_ICON_SIZE_INC;
+ aspect: 1.0 1.0;
+ aspect_preference: HORIZONTAL;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ rel1 {
+ to: "elm.swallow.icon.rect";
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ to: "elm.swallow.icon.rect";
+ relative: 1.0 1.0;
+ }
+ }
+ description { state: "visible_icon_only" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ rel1 {
+ to: "padding_left_top";
+ relative: 1.0 1.0;
+ }
+ rel2 {
+ to: "padding_right_bottom";
+ relative: 0.0 0.0;
+ }
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "elm.text.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "text" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel1 {
+ to: "padding_left_top";
+ relative: 1.0 1.0;
+ }
+ rel2 {
+ to: "padding_right_bottom";
+ relative: 0.0 0.0;
+ }
+ fixed: 1 1;
+ text {
+ style: "tabbar_text_style_T1117";
+ min: 0 1;
+ max: 1 0;
+ }
+ }
+ description { state:"text_pressed" 0.0;
+ inherit: "text" 0.0;
+ text.style: "tabbar_text_style_T1117P";
+ }
+ description { state:"text_selected" 0.0;
+ inherit: "text" 0.0;
+ text.style: "tabbar_text_style_T1117S";
+ }
+ description { state:"text_disabled" 0.0;
+ inherit: "text" 0.0;
+ text.style: "tabbar_text_style_T1117D";
+ }
+ description { state: "icon_text" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel1 {
+ to_x: "icon_rect";
+ to_y: "padding_left_top";
+ relative: 1.0 1.0;
+ }
+ rel2 {
+ to: "padding_right_bottom";
+ relative: 0.0 0.0;
+ }
+ fixed: 1 1;
+ text {
+ style: "tabbar_icon_text_style_T111";
+ min: 0 1;
+ max: 1 0;
+ }
+ }
+ description { state:"icon_text_pressed" 0.0;
+ inherit: "icon_text" 0.0;
+ text.style: "tabbar_icon_text_style_T111P";
+ }
+ description { state:"icon_text_selected" 0.0;
+ inherit: "icon_text" 0.0;
+ text.style: "tabbar_icon_text_style_T111S";
+ }
+ description { state:"icon_text_disabled" 0.0;
+ inherit: "icon_text" 0.0;
+ text.style: "tabbar_icon_text_style_T111D";
+ }
+ }
+ part { name: "elm.icon.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part { name: "elm.text.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "event";
+ type: RECT;
+ mouse_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program { name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "elm.icon.clipper";
+ target: "selected_line";
+ after: "selected_text";
+ }
+ program { name: "selected_text";
+ script{
+ set_int(selected, 1);
+ if (!get_int(icon_text))
+ set_state(PART:"elm.text", "text_selected", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_selected", 0.0);
+ }
+ }
+ program { name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.icon.clipper";
+ target: "selected_line";
+ after: "unselected_text";
+ }
+ program { name: "unselected_text";
+ script{
+ set_int(selected, 0);
+ if (!get_int(icon_text))
+ set_state(PART:"elm.text", "text", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ }
+ }
+ program { name: "key,pressed";
+ signal: "elm,action,pressed";
+ source: "elm";
+ after: "pressed";
+ }
+ program { name: "pressed";
+ signal: "mouse,down,1";
+ source: "event";
+ script {
+ if ((get_int(item_state) != ITEM_STATE_DISABLED)
+ && get_int(multi_down) == 0
+ && get_int(mouse_down) == 0)
+ {
+ set_int(mouse_down, 1);
+ set_state(PART:"bg_cover", "pressed", 0.0);
+ if (!get_int(icon_text))
+ set_state(PART:"elm.text", "text_pressed", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_pressed", 0.0);
+ set_state(PART:"elm.icon.clipper", "pressed", 0.0);
+ set_int(pressed, 1);
+ }
+ }
+ }
+ program { name: "key,unpressed";
+ signal: "elm,action,unpressed";
+ source: "elm";
+ after: "unpressed";
+ }
+ program { name: "unpressed";
+ signal: "mouse,up,1";
+ source: "event";
+ script {
+ if ((get_int(item_state) != ITEM_STATE_DISABLED)
+ && get_int(mouse_down) == 1)
+ {
+ set_int(mouse_down, 0);
+ set_int(pressed, 0);
+ set_state(PART:"bg_cover", "default", 0.0);
+ if (get_int(selected))
+ {
+ if (!get_int(icon_text))
+ set_state(PART:"elm.text", "text_selected", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_selected", 0.0);
+ set_state(PART:"elm.icon.clipper", "selected", 0.0);
+ }
+ else
+ {
+ if (!get_int(icon_text))
+ set_state(PART:"elm.text", "text", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ set_state(PART:"elm.icon.clipper", "default", 0.0);
+ }
+ }
+ }
+ }
+ program { name: "go";
+ signal: "mouse,clicked,1";
+ source: "event";
+ script {
+ if (get_int(multi_down) == 0) {
+ emit("elm,action,click", "elm");
+ if (get_int(item_state) != ITEM_STATE_DISABLED)
+ run_program(PROGRAM:"touch_sound");
+ }
+ }
+ }
+ program { name: "touch_sound";
+ action: RUN_PLUGIN "touch_sound";
+ }
+ program { name: "mouse,in";
+ signal: "mouse,in";
+ source: "event";
+ script {
+ if (get_int(multi_down) == 0)
+ emit("elm,mouse,in", "elm");
+ }
+ }
+ program { name: "mouse,out";
+ signal: "mouse,out";
+ source: "event";
+ script {
+ if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0))
+ emit("elm,mouse,out", "elm");
+ }
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ script {
+ set_int(item_state, ITEM_STATE_ENABLED);
+ set_state(PART:"bg_cover", "default", 0.0);
+ if (!get_int(icon_text))
+ {
+ if (!get_int(selected))
+ set_state(PART:"elm.text", "text", 0.0);
+ else
+ set_state(PART:"elm.text", "text_selected", 0.0);
+ }
+ else
+ {
+ if (!get_int(selected))
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_selected", 0.0);
+ }
+ set_state(PART:"elm.text.clipper", "default", 0.0);
+ set_state(PART:"elm.icon.clipper", "default", 0.0);
+ }
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ script {
+ set_int(item_state, ITEM_STATE_DISABLED);
+ set_state(PART:"bg_cover", "disabled", 0.0);
+ if (!get_int(icon_text))
+ set_state(PART:"elm.text", "text_disabled", 0.0);
+ else
+ set_state(PART:"elm.text", "icon_text_disabled", 0.0);
+ set_state(PART:"elm.text.clipper", "disabled", 0.0);
+ set_state(PART:"elm.icon.clipper", "disabled", 0.0);
+ }
+ }
+ program {name: "multi_down";
+ signal: "elm,action,multi,down";
+ source: "elm";
+ script {
+ set_int(multi_down, 1);
+ }
+ }
+ program {name: "multi_up";
+ signal: "elm,action,multi,cancel";
+ source: "elm";
+ script {
+ set_int(multi_down, 0);
+ }
+ }
+ program { name: "text_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ script {
+ set_int(item_text, 1);
+ if (!get_int(icon_text))
+ {
+ set_state(PART:"elm.text", "text", 0.0);
+ set_state(PART:"padding_left_top", "text", 0.0);
+ set_state(PART:"padding_right_bottom", "text", 0.0);
+ }
+ else
+ {
+ set_state(PART:"elm.swallow.icon", "visible", 0.0);
+ set_state(PART:"icon_rect", "visible", 0.0);
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ set_state(PART:"padding_left_top", "icon_text", 0.0);
+ set_state(PART:"padding_right_bottom", "icon_text", 0.0);
+ }
+ }
+ }
+ program { name: "text_hide";
+ signal: "elm,state,text,hidden";
+ source: "elm";
+ script {
+ set_int(item_text, 0);
+ set_state(PART:"elm.text", "default", 0.0);
+ }
+ }
+ program { name: "icon_show";
+ signal: "elm,state,icon,visible";
+ source: "elm";
+ script {
+ set_int(icon_text, 1);
+ if (get_int(item_text))
+ {
+ set_state(PART:"elm.swallow.icon", "visible", 0.0);
+ set_state(PART:"padding_icon_text", "visible", 0.0);
+ set_state(PART:"elm.swallow.icon.rect", "visible", 0.0);
+ set_state(PART:"icon_rect", "visible", 0.0);
+ set_state(PART:"elm.text", "icon_text", 0.0);
+ }
+ else
+ set_state(PART:"elm.swallow.icon", "visible_icon_only", 0.0);
+ set_state(PART:"padding_left_top", "icon_text", 0.0);
+ set_state(PART:"padding_right_bottom", "icon_text", 0.0);
+ }
+ }
+ program { name: "icon_hide";
+ signal: "elm,state,icon,hidden";
+ source: "elm";
+ script {
+ set_int(icon_text, 0);
+ set_state(PART:"elm.swallow.icon", "default", 0.0);
+ set_state(PART:"padding_icon_text", "default", 0.0);
+ set_state(PART:"elm.swallow.icon.rect", "default", 0.0);
+ set_state(PART:"elm.text", "text", 0.0);
+ set_state(PART:"padding_left_top", "text", 0.0);
+ set_state(PART:"padding_right_bottom", "text", 0.0);
+ }
+ }
+ program { name: "tab_item_2";
+ signal: "elm,number,item,2";
+ source: "elm";
+ script {
+ set_int(items_number, 2);
+ set_state(PART:"bg", "2items", 0.0);
+ }
+ }
+ program { name: "tab_item_upper_5";
+ script {
+ if (get_int(landscape))
+ set_state(PART:"bg", "scrollable_land", 0.0);
+ else
+ set_state(PART:"bg", "scrollable", 0.0);
+ }
+ }
+ program {
+ name: "change_to_landscape";
+ script {
+ if (!get_int(landscape)) {
+ set_int(landscape, 1);
+ if (get_int(items_number) == 2)
+ set_state(PART:"bg", "2items_land", 0.0);
+ }
+ }
+ }
+ program {
+ name: "change_to_portrait";
+ script {
+ if (get_int(landscape)) {
+ set_int(landscape, 0);
+ if (get_int(items_number) == 2)
+ set_state(PART:"bg", "2items", 0.0);
+ }
+ }
+ }
+ program { name: "landscape_mode";
+ source: "elm";
+ signal: "elm,state,orient,90";
+ after: "change_to_landscape";
+ }
+ program { name: "landscape_mode2";
+ source: "elm";
+ signal: "elm,state,orient,270";
+ after: "change_to_landscape";
+ }
+ program { name: "portrait_mode";
+ source: "elm";
+ signal: "elm,state,orient,0";
+ after: "change_to_portrait";
+ }
+ program { name: "portrait_mode2";
+ source: "elm";
+ signal: "elm,state,orient,180";
+ after: "change_to_portrait";
+ }
+ }
+ }
+
+}
diff --git a/main-app/res/edje/contacts/sounds/S_Touch_30ms.wav b/main-app/res/edje/contacts/sounds/S_Touch_30ms.wav
new file mode 100755
index 0000000..99ba74d
--- /dev/null
+++ b/main-app/res/edje/contacts/sounds/S_Touch_30ms.wav
Binary files differ
diff --git a/main-app/res/edje/contacts/sounds/Tizen_Touch.wav b/main-app/res/edje/contacts/sounds/Tizen_Touch.wav
new file mode 100755
index 0000000..ef6e6ae
--- /dev/null
+++ b/main-app/res/edje/contacts/sounds/Tizen_Touch.wav
Binary files differ
diff --git a/main-app/res/edje/contacts/sounds/button-pressed.wav b/main-app/res/edje/contacts/sounds/button-pressed.wav
new file mode 100755
index 0000000..99ba74d
--- /dev/null
+++ b/main-app/res/edje/contacts/sounds/button-pressed.wav
Binary files differ
diff --git a/main-app/res/edje/phone/ColorClasses.h b/main-app/res/edje/phone/ColorClasses.h
new file mode 100644
index 0000000..6c05475
--- /dev/null
+++ b/main-app/res/edje/phone/ColorClasses.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+color_classes {
+ color_class {//AO003
+ name: "call_status_blue_bg";
+ color: 42 134 176 255;
+ }
+ color_class {//AO004
+ name: "call_status_red_bg";
+ color: 224 34 34 255;
+ }
+ color_class {//AO005
+ name: "call_status_green_bg";
+ color: 52 158 91 255;
+ }
+ color_class {//A03O003
+ name: "log_list_white_bg";
+ color: 255 255 255 255;
+ }
+ color_class {//AO021
+ name: "info_icon";
+ color: 249 249 249 255;
+ }
+ color_class {//AO020
+ name: "info_icon_blue_bg";
+ color: 61 184 204 255;
+ }
+ color_class {//AO020P
+ name: "info_icon_blue_bg_pressed";
+ color: 45 138 153 255;
+ }
+}
diff --git a/main-app/res/edje/phone/images/WVGA/common_images/keypad_emergency_bg_circle.png b/main-app/res/edje/phone/images/WVGA/common_images/keypad_emergency_bg_circle.png
new file mode 100755
index 0000000..2287dcc
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/common_images/keypad_emergency_bg_circle.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/common_images/keypad_speed_dial_bg.png b/main-app/res/edje/phone/images/WVGA/common_images/keypad_speed_dial_bg.png
new file mode 100755
index 0000000..589fa49
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/common_images/keypad_speed_dial_bg.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/common_images/keypad_speed_dial_id.png b/main-app/res/edje/phone/images/WVGA/common_images/keypad_speed_dial_id.png
new file mode 100644
index 0000000..8e061f7
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/common_images/keypad_speed_dial_id.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/common_images/logs_default_masking_134.png b/main-app/res/edje/phone/images/WVGA/common_images/logs_default_masking_134.png
new file mode 100755
index 0000000..a044292
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/common_images/logs_default_masking_134.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/common_images/logs_id_default_bg_74.png b/main-app/res/edje/phone/images/WVGA/common_images/logs_id_default_bg_74.png
new file mode 100755
index 0000000..9d132ff
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/common_images/logs_id_default_bg_74.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/contact_images/C02_circle_add_button_icon.png b/main-app/res/edje/phone/images/WVGA/contact_images/C02_circle_add_button_icon.png
new file mode 100644
index 0000000..3f9914a
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/contact_images/C02_circle_add_button_icon.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/contact_images/contacts_default_49.png b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_default_49.png
new file mode 100755
index 0000000..a604e92
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_default_49.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/contact_images/contacts_default_90.png b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_default_90.png
new file mode 100755
index 0000000..c63d7f0
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_default_90.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/contact_images/contacts_default_masking_49.png b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_default_masking_49.png
new file mode 100755
index 0000000..88fd6cb
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_default_masking_49.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/contact_images/contacts_default_masking_90.png b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_default_masking_90.png
new file mode 100755
index 0000000..c03b172
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_default_masking_90.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_badgel.png b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_badgel.png
new file mode 100755
index 0000000..20ac683
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_badgel.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_block_01.png b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_block_01.png
new file mode 100755
index 0000000..a496b3c
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_block_01.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_block_02.PNG b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_block_02.PNG
new file mode 100755
index 0000000..9a32c17
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_block_02.PNG
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_call.png b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_call.png
new file mode 100755
index 0000000..4a648cb
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_call.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_delete.png b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_delete.png
new file mode 100755
index 0000000..17d2e1a
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_delete.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_email.png b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_email.png
new file mode 100755
index 0000000..8e9eacf
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_email.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_message.png b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_message.png
new file mode 100755
index 0000000..3374687
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/contact_images/contacts_icon_message.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/contact_images/favorites_icon_remove.PNG b/main-app/res/edje/phone/images/WVGA/contact_images/favorites_icon_remove.PNG
new file mode 100755
index 0000000..540a01b
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/contact_images/favorites_icon_remove.PNG
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/Log_carrier_ef.png b/main-app/res/edje/phone/images/WVGA/log_images/Log_carrier_ef.png
new file mode 100755
index 0000000..0806387
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/Log_carrier_ef.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/Log_carrier_ic.png b/main-app/res/edje/phone/images/WVGA/log_images/Log_carrier_ic.png
new file mode 100755
index 0000000..ba1d3bc
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/Log_carrier_ic.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/contacts_default_134.png b/main-app/res/edje/phone/images/WVGA/log_images/contacts_default_134.png
new file mode 100755
index 0000000..238b88b
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/contacts_default_134.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/contacts_default_74.png b/main-app/res/edje/phone/images/WVGA/log_images/contacts_default_74.png
new file mode 100644
index 0000000..cf6b020
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/contacts_default_74.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_address.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_address.png
new file mode 100755
index 0000000..fe3a540
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_address.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_default_masking_134.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_default_masking_134.png
new file mode 100755
index 0000000..a044292
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_default_masking_134.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_details_back_ic.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_details_back_ic.png
new file mode 100755
index 0000000..bdbf15a
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_details_back_ic.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_badge_container_02.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_badge_container_02.png
new file mode 100644
index 0000000..495ce27
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_badge_container_02.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_call.PNG b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_call.PNG
new file mode 100644
index 0000000..cdbc115
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_call.PNG
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_call_02.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_call_02.png
new file mode 100755
index 0000000..e8e3bd5
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_call_02.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_call_message.PNG b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_call_message.PNG
new file mode 100644
index 0000000..63eb347
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_call_message.PNG
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_in.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_in.png
new file mode 100644
index 0000000..103e0b3
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_in.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_info.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_info.png
new file mode 100644
index 0000000..2c5881e
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_info.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_info_bg.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_info_bg.png
new file mode 100644
index 0000000..e94bed2
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_info_bg.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_missed.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_missed.png
new file mode 100644
index 0000000..939a496
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_missed.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_out.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_out.png
new file mode 100644
index 0000000..d1a6a0c
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_out.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_reject.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_reject.png
new file mode 100644
index 0000000..000a286
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_reject.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_reject_auto.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_reject_auto.png
new file mode 100644
index 0000000..2f1c720
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_icon_reject_auto.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_id_default_bg_74.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_id_default_bg_74.png
new file mode 100644
index 0000000..7051ce1
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_id_default_bg_74.png
Binary files differ
diff --git a/main-app/res/edje/phone/images/WVGA/log_images/logs_sim_bg.png b/main-app/res/edje/phone/images/WVGA/log_images/logs_sim_bg.png
new file mode 100755
index 0000000..de6eb71
--- /dev/null
+++ b/main-app/res/edje/phone/images/WVGA/log_images/logs_sim_bg.png
Binary files differ
diff --git a/main-app/res/edje/phone/ph-loglist.edc b/main-app/res/edje/phone/ph-loglist.edc
new file mode 100755
index 0000000..94a1061
--- /dev/null
+++ b/main-app/res/edje/phone/ph-loglist.edc
@@ -0,0 +1,772 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "../../../../lib-phone/ph-common/inc/PhPath.h"
+#include "ColorClasses.h"
+
+#define IMAGE_PATH "./phone/images/WVGA/log_images/"
+
+images {
+ image: IMAGE_PATH"contacts_default_74.png" COMP;
+}
+
+#define COLORBOX(n,rr,gg,bb,opa) \
+ part { \
+ name: n".color"; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ color: rr gg bb opa; \
+ rel1 { relative: 0.0 0.0; to: n;} \
+ rel2 { relative: 1.0 1.0; to: n;} \
+ } \
+ }
+
+#define MAIN_H 1280
+#define MAIN_W 720
+
+////////////// IMAGE ////////////////////////
+#define LOG_IMAGE_PATH "./"
+
+#define RESOURCE_IMAGE_AND_PRESS( FILE_NAME , DEFAULT_COLOR_CODE, PRESSED_COLOR_CODE ) \
+ group { \
+ name: FILE_NAME; \
+ images.image: FILE_NAME COMP; \
+ parts { \
+ part { \
+ name: "image"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: FILE_NAME; \
+ aspect: 1 1; \
+ aspect_preference: BOTH; \
+ } \
+ description { \
+ state: "pressed" 0.0; \
+ inherit: "default" 0.0;\
+ } \
+ }\
+ }\
+ programs{\
+ program {\
+ name: "mouse.down";\
+ source: "image";\
+ signal: "mouse,down,*";\
+ action: STATE_SET "pressed" 0.0;\
+ target: "image";\
+ }\
+ program {\
+ name: "mouse.up";\
+ source: "image";\
+ signal: "mouse,up,*";\
+ action: STATE_SET "default" 0.0;\
+ target: "image";\
+ }\
+ }\
+ }
+
+#define RESOURCE_IMAGE( FILE_NAME , COLOR_CODE ) \
+ group { \
+ name: FILE_NAME; \
+ images.image: FILE_NAME COMP; \
+ parts { \
+ part { name: "image"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: FILE_NAME; \
+ aspect: 1 1; \
+ aspect_preference: BOTH; \
+ } \
+ } \
+ } \
+ }
+
+#define RESOURCE_IMAGE_NOT_SQ( FILE_NAME, COLOR_CODE ) \
+ group { \
+ name: FILE_NAME; \
+ images.image: FILE_NAME COMP; \
+ parts { \
+ part { name: "image"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: FILE_NAME; \
+ aspect: 1 1; \
+ aspect_preference: SOURCE; \
+ } \
+ } \
+ } \
+ }
+
+////////////////////////////////////////////////CALL TYPE ICON ///////////////////////////////////////////////////////
+#define LOG_INFO_OFFSET_X 32
+#define LOG_INFO_ICON_SIZE 80
+#define LOG_INFO_ICONS_DIVIDER_X 12
+#define LOG_ICON_SQ_NUMBER_SIZE (MAIN_W - 3*LOG_INFO_OFFSET_X - 2*LOG_INFO_ICON_SIZE - LOG_INFO_ICONS_SPACER_X)
+#define SUB_TEXT_PART_SIZE 43
+#define MAIN_TEXT_PART_SIZE 54
+
+////////////////////////////////////////////////LOG LIST VIEW LAYOUT//////////////////////////////////////////////////
+#define LOG_LIST_THUMBNAIL_PADDING_RIGHT_SIZE 7
+#define LOG_LIST_THUMBNAIL_PADDING_BOTTOM_SIZE 6
+#define LOG_LIST_THUMBNAIL_SIZE 98
+#define LOG_LIST_CALL_TYPE_SIZE 45
+#define LOG_LIST_THUMBNAIL_WIDTH_SIZE (LOG_LIST_THUMBNAIL_SIZE + LOG_LIST_THUMBNAIL_PADDING_RIGHT_SIZE)
+#define LOG_LIST_THUMBNAIL_HEIGHT_SIZE (LOG_LIST_THUMBNAIL_SIZE + LOG_LIST_THUMBNAIL_PADDING_BOTTOM_SIZE)
+#define LOG_LIST_CALL_TYPE_PADDING_LEFT_SIZE (LOG_LIST_THUMBNAIL_WIDTH_SIZE - LOG_LIST_CALL_TYPE_SIZE)
+#define LOG_LIST_CALL_TYPE_PADDING_TOP_SIZE (LOG_LIST_THUMBNAIL_HEIGHT_SIZE - LOG_LIST_CALL_TYPE_SIZE)
+
+#define LOG_LIST_THUMBNAIL_PADDING_RIGHT_REL_SIZE (LOG_LIST_THUMBNAIL_SIZE / LOG_LIST_THUMBNAIL_WIDTH_SIZE)
+#define LOG_LIST_THUMBNAIL_PADDING_BOTTOM_REL_SIZE (LOG_LIST_THUMBNAIL_SIZE / LOG_LIST_THUMBNAIL_HEIGHT_SIZE)
+#define LOG_LIST_CALL_TYPE_PADDING_LEFT_REL_SIZE (LOG_LIST_CALL_TYPE_PADDING_LEFT_SIZE / LOG_LIST_THUMBNAIL_WIDTH_SIZE)
+#define LOG_LIST_CALL_TYPE_PADDING_TOP_REL_SIZE (LOG_LIST_CALL_TYPE_PADDING_TOP_SIZE / LOG_LIST_THUMBNAIL_HEIGHT_SIZE)
+
+#define LOG_ICON( BASE_IMAGE_NAME, BASE_IMAGE_COLOR_CODE, IMAGE_NAME, IMAGE_COLOR_CODE, ASPECT ) \
+ group { \
+ name: IMAGE_NAME; \
+ images.image: IMAGE_NAME COMP; \
+ images.image: BASE_IMAGE_NAME COMP; \
+ parts { \
+ part { name: "base"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: BASE_IMAGE_NAME; \
+ color_class: BASE_IMAGE_COLOR_CODE; \
+ aspect: 1 1; \
+ aspect_preference: ASPECT; \
+ } \
+ } \
+ part { name: "image"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: IMAGE_NAME; \
+ aspect: 1 1; \
+ color_class: IMAGE_COLOR_CODE; \
+ aspect_preference: ASPECT; \
+ } \
+ } \
+ } \
+ }
+
+#define NOTIFICATION_PANEL_INFO_HEIGHT 57
+
+//////////////////////////// LOG DETAIL VIEW LAYOUT //////////////////////////////////////////
+#define CONTACT_INFO_TOTAL_HEIGHT 440
+#define CONTACT_INFO_TOTAL_WIDTH MAIN_W
+#define CONTACT_INFO_THUMBNAIL_SIZE 240
+#define CONTACT_INFO_BACK_BTN_SIZE 80
+#define CONTACT_INFO_UNSAVED_BTNS_HEIGHT 78
+#define DETAIL_VIEW_TOTAL_HEIGHT (MAIN_H - NOTIFICATION_PANEL_INFO_HEIGHT)
+
+////////////////////////////////// PADDING SIZE//////////////////////////////////////////////
+
+#define CONTACT_INFO_THUMBNAIL_PADDING_TOP_SIZE 44
+#define CONTACT_INFO_THUMBNAIL_PADDING_LEFT_SIZE ((CONTACT_INFO_TOTAL_WIDTH-CONTACT_INFO_THUMBNAIL_SIZE)/2)
+#define CONTACT_INFO_THUMBNAIL_PADDING_RIGHT_SIZE ((CONTACT_INFO_TOTAL_WIDTH-CONTACT_INFO_THUMBNAIL_SIZE)/2)
+#define CONTACT_INFO_THUMBNAIL_PADDING_BOTTOM_SIZE (CONTACT_INFO_TOTAL_HEIGHT - CONTACT_INFO_THUMBNAIL_PADDING_TOP_SIZE - CONTACT_INFO_THUMBNAIL_SIZE)
+
+#define CONTACT_INFO_TEXT_PADDING_LEFT_SIZE 24
+#define CONTACT_INFO_TEXT_PADDING_RIGHT_SIZE 24
+#define CONTACT_INFO_TEXT_PADDING_BOTTOM_SIZE 78
+#define CONTACT_INFO_TEXT_PADDING_TOP_SIZE 286
+
+#define CONTACT_INFO_BACK_BTN_PADDING_LEFT_SIZE 10
+#define CONTACT_INFO_BACK_BTN_PADDING_TOP_SIZE 13
+#define CONTACT_INFO_BACK_BTN_PADDING_RIGHT_SIZE 90
+#define CONTACT_INFO_BACK_BTN_PADDING_BOTTOM_SIZE 93
+
+#define CONTACT_INFO_UNSAVED_BTN_PADDING_BOTTOM_SIZE 30
+#define CONTACT_INFO_UNSAVED_BTN_PADDING_TOP_SIZE 332
+#define CONTACT_INFO_UNSAVED_BTN_PADDING_LEFT_SIZE 32
+#define CONTACT_INFO_UNSAVED_BTN_PADDING_RIGHT_SIZE 32
+
+////////////////////////////////// PADDING RELATIVE SIZE//////////////////////////////////////////////
+
+#define CONTACT_INFO_BOTTOM_REL_SIZE (CONTACT_INFO_TOTAL_HEIGHT/MAIN_H)
+
+#define CONTACT_INFO_THUMBNAIL_PADDING_TOP_REL_SIZE (CONTACT_INFO_THUMBNAIL_PADDING_TOP_SIZE/CONTACT_INFO_TOTAL_HEIGHT)
+#define CONTACT_INFO_THUMBNAIL_PADDING_BOTTOM_REL_SIZE (1 - CONTACT_INFO_THUMBNAIL_PADDING_BOTTOM_SIZE/CONTACT_INFO_TOTAL_HEIGHT)
+#define CONTACT_INFO_THUMBNAIL_PADDING_LEFT_REL_SIZE (CONTACT_INFO_THUMBNAIL_PADDING_LEFT_SIZE/CONTACT_INFO_TOTAL_WIDTH)
+#define CONTACT_INFO_THUMBNAIL_PADDING_RIGHT_REL_SIZE (1 - CONTACT_INFO_THUMBNAIL_PADDING_RIGHT_SIZE/CONTACT_INFO_TOTAL_WIDTH)
+
+#define CONTACT_INFO_TEXT_PADDING_TOP_REL_SIZE (CONTACT_INFO_TEXT_PADDING_TOP_SIZE/CONTACT_INFO_TOTAL_HEIGHT)
+#define CONTACT_INFO_TEXT_PADDING_BOTTOM_REL_SIZE (1 - CONTACT_INFO_TEXT_PADDING_BOTTOM_SIZE/CONTACT_INFO_TOTAL_HEIGHT)
+#define CONTACT_INFO_TEXT_PADDING_LEFT_REL_SIZE (CONTACT_INFO_TEXT_PADDING_LEFT_SIZE/CONTACT_INFO_TOTAL_WIDTH)
+#define CONTACT_INFO_TEXT_PADDING_RIGHT_REL_SIZE (1 - CONTACT_INFO_TEXT_PADDING_RIGHT_SIZE/CONTACT_INFO_TOTAL_WIDTH)
+
+#define CONTACT_INFO_BACK_BTN_PADDING_TOP_REL_SIZE (CONTACT_INFO_BACK_BTN_PADDING_TOP_SIZE/CONTACT_INFO_TOTAL_HEIGHT)
+#define CONTACT_INFO_BACK_BTN_PADDING_BOTTOM_REL_SIZE (CONTACT_INFO_BACK_BTN_PADDING_BOTTOM_SIZE/CONTACT_INFO_TOTAL_HEIGHT)
+#define CONTACT_INFO_BACK_BTN_PADDING_LEFT_REL_SIZE (CONTACT_INFO_BACK_BTN_PADDING_LEFT_SIZE/CONTACT_INFO_TOTAL_WIDTH)
+#define CONTACT_INFO_BACK_BTN_PADDING_RIGHT_REL_SIZE (CONTACT_INFO_BACK_BTN_PADDING_RIGHT_SIZE/CONTACT_INFO_TOTAL_WIDTH)
+
+#define CONTACT_INFO_UNSAVED_BTN_PADDING_TOP_REL_SIZE (CONTACT_INFO_UNSAVED_BTN_PADDING_TOP_SIZE/CONTACT_INFO_TOTAL_HEIGHT)
+#define CONTACT_INFO_UNSAVED_BTN_PADDING_BOTTOM_REL_SIZE (1 - CONTACT_INFO_UNSAVED_BTN_PADDING_BOTTOM_SIZE/CONTACT_INFO_TOTAL_HEIGHT)
+#define CONTACT_INFO_UNSAVED_BTN_PADDING_LEFT_REL_SIZE (CONTACT_INFO_UNSAVED_BTN_PADDING_LEFT_SIZE/CONTACT_INFO_TOTAL_WIDTH)
+#define CONTACT_INFO_UNSAVED_BTN_PADDING_RIGHT_REL_SIZE (1 - CONTACT_INFO_UNSAVED_BTN_PADDING_RIGHT_SIZE/CONTACT_INFO_TOTAL_WIDTH)
+
+#define PADDING_TOP( param_padding_size ) \
+ part { \
+ name: "padding.top"; \
+ type: SPACER; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: 0 param_padding_size; \
+ max: -1 param_padding_size; \
+ fixed: 0 1; \
+ rel2.relative: 1.0 0.0; \
+ align: 0.5 0.0; \
+ } \
+ }
+
+#define PADDING_BOTTOM( param_padding_size ) \
+ part { \
+ name: "padding.bottom"; \
+ type: SPACER; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: 0 param_padding_size; \
+ max: -1 param_padding_size; \
+ fixed: 0 1; \
+ rel1.relative: 0.0 1.0; \
+ align: 0.5 1.0; \
+ } \
+ }
+
+#define PADDING_LEFT( param_padding_size ) \
+ part { \
+ name: "padding.left"; \
+ type: SPACER; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: param_padding_size 0; \
+ max: param_padding_size -1; \
+ fixed: 1 0; \
+ rel2.relative: 0.0 1.0; \
+ align: 0.0 0.5; \
+ } \
+ }
+
+#define PADDING_RIGHT( param_padding_size ) \
+ part { \
+ name: "padding.right"; \
+ type: SPACER; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: param_padding_size 0; \
+ max: param_padding_size -1; \
+ fixed: 1 0; \
+ rel1.relative: 1.0 0.0; \
+ align: 1.0 0.5; \
+ } \
+ }
+
+#define PADDING_H_MIDDLE( param_padding_size, offset_size ) \
+ part { \
+ name: "padding.middle.h"; \
+ type: SPACER; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: 0 param_padding_size; \
+ fixed: 0 1; \
+ rel1 { relative: 0.0 0.0; offset: 0 offset_size; } \
+ rel2 { relative: 1.0 0.0; offset: 0 offset_size; } \
+ align: 0.5 0.0; \
+ } \
+ }
+
+#define PART(TYPE, NAME, DESCRIPION) \
+ part { name: NAME; \
+ scale: 1; \
+ type: TYPE; \
+ DESCRIPION \
+ }
+
+#define LIST_PART_BG \
+ PART(RECT, "bg", \
+ description { state: "default" 0.0; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ description { state: "disabled" 0.0; \
+ } \
+ description { state: "reorder" 0.0; \
+ color: 0 0 0 0; \
+ } \
+ )
+
+
+#define PLAY_TOUCH_SOUND(DES)\
+ program { name: "play.sound."DES;\
+ signal: "mouse,clicked,1";\
+ source: DES;\
+ action: RUN_PLUGIN "touch_sound";\
+ }
+
+styles {
+ style {
+ name: "contact_info_name_textblock_style";
+ base: "font=Tizen:style=Light color=#ffffff font_size=56 align=center ellipsis=1.0";
+ }
+}
+
+styles {
+ style {
+ name: "contact_number_textblock_style";
+ base: "font=Tizen:style=Regular color=#4C4C4CFF font_size=32 ellipsis=1.0";
+ }
+}
+
+collections
+{
+ base_scale: 2.6;
+ plugins {
+ plugin {
+ name: "touch_sound"; // Name run by RUN_PLUGIN
+ source: "feedback"; // External edje plugin name
+ param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP"; // feedback edje plugin parameters: FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TOUCH_TAP
+ }
+ }
+
+ /////////////////////////////////////////////////////////////////////////////////////////////////////
+ // LOG IMAGE ///
+ /////////////////////////////////////////////////////////////////////////////////////////////////////
+
+// RESOURCE_IMAGE(PH_LOG_ICON_DETAIL_THUMBNAIL, "A02O022");
+// RESOURCE_IMAGE(PH_LOG_ICON_LIST_THUMBNAIL, "A02O022");
+
+ RESOURCE_IMAGE_AND_PRESS(PH_LOG_ICON_DETAIL_MESSAGE, "A02O007", "A02O007P");
+ RESOURCE_IMAGE_AND_PRESS(PH_LOG_ICON_DETAIL_VOICE_CALL, "A02O007", "A02O007P");
+ RESOURCE_IMAGE_AND_PRESS(PH_LOG_ICON_DETAIL_VIDEO_CALL, "A02O007", "A02O007P");
+
+ LOG_ICON(PH_LOG_ICON_DETAIL_THUMBNAIL_MASKING_IMAGE, "log_list_white_bg", PH_LOG_ICON_DETAIL_THUMBNAIL, "call_status_blue_bg", BOTH);
+ LOG_ICON(PH_LOG_ICON_LIST_THUMBNAIL_MASKING_IMAGE, "log_list_white_bg", PH_LOG_ICON_LIST_THUMBNAIL, "call_status_blue_bg", BOTH);
+
+ LOG_ICON(PH_LOG_ICON_CONTAINER, "call_status_blue_bg", PH_LOG_ICON_INCOMING, "log_list_white_bg", BOTH);
+ LOG_ICON(PH_LOG_ICON_CONTAINER, "call_status_green_bg", PH_LOG_ICON_OUTGOING, "log_list_white_bg", BOTH);
+ LOG_ICON(PH_LOG_ICON_CONTAINER, "call_status_red_bg", PH_LOG_ICON_MISSED, "log_list_white_bg", BOTH);
+ LOG_ICON(PH_LOG_ICON_CONTAINER, "call_status_red_bg", PH_LOG_ICON_REJECTED, "log_list_white_bg", BOTH);
+ LOG_ICON(PH_LOG_ICON_CONTAINER, "call_status_red_bg", PH_LOG_ICON_AUTO_REJECTED, "log_list_white_bg", BOTH);
+
+ /////////////////////////////////////////////////////////////////////////////////////////////////////
+ // LOG Checked View ///
+ /////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ group {
+ name: "log/list/check/main";
+ parts {
+ part {
+ name: "elm.swallow.select";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 0.0;}
+ }
+ }
+ part {
+ name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 1.0; to:"elm.swallow.select"; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ }
+ }
+
+
+ /////////////////////////////////////////////////////////////////////////////////////////////////////
+ // LOG DETAIL ///
+ /////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ group {
+ name: "log/detail/info/contact/contact_info";
+ images.image: PH_LOG_ICON_DETAIL_BACK_ICON COMP;
+ inherit_only: 1;
+ parts {
+ part {
+ name: "image.thumbnail";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: CONTACT_INFO_THUMBNAIL_PADDING_LEFT_REL_SIZE CONTACT_INFO_THUMBNAIL_PADDING_TOP_REL_SIZE; }
+ rel2 { relative: CONTACT_INFO_THUMBNAIL_PADDING_RIGHT_REL_SIZE CONTACT_INFO_THUMBNAIL_PADDING_BOTTOM_REL_SIZE; }
+ aspect: 1 1;
+ aspect_preference: BOTH;
+ }
+ }
+ part {
+ name: "back.btn.bg";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: CONTACT_INFO_BACK_BTN_PADDING_LEFT_REL_SIZE CONTACT_INFO_BACK_BTN_PADDING_TOP_REL_SIZE; }
+ rel2 { relative: CONTACT_INFO_BACK_BTN_PADDING_RIGHT_REL_SIZE CONTACT_INFO_BACK_BTN_PADDING_BOTTOM_REL_SIZE; }
+ aspect: 1 1;
+ aspect_preference: BOTH;
+ color: 0 0 0 0;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color: 0 0 0 50;
+ }
+ }
+ part {
+ name: "back.btn";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ rel1 { relative: CONTACT_INFO_BACK_BTN_PADDING_LEFT_REL_SIZE CONTACT_INFO_BACK_BTN_PADDING_TOP_REL_SIZE; }
+ rel2 { relative: CONTACT_INFO_BACK_BTN_PADDING_RIGHT_REL_SIZE CONTACT_INFO_BACK_BTN_PADDING_BOTTOM_REL_SIZE; }
+ image.normal: PH_LOG_ICON_DETAIL_BACK_ICON;
+ aspect: 1 1;
+ aspect_preference: BOTH;
+ }
+ }
+ part {
+ name: "touch.back.btn";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: CONTACT_INFO_BACK_BTN_PADDING_LEFT_REL_SIZE CONTACT_INFO_BACK_BTN_PADDING_TOP_REL_SIZE; }
+ rel2 { relative: CONTACT_INFO_BACK_BTN_PADDING_RIGHT_REL_SIZE CONTACT_INFO_BACK_BTN_PADDING_BOTTOM_REL_SIZE; }
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "mouse.down.back.btn";
+ source: "touch.back.btn";
+ signal: "mouse,down,*";
+ action: STATE_SET "pressed" 0.0;
+ target: "back.btn.bg";
+ }
+ program {
+ name: "mouse.up.back.btn";
+ source: "touch.back.btn";
+ signal: "mouse,up,*";
+ action: STATE_SET "default" 0.0;
+ target: "back.btn.bg";
+ }
+ PLAY_TOUCH_SOUND("touch.back.btn")
+ }
+ }
+
+ group {
+ name: "log/detail/info/contact/contact_info/saved";
+ inherit: "log/detail/info/contact/contact_info";
+ parts {
+ part {
+ name: "text.name";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: CONTACT_INFO_TEXT_PADDING_LEFT_REL_SIZE CONTACT_INFO_TEXT_PADDING_TOP_REL_SIZE; }
+ rel2 { relative: CONTACT_INFO_TEXT_PADDING_RIGHT_REL_SIZE CONTACT_INFO_TEXT_PADDING_BOTTOM_REL_SIZE; }
+ text {
+ style: "contact_info_name_textblock_style";
+ }
+ }
+ }
+ }
+ }
+
+ group {
+ name: "log/detail/info/contact/contact_info/unsaved";
+ inherit: "log/detail/info/contact/contact_info";
+ parts {
+ part {
+ name: "box.buttons";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ fixed: 0 1;
+ rel1 { relative: CONTACT_INFO_UNSAVED_BTN_PADDING_LEFT_REL_SIZE CONTACT_INFO_UNSAVED_BTN_PADDING_TOP_REL_SIZE; }
+ rel2 { relative: CONTACT_INFO_UNSAVED_BTN_PADDING_RIGHT_REL_SIZE CONTACT_INFO_UNSAVED_BTN_PADDING_BOTTOM_REL_SIZE; }
+ aspect: 0 1;
+ }
+ }
+ }
+ }
+
+ group { name: "contacts_caller_id_default";
+ parts {
+ part { name: "base";
+ description {
+ state: "default" 0.0;
+ aspect: 1 1;
+ image.normal: IMAGE_PATH"contacts_default_74.png";
+ color: 61 185 204 255;
+ }
+ }
+ }
+ }
+
+ group {
+ name: "log/detail/info/contact/main_layout";
+ parts {
+ part {
+ name: "contact_info";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ fixed: 1 0;
+ align: 0.5 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 CONTACT_INFO_BOTTOM_REL_SIZE; }
+ }
+ }
+ part {
+ name: "elm.swallow.content";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ fixed: 0 0;
+ align: 0.5 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "contact_info"; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ }
+ }
+
+ group { name: "log/detail/info/button";
+ parts {
+ PADDING_LEFT(55)
+ PADDING_RIGHT(55)
+
+ part {
+ name: "elm.swallow.message";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ min: 52 52;
+ max: 52 52;
+ rel1 { relative: 0.0 0.0; to_x: "padding.right"; }
+ rel2 { relative: 0.0 1.0; to_x: "padding.right"; }
+ }
+ }
+ part {
+ name: "padding.middle.1";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ min: 94 0;
+ max: 94 -1;
+ rel1 { relative: 0.0 0.0; to_x: "elm.swallow.message"; }
+ rel2 { relative: 0.0 1.0; to_x: "elm.swallow.message";}
+ }
+ }
+ part {
+ name: "elm.swallow.video";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ min: 52 52;
+ max: 52 52;
+ rel1 { relative: 0.0 0.0; to_x: "padding.middle.1"; }
+ rel2 { relative: 0.0 1.0; to_x: "padding.middle.1";}
+ }
+ }
+ part {
+ name: "padding.middle.2";
+ type: SPACER;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ min: 94 0;
+ max: 94 -1;
+ rel1 { relative: 0.0 0.0; to_x: "elm.swallow.video"; }
+ rel2 { relative: 0.0 1.0; to_x: "elm.swallow.video";}
+ }
+ }
+ part {
+ name: "elm.swallow.voice";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 52 52;
+ max: 52 52;
+ rel1 { relative: 1.0 0.0; to_x: "padding.left"; }
+ rel2 { relative: 0.0 1.0; to_x: "padding.middle.2";}
+ }
+ }
+ }
+ programs {
+ PLAY_TOUCH_SOUND("elm.swallow.message");
+ PLAY_TOUCH_SOUND("elm.swallow.video");
+ PLAY_TOUCH_SOUND("elm.swallow.voice");
+ }
+ }
+
+ /////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Log List ///
+ /////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ group { name: "list/B/log/thumbnail";
+ parts {
+ part {
+ name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: LOG_LIST_THUMBNAIL_PADDING_RIGHT_REL_SIZE LOG_LIST_THUMBNAIL_PADDING_BOTTOM_REL_SIZE; }
+ }
+ }
+ part {
+ name: "elm.swallow.call.type";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: LOG_LIST_CALL_TYPE_PADDING_LEFT_REL_SIZE LOG_LIST_CALL_TYPE_PADDING_TOP_REL_SIZE; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+ }
+ }
+ group {
+ name: "list/C/log/log_info";
+ images.image: PH_LOG_ICON_INFO_CONTAINER COMP;
+ images.image: PH_LOG_ICON_INFO COMP;
+ parts {
+ part {
+ name: "image.bg";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ image.normal: PH_LOG_ICON_INFO_CONTAINER;
+ color_class: "info_icon_blue_bg";
+ aspect: 1 1;
+ aspect_preference: BOTH;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ //color_class: "info_icon_blue_bg_pressed";
+ }
+ }
+ part {
+ name: "image";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ image.normal: PH_LOG_ICON_INFO;
+ aspect: 1 1;
+ aspect_preference: BOTH;
+ color_class: "info_icon";
+ }
+ }
+ part {
+ name: "touch.rect";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 0;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs{
+ program {
+ name: "mouse.down";
+ source: "touch.rect";
+ signal: "mouse,down,*";
+ action: STATE_SET "pressed" 0.0;
+ target: "image.bg";
+ }
+ program {
+ name: "mouse.up";
+ source: "touch.rect";
+ signal: "mouse,up,*";
+ action: STATE_SET "default" 0.0;
+ target: "image.bg";
+ }
+ PLAY_TOUCH_SOUND("touch.rect")
+ }
+ }
+
+ group { name: "list/detail/log_number.type";
+ parts {
+ part {
+ name: "elm.text.part";
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0;
+ min: 0 SUB_TEXT_PART_SIZE;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 0.0;}
+ text {
+ style: "contact_number_textblock_style";
+ }
+ text.min: 0 1;
+ }
+ }
+ part {
+ name: "elm.swallow.2";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: LOG_ICON_SQ_NUMBER_SIZE MAIN_TEXT_PART_SIZE;
+ rel1 { relative: 0.0 1; to_y: "elm.text.part";}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+ }
+ }
+}
+
diff --git a/main-app/res/edje/phone/portrait.edc b/main-app/res/edje/phone/portrait.edc
new file mode 100755
index 0000000..dee6c96
--- /dev/null
+++ b/main-app/res/edje/phone/portrait.edc
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+collections {
+ group {
+ name: "effect";
+
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ }
+ }
+ part {
+ name: "noti.area";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ min: 0 36;
+ align: 0.5 0;
+ rel1 { relative: 0.0 0.0; to:"bg"; }
+ rel2 { relative: 1.0 0.0; to:"bg"; }
+ }
+ }
+ part {
+ name: "tab.area";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ min: 0 72;
+ align: 0.5 0;
+ rel1 { relative: 0.0 1.0; to:"noti.area"; }
+ rel2 { relative: 1.0 1.0; to:"noti.area"; }
+ }
+ }
+ }
+ }
+}
+
diff --git a/main-app/res/edje/phone/sounds/button-pressed.wav b/main-app/res/edje/phone/sounds/button-pressed.wav
new file mode 100755
index 0000000..99ba74d
--- /dev/null
+++ b/main-app/res/edje/phone/sounds/button-pressed.wav
Binary files differ
diff --git a/main-app/res/po/CMakeLists.txt b/main-app/res/po/CMakeLists.txt
new file mode 100755
index 0000000..30e39a6
--- /dev/null
+++ b/main-app/res/po/CMakeLists.txt
@@ -0,0 +1,24 @@
+# for i18n
+
+SET(POFILES ar.po az.po bg.po ca.po cs.po da.po de.po el_GR.po en.po en_PH.po en_US.po es_ES.po es_US.po et.po eu.po fi.po fr.po fr_CA.po ga.po gl.po hi.po hr.po hu.po hy.po is.po it_IT.po ja_JP.po ka.po kk.po ko_KR.po lt.po lv.po mk.po nb.po nl.po pl.po pt_BR.po pt_PT.po ro.po ru_RU.po sk.po sl.po sr.po sv.po tr_TR.po uk.po uz.po zh_CN.po zh_HK.po zh_TW.po)
+SET(MSGFMT "/usr/bin/msgfmt")
+
+MESSAGE(STATUS "po files ---")
+FOREACH(pofile ${POFILES})
+ SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
+ MESSAGE("PO: ${pofile}")
+ GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
+ GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
+ SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
+ ADD_CUSTOM_COMMAND( OUTPUT ${moFile}
+ COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
+ DEPENDS ${absPofile}
+ )
+ INSTALL(FILES ${moFile}
+ DESTINATION ${CMAKE_APP_RES_DIR}/locale/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
+ SET(moFiles ${moFiles} ${moFile})
+ENDFOREACH(pofile)
+
+MESSAGE(".mo files: ${moFiles}")
+ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
+
diff --git a/main-app/res/po/ar.po b/main-app/res/po/ar.po
new file mode 100644
index 0000000..6e4c62e
--- /dev/null
+++ b/main-app/res/po/ar.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "المكالمات الصادرة"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "المكالمة الأخيرة"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "المكالمات الواردة"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "تحديد السجلات"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "عرض بواسطة"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "المنزل 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "تم النقل."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "جاري النقل..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "تم التحقق من PUK2."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "تم التحقق من PUK1."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "تم إلغاء قفل PIN."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "تم إلغاء قفل PIN2."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "تم تغيير PIN2."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "تم قفل PIN2."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "تم تغيير رمز PIN1."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "تم حظر رمز PIN1."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN 2 غير صحيح."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "إن رمز PIN2 الجديد ورمز PIN2 الخاص بالتأكيد غير متطابقين"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "رمز PUK1 غير صحيح."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1 غير صحيح. تبقى %d محاولة."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 غير صحيح. تبقى %d محاولة."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "تم تغيير PIN."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "الأسماء"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "إضافة حساب"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "تم الوصول إلى أقصى عدد من الحروف."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "جار فحص الأجهزة..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "رقم PIN غير صحيح"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "تم"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "إلغاء"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "حذف"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "توجد مشكلة في الاتصال، أو رمز MMI غير صحيح."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "الرقم الخاص"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "إرسال"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "تم حجب PIN2. موفر جهات الاتصال (PUK2 لبطاقة SIM مطلوب)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "لا يوجد سجلات"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "بعد إجراء/استلام مكالمة أو إرسال/استلام رسالة، سيتم عرض السجلات."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "بطاقة SIM مشغولة. حاول لاحقا"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "تم قفل بطاقة SIM/RUIM."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "لم يتم العثور على بطاقة SIM. برجاء إدخال بطاقة SIM في الهاتف."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "حدث خطأ في الشبكة أو في بطاقة SIM."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "تم تفعيل ملاحظات الاهتزاز."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "تم إلغاء تفعيل ملاحظات الاهتزاز."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "يتعذر الاتصال بالرقم. لا يعد %d رقماً للطوارئ."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "تمت إزالة رقم الاتصال السريع %d."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "تم تعيين رقم الاتصال السريع."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "أدخل رقماً."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "يجب أن يتراوح طول رمز PIN بين %1$d و%2$d رقما. حاول مرة أخرى."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "يجب أن يتألّف PIN2 من %1$d إلى %2$d من الأرقام. أعد المحاولة."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "ما من جهة اتصال معينة لرقم الاتصال السريع هذا. انقر فوق موافق لتعيين جهة اتصال الآن."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "تمّ إلغاء تفعيل PIN. قم بتفعيل PIN قبل التغيير."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "البريد الصوتي"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "تحديث جهة الاتصال"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "ضبط الاتصال السريع"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "حذف"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "إنشاء جهة اتصال"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "ضبط الاتصال"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "إضافة مهلة انتظار"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "إضافة إيقاف مؤقت لمدة ثانيتين"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "لوحة المفاتيح"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "يتعذّر الاتصال بالشبكة"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "تحديد بطاقة SIM للمكالمة"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "نتائج البحث (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "مكالمة الطوارئ"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "تعيين كرقم الاتصال السريع"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "ضبط رقم"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "إرسال رسالة"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "إلغاء"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "إضافة إلى جهات الاتصال"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "كلمات المرور غير متطابقة."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "تم حظر رمز PIN. أدخل رمز PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "تم حجب بطاقة SIM."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "لم يتم الحفظ"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "تم الحفظ"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "الفائتة"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "فشلت العملية"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "تم الإلغاء"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "سيتم حذف %d من عناصر السجلات."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "ستُحذف كل عناصر السجلات."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "سيتم حذف عنصر سجل واحد."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "عرض تفاصيل جهة الاتصال"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "إرسال الرقم"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "المكالمات الفائتة"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "حذف"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "مدة المكالمات"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "المكالمات الفائتة"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "عدم الإظهار مرة أخرى"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "رقم غير معروف"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "غير معروف"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "تحديد الكل"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "السجلات"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "أمس"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "اليوم"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "تم تحديد %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "حذف %d سجلات"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "حذف عناصر السجل"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "حذف السجل"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "حذف"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "تحديث جهة الاتصال"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "حذف"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "إنشاء جهة اتصال"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "إلغاء"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "مكالمات صوتية"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "مكالمات الفيديو"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "بطاقة SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "كل المكالمات"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "بعد إجراء مكالمات أو استلامها، يتم تسجيلها هنا."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "ستظهر عناصر السجل هنا بعد إجراء المكالمات أو استلامها."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "تعديل"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "إدخال نص"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "يبدو أن بعض جهات الاتصال مكرر."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "تم استيراد %d من جهات الاتصال."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "تم ربط جهات الاتصال."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "تمت إزالة رقم واحد من قائمة الرفض التلقائي."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "تم استيراد جهة اتصال واحدة."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "أرقام الخدمة"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "تنسيق الاسم"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "ربط جهات الاتصال"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "جهات الاتصال المراد عرضها"
+
+msgid "IDS_PB_SK_SET"
+msgstr "ضبط"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "إنشاء"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "إضافة حقول"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "جارٍ استيراد جهات الاتصال..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "تم إلغاء الاستيراد"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "جارٍ تصدير جهات الاتصال..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "تم إلغاء التصدير"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "تم استيراد جهات الاتصال"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "تم تصدير جهات الاتصال"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "كل جهات الاتصال"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "لا يمكنك حذف جهات الاتصال من حسابات القراءة فقط، لكن يمكنك إخفاؤها في جهات الاتصال."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "عند تفعيل المزامنة، سيتم حذف جهة الاتصال هذه من أي حسابات تمت مزامنتها قد تم حفظها فيها."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "عند تفعيل المزامنة، سيتم حذف جهة الاتصال هذه وكل جهات الاتصال المرتبطة به في حسابات أخرى تمت مزامنتها، أو سيتم إخفاؤها في حال كانت المعلومات من حساب للقراءة فقط."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "عند تفعيل المزامنة، سيتم حذف جهة الاتصال هذه وكل جهات الاتصال المرتبطة بها في الحسابات الأخرى التي تمت مزامنتها."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "جار تحديث معلومات موفر الخدمة..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "تتعذر إضافة جهة الاتصال. تم الوصول إلى أقصى عدد لجهات الاتصال القابلة للربط (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "تتعذر إضافة جهات اتصال. تم الوصول إلى أقصى عدد لجهات الاتصال القابلة للربط (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "سيتم حذف جهة الاتصال هذه."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "سيتم حذف جهة الاتصال هذه وكل جهات الاتصال المرتبطة بها."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "تم تجاوز الحد الأقصى لعدد العناصر التي يمكن تحديدها (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "تم تجاوز الحد الأقصى لعدد جهات الاتصال التي يمكن مشاركتها في الوقت نفسه (%1$d). ستتم مشاركة أول %2$d فقط."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "يمكن استخدام الميزة Chamada Certa لتحديد موفري خدمة جهات الاتصال وعرضهم في قائمة جهات الاتصال. ويمكنك إجراء ذلك لاحقا عن طريق الضغط على مفتاح القائمة وتحديد تحديث معلومات موفر الخدمة. انقر فوق موافق لتحديد موفري خدمة جهات الاتصال الذين تتبعهم الآن."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "انقر فوق موافق لإيقاف استيراد جهات الاتصال من بطاقة SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "انقر فوق موافق لإيقاف تصدير جهات الاتصال إلى %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "انقر فوق تصدير لتحديد جهات الاتصال التي تريد تصديرها. قد يتم فقدان بعض معلومات جهة الاتصال."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "ربما لم يتم تحديث بعض جهات الاتصال أو كلها"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "قد يتم فقد بعض معلومات جهة الاتصال."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "امتلأت ذاكرة البطاقة."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "جاري الحذف..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "تم تحديث %d أرقام هاتفية"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "سيتم حذف %d جهة (جهات) الاتصال."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "تم تصدير %1$d من جهات الاتصال إلى %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "تم استيراد %1$d من جهات الاتصال إلى الجهاز/جهات الاتصال/تم الاستيراد/‎%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "الذاكرة لا تكفي."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "سيتم حفظ جهات اتصال جديدة في جهات الاتصال على جهازك."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "تم تنشيط نمط FDN."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "فشل."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "تجاهل التغييرات؟"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "جار حذف جهات الاتصال..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "تم إلغاء حذف جهات الاتصال. ربما تم حذف بعض جهات الاتصال بالفعل."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "سيتم إيقاف استيراد جهات الاتصال من %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "موجود مسبقا."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "سيتم حذف جميع الأسماء المرتبطه."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "سيتم حذف جميع جهات الاتصال."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "سيتم تجاهل جميع التغييرات."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "جاري الإضافة..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "تم تحديث رقم هاتف واحد"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "سيتم حذف جهة اتصال واحدة."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "تمت إزالة جهة اتصال واحدة."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "العمل"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "مكالمة صوتية"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "مكالمة فيديو"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "تحديث معلومات موفر الخدمة"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "فصل جهة الإتصال"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "إلغاء ربط جهات الاتصال"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "التقاط صورة"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "التقاط صورة"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "الزوج/الزوجة"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "أخت"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "بطاقة SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "مشاركة عبر"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "مشاركة"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "الضبط"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "تحديد من جهات الاتصال"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "بطاقة SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "حفظ جهة الاتصال في"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "إعادة ترتيب"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "حذف"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "قريب"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "العلاقة"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "مشار إليه من قبل"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "الزملاء"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "والد"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "جهاز المناداة"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "آخر"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "مؤسسة"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "أم"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "الجوال"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "رسالة"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "إدارة المفضلة"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "المدير"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "رئيسي"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "اسم العائلة أولاً"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "اسم العائلة"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "المنزل"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "بيت"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "من الاستوديو"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "الأصدقاء"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "الاسم الأول أولاً"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "الاسم الأول"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "أسماء الاتصال الثابت"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "فاكس (العمل)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "الفاكس (المنزل)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "أب"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "تعديل"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "عدم الإظهار مرة أخرى"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "شريك داخلي"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "الجهاز"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "ضبط مخصص"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "إنشاء"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "طفل"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "أخ"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "عيد ميلاد"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "مساعد"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "عيد الميلاد"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "إضافة حقل"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "إضافة"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "الحساب"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "بحث"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "ما من أرقام خدمة"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "لم يتم العثور على أي نتيجة"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "لا توجد جهات اتصال للطوارئ"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "لا توجد جهات اتصال"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "فرز حسب"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "ضبط ملف التعريف"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "تعيين ملف التعريف"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "الإرسال معاً"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "الإرسال بشكل فردي"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "إرسال معلومات جهة الاتصال"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "تحديد الكل"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d من جهات الاتصال"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "جهات اتصال بهواتف فقط"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "استيراد"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "تصدير"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "الحدث"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "عرض جهات الاتصال مع الأرقام"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "جهة اتصال واحدة"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "جهات الاتصال"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "وحدة تخزين USB‬ غير متاحة"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "تتعذر الإضافة"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "غير قابل على الإضافة"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "جهات الاتصال المقترحة"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "مشاركة عبر"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "ضبط صورة جهة الاتصال"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "الضبط"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "موفر الخدمة"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "إرسال معلومات جهة الاتصال"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "تحديد SIM للاتصال"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "تحديد بطاقة SIM للاتصال"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "تحديد بطاقة SIM للمكالمة"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "تحديد جهة اتصال"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "اختيار"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "حفظ جهات الاتصال في"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "إعادة ترتيب"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "حذف"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "جهات الاتصال الأساسية (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "جهات الاتصال الأساسية (%1$d‏/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "الهاتف"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "جهات الاتصال الشخصية"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "تم تحديد %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "تم تحديد %d"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "تنسيق الاسم"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "جهات الاتصال الأكثر استخداماً"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "أنا"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "إدارة المفضلة"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "لائحة الأسماء"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "جهات الاتصال المرتبطة"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "استيراد جهات الاتصال"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "استيراد"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "المفضلة"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "تصدير جهات الاتصال إلى بطاقة SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "تصدير جهات الاتصال"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "تصدير"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "إدخال التسمية المخصصة"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "خدمات الطوارئ"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "جهات اتصال للطوارئ"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "تحرير"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "عرض الأسماء حسب"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "شاشة العرض"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "تجاهل التغييرات"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "احذف العنصر"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "إنشاء"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "صورة جهة الاتصال"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "جهات الاتصال المراد عرضها"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "الأسماء"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "تم تصدير جهات الاتصال"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "تغيير موقع الحفظ"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "إلغاء الاستيراد"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "إلغاء التصدير"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "إعادة المحاولة"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "حفظ"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "الهاتف"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "موافق"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "ملاحظات"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "المزيد"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "تصدير"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "البريد الإلكتروني"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "تمت العملية"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "تجاهل"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "حذف"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "إنشاء"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "تغيير"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "إلغاء"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "إضافة حساب"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "موقع الويب"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "جار تحديث قائمة جهات الاتصال..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "يتعذر الحفظ نتيجة لحدوث خطأ في SIM."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "اللقب"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "سيتم حذف جهة الاتصال هذه."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "سيتم تحديث المعلومات المتعلقة بموفر الخدمة الخاص بجهات الاتصال المحددة. تتطلب هذه الميزة الاتصال بالشبكة وقد يترتب عليها فرض تكاليف إضافية. سيعتمد الوقت المستغرق لاستكمال هذه العملية على حالة اتصال الشبكة."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "الهاتف"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "جار تهيئة بطاقة SIM..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "رقم الخدمة"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "قد تستغرق عملية إرسال بطاقات الأسماء بشكل فردي وقتًا أطول لأن الجهاز المستلم يجب أن يقبل بطاقة واحدة في كل مرة."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "يؤدي إرسال مجموعة من جهات الاتصال معًا إلى تقليل زمن النقل. ومع ذلك، إذا كان الجهاز الآخر لا يعتمد ذلك، فسيتم إرسال جهة اتصال واحدة فقط."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "حدد كيفية إرسال معلومات جهة الاتصال."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "محدد"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "إزالة من المفضلة"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "صورة شخصية"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "رقم الهاتف"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "الاسم الصوتي"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "الاسم الأوسط الصوتي"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "الاسم الأخير الصوتي"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "الاسم الأول الصوتي"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "رسائل البريد الإلكتروني الأخرى"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "لا يوجد نتيجة للبحث"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "لا توجد مجموعات"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "ملاحظات"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "الاسم المستعار"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "لاحقة الاسم"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "بادئة الاسم"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "الاسم"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "جهات الاتصال"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "الاسم الأوسط"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "الاسم الأخير"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "المسمى الوظيفي"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "استيراد من بطاقة SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "استيراد من بطاقة SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "جاري الاستيراد..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "صورة"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "ستظهر أرقام الخدمة هنا إذا قام مزود الخدمة بتحميلها مسبقاً على بطاقة SIM."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "استوديو"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "الاسم الأول"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "الفاكس"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "التصدير إلى بطاقة SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "تصدير إلى بطاقة SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "التصدير إلى بطاقة SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "البريد الإلكتروني"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "تجاهل التغييرات"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "الأصدقاء"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "العائلة"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "التاريخ"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "زملاء العمل"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "سيتم تلقائيًا اقتراح جهات الاتصال التي تم التعرف عليها كمكررة."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "جهات الاتصال"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "الشركة"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "زر لتوسيع القائمة"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "تستطيع ‏‫التوصيات التلقائية‬ استخراج التمييزات من ملفات الصوت."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "ستظهر جهات الاتصال هنا بعد إنشائها."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "ستظهر جهات الاتصال هنا بعد إضافتها."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "إضافة إلى المفضلة"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "العنوان"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "حسابات"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "تم قفل PIN."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "رمز PUK2 غير صحيح."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "رمز PIN1 غير صحيح."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "إضافة جهة الاتصال الحالية"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "لا يوجد جهات اتصال أساسية"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "جهات الاتصال الأساسية"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "إنشاء جهة اتصال أساسية"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "إضافة جهات الاتصال الأساسية"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "ضبط التاريخ"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "رقم PIN الجديد والخاص بالتأكيد غير متطابقين."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "ستظهر جهات الاتصال الأساسية هنا بعد إنشائها."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "يتعذر تحديد المزيد من العناصر"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "أدخل بطاقة SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "إن مزود خدمة جهة الاتصال التي تتصل بها هو %1$s. انقر فوق موافق لإجراء هذه المكالمة باستخدام بطاقة SIM ‏%2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "استخدام بطاقة SIM الخاصة بـ %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "بطاقة SIM الحالية"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "هاتف العملة"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "رمز غير صحيح."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "الهاتف"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "مكالمة صادرة"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "مكالمة واردة"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "يتم عرض أوّل %d من جهات الاتصال فقط."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "وضعي"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "النقر هنا لإضافة اختصار"
+
diff --git a/main-app/res/po/az.po b/main-app/res/po/az.po
new file mode 100644
index 0000000..e89f8cc
--- /dev/null
+++ b/main-app/res/po/az.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Yığılmış nömrələr"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Son zəng"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Qəbul edilmiş zənglər"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Tarixçələri seç"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Nəzərdən keçirmə qaydası"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Ev 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Köçürülmə tamamlandı."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Göndərilmə..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 təsdiqləndi."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 təsdiqləndi."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN blokirovkadan çıxarıldı."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 blokdan çıxarıldı."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 dəyişdirildi."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 blokirovka edildi."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 kod dəyişdirilmişdir."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 kod bloklanmışdır."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Yanlış PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Yeni PIN2 və təsdiq edilən PIN2-i uyğun gəlmir"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "PUK1 kod səhvdir."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Yalnış PUK1. %d cəhd qalmışdır."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Yalnış PUK2. %d cəhd qalmışdır."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN dəyişdirildi."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Adlar"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Hesab əlavə edin"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Simvol sayı maksimuma çatıb."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Cihazlar axtarılır..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Yalnış PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HAZIR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "LƏĞV ET"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SİL"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Bağlantı problemi və səhv MMI kodu."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Gizli nömrə"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "GÖNDƏR"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 blok edilib. Provayderlə əlaqə saxla (SIM PUK2 tələb olunur)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Jurnal yoxdur"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Zəng etdikdən/qəbul etdikdən, yaxud mesaj göndərdikdən/qəbul etdikdən sonra loqlar görünəcək."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM kart məşğuldur. Bir azdan sına"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM kartı kilidlənib."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Heç bir SIM kart tapılmadı. Zəhmət olmasa, telefona SIM kart daxil edin."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Şəbəkə və ya SIM kart səhvi."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Vibrasiya əks-əlaqəsi aktiv edildi."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Vibrasiya əks-əlaqəsi söndürüldü."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Nömrəyə zəng etmək olmadı. %d fövqəladə nömrə deyil."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Sürətli yığım nömrəsi %d silindi."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Sürətli yığma nömrəsi təyin edilməmişdir."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Nömrə daxil et."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Sizin PIN-niz %1$d - %2$d simvol olmalıdır. Yenidən cəhd edin."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Sizin PIN2-niz %1$d - %2$d rəqəmdən ibarət olmalıdır. Bir daha cəhd edin."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Bu sürətli yığım nömrəsinə heç bir kontakt təyin edilməmişdir. İndi təyin etmək üçün OK vurun."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN qeyri-aktiv edilmişdir. Dəyişməzdən öncə PIN-i aktivləşdirin."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Səs poçt"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Kont yenilə"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Sürətli yığım param"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Sil"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Əlaqə yarat"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Zəng parametrləri"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Gözləmə əlavə et"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "2 saniyəlik pauza əlavə et"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Klaviatura"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Şəbəkəyə qoşulmaq olmadı"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Zəng üçün SIM kart seç"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Axtarış nəticələri (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Fövqəladə zəng"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Sürətli yığ nömr kimi qur"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Nömrəni qur"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Mesaj göndər"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Ləğv et"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Kontaktlara əlavə et"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Şifrələr uyğun gəlmir."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN blok edilib. PUK kod daxil edin."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM bloklanmışdır."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Saxlanmamış"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Saxlandı"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Buraxılmış"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Alınmadı"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Ləğv edildi"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d jurnal elementi silinəcək."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Bütün jurnal elementləri silinəcək."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 jurnal elementi silinəcək."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Kontakt təfərrüatlarına bax"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Nömrəni göndər"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Buraxılan zənglər"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Sil"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Zəngin müddəti"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Buraxılmış zənglər"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Bir daha göstərmə"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Naməlum nömrə"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Naməlum"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Hamısını seç"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Jurnallar"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Dünən"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Bu gün"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seçilmişdir"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "%d jurnallarını sil"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Jurnal elementlərini sil"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Jurnalı sil"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Sil"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Kontaktı yenilə"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Sil"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Əlaqə yarat"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Ləğv et"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Səs zəngləri"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Video zənglər"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM kart"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Bütün zənglər"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Zəng etdikdən və ya qəbul etdikdən sonra onlar burada jurnala salınacaq."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Zəng etdikdən və ya qəbul etdikdən sonra jurnal elementləri burada görünəcək."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDAKTƏ"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Mətni daxil et"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Kontaktlarınızdan bəzilərinin dublikatı çıxarılacaq."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d kontakt idxal edildi."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kontaktlar əlaqələndirildi."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 nömrə Avtomatik rəddetmə siyahısından silindi."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 kontakt idxal edildi."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Xidmət nömrələri"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Ad formatı"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Kontaktları əlaqələndir"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Göstərmək üçün kontaktlar"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Qur"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Yarat"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Sahə-r əlavə"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Kontaktlr idxal edilir..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "İdxal ləğv edildi"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Kontaktlr ixrac edilir..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "İxrac ləğv edildi"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Kontaktlar idxal edildi"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Kontaktlar ixrac edildi"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Bütün əlaqələr"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Siz hesabları yalnız oxunan hesablardan silə bilməzsiniz, lakin onları kontaktlarda gizlədə bilərsiniz."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Sinxronlaşdırma aktiv olduqda bu kontakt saxlandığı digər sinxronlaşmış hesablardan silinəcək."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Sinxr aktiv olan zaman bu kontakt və ona bağlı başqa hesablardan sinxronlaşdırılmış bütün kontaktlar silinəcək və ya məlumat yalnız oxunma hesabından olduqda gizlədiləcək."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Sinxronlaşdırma aktiv olduqda bu kontakt və onunla əlaqələnən digər sinxronlaşmış hesabdakı bütün kontaktlar silinəcək."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Xidmət təminatçısı məlumatı yenilənir..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Əlaqə əlavə etmək mümkün olmadı. Əlaqələndirilə bilən əlaqələrin sayı maksimuma (%d) çatmışdır."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Əlaqə əlavə etmək mümkün olmadı. Əlaqələndirilə bilən əlaqələrin sayı maksimuma (%d) çatmışdır."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Bu kontakt silinəcək."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Bu kontakt və onunla əlaqələnən bütün kontaktlar silinəcək."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Seçilə bilən elementlərin sayı maksimumu (%d) keçmişdir."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Eyni anda paylaşılan məzmunların sayı maksimumu (%1$d) keçmişdir. Yalnız ilk %2$d paylaşılacaq."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa funksiyası əlaqələrinizin xidmət təminatçısını müəyyən etmək və əlaqə siyahınızda göstərmək üçün istifadə edilə bilər. Siz menyu düyməsinə sıxmaqla və Xidmət təminatçısı barədə məlumatı yenilə seçiməklə bunu daha sonra edə bilərsiniz. Əlaqələrinizin xidmət təminatçısını indi müəyyən etmək üçün OK vurun"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Kontaktları SIM kartdan idxal etməyi dayandırmaq üçün OK vurun."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Kontaktları %s-ə ixrac etməyi dayandırmaq üçün OK vurun."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "İxrac edilməli kontaktları seçmək üçün İxrac et vurun. Bəzi kontakt məlumatları itə bilər."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Bəzi və ya bütün kontaktlar yenilənmiş olmaya bilər."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Bəzi kontakt məlumatları itə bilər."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM yaddaşı doludur."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Silinir..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d telefon nömrəsi yeniləndi."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d kontakt silinəcək."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d kontakt %2$s-a ixrac edilmişdir."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d kontakt Device/Contacts/Imported/%2$s.vcf-ə ixrac edilmişdir."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Yaddaş kifayət etmir."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Yeni kontaktlar cihazınızın Kontaktlarında saxlanacaq."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN rejimi aktivləşdirildi."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Mümkün olmadı."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Dəyişikliklərdən imtina edilsin?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Kontaktlar silinir..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Kontaktların silinməsi ləğv edildi. Bəzi kontaktlar artıq silinmiş ola bilər."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Kontaktlar %s-dan idxalı dayandıracaq."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Artıq mövcuddur."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Bütün əlaqəli kontaktlar silinəcək."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Bütün kontaktlar silinəcək."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Bütün dəyişikliklər ləğv olunacaq."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Əlavə olunur..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 telefon nömrəsi yeniləndi."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 kontakt silinəcək."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 əlaqə şəxsi silinib."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "İş"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Səsli zəng"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Video zəng"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Xidmət təminatçısının məlumatını yenilə"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Kontaktla əlaqəni kəs"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Kontaktların əlaqəsini kəs"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Şəkil çək"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Foto şəkil çək"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Həyat yoldaşı"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Bacı"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM kart"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Paylaş"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Paylaş"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Parametrlər"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Kontaktlardan seç"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD kartı"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Kontaktı saxlama yeri"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Yenidən sırala"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Sil"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Qohum"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Münasibət"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "İstinad edilib"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Tərəfdaş"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Valideyn"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Peycer"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Başqa"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Təşkilat"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Ana"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Mesaj"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Sevimliləri idarə et"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Menecer"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Əsas"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Əvvəlcə soyad"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Soyad"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Ev"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Ev"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Qalereyadan"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Dost"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Əvvəlcə ad"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Ad"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN əlaqəsi"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Faks (iş)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Faks (ev)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Ata"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Redaktə et"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Bir daha göstərmə"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Yerli ortaq"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Cihaz"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Adi"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Yarat"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Uşaq"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Qardaş"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Doğum günü"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Köməkçi"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "İldönümü"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Sahə əlavə edin"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Əlavə edin"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Hesab"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Axtar"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Xidmət nömrəsi yoxdur"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nəticə tapılmadı"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Fövqəladə əlaqə yoxdur"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Əlaqə yoxdur"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Nizamla"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Profil qur"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Mənim profilimi qur"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Birlikdə göndər"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Fərdi şəkildə göndər"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Kontakt məlumatı göndər"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Hamısını seç"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d kontakt"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Yalnız tel. nömrəsi olan kontaktlar"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "İdxal et"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "İxrac et"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Hadisə"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Kontaktları nömrələri ilə göstər"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 kontakt"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kontaktlar"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB yaddaşı mümkün deyil"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Əlavə etmək olmur"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Əlavə etmək mümkün deyil"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Təklif olunan kontaktlar"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Paylaş"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Kontaktın şəklini qur"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Parametrlər"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Xidmət provayderi"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Kontakt məlumatı göndər"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Zəng üçün SIM seçin"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Zəng üçün SIM kartı seç"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Zəng üçün SIM kart seç"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Kontakt seçin"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Seç"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Kontaktların saxlanma yeri"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Yenidən nizamla"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Sil"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Əsas kontaktlar (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Əsas kontakt (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Şəxsi kontaktlar"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seçilmişdir"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d seçilmişdir"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Ad formatı"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Ən sıx yığılan kontaktlar"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Mən"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Sevimliləri idarə et"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Adlar siyahısı"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Əlaqəli kontaktlar"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Kontaktlrı idxal et"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "İdxal et"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Sevimlilər"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Kontaktları SIM karta ixrac et"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Kontaktları ixrac et"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "İxrac et"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Fərdi leybli daxil et"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Fövqəladə xidmətlər"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Fövqəladə kontaktlar"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Redaktə et"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Adların təsvir edilmə sırası:"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Displey"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Dəyişikliklərdən imtina et"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Elementi sil"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Yarat"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Əlaqənin şəkli"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Göstərmək üçün kontaktlar"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kontaktlar"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Kontaktlar ixrac edildi"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Saxlama yerini dəyiş"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "İdxalı ləğv et"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "İxracı ləğv et"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Yenidən cəhd et"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Saxla"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Qeydlər"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Daha çox"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "İxrac et"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-poçt"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Hazırdır"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Ləğv et"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Sil"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Yarat"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Dəyiş"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Ləğv et"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Hes əl et"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Vebsayt"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Kontakt siyahısını yenilənir..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "SIM səhvə görə saxlamaq mümkün deyil."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Başlıq"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Bu kontakt silinəcək."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Seçilmiş kontaktlar üçün xidmət təminatçısı məlumatı yenilənəcək. Bu xüsusiyyət şəbəkə bağlantısı tələb edir və əlavə xərclərlə nəticələnə bilər. Prosesi tamamlamaq üçün sərf edilən vaxt şəbəkə bağlantınızdan asılı olacaq"
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM kart başladılması..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Servis nömrəsi"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Ad kartlarının fərdi şəkildə göndərilməsi daha uzun müddət ala bilər, çünki qəbul edən cihaz onları eyni zamanda qəbul etməlidir."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Bir neçə kontaktı bir yerdə göndərmək göndərilmə vaxtını azaldır. Lakin əgər digər cihaz bunu dəstəkləmirsə, yalnız bir kontakt göndəriləcək."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Kontakt məlumatının necə göndərilməsini seç."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Seçilmişi"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Sevimlilərdən sil"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Foto"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Telefon nömrəsi"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Fonetik ad"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Fonetik ikinci ad"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Fonetik soyad"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Fonetik ad"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Digər epoçtlar"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Axtarış nəticəsi yoxdur"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Qruplar yoxdur"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Qeydlər"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Ləqəb"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Ad şəkilçisi"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Ad prefiksi"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Ad"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Mənim kontaktlarım"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "İkinci ad"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Soyad"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "İşin adı"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "SIM kartdan idxal et"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "SIM2 kartdan idxal et"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Gətirilir..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Şəkil"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Xidmət təminatçınızın SIM kartınızda əvvəldən yüklənmiş xidməti nömrələri varsa, onlar burada görünəcək."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Qalereya"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Ad"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Faks"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "SIM karta ixrac et"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "SIM2 karta ixrac et"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "SD karta ixrac et"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Elektron poçtlar"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Dəyişikliklərdən imtina edin"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Dostlar"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Ailə"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Tarix"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Həmkarlar"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Təkrarlanan zaman eyniləşdirilən kontaktlar avtomatik təklif ediləcək."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Adlar"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Şirkət"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Siyahını genişləndirmək üçün düymə"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Avto-tövsiyələr səs fayllarından seçmələri çıxarda bilərlər."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kontakt yaratdıqdan sonra onlar burada görünəcək."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kontaktları əlavə etdikdən sonra onlar burada görünəcək."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Sevimlilərə əlavə et"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Ünvan"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Hesablar"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN blok edildi."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 kod səhvdir."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "PIN1 kod səhvdir."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Mövcud kontaktı əlavə et"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "İlkin əlaqə yoxdur"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "İlkin əlaqələr"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "İlkin əlaqə yaradın"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Əsas kontaktları əlavə et"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Tarixi təyin et"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Yeni PIN və təsdiq PIN-i uyğun gəlmir."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Əsas kontaktlar yaratdıqdan sonra onlar burada görünəcək."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Daha çox elem seçm mümkün dey"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "SIM kart daxil edin."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Zəng etdiyiniz kontaktın xidmət təminatçısı %1$s. %2$s SIM kartı ilə bu zəngi etmək üçün OK vurun."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "%s SIM kartdan istifadə et"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Cari SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Taksofon"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Yanlış simvol."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Gedən zəng"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Gələn zəng"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Yalnız ilk %d kontakt göstərildi."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Mənim profilim"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Qısayol əlavə etmək üçün buraya vurun"
+
diff --git a/main-app/res/po/bg.po b/main-app/res/po/bg.po
new file mode 100644
index 0000000..d599bf2
--- /dev/null
+++ b/main-app/res/po/bg.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Изходящи разговори"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Последен разговор"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Входящи разговори"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Избери регистри"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Преглед по"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Домашен 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Преместването е завършено."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Преместване"
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 е потвърден."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 е потвърден."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN деблокиран."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 разблокиран."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 променен."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 блокиран."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 кодът е променен."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 кодът е блокиран."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Неправилен PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Нов PIN2 и потвърждаване на PIN2 не съвпадат"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Неправилен PUK1 код."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Неправилен PUK1. Остават %d опита."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Неправилен PUK2. Остават %d опита."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN променен."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Телефонен указател"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Добавяне на акаунт"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Достигнат максимален брой знаци."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Сканиране устройства..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Неправилен PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ОТКАЗ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ИЗТРИВАНЕ"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Проблем с връзката или невалиден MMI код."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Частен номер"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ИЗПРАЩАНЕ"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 блокиран. Свържете се с доставчика (изисква се SIM PUK2)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Няма регистри"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "След като направите/получите повикване или изпратите/получите съобщение, ще се появят регистрите."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "Заета SIM карта. Опитайте по-късно"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Заключена SIM/RUIM карта."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Не е намерена SIM карта. Моля, поставете SIM карта в телефона."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Грешка на мрежата или на SIM картата."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Реакцията с вибриране е активирана."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Реакцията с вибриране е деактивирана."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Не може да се извърши повикване към номера. %d не е номер за спешно повикване."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Премахнат е номер за бързо набиране %d."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Назначен е номер за бързо набиране."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Въведете номер."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Вашият PIN код трябва да е с дължина между %1$d и %2$d. Опитайте отново."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Вашият PIN2 код трябва да е с дължина между %1$d и %2$d цифри. Опитайте отново."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Няма контакт, назначен към този номер за бързо набиране. Докоснете OK, за да назначите такъв сега."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN кодът е деактивиран. Активирайте PIN кода, преди да го промените."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Гл. поща"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Актуал. контакт"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Настр. бързо наб."
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Премаxване"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Създав. контакт"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Настр. повиквания"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Добавяне на изчакване"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Добавяне на 2-секундна пауза"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Клавиатура"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Невъзможно свързване с мрежата"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Избор на SIM карта за обаждане"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Резултати от търсене (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Спешно повикване"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Като номер за бързо набиране"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Задаване номер"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Изпр. съобщ."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Отказ"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Добавяне в Контакти"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Паролите не съвпадат."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN е блокиран. Въведете PUK код."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM картата е блокирана."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Незаписано"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Записано"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Пропуснати"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Неуспешно"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Отказано"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d елемента на дневника ще бъдат изтрити."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Всички елементи на дневника ще бъдат изтрити."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 елемент от дневника ще бъде изтрит."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Преглед на детайли за контакт"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Изпращане на номер"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Пропуснати повиквания"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Изтриване"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Продължителност на повиквания"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Пропуснати повиквания"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Да не се показва повече"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Непознат номер"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Неизвестно"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Избор на всичко"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Дневници"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Вчера"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Днес"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d избрани"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Изтриване на %d регист."
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Изтриване елементи от дневник"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Изтриване на регистъра"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Изтрий"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Актуал. контакт"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Изтриване"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Създ. контакт"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Отказ"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Гласови повиквания"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Видеоразговори"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM карта"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Всички обаждания"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "След като направите или получите повиквания, те ще се регистрират тук."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "След като направите или получите повиквания, елементите от дневниците ще се покажат тук."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "РЕДАКЦИЯ"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Въвеждане на текст"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Някои от контактите ви изглежда се дублират."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d контакта са импортирани."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Контактите са свързани."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 номер бе премахнат от списъка за автоматично отхвърляне."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 контакт е импортиран."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Сервизни номера"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Формат на име"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Свързване на контакти"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Контакти за показване"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Настрой"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Създай"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Доб. поле"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Импортиране контакти..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Импортирането е отменено"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Експортиране контакти..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Експортирането е отменено"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Контактите импортирани"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Контактите експортирани"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Всички контакти"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Не можете да изтривате записи от акаунти, които са само за четене, но можете да ги скривате в указателя."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Когато „Синхронизиране“ е активирано, този контакт ще бъде изтрит от всякакви свързани акаунти, в които е записан."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Когато „Синхронизиране“ е активирано, този контакт и всичките му свързани контакти в други синхронизирани акаунти ще бъдат изтрити или ще бъдат скрити, ако информацията е от акаунт само за четене."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Когато „Синхронизиране“ е активирано, този контакт и всичките му свързани контакти в други синхронизирани акаунти, ще бъдат изтрити."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Актуализиране на информация от доставчика на услугата..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Контактът не може да се добави. Достигнат е максималният брой контакти, които могат да се свързват (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Контактите не могат да се добавят. Достигнат е максималният брой контакти, които могат да се свързват (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Този номер ще бъде изтрит."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Този контакт и всичките му свързани контакти ще се изтрият."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Надвишен е максималният брой елементи, които могат да бъдат избрани (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Максималният брой контакти, които могат да бъдат споделяни едновременно (%1$d), е надвишен. Ще бъдат споделени само първите %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Функцията Chamada Certa може да се използва за разпознаване на доставчиците на услуги на вашите контакти и показването им в списъка ви с контакти. Можете да направите това по-късно, като натиснете клавиша за меню и изберете Актуализиране на данните за доставчик на услуги. Чукнете OK, за да разпознаете доставчиците на услуги на вашите контакти сега."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Докоснете OK, за да спрете импортирането на контакти от SIM карта."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Докоснете OK, за да спрете експортирането на контакти до %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Докоснете „Експортиране“, за да изберете кои контакти да се експортират. Част от информацията за контактите може да се изгуби."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Част от контактите или всички контакти може да не са актуализирани."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Възможно е част от информацията за контакти да се загуби."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM памет пълна."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Премахване..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d телефонни номера са актуализирани."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d записа ще бъдат изтрити."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d контакта са експортирани в %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d контакта са експортирани в Устройство/Контакти/Импортирани/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Няма достатъчно памет."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Новите контакти ще бъдат записани в „Контакти“ на устройството ви."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Режим FDN e активиран."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Неуспешно."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Отхвърляне на промените?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Изтриване на записи..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Изтриването на контактите е отменено. Някои контакти може вече да са изтрити."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Контактите ще спрат да се импортират от %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Вече съществува."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Всички свързани записи ще бъдат изтрити."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Всички записи ще бъдат изтрити."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Всички промени в менюто ще бъдат отхвърлени."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Добавяне..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 телефонен номер е актуализиран."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 запис ще бъде изтрит."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "Премахнат е 1 контакт."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Служебен"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Гласово повикване"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Видео разговор"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Актуализиране на данните за доставчик на услуги"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Отвързване на контакт"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Отвързване на контакти"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Направи снимка"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Направи снимка"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Съпруг(а)"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Сестра"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM карта"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Споделяне с"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Споделяне"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Настройки"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Изберете от контактите"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD карта"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Запис на контакта в"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Пренареждане"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Премаxване"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Роднина"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Връзка"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Препоръчано от"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Партньор"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Родител"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Пейджър"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Друго"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Организация"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Майка"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Мобилен"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Съобщение"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Управление на любими"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Мениджър"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Основен"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Първо фамилното име"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Фамилно име"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Дом"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Начало"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "От Галерия"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Приятел"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Първо собственото име"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Малко име"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN запис"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Факс (служебен)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Факс (домашен)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Баща"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Редактиране"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Не показвай повече"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Домашен партньор"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Устройство"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "По избор"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Създаване"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Дете"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Брат"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Рожден ден"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Помощник"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Годишнина"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Добави поле"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Добавяне"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Акаунт"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Търсене"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Няма сервизни номера"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Няма намерени резултати"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Няма контакти за спешни случаи"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Няма контакти"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Сортирай по"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Задаване на профил"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Задаване на моя профил"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Изпращане заедно"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Изпращане поотделно"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Изпращане информация за контакт"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Избор на всичко"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d контакта"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Само записи с телефони"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Импортиране"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Експортиране"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Събитие"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Показване на контакти с номера"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 контакт"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Контакти"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB паметта не е достъпна"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Не може да се добави"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Не може да се добави"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Предложени контакти"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Споделяне с"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Задаване на снимка на контакт"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Настройки"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Доставчик на услуги"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Изпращане инф. за контакт"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Изберете SIM за разговор"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Избор на SIM карта за обаждане"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Избор на SIM карта за обаждане"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Избор на контакт"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Избор"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Записване на контакти в"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Пренареждане"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Премаxване"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Основни контакти (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Основни контакти (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Телефон"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Лични контакти"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d избрани"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d избрани"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Формат на име"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Най-чести контакти"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Мен"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Управление на любими"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Тел. указател"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Свързани контакти"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Импорт на контакти"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Импортиране"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Предпочитани"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Експортиране на контакти в SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Експортиране на контакти"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Експортиране"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Въвеждане на персонал. етикет"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Услуги за спешни случаи"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Контакти за спешни случаи"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Редактиране"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Показване на имената по"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Дисплей"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Отхвърляне на промените"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Изтриване на обект"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Създай"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Изображение на контакт"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Контакти за показване"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Контакти"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Контактите са експортирани"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Промяна на място на записване"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Отмяна на импортирането"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Отмяна на експортирането"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Опитайте отново"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Запази"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Телефон"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Бележки"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Още"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Експортиране"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Имейл"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Готово"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Отхвърляне"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Изтриване"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Създаване"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Промяна"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Отказ"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Доб. акаунт"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Уеб сайт"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Обновяване на указателя..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Не може да се запамети поради грешка в SIM."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Заглавие"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Този номер ще бъде изтрит."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Информацията за доставчик на услуги за избраните контакти ще бъде актуализирана. Тази функция изисква мрежова връзка и може да доведе до допълнителни такси. Времето, нужно за изпълняване на процеса, ще зависи от състоянието на мрежовата ви връзка."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Телефон"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM картата се инициализира..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Номер на услуга"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Изпращането на визитни картички поотделно може да отнеме повече време, тъй като получаващото устройство трябва да ги приема една по една."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Изпращането на няколко контакта наведнъж намалява времето за прехвърляне. Но ако другото устройство не поддържа това, ще бъде изпратен само един контакт."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Изберете как да изпращате информация за контакт."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Избран"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Премахване от предпочитаните"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Снимки"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Тел. номер"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Фонетично име"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Фонетично бащино име"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Фонетична фамилия"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Фонетично собствено име"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Други email-и"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Няма резултати"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Няма групи"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Бележки"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Псевдоним"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Звание към името"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Обръщение"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Име"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Моите записи"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Бащино име"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Фамилно име"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Длъжност"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Импортиране от SIM картата"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Импортиране от SIM2 картата"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Импортиране..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Изображение"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ако доставчикът ви на услуги е заредил предварително номера за услуги на SIM картата, те ще се покажат тук."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Галерия"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Собствено име"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Факс"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Експортиране в SIM картата"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Експортиране в SIM2 картата"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Експортиране в SD картата"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Отхвърляне на промените"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Приятели"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Семейство"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Дата"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Колеги"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Контактите, които са идентифицирани като дубликати, ще бъдат предложени автоматично."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Телефонен указател"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Фирма"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Бутон за разгъване на списъка"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Автоматичните препоръки могат да извличат основните части от звукови файлове."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "След като създадете контакти, те ще се покажат тук."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "След като добавите контакти, те ще се покажат тук."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Добави към Предпочитани"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Адрес"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Акаунти"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN блокиран."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Неправилен PUK2 код."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Неправилен PIN1 код."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Добавяне съществуващ контакт"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Няма основни контакти"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Основни контакти"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Създаване на основен контакт"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Добавяне на основни контакти"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Настройка на дата"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Нов PIN и потвърждаване на PIN не съвпадат."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "След като създадете основни контакти, те ще се покажат тук."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Не могат да се изб. повече ел."
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Поставете SIM карта."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Доставчикът на услуги на контакта, на който се обаждате, е %1$s. Докоснете OK, за да извършите повикването чрез SIM карта %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Използване на SIM карта %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Текуща SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Телефон с предплащане"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Невалиден символ."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Телефон"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Изходящо повикване"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Входящо повикване"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Само първите %d контакта са показани."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Моят профил"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Докоснете тук, за да добавите пряк път"
+
diff --git a/main-app/res/po/ca.po b/main-app/res/po/ca.po
new file mode 100644
index 0000000..5770632
--- /dev/null
+++ b/main-app/res/po/ca.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Trucades realitzades"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Última trucada"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Trucades rebudes"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Seleccionar registres"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Veure per"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Casa 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Procés finalitzat"
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Movent..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 verificat"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 verificat"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN desbloquejat"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 desbloquejat"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 canviat"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 bloquejat"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "S'ha canviat el codi PIN1"
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Codi PIN1 bloquejat"
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2 incorrecte"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "El PIN2 nou i el de confirmació no coincideixen"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Codi PUK1 incorrecte"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Codi PUK1 incorrecte. Queden %d intents."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Codi PUK2 incorrecte. Queden %d intents."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN canviat"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Contactes"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Afegir compte"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "S'ha assolit el nombre màxim de caràcters"
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Escanejant dispositius..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PIN incorrecte"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "REALITZAT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL·LAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ESBORRAR"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problema de connexió o codi MMI no vàlid"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Número privat"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ENVIAR"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 bloquejat. Contacti amb el proveïdor (es requereix PUK2 SIM)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "No hi ha registres"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Després de fer/rebre una trucada o enviar/rebre un missatge, es mostraran els registres"
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "Targeta SIM ocupada. Intentar-ho més tard"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Targeta SIM/RUIM bloquejada"
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "No es detecta cap targeta SIM. Introdueixi una targeta SIM al telèfon."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Error de xarxa o de targeta SIM"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Resposta de vibració habilitada."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Resposta de vibració deshabilitada."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "No es pot trucar al número. %d no és un número d'emergència."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Número de marcatge abreujat %d eliminat."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Número de marcatge abreujat assignat."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Introduir un número."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "El seu PIN ha de tenir entre %1$d i %2$d caràcters. Torni-ho a intentar"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "El seu PIN2 ha de tenir entre %1$d i %2$d dígits. Torni-ho a intentar."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "No hi ha cap contacte assignat a aquest número de marcatge abreujat. Toqui Acceptar per assignar-ne un ara."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "S'ha deshabilitat el PIN. Habiliti el PIN abans de canviar."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Cor veu"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Actual contacte"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Ajust marcat abreuj"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Crear contacte"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Ajust trucada"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Afegir espera"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Afegir una pausa de 2 segons"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Teclat"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Error en connexió a la xarxa"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Sel targeta SIM per a trucada"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Resultats de cerca (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Trucada d'emergència"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Assig com núm marcat abreujat"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Definir número"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Enviar miss"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Cancel·lar"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Afegir a Contactes"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Les contrasenyes no coincideixen"
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN bloquejat. Introdueixi el codi PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM bloquejada"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "No s'ha desat"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Desat"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Perduda"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Error"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Cancel·lat"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "S'esborraran %d elements de registre."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "S'esborraran tots els elements de registre."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "S'esborrarà 1 element de registre."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Veure detalls contacte"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Enviar número"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Trucades perdudes"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Esborrar"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Durades de les trucades"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Trucades perdudes"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "No tornar a mostrar"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Núm desconegut"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Desconegut"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Seleccionar tot"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Registres"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Ahir"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Avui"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seleccionats"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Esborra %d registres"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Esborrar elements de registre"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Esborrar registre"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Esborrar"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Actual contacte"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Esborrar"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Crear contacte"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Cancel·lar"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Trucades de veu"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videotrucades"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Targeta SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Totes les trucades"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Després de fer o rebre trucades, es registraran aquí."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Després de fer o rebre trucades, els elements de registre es mostraran aquí."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITAR"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Text d'entrada"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Alguns dels seus contactes semblen duplicats."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d contactes importats."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contactes enllaçats."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 número eliminat de la Llista de rebuig automàtic."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 contacte importat."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Números de servei"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Format de nom"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Enllaçar contactes"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contactes per mostrar"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Definir"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Crear"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Afegir camps"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Important contactes..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "S'ha cancel la importació"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Exportant contactes..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exportació cancel·lada"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Contactes importats"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Contactes exportats"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Tots els contactes"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "No pot esborrar contactes de comptes de només lectura, però els pot amagar a contactes"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Quan s'habiliti Sincronitzar, s'esborrarà aquest contacte de tots els comptes sincronitzats on s'hagi desat."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Quan la sincronització s'activi, aquest contacte i tots els seus contactes enllaçats a altres comptes sincronitzats s'esborraran o s'amagaran si la informació prové d'un compte només de lectura."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Quan s'habiliti Sincronitzar, s'esborrarà aquest contacte i tots els seus contactes enllaçats a altres comptes sincronitzats."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Actualitzant informació de proveïdor de serveis..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "No es pot afegir el contacte. S'ha assolit el nombre màxim de contactes que es poden enllaçar (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "No es poden afegir contactes. S'ha assolit el nombre màxim de contactes que es poden enllaçar (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "S'esborrarà aquest contacte"
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "S'esborrarà aquest contacte i tots els seus contactes enllaçats."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "S'ha excedit el nombre màxim d'elements que es poden seleccionar (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "S'ha superat el nombre màxim de contactes que es poden compartir d'un cop (%1$d). Només es compartiran els primers %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "La funció Chamada Certa es pot utilitzar per identificar els proveïdors de serveis dels seus contactes i mostrar-los a la seva llista de contactes. Ho pot fer més tard prement la tecla de menú i seleccionant Actualitzar informació de proveïdor de serveis. Toqui Acceptar per identificar ara els proveïdors de serveis dels seus contactes."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Toqui Acceptar per aturar la importació de contactes de la targeta SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Toqui Acceptar per aturar l'exportació de contactes a %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Toqui Exportar per seleccionar quins contactes exportar. Alguna informació de contactes es pot perdre."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Pot ser que alguns o cap dels contactes no s'hagin actualitzat"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Es podria perdre alguna informació de contacte"
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Memòria SIM plena"
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Eliminant..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "S'han actualitzat %d números de telèfon"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "S'esborraran tots els contactes %d"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "S'han exportat %1$d contactes a %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "S'han exportat %1$d contactes a Dispositiu/Contactes/Importats/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "No hi ha prou memòria"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Els contactes nous es desaran als contactes del seu dispositiu."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Mode Números de marcatge fixos activat"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Error"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Descartar els canvis?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "S'estan esborrant els contactes..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "S'ha cancel·lat l'eliminació de contactes. Alguns contactes es poden haver esborrat ja."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Es deixaran d'importar contactes des de %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Ja existeix"
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "S'esborraran tots els contactes enllaçats."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "S'esborraran tots els contactes"
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Es descartaran tots els canvis"
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Afegint..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "S'ha actualitzat 1 número de telèfon"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "S'esborrarà 1 contacte"
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contacte eliminat"
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Personal"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Trucada de veu"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videotrucada"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Actualitzar informació de proveïdor de serveis"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Desenllaçar contacte"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Desenllaçar contactes"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Fer foto"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Fer una foto"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Cònjuge"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Germana"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Targeta SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Compartir mitjançant"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Compartir"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Ajustaments"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Seleccionar dels contactes"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Targ SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Desar contacte a"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Tornar a ordenar"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Familiar"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relació"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Referenciat per"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Parella"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Progenitor"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Cercapersones"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Altres"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organització"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mare"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mòbil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Missatge"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Gestionar preferits"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Director"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Principal"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Primer el cognom"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Cognoms"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Pers."
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Inici"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "De la Galeria"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Amic"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Primer el nom"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Nom"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Contacte FDN"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (feina)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (casa)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Pare"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Editar"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "No tornar a mostrar"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Parella de fet"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Dispositiu"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Personalitzat"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Crear"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Nen"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Germà"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Natalici"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistent"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Aniversari"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Afegir camp"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Afegir"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Compte"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Cercar"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "No hi ha números de servei"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "No s'han trobat resultats"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "No hi ha contactes emergència"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Cap contacte"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Ordenar per"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Definir perfil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Definir el meu perfil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Enviar juntes"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Enviar individualment"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Enviar informació de contacte"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Seleccionar tot"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contactes"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Només contactes amb tel"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Esdeveniment"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Mostrar contactes amb núm tel"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contacte"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Contactes"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Emmagatzematge USB no disponible"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "No es pot afegir"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "No es pot afegir"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Contactes suggerits"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Compartir mitjançant"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Definir foto de contacte"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Ajustaments"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Proveïdor de servei"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Enviar info de contacte"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Seleccionar SIM per a trucada"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Seleccioni la targeta SIM per trucar"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Sel targeta SIM per a trucada"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Seleccionar contacte"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Desar contactes a"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Tornar a ordenar"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Elimina"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Contactes principals (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Contac princip (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telèfon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Contactes personals"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seleccionats"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d seleccionats"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Format de nom"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Contactes més freqüents"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Jo"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Gestionar preferits"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Llista de contactes"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Contactes enllaçats"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importar contactes"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Preferits"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Exportar contactes a targ SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Exportar contactes"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Introduir etiqueta personalitz"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Serveis d'emergència"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Contactes d'emergència"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Editar"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Mostrar noms per"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Pantalla"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Descartar canvis"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Esborrar element"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Crea"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Imatge de contacte"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contactes per mostrar"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Contactes"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Contactes exportats"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Canviar ubicació per desar"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Cancel·lar la importació"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Cancel·lar l'exportació"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Tornar intent."
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Desar"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telèfon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "Acceptar"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notes"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Més"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Cor elec"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Fet"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Descartar"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Esborrar"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Crear"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Canviar"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Afeg compte"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Lloc web"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Actualitzant llista de contactes..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "No es pot desar a causa d'un error de SIM"
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Títol"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "S'esborrarà aquest contacte"
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "S'actualitzarà la informació de proveïdor de serveis dels contactes seleccionats. Aquesta funció requereix una connexió de xarxa i pot comportar càrrecs addicionals. El temps que es trigui en completar el procés dependrà de l'estat de connexió de la xarxa."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telèfon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Iniciant targeta SIM..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Número de servei"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Transferir targetes de visita individualment pot trigar temps, perquè l'altre dispositiu les ha d'acceptar individualment."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "L'enviament de diversos contactes junts redueix el temps de transmissió. Tanmateix, si l'altre dispositiu no ho admet, només s'enviarà un contacte."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Seleccioni com enviar informació de contacte."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Seleccionat"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Eliminar de preferits"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Foto"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Número tel"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Nom fonètic"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Segon nom fonètic"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Cognom fonètic"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Nom fonètic"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Altres correus electrònics"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "No hi ha resultats de cerca"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Cap grup"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notes"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Àlies"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Sufix de nom"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Prefix de nom"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Nom"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Els meus contactes"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Segon nom"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Cognom"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Càrrec"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importar de la targeta SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importar de la targeta SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Important..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Imatge"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "MI"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Si el proveïdor de serveis ha precarregat números de servei a la seva targeta SIM, es mostraran aquí."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Nom"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Exportar a targeta SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Exportar a targeta SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Exportar a targeta SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Correu electrònic"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Descarta canvis"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Amics"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Família"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Companys de feina"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Els contactes que s'han identificat com a duplicats se suggeriran automàticament."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Contactes"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Empresa"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Botó per ampliar la llista"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Les recomanacions automàtiques poden extreure els destacats dels fitxers de so"
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Quan hagi creat contactes, es mostraran aquí."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Després d'afegir contactes, es mostraran aquí."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Afegir a Preferits"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adreça"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Comptes"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN bloquejat"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Codi PUK2 incorrecte"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Codi PIN1 incorrecte"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Afegir un contacte existent"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "No hi ha contactes principals"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Contactes principals"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Crear contacte principal"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Afegir contactes principals"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Definir data"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "El PIN nou i el de confirmació no coincideixen"
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Quan hagi creat contactes principals, es mostraran aquí."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "No es poden selec més elements"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Insereixi la targeta SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "El proveïdor de serveis del contacte al qual està trucant és %1$s. Toqui Acceptar per fer la trucada amb la targeta SIM %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Utilitzar targeta SIM %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "SIM actual"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Telèfon de pagament"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Caràcter no vàlid"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telèfon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Trucada de sortida"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Trucada d'entrada"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Només es mostren els primers %d contactes."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "El meu perfil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Toqui aquí per afegir un accés directe"
+
diff --git a/main-app/res/po/cs.po b/main-app/res/po/cs.po
new file mode 100644
index 0000000..090d555
--- /dev/null
+++ b/main-app/res/po/cs.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Odchozí hovory"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Poslední hovor"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Přijaté hovory"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Vybrat protokoly"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Zobrazit podle"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Domů 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Přesunutí dokončeno."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Probíhá přesouvání"
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 kód byl ověřen."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 kód byl ověřen."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN odblokován."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 odblokován."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 byl změněn."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 zablokován."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 kód byl změněn."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 kód byl zablokován."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Chybný PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Nový PIN2 kód a potvrzení PIN2 kódu se neshodují"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Chybný PUK1 kód."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Chybný PUK1 kód. Zbývá pokusů: %d."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Chybný PUK2 kód. Zbývá pokusů: %d."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN byl změněn."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Přidat účet"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Bylo dosaženo maximálního počtu znaků."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Vyhledávání zařízení..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Nesprávný PIN kód"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ZRUŠIT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ODSTRANIT"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Potíže s připojením nebo neplatný kód MMI."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Soukromé číslo"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ODESLAT"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 kód byl zablokován. Obraťte se na poskytovatele (je zapotřebí PUK2 kód SIM karty)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Žádné protokoly"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Pokud zavoláte nebo přijmete hovor, nebo odešlete či přijmete zprávu, protokoly se objeví."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM karta je zaneprázdněna. Opakujte akci později"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM karta je uzamknuta."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIM karta nebyla nalezena. Vložte SIM kartu do telefonu."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Chyba sítě nebo SIM karty."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Vibrační zpětná vazba je zapnutá."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Vibrační zpětná vazba je vypnutá."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Číslo nelze volat. %d není číslo tísňové linky."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Číslo rychlé volby %d je odebráno."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Číslo rychlé volby je přiřazeno."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Zadejte číslo."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "PIN kód musí obsahovat %1$d až %2$d číslic. Opakujte akci."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2 kód musí obsahovat %1$d až %2$d číslic. Opakujte akci."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Tomuto číslu rychlé volby není přiřazen žádný kontakt. Chcete-li ho přiřadit, klepněte na OK."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN kód byl vypnut. Před provedením změny zapněte PIN kód,"
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Hl. sch."
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Akt. kontakt"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Nast. rych. voleb"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Odebrat"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Vytvoř. kontakt"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Nastavení hovorů"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Přidat čekání"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Přidat 2sekundovou pauzu"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Klávesnice"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Připojení k síti se nezdařilo"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Vybrat SIM kartu pro volání"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Výsledky hledání (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Tísňové volání"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Přiřadit jako č. rychlé volby"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Nastavit číslo"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Odes. zprávu"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Storno"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Přidat do Kontaktů"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Hesla se neshodují."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN kód byl zablokován. Zadejte PUK kód."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM karta blokována."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Neuloženo"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Uloženo"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Nepřijaté"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Chyba"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Zrušeno"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Bude odstraněno %d položek protokolu."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Všechny položky protokolu budou odstraněny."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Bude odstraněna 1 položka protokolu."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Zobrazit detaily kontaktu"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Odeslat číslo"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Nepřijaté hovory"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Odstranit"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Doby trvání hovorů"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Nepřijaté hovory"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Již nezobrazovat"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Neznámé číslo"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Neznámý"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Vybrat vše"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Protokoly"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Včera"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Dnes"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "Vybráno %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Odstranit %d protokolů"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Odstranit položky protokolu"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Odstranit protokol"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Odstranit"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Aktual. kontakt"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Odstranit"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Vytv. kontakt"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Zrušit"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Hlasové hovory"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videohovory"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM karta"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Všechny hovory"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Až zavoláte nebo přijmete hovory, protokoly se zobrazí zde."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Po volání nebo přijetí hovorů se položky protokolu zobrazí zde."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "UPRAVIT"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Zadat text"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Některé kontakty se zdají být duplicitní."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "Bylo importováno %d kontaktů."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kontakty byly spojeny."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 číslo bylo odebráno ze seznamu automaticky odmítaných čísel."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "Byl importován 1 kontakt."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Čísla služeb"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Formát jména"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Spojit kontakty"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Dostupné kontakty"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Nastavit"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Vytv."
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Př. pole"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importování kontaktů..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Import byl zrušen"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Exportování kontaktů..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Export byl zrušen"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Kontakty byly importovány"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Kontakty byly exportovány"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Všechny kontakty"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Z účtů určených jen pro čtení nemůžete odstranit kontakty, ale můžete je v kontaktech skrýt."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Když je zapnutá Synchronizace, tento kontakt bude odstraněn ze všech synchronizovaných účtů, ve kterých je uložen."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Když je zapnutá Synchronizace, tento kontakt a všechny jeho propojené kontakty v ostatních synchronizovaných účtech budou odstraněny, nebo skryty, pokud informace pocházejí z účtu jen pro čtení."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Když je zapnutá Synchronizace, tento kontakt a všechny jeho propojené kontakty v ostatních synchronizovaných účtech budou odstraněny."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Probíhá aktualizace informací o poskytovateli služby..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kontakt nelze přidat. Bylo dosaženo maximálního počtu propojitelných kontaktů (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kontakty nelze přidat. Bylo dosaženo maximálního počtu propojitelných kontaktů (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Kontakt bude odstraněn."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Tento kontakt a všechny jeho propojené kontakty budou odstraněny."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Byl překročen maximální počet položek, který je možné vybrat (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Byl překročen maximální počet kontaktů, které lze najednou sdílet (%1$d). Bude sdíleno pouze prvních %2$d kontaktů."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Funkci Chamada Certa je možné použít k identifikaci poskytovatelů služby kontaktů a jejich zobrazení v seznamu kontaktů. Později můžete tuto funkci vyvolat stisknutím tlačítka menu a zvolením položky Aktualizovat informace o poskytovateli služeb. Klepnutím na tlačítko OK identifikujete poskytovatele služby kontaktů."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Klepnutím na tlačítko OK zastavíte import kontaktů ze SIM karty."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Klepnutím na tlačítko OK zastavíte export kontaktů do %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Klepněte na tlačítko Export a vyberte kontakty, které chcete exportovat. Může dojít ke ztrátě některých informací o kontaktech."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Některé nebo všechny kontakty se nepodařilo aktualizovat."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Může dojít ke ztrátě některých informací o kontaktu."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Paměť karty SIM je plná."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Odebírání..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "Bylo aktualizováno %d telefonních čísel."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "Bude odstraněno %d kontaktů."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d kontaktů bylo exportováno do %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d kontaktů bylo exportováno do Zařízení/Kontakty/Importované/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Nedostatek paměti."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Nové kontakty budou ukládány do Kontaktů v tomto zařízení."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Režim FDN aktivován."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Nezdařilo se."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Zrušit změny?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Odstraňování kontaktů..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Odstraňování kontaktů bylo zrušeno. Některé kontakty již byly pravděpodobně odstraněny."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Import kontaktů z %s bude zastaven."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Již existuje."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Všechny připojené kontakty budou odstraněny."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Všechny kontakty budou odstraněny."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Všechny změny budou zrušeny."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Přidávání..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "Bylo aktualizováno 1 telefonní číslo."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 kontakt bude odstraněn."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "Byl odebrán 1 kontakt."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Práce"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Hlasový hovor"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videohovor"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Aktualizovat informace o poskytovateli služeb"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Rozpojit kontakt"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Rozpojit kontakty"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Fotografovat"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Fotografovat"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Manžel(ka)"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Sestra"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM karta"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Sdílet přes"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Sdílet"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Nastavení"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Vybrat z kontaktů"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD karta"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Uložit kontakt do"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Změnit uspořádání"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Odebrat"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Příbuzný"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Vztah"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Odkazuje"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Pracovní partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Rodič"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pager"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Jiné"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organizace"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Matka"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Zpráva"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Správa oblíbených položek"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Vedoucí"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Hlavní"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Napřed příjmení"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Příjmení"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Domů"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Domů"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Z Galerie"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Přítel"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Napřed křestní jméno"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Jméno"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Kontakt pevné volby"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (do práce)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (domů)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Otec"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Upravit"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Již nezobrazovat"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Partner(ka)"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Zařízení"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Vlastní"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Vytvořit"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Dítě"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Bratr"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Narozeniny"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Asistent"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Výročí"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Přidat pole"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Přidat"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Účet"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Hledat"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Žádná čísla služeb"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nebylo nic nalezeno"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Žádné tísňové kontakty"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Žádné kontakty"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Seřadit podle"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Nastavit profil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Nastavit můj profil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Odeslat společně"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Odeslat jednotlivě"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Odeslat informace o kontaktu"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Vybrat vše"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d kontaktů"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Pouze kontakty s tel."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Import"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Událost"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Zobrazit kontakty s čísly"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 kontakt"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Paměť USB není k dispozici"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Nelze přidat"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Nelze přidat"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Navrhované kontakty"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Sdílet přes"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Nastavit obrázek kontaktu"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Nastavení"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Poskytovatel služeb"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Odeslat info o kontaktu"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Vyberte SIM kartu pro volání"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Vybrat SIM kartu pro volání"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Vybrat SIM kartu pro volání"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Vyberte kontakt"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Vybrat"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Uložit kontakty do"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Změnit uspořádání"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Odstranit"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Primární kontakty (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Prim. kontakty (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Osobní kontakty"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "Vybráno %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "Vybráno %d"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Formát jména"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Nejčastěji používané kontakty"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Já"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Správa oblíbených položek"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Seznam kontaktů"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Připojené kontakty"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Import kontaktů"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Import"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Oblíbené"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Export kontaktů na SIM kartu"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Export kontaktů"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Zadejte vlastní štítek"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Tísňové služby"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Nouzové kontakty"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Upravit"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Zobrazit jména podle"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Zobrazení"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Zrušit změny"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Odstranit položku"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Vytvořit"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Obrázek kontaktu"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Dostupné kontakty"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kontakty"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Kontakty byly exportovány"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Změnit místo uložení"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Zrušit import"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Zrušit export"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Opakujte akci"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Uložit"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Poznámky"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Další"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-mail"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Hotovo"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Zrušit"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Odstranit"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Vytvořit"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Změnit"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Storno"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Přidat účet"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Webové stránky"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Probíhá aktualizace seznamu kontaktů..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Nelze uložit z důvodu chyby SIM karty."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Titul"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Kontakt bude odstraněn."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Informace o poskytovateli služeb u vybraných kontaktů budou aktualizovány. Tato funkce vyžaduje připojení k síti a může mít za následek další poplatky. Doba potřebná k dokončení procesu bude záviset na stavu připojení k síti."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Probíhá inicializace SIM karty..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Číslo služby"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Jednotlivé odesílání vizitek může trvat déle, protože je přijímací zařízení přijímá jednotlivě."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Odesláním řady kontaktů společně se zkrátí doba přenosu. Pokud však druhé zařízení tento způsob nepodporuje, bude odeslán pouze jeden kontakt."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Vyberte způsob odeslání informací o kontaktu."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Vybráno"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Odebrat z oblíbených položek"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Fotografie"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Tel. číslo"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Fonetické jméno"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Dr. jméno foneticky"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Příjmení foneticky"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Křestní jméno foneticky"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Další e-maily"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Žádný výsledek hledání"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Žádné skupiny"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Poznámky"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Přezdívka"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Za jménem"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Titul"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Jméno"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Moje kontakty"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Druhé jméno"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Příjmení"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Prac. zařazení"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Import ze SIM karty"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Import ze SIM2 karty"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Probíhá import.."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Obrázek"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pokud poskytovatel služeb přednastavil na SIM kartě čísla služeb, zobrazí se zde."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Křestní jméno"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Export na SIM kartu"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Export na SIM2 kartu"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Export na SD kartu"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Zrušit změny"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Přátelé"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Rodina"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Spolupracovníci"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Kontakty, které byly identifikovány jako duplicitní, budou navrženy automaticky."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Společnost"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Tlačítko pro rozbalení seznamu"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatická doporučení mohou extrahovat nejzajímavější části ze zvukových souborů."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Až vytvoříte kontakty, zobrazí se zde."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Až přidáte kontakty, zobrazí se zde."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Přidat k oblíbeným položkám"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adresa"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Účty"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN zablokován."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Chybný PUK2."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Chybný PIN1 kód."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Přidat existující kontakt"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Žádné primární kontakty"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Primární kontakty"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Vytvořit primární kontakt"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Přidat primární kontakty"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Nastavit datum"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Nový PIN kód a potvrzení PIN kódu se neshodují."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Až vytvoříte primární kontakty, zobrazí se zde."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Nelze vybrat více položek"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Vložte SIM kartu."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Poskytovatelem služeb kontaktu, který voláte, je %1$s. Klepnutím na OK uskutečníte hovor pomocí SIM karty %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Použít SIM kartu %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Aktuální SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Telefonní automat"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Chybný znak."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Odchozí hovor"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Příchozí hovor"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Zobrazí se pouze prvních %d kontaktů."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Můj profil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Klepnutím sem přidejte zástupce"
+
diff --git a/main-app/res/po/da.po b/main-app/res/po/da.po
new file mode 100644
index 0000000..8b843be
--- /dev/null
+++ b/main-app/res/po/da.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Udgående opkald"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Seneste opkald"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Indgående opkald"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Vælg opkaldslogger"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Vis efter"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Hjem 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Flyt fuldførte."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Flytter ..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 verificeret."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 verificeret."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN-kode ikke spærret."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2-spærring ophævet."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2-kode ændret."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2-kode spærret."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1-koden er ændret."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1-kode blokeret."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Forkert PIN2-kode."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Den nye PIN2-kode og bekræftelses-PIN2-koden stemmer ikke overens."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Forkert PUK1-kode."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Forkert PUK1-kode. %d forsøg tilbage."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Forkert PUK2-kode. %d forsøg tilbage."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN-kode ændret."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Tilføj konto"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Det maksimale antal tegn er nået."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Scanner enheder..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Forkert PIN-kode"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "UDFØRT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULLER"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SLET"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Tilslutningsproblem eller ugyldig MMI-kode."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Hemmeligt nummer"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "SEND"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2-kode er spærret. Kontakt udbyderen (SIM PUK2-kode påkrævet)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Ingen logger"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Når du har foretaget/modtaget et opkald eller sendt/modtaget en besked, vises logs."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM-kort optaget. Prøv senere"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM-/RUIM-kort låst."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Intet SIM-kort fundet. Sæt et SIM-kort i telefonen."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Netværks- eller SIM-kortfejl."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Vibrationsfeedback er blevet aktiveret."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Vibrationsfeedback er blevet deaktiveret."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Kan ikke ringe til nummeret. %d er ikke et nødopkaldsnummer."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Hurtigopkaldsnummeret %d er blevet fjernet."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Hurtigopkaldsnummeret er blevet tildelt."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Indtast nummer."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Din PIN-kode skal indeholde mellem %1$d og %2$d cifre. Prøv igen"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Din PIN2-kode skal være på %1$d til %2$d cifre. Prøv igen."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Der er ikke knyttet en kontakt til dette hurtigopkaldsnummer. Tryk på OK for at tilknytte en nu."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN-kode er blevet deaktiveret. Aktivér PIN-kode inden ændring."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Tlf.svar."
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Opdater kontakt"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Indst. f. hurtigop."
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Fjern"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Opret kontakt"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Opkaldsindst."
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Tilføj afventning"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Tilføj pause på to sekunder"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Tastatur"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Kan ikke opr. forb. t. netværk"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Vælg SIM-kort til opkald"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Søgeresultater (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Nødopkald"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Tildel som hurtigopkaldsnummer"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Angiv nummer"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Send besked"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Annullér"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Føj til kontakter"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Adgangskoderne er ikke ens."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN blokeret. Angiv PUK-kode."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM-kortet er blokeret."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Ikke gemt"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Gemt"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Ubesvarede"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Ubesvarede"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Annulleret"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d logelementer vil blive slettet."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Alle logelementer bliver slettet."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Der vil blive slettet ét logelement."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Se kontaktdetaljer"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Send nummer"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Mistede opkald"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Slet"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Opkaldsvarighed"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Mistede opkald"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Vis ikke igen"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Ukendt nummer"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Ukendt"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Vælg alle"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Logger"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "I går"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "I dag"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d valgt"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Slet %d logs"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Slet logelementer"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Slet log"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Slet"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Opdater kontakt"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Slet"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Opret kontakt"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Annuller"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Stemmeopkald"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videoopkald"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM-kort"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Alle opkald"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Når du har foretaget eller modtaget opkald, logges de her."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Når du foretager eller modtager opkald, vises logelementer her."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDIGER"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Indtast tekst"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Nogle af dine kontakter er tilsyneladende dubletter."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "Der er blevet importeret %d kontakter."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kontakter kædet."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 nummer fjernet fra listen over automatisk afviste."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 kontakt importeret."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Servicenumre"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Navneformat"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Sammenkæd kontakter"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Kontakter, der skal vises"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Indstil"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Opret"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Tilføj felt"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importerer kontakter ..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importen blev annulleret"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Eksporterer kontakter ..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Eksporten blev annulleret"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Kontakter importeret"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Kontakter eksporteret"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Alle kontakter"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Du kan ikke slette kontakter fra skrivebeskyttede konti, men du kan skjule dem i kontakter."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Når synkronisering er aktiveret, vil denne kontakt og alle dens tilknyttede kontakter fra synkroniserede konti blive gemt i."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Når synkronisering er aktiveret, vil denne kontakt og alle dens tilknyttede kontakter på andre synkroniserede konti blive slettet eller skjult, hvis oplysningerne er på en skrivebeskyttet konto."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Når synkronisering er aktiveret, vil denne kontakt og alle dens tilknyttede kontakter på andre synkroniserede konti blive slettet."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Opdaterer oplysninger om tjenesteudbyder ..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kunne ikke tilføje kontakt. Det maksimale antal af kontakter, der kan tilknyttes, (%d) er nået."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kunne ikke tilføje kontakter. Det maksimale antal af kontakter, der kan tilknyttes, (%d) er nået."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Denne kontakt vil blive slettet."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Denne kontakt og alle dens tilknyttede kontakter vil blive slettet."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Det maksimale antal elementer, der kan vælges (%d), er blevet overskredet."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Det maksimale antal kontakter, der kan blive delt ad gangen (%1$d), er blevet overskredet. Det vil kun være de første %2$d, der bliver delt."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa-funktionen kan bruges til at identificere dine kontakters tjenesteudbydere og vise dem på din liste over kontakter. Du kan gøre dette senere ved at trykke på menutasten og vælge Opdatér oplysninger om tjenesteudbyder. Tap på OK for at identificere dine kontakters tjenesteudbydere nu."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Tryk på OK for at afbryde eksporten af kontakter fra SIM-kortet."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Tryk på OK for at afbryde eksporten af kontakter til %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Tryk på Eksporter for at vælge de kontakter, du vil eksportere. Visse kontaktinformationer kan gå tabt."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Nogle eller alle kontakter er muligvis ikke blevet opdateret."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Nogle indholdsoplysninger kan gå tabt."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM-hukommelsen er fuld."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Fjerner..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d telefonnumre er blevet opdateret."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d kontakter vil blive slettet."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d kontakter er blevet eksporteret til: %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d kontakter er blevet eksporteret til Enhed/Kontakter/Importeret/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Ikke nok hukommelse."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Nye kontakter gemmes i Kontakter på din enhed."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN-tilstand aktiveret."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Mislykkedes."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Annullér ændringer?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Sletter kontakter..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Sletning af kontakter annulleret. Nogle kontakter er muligvis allerede slettet."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Kontakter vil ikke længere blive importeret fra %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Findes allerede."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Alle kædede kontakter bliver slettet."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Alle kontakter bliver slettet."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Alle ændringer bliver forkastet."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Tilføjer..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 telefonnummer er blevet opdateret."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 kontakt vil blive slettet."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 kontakt fjernet."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Arbejde"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Stemmeopkald"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videoopkald"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Opdatér oplysninger om tjenesteudbyder"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Fjern tilkn. af kontakt"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Frakæd kontakter"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Tag billede"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Tag et billede"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Ægtefælle"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Søster"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM-kort"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Del via"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Del"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Indstillinger"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Vælg fra kontakter"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD-kort"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Gem kontakt i"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Skift rækkefølge"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Fjern"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Slægtning"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relation"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Henvist af"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Forælder"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Personsøger"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Anden"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organisation"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mor"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Besked"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Administrer favoritter"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Administration"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Hoved"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Efternavn først"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Efternavn"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Privat"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Hjem"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Fra Galleri"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Ven"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Fornavn først"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Fornavn"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN-kontakt"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (arbejde)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (privat)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Far"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Redigér"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Vis ikke igen"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Samlever"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Enhed"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Brugerdefineret"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Opret"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Barn"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Bror"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Fødselsdag"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistent"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Mærkedag"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Tilføj felt"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Tilføj"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Konto"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Søg"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Ingen servicenumre"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Ingen resultater"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Ingen nødsituationskontakter"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Ingen kontakter"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sortér efter"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Angiv profil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Angiv min profil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Send samlet"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Send individuelt"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Send kontaktoplysninger"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Vælg alle"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d kontakter"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Kun kontakter med telef."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importer"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Eksporter"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Begivenhed"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Vis kontakter med numre"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 kontakt"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB-lager ikke tilgængeligt"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Kan ikke tilføje"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Der kan ikke tilføjes"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Foreslåede kontakter"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Del via"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Angiv kontaktbillede"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Indstillinger"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Tjenesteudbyder"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Send kontaktoplysninger"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Vælg SIM-kort til opkald"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Vælg SIM-kort til opkald"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Vælg SIM-kort til opkald"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Vælg kontakt"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Vælg"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Gem kontakter i"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Skift rækkefølge"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Fjern"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Primære kontakter (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Prim. kontakter (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Personlige kontakter"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d valgt"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d valgt"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Navneformat"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Mest hyppige kontakter"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Mig"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Administrer favoritter"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Kontaktliste"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Tilknytt. kontakter"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importer kontakter"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importér"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favoritter"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Eksporter kontakter til SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Eksporter kontakter"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Eksportér"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Indtast tilpasset etiket"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Nødopkaldstjenester"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Nødsituationskontakter"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Redigér"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Vis navne efter"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Visning"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Kassér ændringer"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Slet element"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Opret"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Kontaktpersonbillede"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Kontakter, der skal vises"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kontakter"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Kontakter eksporteret"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Skift lagringsplacering"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Annuller importen"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Annuller eksporten"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Prøv igen"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Gem"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Noter"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Mere"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Eksportér"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-mail"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Udført"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Fjern"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Slet"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Opret"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Skift"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Annullér"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Tilføj konto"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Websted"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Opdaterer kontaktliste ..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Kunne ikke gemme på grund af en SIM-kortfejl."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Titel"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Denne kontakt vil blive slettet."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Oplysningerne om tjenesteudbyder for de valgte kontaktpersoner bliver opdateret. Denne funktion kræver, at der er netværksforbindelse, og kan medføre yderligere omkostninger. Hvor lang tid det tager at fuldføre processen, afhænger af netværksforbindelsens status."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM-kort initialiseres..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Tjenestenummer"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Afsendelse af navnekort individuelt kan tage længere tid, da den modtagende enhed skal acceptere dem én ad gangen."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Afsendelse af en række kontakter sammen reducerer overførselstiden. Hvis den anden enhed imidlertid ikke understøtter dette, sendes kun én kontakt."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Vælg, hvordan kontaktoplysninger skal sendes."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Valgte"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Fjern fra favoritter"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Billede"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Telefonnummer"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Fonetisk navn"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Fonetisk mellemnavn"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Fonetisk efternavn"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Fonetisk fornavn"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Andre e-mails"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Intet søgeresultat"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Ingen grupper"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notater"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Kælenavn"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Navnesuffiks"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Navnepræfiks"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Navn"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Mine kontakter"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Mellemnavn"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Efternavn"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Jobtitel"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importér fra SIM-kort"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importér fra SIM2-kort"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importerer ..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Billede"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "Chat"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Hvis din tjenesteudbyder har forudindlæst tjenestenumre på dit SIM-kort, vil de blive vist her."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galleri"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Fornavn"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Eksportér til SIM-kort"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Eksportér til SIM2-kort"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Eksportér til SD-kort"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Annullér ændringer"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Venner"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Familie"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Dato"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Kolleger"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Kontakter, der er blevet identificeret som dubletter, vil blive foreslået automatisk."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Virksomhed"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Knap til udvidelse af listen"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatisk anbefalinger kan udtrække højdepunkter fra lydfiler."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du opretter kontakter, vil de blive vist her."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du tilføjer kontakter, vises de her."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Føj til Favoritter"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adresse"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Konti"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN-kode spærret."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Forkert PUK2-kode."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Forkert PIN1-kode."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Tilføj eksisterende kontakt"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Ingen primære kontakter"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Primære kontakter"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Opret primær kontakt"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Tilføj primære kontakter"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Indstil dato"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Den nye PIN-kode og bekræftelses-PIN-koden stemmer ikke overens."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du opretter primære kontakter, vil de blive vist her."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Kan ikke vælge flere elementer"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Isæt SIM-kort."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Tjenesteudbyderen for den kontakt du ringer til, er %1$s. Tryk på OK for at foretage dette opkald via dit %2$s-SIM-kort."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Brug %s-SIM-kort"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Aktuelt SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Modtagerbetalt opkald"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Ugyldigt tegn."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Udgående opkald"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Indgående opkald"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Der vises kun de første %d kontakter."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Min profil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Tryk her for at tilføje en genvej"
+
diff --git a/main-app/res/po/de.po b/main-app/res/po/de.po
new file mode 100644
index 0000000..48c70ab
--- /dev/null
+++ b/main-app/res/po/de.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Gewählte Rufnummern"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Letzter Anruf"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Empfangene Anrufe"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Protokolle auswählen"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Anzeige"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Zuhause 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Verschieben abgeschlossen"
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Verschiebevorgang aktiv..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 verifiziert"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 verifiziert"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN entsperrt"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 entsperrt"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 geändert"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 gesperrt"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1-Code geändert"
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1-Code blockiert"
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Falsche PIN2"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Neue PIN2 und bestätigte PIN2 stimmen nicht überein"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Falscher PUK1-Code"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Falsche PUK1. Noch %d Versuche"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Falsche PUK2. Noch %d Versuche"
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN geändert"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Kontakte"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Konto hinzufügen"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximal zulässige Zeichenanzahl erreicht."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Geräte werden gesucht..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Falsche PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FERTIG"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ABBRECHEN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "LÖSCHEN"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Verbindungsprobleme oder ungültiger MMI-Code"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Private Nummer"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "SENDEN"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 blockiert. An Anbieter wenden (SIM PUK2 erforderlich)"
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Keine Protokolle"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Nach dem Tätigen/Empfangen eines Anrufs oder dem Senden/Empfangen von Nachrichten werden Protokolle angezeigt."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM-Karte besetzt. Später erneut versuchen"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM-Karte ist gesperrt."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Keine SIM-Karte gefunden. Setzen Sie eine SIM-Karte in das Telefon ein"
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Netz- oder SIM-Karten-Fehler"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Vibrationsfeedback aktiviert."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Vibrationsfeedback deaktiviert."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Anrufen der Nummer nicht möglich. %d ist keine Notrufnummer."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Kurzwahlnummer %d entfernt."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Kurzwahlnummer zugewiesen."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Nummer eingeben."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Ihre PIN muss %1$d bis %2$d Ziffern lang sein. Erneut versuchen."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Ihre PIN2 muss %1$d bis %2$d Stellen umfassen. Versuchen Sie es erneut."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Dieser Kurzwahlnummer ist kein Kontakt zugeordnet. Auf „OK“ tippen, um jetzt eine Nummer zuzuweisen."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN wurde deaktiviert. Aktivieren Sie vor der Änderung die PIN."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Voicemail"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Kontakt aktual."
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Kurzwahleinst."
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Entfernen"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Neuer Kontakt"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Anrufeinstellungen"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Pause hinzufügen"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "2 Sekunden Pause hinzufügen"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Tasten"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Netzwerkverbindung nicht mgl."
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "SIM-Kartenauswahl für Anruf"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Suchergebnisse (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Notruf"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Zuweisen als Kurzwahlnummer"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Nummer festl."
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Nachr. send."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Abbrechen"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Zu Kontakten hinzufügen"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Kennwörter stimmen nicht überein"
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN blockiert. PUK-Code eingeben"
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM gesperrt"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Nicht gespeichert"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Gespeichert"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Entgangen"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Fehler"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Abgebrochen"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d Protokollelemente werden gelöscht."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Alle Protokollemente werden gelöscht."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 Protokollelement wird gelöscht."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Kontaktdet. anz."
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Nummer senden"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Verpasste Anrufe"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Löschen"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Anrufdauerübersicht"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Verpasste Anrufe"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Nicht erneut anzeigen."
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Unbekannte Nr."
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Unbekannt"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Alle auswählen"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Protokolle"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Gestern"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Heute"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "Auswahl von %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "%d Protokolle löschen"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Löschen von Protokollelementen"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Protokoll löschen"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Löschen"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Kontakt aktual."
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Löschen"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Neuer Kontakt"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Abbrechen"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Sprachanrufe"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videoanrufe"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM-Karte"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Alle Anrufe"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Nach dem Tätigen oder Empfangen von Anrufen werden diese Anrufe hier protokolliert."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Nach dem Tätigen oder Empfangen eines Anrufs werden hier Protokollelemente angezeigt."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "BEARBEITEN"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Text eingeben"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Einige Ihrer Kontakte sind anscheinend doppelt vorhanden."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d Kontakte importiert."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kontakte verknüpft."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 Nummer aus der Liste für automatisches Ablehnen entfernt."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 Kontakt importiert."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Dienstnummern"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Namensformat"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Kontakte verknüpfen"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Anzuzeigende Kontakte"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Einstellen"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Erstellen"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Feld hzfg."
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Kont. werd. importiert..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Import abgebrochen."
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Kont. werd. exportiert..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Export abgebrochen."
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Kontakte importiert."
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Kontakte exportiert."
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Alle Kontakte"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Sie können keine Kontakte aus schreibgeschützten Konten löschen, aber Sie können sie in den Kontakten ausblenden."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Wenn die Synchronisierung aktiviert ist, wird dieser Kontakt aus allen synchronisierten Konten gelöscht, in denen er gespeichert ist."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Ist „Sync“ aktiviert, wird der Kontakt und alle verknüpften Kontakte in anderen synchronisierten Konten gelöscht oder, wenn es sich um ein schreibgeschütztes Konto handelt, verborgen."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Wenn die Synchronisierung aktiviert ist, werden dieser Kontakt und alle mit ihm verknüpften Kontakte aus anderen synchronisierten Konten gelöscht."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Info zum Netzbetreiber wird aktualisiert..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Hinzufügen des Kontakts nicht möglich. Maximale Anzahl an verknüpfbaren Kontakten (%d) erreicht."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Hinzufügen von Kontakten nicht möglich. Maximale Anzahl an verknüpfbaren Kontakten (%d) erreicht."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Dieser Kontakt wird gelöscht."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Dieser Kontakt und die mit ihm verknüpften Kontakte werden gelöscht."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Die maximale Anzahl von auswählbaren Elementen (%d) wurde überschritten."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Die maximale Anzahl von Kontakten, die gleichzeitig freigegeben werden können (%1$d), wurde überschritten. Es werden nur die ersten %2$d Kontakte freigegeben."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Die Funktion Chamada Certa kann zum Ermitteln des Dienstanbieters Ihrer Kontakte und deren Darstellung in der Kontaktliste verwendet werden. Sie können dies später durchführen, indem Sie die Menü-Taste drücken und „Info zum Dienstanbieter aktualisieren“ auswählen. Tippen Sie auf „OK“, um jetzt die Dienstanbieter Ihrer Kontakte zu ermitteln."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Auf „OK“ tippen, um den Import der Kontakte von der SIM-Karte zu beenden."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Auf „OK“ tippen, um den Export der Kontakte nach %s zu beenden."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Tippen Sie auf „Exportieren“, um die zu exportierenden Kontakte auszuwählen. Einige Kontaktinformationen gehen möglicherweise verloren."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Möglicherweise wurden keine oder manche Kontakte nicht aktualisiert"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Einige Kontaktinformationen gehen u.U. verloren."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM-Speicher voll"
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Entferne..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d Telefonnummern wurden aktualisiert"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d Kontakte werden gelöscht."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d Kontakte wurden zu %2$s exportiert."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d Kontakte wurden nach „Gerät/Kontakte/Importiert/%2$s.vcf“ exportiert."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Speicher voll"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Neue Kontakte werden auf Ihrem Gerät in Kontakte gespeichert."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN-Modus aktiviert"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Fehlgeschlagen"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Änderungen verwerfen?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Kontakte werden gelöscht..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Das Löschen von Kontakten wurde abgebrochen. Einige Kontakte wurden möglicherweise bereits gelöscht."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Der Import von Kontakten von %s wird angehalten."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Bereits vorhanden"
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Alle verknüpften Kontakte werden gelöscht."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Alle Kontakte werden gelöscht."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Alle Änderungen werden verworfen."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Wird hinzugefügt..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 Telefonnummer wurde aktualisiert"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 Kontakt wird gelöscht."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 Kontakt entfernt."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Arbeit"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Sprachanruf"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videoanruf"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Info zum Dienstanbieter aktualisieren"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "KONTAKTVERKN. AUFHEBEN"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Markierung entfernen"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Foto aufnehmen"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Foto aufnehmen"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Ehepartner"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Schwester"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM-Karte"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Senden via"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Senden"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Einstellungen"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Aus Kontakten auswählen"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD-Karte"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Kontakt speichern unter"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Neu sortieren"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Entfernen"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Verwandter"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Beziehung"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Vorgestellt von"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Elternteil"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pager"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Andere"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organisation"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mutter"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Nachricht"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Favoriten verwalten"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Manager"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Haupt"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Nachname zuerst"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Nachname"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Privat"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Startbildschirm"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Aus Galerie"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Freund"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Vorname zuerst"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Vorname"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN-Kontakt"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (Arbeit)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (Privat)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Vater"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Bearbeiten"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Nicht erneut anzeigen"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Lebensgefährte"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Gerät"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Benutzerdefiniert"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Erstellen"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Kind"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Bruder"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Geburtstag"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistent"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Jahrestag"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Feld hinzufügen"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Hinzufügen"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Konto"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Suche"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Keine Dienstnummern"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Keine Ergebnisse"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Keine Notfallkontakte"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Keine Kontakte"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sortieren nach"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Profil festlegen"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Eigenes Profil festlegen"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Zusammen senden"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Einzeln senden"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Kontaktinfos senden"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Alle auswählen"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d Kontakte"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Nur Kontakte mit Telefonnr."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importieren"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Exportieren"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Ereignis"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Kontakte mit Nummern anzeigen"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 Kontakt"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kontakte"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Kein USB-Speicher verfügbar"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Hzfg. nicht möglich"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Hinzufügen nicht möglich"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Vorgeschlagene Kontakte"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Senden via"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Festlegen von Kontaktbild"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Einstellungen"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Dienstanbieter"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Senden von Kontaktinfos"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "SIM für Anruf auswählen"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Auswahl der SIM-Karte für Anruf"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "SIM-Kartenauswahl für Anruf"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Auswahl eines Kontakts"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Auswählen"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Speichern von Kontakt unter"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Neue Sortierung"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Entfernen"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Wichtigste Kontakte (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Wichtige Kontakte (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Persönliche Kontakte"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "Auswahl von %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d ausgewählt"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Namensformat"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Häufigste Kontakte"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Mich"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Favoriten-Verwaltung"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Kontaktliste"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Verknüpfte Kontakte"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Kontakteimport"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importieren"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favoriten"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Exportieren von Kontakten"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Exportieren von Kontakten"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Exportieren"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Benutzerdefin. Beschriftung"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Notdienste"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Notfallkontakte"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Bearbeiten"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Namen anzeigen nach"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Anzeige"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Änderungen verwerfen"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Element löschen"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Erstellen"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Kontaktfoto"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Anzuzeigende Kontakte"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kontakte"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Exportierte Kontakte"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Wechseln von Speicherort"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Importabbruch"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Exportabbruch"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Erneut versuchen"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Speichern"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notizen"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Weitere"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exportieren"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-Mail"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Verwerfen"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Löschen"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Erstellen"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Ändern"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Abbruch"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Konto hzfg."
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Webseite"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Kontaktliste wird aktualisiert..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Kann aufgrund eines SIM-Fehlers nicht gespeichert werden"
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Titel"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Dieser Kontakt wird gelöscht."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Die Angaben zu den Dienstanbietern für die ausgewählten Kontakte werden aktualisiert. Für diesen Vorgang ist eine Netzwerkverbindung erforderlich und es können zusätzliche Gebühren anfallen. Die zur Durchführung dieses Vorgangs erforderliche Zeit hängt vom Status Ihrer Netzwerkverbindung ab."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM wird initialisiert..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Dienstnummer"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Das Senden von einzelnen Visitenkarten kann länger dauern, da sie vom empfangenden Gerät nacheinander akzeptiert werden müssen."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Durch das gleichzeitige Senden mehrerer Kontakte wird die Übertragungszeit verkürzt. Wenn dieser Vorgang jedoch von dem anderen Gerät nicht unterstützt wird, wird nur ein Kontakt gesendet."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Wählen Sie, wie Kontaktinformationen gesendet werden."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Ausgewählt"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Aus Favoriten entfernen"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Foto"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Telefonnr."
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Phonetischer Name"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Phonet. zw. Vorname"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Phonet. Nachname"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Phonetischer Vorname"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Andere E-Mails"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Kein Suchergebnis"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Keine Gruppen"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Memos"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Spitzname"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Namenszusatz"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Namenspräfix"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Name"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Meine Kontakte"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Zweiter Vorname"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Nachname"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Beruf"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Von SIM-Karte importieren"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Von SIM2-Karte importieren"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importieren..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Bilder"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "Chat"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Wenn Ihr Dienstanbieter auf Ihrer SIM-Karte Service-Telefonnummern voreingestellt hat, werden diese hier angezeigt."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Vorname"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Auf SIM-Karte exportieren"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Auf SIM2-Karte exportieren"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Auf SD-Karte exportieren"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-Mail"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Änderungen verwerfen"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Freunde"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Familie"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Arbeitskollegen"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Kontakte, die als Duplikate identifiziert werden, werden automatisch vorgeschlagen."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Kontakte"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Firma"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Taste für die Erweiterung der Liste"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Die automatischen Empfehlungen können Highlights aus Sound-Dateien extrahieren."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nach dem Erstellen von Kontakten werden sie hier angezeigt."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nachdem Sie Kontakte hinzugefügt haben, werden diese hier angezeigt."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Zu Favoriten hinzufügen"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adresse"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Konten"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN gesperrt"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Falscher PUK2"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Falscher PIN1-Code"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Vorhandenen Kontakt hinzufügen"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Keine wichtigen Kontakte"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Wichtigste Kontakte"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Wichtigen Kontakt erstellen"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Hinzufügen wichtiger Kontakte"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Datum einstellen"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Neue PIN und bestätigte PIN stimmen nicht überein"
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nach dem Erstellen von wichtigen Kontakten werden diese hier angezeigt."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Keine weiteren Elemente mgl."
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Legen Sie eine SIM-Karte ein."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Der Dienstanbieter des von Ihnen angerufenen Kontakts ist %1$s. Tippen Sie auf „OK“, um den Anruf über Ihre %2$s-SIM-Karte zu tätigen."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Verwenden von %s-SIM-Karte"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Aktuelle SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Payphone"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Ungültiges Zeichen"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Ausgehender Anruf"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Eingehender Anruf"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Nur die ersten %d Kontakte werden angezeigt."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Eigenes Profil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Hier tippen, um Verknüpfung hinzuzufügen."
+
diff --git a/main-app/res/po/el_GR.po b/main-app/res/po/el_GR.po
new file mode 100644
index 0000000..0e5aab9
--- /dev/null
+++ b/main-app/res/po/el_GR.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Εξερχόμενες κλήσεις"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Τελευταία κλήση"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Εισερχόμενες κλήσεις"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Επιλογή αρχείων καταγραφής"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Προβολή κατά"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Σπίτι 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Μετακίνηση ολοκληρώθηκε."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Μετακίνηση..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "Επαληθευμένο PUK2."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "Επαληθευμένο PUK1."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "Απεμπλοκή ΡΙΝ."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "Απεμπλοκή ΡΙΝ2."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "Το PIN2 άλλαξε."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "Εμπλοκή ΡΙΝ2."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Ο κωδικός PIN2 άλλαξε."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Ο κωδικός PIN1 έχει μπλοκάρει."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Λάθος PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Ο νέος PIN2 και ο PIN2 επιβεβαίωσης δεν συμφωνούν"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Μη έγκυρος κωδικός PUK1."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Λάθος PUK1. %d προσπάθειες απομένουν."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Λάθος PUK2. %d προσπάθειες απομένουν."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "Το PIN άλλαξε."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Επαφές"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Προσθήκη λογαριασμού"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Ο μέγιστος αριθμός χαρακτήρων συμπληρώθηκε."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Σάρωση συσκευών..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Λανθασμένο PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ΤΕΛΟΣ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ΑΚΥΡΟ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ΔΙΑΓΡΑΦΗ"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Πρόβλημα σύνδεσης ή μη έγκυρος κωδικός MMI."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Απόρρητος αριθμός"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ΑΠΟΣΤΟΛΗ"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "Εμπλοκή PIN2. Επικοινωνήστε με τον παροχέα (Απαιτείται PUK2 της SIM)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Δεν υπάρχουν αρχεία καταγραφής"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Μόλις πραγματοποιήσετε/λάβετε μια κλήση ή αποστείλετε/λάβετε ένα μήνυμα, τα αρχεία καταγραφής θα εμφανιστούν."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "Η κάρτα SIM είναι απασχολημένη. Δοκιμάστε αργότερα"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Κλειδωμένη κάρτα SIM/RUIM."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Δεν βρέθηκε κάρτα SIM. Εισάγετε μια κάρτα SIM στο τηλέφωνο."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Σφάλμα κάρτας SIM ή δικτύου."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Η ανάδραση δόνησης ενεργοποιήθηκε."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Η ανάδραση δόνησης απενεργοποιήθηκε."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Δεν είναι δυνατή η κλήση του αριθμού. Ο αριθμός %d δεν αποτελεί αριθμό έκτακτης ανάγκης."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Καταργήθηκε ο αριθμός ταχείας κλήσης %d."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Έγινε ανάθεση αριθμού ταχείας κλήσης."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Εισαγάγετε αριθμό."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "O PIN σας θα πρέπει να έχει μήκος μεταξύ %1$d και %2$d ψηφίων. Δοκιμάστε ξανά."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "O PIN2 σας θα πρέπει να έχει μήκος μεταξύ %1$d και %2$d ψηφίων. Δοκιμάστε ξανά."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Δεν έχει γίνει αντιστοίχιση επαφής σε αυτόν τον αριθμό ταχείας κλήσης. Πατήστε ΟΚ για να αντιστοιχίσετε μία τώρα."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "Ο PIN απενεργοποιήθηκε. Ενεργοποιήστε τον PIN πριν από την αλλαγή."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Αυτ. τηλ."
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Ενημέρ. επαφής"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Ρυθμ. ταχ. κλήσης"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Κατάργηση"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Δημ. επαφής"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Ρυθμίσεις κλήσης"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Προσθήκη αναμονής"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Προσθήκη παύσης 2 δευτ."
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Πληκτρ."
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Αδύνατη η σύνδεση σε δίκτυο"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Επιλέξτε κάρτα SIM για κλήση"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Αποτελέσματα αναζήτησης (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Κλήση έκτακτης ανάγκης"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Ανάθεση ως αρ. ταχείας κλήσης"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Ρύθμ. αριθμού"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Αποστ. μην."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Ακύρωση"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Προσθήκη στις Επαφές"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Ασυμφωνία κωδικών πρόσβασης."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "Εμπλοκή ΡΙΝ. Πληκτρολογήστε κωδικό PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "Η κάρτα SIM είναι μπλοκαρισμένη."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Δεν αποθηκεύτηκε"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Αποθηκεύτηκε"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Αναπάντητες"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Απέτυχε"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Ακυρώθηκε"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Θα διαγραφούν %d στοιχεία καταγραφής."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Θα γίνει διαγραφή όλων των στοιχείων καταγραφής."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Θα γίνει διαγραφή 1 στοιχείου καταγραφής."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Προβολή επαφής"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Αποστολή αριθμού"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Αναπάντητες κλήσεις"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Διαγραφή"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Διάρκεια κλήσεων"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Αναπάντητες κλήσεις"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Να μην εμφανιστεί ξανά"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Άγνωστ. αριθμός"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Άγνωστο"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Επιλογή όλων"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Αρχ.καταγρ."
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Xθές"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Σήμερα"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "Επιλέχθηκαν %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Διαγραφή %d αρχ. καταγρ."
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Διαγ. στοιχ. του αρχ. καταγρ."
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Διαγραφή αρχείου καταγρ."
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Διαγραφή"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Ενημέρ. επαφής"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Διαγραφή"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Δημ. επαφής"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Ακύρωση"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Φωνητικές κλήσεις"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Κλήσεις βίντεο"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Κάρτα SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Όλες οι κλήσεις"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Αφού πραγματοποιήσετε ή λάβετε κλήσεις, θα καταγραφούν εδώ."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Αφού πραγματοποιήσετε ή λάβετε κλήσεις, τα στοιχεία καταγραφής θα εμφανιστούν εδώ."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "ΕΠΕΞΕΡ."
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Εισαγωγή κειμένου"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Κάποιες από τις επαφές σας είναι διπλότυπες."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "Έγινε εισαγωγή %d επαφών."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Συνδεδεμένες επαφές."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "Καταργήθηκε 1 αριθμός από τη λίστα αυτόματης απόρριψης."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "Έγινε εισαγωγή 1 επαφής."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Αριθμοί υπηρεσιών"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Μορφή ονομάτων"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Σύνδεση επαφών"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Επαφές για εμφάνιση"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Ορισμός"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Δημιουργία"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Προσ.πεδ."
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Εισαγωγή επαφών..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Η εισαγωγή ακυρώθηκε"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Εξαγωγή επαφών..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Η εξαγωγή ακυρώθηκε"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Έγινε εισαγωγή επαφών"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Έγινε εξαγωγή επαφών"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Όλες οι επαφές"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Δεν είναι δυνατή η διαγραφή επαφών από λογαριασμούς που έχουν οριστεί μόνο για ανάγνωση, αλλά μπορείτε να τους αποκρύψετε από τις επαφές σας."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Όταν ο συγχρονισμός είναι ενεργοποιημένος, αυτή η επαφή θα διαγραφεί από όλους τους λογαριασμούς στους οποίους είναι αποθηκευμένη."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Όταν ο συγχρονισμός είναι ενεργοποιημένος, θα γίνει διαγραφή αυτής της επαφής και όλων των συνδεδεμένων επαφών της σε άλλους συγχρονισμένους λογαριασμούς ή απόκρυψή της αν οι πληροφορίες προέρχονται από έναν λογαριασμό μόνο για ανάγνωση."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Όταν ο συγχρονισμός είναι ενεργοποιημένος, θα διαγραφεί αυτή η επαφή και όλες οι συνδεδεμένες επαφές της σε άλλους λογαριασμούς που συγχρονίζονται."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Ενημέρωση πληροφοριών παροχέα υπηρεσιών..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Δεν είναι δυνατή η προσθήκη επαφής. Συμπληρώθηκε ο μέγιστος αριθμός επαφών με δυνατότητα σύνδεσης (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Δεν είναι δυνατή η προσθήκη επαφών. Συμπληρώθηκε ο μέγιστος αριθμός επαφών με δυνατότητα σύνδεσης (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Αυτή η επαφή θα διαγραφεί."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Θα διαγραφεί αυτή η επαφή και όλες οι συνδεδεμένες επαφές της."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Υπέρβαση του μέγιστου αριθμού στοιχείων που μπορούν να επιλεγούν (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Ξεπεράσατε το μέγιστο αριθμό επαφών που μπορούν να μοιραστούν ταυτόχρονα (%1$d). Μόνο οι πρώτες %2$d επαφές θα μοιραστούν."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Η λειτουργία Chamada Certa μπορεί να χρησιμοποιηθεί για τον προσδιορισμό των παροχέων υπηρεσιών των επαφών σας και την εμφάνισή τους στη λίστα επαφών σας. Μπορείτε να το κάνετε αυτό αργότερα, πιέζοντας το πλήκτρο μενού και επιλέγοντας «Ενημέρωση πληροφοριών παροχέων υπηρεσιών». Πατήστε OK, για να προσδιορίσετε τους παροχείς υπηρεσιών των επαφών σας τώρα."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Πατήστε OK, για να διακόψετε την εισαγωγή επαφών από την κάρτα SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Πατήστε OK, για να διακόψετε την εξαγωγή επαφών στο αρχείο %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Πατήστε «Εξαγωγή» για να επιλέξετε τις επαφές που θα εξαγάγετε. Ορισμένες πληροφορίες επαφών ενδέχεται να χαθούν."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Ορισμένες ή όλες οι επαφές σας ενδέχεται να μην έχουν ενημερωθεί."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Μπορεί να χαθούν ορισμένες πληροφορίες επαφών."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Μνήμη SIM πλήρης."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Αφαίρεση..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "Ενημερώθηκαν %d τηλεφωνικοί αριθμοί."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "Θα διαγραφούν %d επαφές."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "Έγινε εξαγωγή %1$d επαφών στο αρχείο %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "Έγινε εξαγωγή %1$d επαφών στο Συσκευή/Επαφές/Εισαγόμενες/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Ανεπαρκής μνήμη."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Οι νέες επαφές θα αποθηκευτούν στις Επαφές της συσκευής σας."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN ενεργόποιήθηκε."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Αποτυχία."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Απόρριψη αλλαγών;"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Διαγραφή επαφών..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Η διαγραφή επαφών ακυρώθηκε. Ορισμένες επαφές ενδέχεται να έχουν ήδη διαγραφεί."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Η εισαγωγή των επαφών από το αρχείο %s θα διακοπεί."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Υπάρχει ήδη."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Όλες οι συνδεδεμένες επαφές θα διαγραφούν."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Όλες οι επαφές θα διαγραφούν."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Θα γίνει απόρριψη όλων των αλλαγών."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Προσθήκη..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "Ενημερώθηκε 1 τηλεφωνικός αριθμός."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "Θα διαγραφεί 1 επαφή."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "Καταργήθηκε 1 επαφή."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Εργασία"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Φωνητική κλήση"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Κλήση βίντεο"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Ενημέρωση στοιχείων παρόχου υπηρεσιών"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Αφαίρεση σύνδεσης επαφής"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Κατάργηση σύνδεσης επαφών"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Λήψη φωτογραφίας"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Λήψη φωτογραφίας"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Σύζυγος"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Αδερφή"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Κάρτα SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Κοινή χρήση μέσω"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Κοινή χρήση"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Ρυθμίσεις"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Επιλογή από τις επαφές"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Κάρτα SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Αποθήκευση επαφής σε"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Αναδιάταξη"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Κατάργηση"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Συγγενής"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Σχέση"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Αναφορά από"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Συνεργάτης"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Γονέας"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Συσκευή τηλεειδοποίησης"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Άλλο"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Οργανισμός"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Μητέρα"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Κινητό"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Μήνυμα"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Διαχείριση αγαπημένων"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Διευθυντής"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Κύρια"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Πρώτα το επίθετο"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Επώνυμο"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Σπίτι"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Αρχική"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Από τη Συλλογή"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Φίλος"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Πρώτα το όνομα"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Όνομα"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Επαφή FDN"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Φαξ (εργασία)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Φαξ (οικία)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Πατέρας"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Επεξεργασία"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Να μην εμφανιστεί ξανά"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Τοπικός συνεργάτης"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Συσκευή"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Προσαρμοσμένη"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Δημιουργία"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Παιδί"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Αδερφός"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Γενέθλια"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Βοηθός"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Επέτειος"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Προσθήκη πεδίου"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Προσθήκη"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Λογαριασμός"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Αναζήτηση"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Δεν υπάρχουν αριθμοί υπηρεσιών"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Δεν βρέθηκαν αποτελέσματα"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Καμία επαφή έκτακτης ανάγκης"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Καμία επαφή"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Ταξινόμηση κατά"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Ορισμός προφίλ"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Ορισμός του προφίλ μου"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Αποστολή μαζί"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Μεμονωμένη αποστολή"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Αποστολή στοιχείων επαφής"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Επιλογή όλων"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d επαφές"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Μόνο επαφές με τηλ."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Εισαγωγή"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Εξαγωγή"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Συμβάν"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Εμφάνιση επαφών με αριθμούς"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 επαφή"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Επαφές"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Η συσκευή αποθ. USB δεν είναι διαθέσιμη"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Αδύνατη η προσθήκη"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Δεν είναι δυνατή η προσθήκη"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Προτεινόμενες επαφές"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Κοινή χρήση μέσω"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Ορισμός εικόνας επαφής"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Ρυθμίσεις"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Παροχέας υπηρεσιών"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Αποστολή στοιχείων επαφής"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Επιλέξτε SIM για κλήση"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Επιλέξτε την κάρτα SIM, για να πραγματοποιήσετε κλήση"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Επιλέξτε κάρτα SIM για κλήση"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Επιλογή επαφής"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Επιλογή"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Αποθήκευση επαφών σε"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Επανάληψη παραγγελίας"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Κατάργηση"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Κύριες επαφές (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Κύριες επαφές (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Τηλέφωνο"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Προσωπικές επαφές"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "Επιλέχθηκαν %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "Επιλέχθηκαν %d"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Μορφή ονομάτων"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Πιο συχνές επαφές"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Εγώ"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Διαχείριση αγαπημένων"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Λίστα επαφών"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Συνδεδεμένες επαφές"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Εισαγωγή επαφών"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Εισαγωγή"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Αγαπημένα"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Εξαγωγή επαφών στην κάρτα SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Εξαγωγή επαφών"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Εξαγωγή"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Εισαγ. προσαρμοσμένης ετικέτας"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Υπηρεσίες έκτακτης ανάγκης"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Επαφές έκτακτης ανάγκης"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Επεξεργασία"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Προβολή ονομάτων κατά"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Προβολή"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Απόρριψη αλλαγών"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Διαγραφή στοιχείου"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Δημ/ργία"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Εικόνα επαφής"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Επαφές για εμφάνιση"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Επαφές"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Έγινε εξαγωγή επαφών"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Αλλαγή θέσης αποθήκευσης"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Ακύρωση εισαγωγής"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Ακύρωση εξαγωγής"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Δοκιμάστε ξανά"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Αποθήκ."
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Τηλέφωνο"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Σημειώσ."
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Περισσότερα"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Εξαγωγή"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Email"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Τέλος"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Απόρριψη"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Διαγραφή"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Δημιουργία"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Αλλαγή"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Ακύρωση"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Προσθ. λογ."
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Τοποθεσία Web"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Ενημέρωση λίστας επαφών..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Αδύνατη η αποθήκευση λόγω σφάλματος SIM."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Τίτλος"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Αυτή η επαφή θα διαγραφεί."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Θα γίνει ενημέρωση των πληροφοριών του παρόχου υπηρεσιών για τις επιλεγμένες επαφές. Αυτή η δυνατότητα απαιτεί σύνδεση δικτύου και μπορεί να επιφέρει πρόσθετες χρεώσεις. Ο χρόνος που χρειάζεται για την ολοκλήρωση της διαδικασίας εξαρτάται από την κατάσταση της σύνδεσης δικτύου σας."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Τηλέφωνο"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Προετοιμασία κάρτας SIM..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Αριθμός υπηρεσίας"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Η μεμονωμένη αποστολή καρτών ονομάτων ενδέχεται να διαρκέσει περισσότερο επειδή η συσκευή λήψης θα πρέπει να αποδέχεται μία κάρτα τη φορά."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Η ταυτόχρονη αποστολή ενός αριθμού επαφών μειώνει το χρόνο μετάδοσης. Ωστόσο, αν η άλλη συσκευή δεν υποστηρίζει αυτήν τη δυνατότητα, θα αποσταλεί μόνο μία επαφή."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Επιλέξτε τον τρόπο αποστολής πληροφοριών επικοινωνίας."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Επιλεγμένο"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Αφαίρεση από τα αγαπημένα"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Φωτογραφία"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Αριθ. τηλεφ."
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Φωνητικό όνομα"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Φωνητικό μεσ. όνομα"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Φωνητικό επώνυμο"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Φωνητικό όνομα"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Άλλα email"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Δεν υπ. απ. αναζ."
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Δεν υπάρχουν ομάδες"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Σημειώσεις"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Ψευδώνυμο"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Επίθημα ονόματος"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Πρόθεμα ονόματος"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Όνομα"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Οι επαφές μου"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Πατρώνυμο"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Επώνυμο"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Τίτλος εργασίας"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Εισαγωγή από κάρτα SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Εισαγωγή από κάρτα SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Εισαγωγή..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Εικόνα"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Αν ο παροχέας υπηρεσιών σας έχει προφορτώσει αριθμούς υπηρεσίας στην κάρτα SIM σας, θα εμφανίζονται εδώ."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Συλλογή"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Όνομα"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Φαξ"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Εξαγωγή στην κάρτα SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Εξαγωγή στην κάρτα SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Εξαγωγή στην κάρτα SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Απόρριψη αλλαγών"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Φίλοι"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Οικογένεια"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Ημερομηνία"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Συνεργάτες"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Οι προτάσεις για διπλότυπες επαφές θα εμφανίζονται αυτόματα."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Επαφές"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Εταιρεία"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Κουμπί για την ανάπτυξη της λίστας"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Οι αυτόματες προτάσεις μπορούν να κάνουν εξαγωγή των σημαντικότερων σημείων από ηχητικά αρχεία."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Όταν δημιουργήσετε επαφές, αυτές θα εμφανιστούν εδώ."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Όταν προσθέσετε επαφές, θα εμφανίζονται εδώ."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Προσθήκη στα αγαπημένα"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Διεύθυνση"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Λογαριασμοί"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "Εμπλοκή ΡΙΝ."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Λάθος PUK2."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Μη έγκυρος κωδικός PIN1."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Προσθήκη υπάρχουσας επαφής"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Δεν υπάρχουν κύριες επαφές"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Κύριες επαφές"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Δημιουργία κύριας επαφής"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Προσθήκη κύριων επαφών"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Pύθμιση ημερομηνίας"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Ο νέος PIN και ο PIN επιβεβαίωσης δεν συμφωνούν."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Μόλις δημιουργήσετε κύριες επαφές, αυτές θα εμφανιστούν εδώ."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Αδύν. η επιλογή περισ. στοιχ."
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Εισαγάγετε κάρτα SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Ο πάροχος της υπηρεσίας συμβολαίου που καλείτε είναι %1$s. Πατήστε OK για να πραγματοποιήσετε αυτήν την κλήση χρησιμοποιώντας την κάρτα σας SIM %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Χρήση κάρτας SIM %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Τρέχον SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Καρτοτηλέφωνο"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Μη έγκυρος χαρακτήρας."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Τηλέφ."
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Εξερχόμενη κλήση"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Εισερχόμενη κλήση"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Εμφανίζονται μόνο οι πρώτες %d επαφές."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Το προφίλ μου"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Πατήστε εδώ για να προσθέσετε συντόμευση"
+
diff --git a/main-app/res/po/en.po b/main-app/res/po/en.po
new file mode 100644
index 0000000..bc18426
--- /dev/null
+++ b/main-app/res/po/en.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Dialled calls"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Last call"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Received calls"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Select logs"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "View by"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Home 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Move completed."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Moving..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 verified."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 verified."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN unblocked."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 unblocked."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 changed."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 blocked."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 changed."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 blocked."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Incorrect PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "New PIN2 and confirm PIN2 do not match."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Incorrect PUK1."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Incorrect PUK1. %d attempts left."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Incorrect PUK2. %d attempts left."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN changed."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Add account"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Scanning devices..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Incorrect PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DONE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "DELETE"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Connection problem or invalid MMI code."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Private number"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "SEND"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 blocked. Contact provider (SIM PUK2 required)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "No logs"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "After you make/receive a call or send/receive a message, logs will be shown."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM card busy. Try later"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM card locked."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "No SIM card found. Please insert a SIM card into the phone."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Network or SIM card error."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Vibration feedback enabled."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Vibration feedback disabled."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Unable to call number. %d not emergency number."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Speed dial number %d removed."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Speed dial number assigned."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Enter number."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Your PIN must be between %1$d and %2$d digits long. Try again."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Your PIN2 must be %1$d to %2$d digits. Try again."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "There is no contact assigned to this speed dial number. Tap OK to assign one now."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN has been disabled. Enable PIN before changing."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Voicemail"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Update contact"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Speed dial settings"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Create contact"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Call settings"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Add wait"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Add 2-second pause"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Keypad"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Unable to connect to network"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Select SIM card for call"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Search results (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Emergency call"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Assign as speed dial number"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Set number"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Send message"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Cancel"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Add to Contacts"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Passwords do not match."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN blocked. Enter PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM blocked."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Unsaved"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Saved"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Missed"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Failed"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Cancelled"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d log items will be deleted."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "All log items will be deleted."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 log item will be deleted."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "View contact details"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Send number"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Missed calls"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Call durations"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Missed calls"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Do not show again"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Unknown number"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Logs"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Yesterday"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Today"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d selected"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Delete %d logs"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Delete log items"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Delete log"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Delete"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Update contact"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Delete"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Create contact"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Cancel"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Voice calls"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Video calls"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM card"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "All calls"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "After you make or receive calls, they will be logged here."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "After you make or receive calls, log items will be shown here."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDIT"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Input text"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Some of your contacts appear to be duplicates."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d contacts imported."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contacts linked."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 number removed from Auto reject list."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 contact imported."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Service numbers"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Name format"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Link contacts"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contacts to display"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Set"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Create"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Add fields"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importing contacts..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importing cancelled"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Exporting contacts..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exporting cancelled"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Contacts imported"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Contacts exported"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "All contacts"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "You cannot delete contacts from read-only accounts, but you can hide them in contacts."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "When Sync is enabled, this contact will be deleted from any synced accounts it is saved in."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "When Sync is enabled, this contact and all its linked contacts in other synced accounts will be deleted, or hidden if the information is from a read-only account."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "When Sync is enabled, this contact and all its linked contacts in other synced accounts will be deleted."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Updating service provider info..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Unable to add contact. Maximum number of linkable contacts (%d) reached."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Unable to add contacts. Maximum number of linkable contacts (%d) reached."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "This contact will be deleted."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "This contact and all its linked contacts will be deleted."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "The maximum number of items that can be selected (%d) has been exceeded."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "The maximum number of contacts that can be shared at one time (%1$d) has been exceeded. Only the first %2$d will be shared."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "The Chamada Certa feature can be used to identify your contacts' service providers and display them in your contact list. You can do this later by pressing the menu key and selecting Update service provider info. Tap OK to identify your contacts' service providers now."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Tap OK to stop importing contacts from SIM card."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Tap OK to stop exporting contacts to %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Tap Export to select which contacts to export. Some contact information may be lost."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Some or all contacts may not have been updated."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Some contact information may be lost."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM memory full."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Removing..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d phone numbers have been updated."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d contacts will be deleted."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d contacts have been exported to %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d contacts have been exported to Device/Contacts/Imported/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Not enough memory."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "New contacts will be saved in Contacts on your device."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN mode activated."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Discard changes?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Deleting contacts..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Deleting contacts cancelled. Some contacts may already have been deleted."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Contacts will stop being imported from %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Already exists."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "All linked contacts will be deleted."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "All contacts will be deleted."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "All changes will be discarded."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Adding..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 phone number has been updated."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 contact will be deleted."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contact removed."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Work"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Voice call"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Video call"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Update service provider info"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Unlink contact"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Unlink contacts"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Take picture"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Take a photo"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Spouse"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Sister"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM card"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Share via"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Share"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Select from contacts"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD card"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Save contact to"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Reorder"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Relative"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relationship"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Referred by"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Parent"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pager"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Other"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organisation"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mother"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobile"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Manage favourites"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Manager"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Main"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Last name first"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Last name"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Home"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Home"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "From Gallery"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Friend"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "First name first"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "First name"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN contact"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (work)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (home)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Father"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Edit"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Do not show again"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Domestic partner"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Device"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Custom"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Create"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Child"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Brother"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Birthday"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistant"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Anniversary"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Add field"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Add"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Account"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Search"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "No service numbers"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "No results found"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "No emergency contacts"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "No contacts"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sort by"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Set profile"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Set my profile"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Send together"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Send individually"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Send contact information"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contacts"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Only contacts with phones"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Import"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Event"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Display contacts with numbers"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contact"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB storage not available"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Unable to add"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Unable to add"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Suggested contacts"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Share via"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Set contact picture"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Service provider"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Send contact information"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Select SIM for call"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Select SIM card to call"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Select SIM card for call"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Select contact"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Select"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Save contacts to"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Reorder"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Primary contacts (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Primary contacts (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Phone"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Personal contacts"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d selected"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d selected"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Name format"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Most frequent contacts"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Me"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Manage favourites"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Contact list"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Linked contacts"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Import contacts"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Import"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favourites"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Export contacts to SIM card"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Export contacts"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Enter custom label"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Emergency services"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Emergency contacts"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Edit"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Display names by"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Display"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Discard changes"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Delete item"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Create"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Contact image"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contacts to display"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Contacts"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Contacts exported"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Change save location"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Cancel importing"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Cancel exporting"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Try again"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Save"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Phone"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notes"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "More"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Email"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Done"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Discard"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Delete"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Create"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Change"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Add account"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Website"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Updating contact list..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Unable to save due to SIM error."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Title"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "This contact will be deleted."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "The service provider information of the selected contacts will be updated. This feature requires a network connection and may result in additional charges. The time taken to complete the process will depend on your network connection status."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telephone"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM card initialising..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Service number"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Sending name cards individually may take longer because the receiving device must accept them one at a time."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Sending a number of contacts together reduces transmission time. However, if the other device does not support this, only one contact will be sent."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Select how to send contact information."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Selected"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Remove from favourites"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Photo"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Phone number"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Phonetic name"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Phonetic middle name"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Phonetic last name"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Phonetic first name"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Other emails"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "No search result"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "No groups"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notes"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Nickname"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Name suffix"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Name prefix"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Name"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "My contacts"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Middle name"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Last name"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Job title"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Import from SIM card"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Import from SIM2 card"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importing..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Image"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "If your service provider has preloaded service numbers on your SIM card, they will be shown here."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "First name"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Export to SIM card"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Export to SIM2 card"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Export to SD card"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Discard changes"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Friends"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Family"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Date"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Co-workers"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Contacts that have been identified as being duplicates will be suggested automatically."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Company"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Button for expanding the list"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Auto recommendations can extract the highlights from sound files."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you create contacts, they will be shown here."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add contacts, they will be shown here."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Add to favourites"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Address"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Accounts"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN blocked."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Incorrect PUK2."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Incorrect PIN1."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Add existing contact"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "No primary contacts"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Primary contacts"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Create primary contact"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Add primary contacts"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Set date"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "New PIN and confirm PIN do not match."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you create primary contacts, they will be shown here."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Unable to select more items"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Insert SIM card."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "The service provider of the contact you are calling is %1$s. Tap OK to make this call using your %2$s SIM card."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Use %s SIM card"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Current SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Payphone"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Invalid character."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Phone"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Outgoing call"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Incoming call"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Only first %d contacts displayed."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "My profile"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Tap here to add shortcut"
+
diff --git a/main-app/res/po/en_PH.po b/main-app/res/po/en_PH.po
new file mode 100644
index 0000000..922b0d6
--- /dev/null
+++ b/main-app/res/po/en_PH.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Dialed calls"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Last call"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Received calls"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Select logs"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "View by"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Home 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Move completed."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Moving..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 verified."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 verified."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN unblocked."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 unblocked."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 changed."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 blocked."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 code changed."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 code blocked."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Incorrect PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "New PIN2 and confirm PIN2 do not match"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Incorrect PUK1 code."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Incorrect PUK1. %d attempts left"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Incorrect PUK2. %d attempts left"
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN changed."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Add account"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Scanning devices..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Incorrect PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DONE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "DELETE"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Connection problem or invalid MMI code."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Private number"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "SEND"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 blocked. Contact provider (SIM PUK2 required)"
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "No log"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "After you make/receive a call or send/receive a message, logs will be shown."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM card busy. Try later"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM card locked."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "No SIM card found. Please insert a SIM card into the phone"
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Network or SIM card error."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Vibration feedback enabled."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Vibration feedback disabled."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Unable to call number. %d not emergency number."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Speed dial number %d removed."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Speed dial number assigned."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Enter number."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Your PIN must be between %1$d and %2$d digits long. Try again."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Your PIN2 must be %1$d to %2$d digits. Try again."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "There is no contact assigned to this speed dial number. Tap OK to assign one now."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN has been disabled. Enable PIN before changing."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Voicemail"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Update contact"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Speed dial settings"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Create contact"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Call settings"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Add wait"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Add 2-second pause"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Keypad"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Unable to connect to network"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Select SIM card for call"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Search results (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Emergency call"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Assign as speed dial number"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Set number"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Send message"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Cancel"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Add to Contacts"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Passwords do not match."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN blocked. Enter PUK code"
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM blocked."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Unsaved"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Saved"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Missed"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Failed"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Canceled"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d log items will be deleted."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "All log items will be deleted."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 log item will be deleted."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "View contact details"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Send number"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Missed calls"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Call durations"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Missed calls"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Do not show again"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Unknown number"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Logs"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Yesterday"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Today"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d selected"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Delete %d logs"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Delete log items"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Delete log"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Delete"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Update contact"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Delete"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Create contact"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Cancel"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Voice calls"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Video calls"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM card"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "All calls"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "After you make or receive calls, they will be logged here."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "After you make or receive calls, log items will be shown here."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDIT"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Input text"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Some of your contacts appear to be duplicates."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d contacts imported."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contacts linked."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 number removed from Auto reject list."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 contact imported."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Service numbers"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Name format"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Link contacts"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contacts to display"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Set"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Create"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Add fields"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importing contacts..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importing canceled"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Exporting contacts..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exporting canceled"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Contacts imported"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Contacts exported"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "All contacts"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "You cannot delete contacts from read-only accounts, but you can hide them in contacts."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "When Sync is enabled, this contact will be deleted from any synced accounts it is saved in."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "When Sync is enabled, this contact and all its linked contacts in other synced accounts will be deleted, or hidden if the information is from a read-only account."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "When Sync is enabled, this contact and all its linked contacts in other synced accounts will be deleted."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Updating service provider info..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Unable to add contact. Maximum number of linkable contacts (%d) reached."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Unable to add contacts. Maximum number of linkable contacts (%d) reached."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "This contact will be deleted."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "This contact and all its linked contacts will be deleted."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "The maximum number of items that can be selected (%d) has been exceeded."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "The maximum number of contacts that can be shared at one time (%1$d) has been exceeded. Only the first %2$d will be shared."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "The Chamada Certa feature can be used to identify your contacts' service providers and display them in your contact list. You can do this later by pressing the menu key and selecting Update service provider info. Tap OK to identify your contacts' service providers now."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Tap OK to stop importing contacts from SIM card."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Tap OK to stop exporting contacts to %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Tap Export to select which contacts to export. Some contact information may be lost."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Some or all contacts may not have been updated."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Some contact information may be lost."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM memory full."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Removing..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d phone numbers have been updated."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d contacts will be deleted."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d contacts have been exported to %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d contacts have been exported to Device/Contacts/Imported/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Not enough memory."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "New contacts will be saved in Contacts on your device."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN activated."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Failed"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Discard changes?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Deleting contacts..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Deleting contacts canceled. Some contacts may already have been deleted"
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Contacts will stop being imported from %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Already exists."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "All linked contacts will be deleted."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "All contacts will be deleted."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "All changes will be discarded."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Adding..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 phone number has been updated."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 contact will be deleted."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contact removed."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Work"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Voice call"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Video call"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Update service provider info"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Unlink contact"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Unlink contacts"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Take picture"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Take a photo"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Spouse"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Sister"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM card"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Share via"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Share"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Select from contacts"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD card"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Save contact to"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Reorder"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Relative"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relationship"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Referred by"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Parent"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pager"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Other"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organization"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mother"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobile"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Manage favorites"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Manager"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Main"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Last name first"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Last name"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Home"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Home"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "From Gallery"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Friend"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "First name first"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "First name"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN contact"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (work)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (home)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Father"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Edit"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Do not show again"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Domestic partner"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Device"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Custom"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Create"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Child"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Brother"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Birthday"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistant"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Anniversary"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Add field"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Add"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Account"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Search"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "No service numbers"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "No results found"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "No emergency contacts"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "No contacts"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sort by"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Set profile"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Set my profile"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Send together"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Send individually"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Send contact information"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contacts"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Only contacts with phones"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Import"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Event"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Display contacts with numbers"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contact"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB storage not available"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Unable to add"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Unable to add"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Suggested contacts"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Share via"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Set contact picture"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Service provider"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Send contact information"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Select SIM for call"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Select SIM card to call"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Select SIM card for call"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Select contact"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Select"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Save contacts to"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Reorder"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Primary contacts (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Primary contacts (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Phone"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Personal contacts"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d selected"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d selected"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Name format"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Most frequent contacts"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Me"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Manage favorites"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Contact list"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Linked contacts"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Import contacts"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Import"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favorites"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Export contacts to SIM card"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Export contacts"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Enter custom label"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Emergency services"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Emergency contacts"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Edit"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Display names by"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Display"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Discard changes"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Delete item"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Create"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Contact image"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contacts to display"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Contacts"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Contacts exported"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Change save location"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Cancel importing"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Cancel exporting"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Try again"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Save"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Phone"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notes"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "More"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Email"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Done"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Discard"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Delete"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Create"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Change"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Add account"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Website"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Updating contact list..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Unable to save due to SIM error."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Title"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "This contact will be deleted."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "The service provider information of the selected contacts will be updated. This feature requires a network connection and may result in additional charges. The time taken to complete the process will depend on your network connection status."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telephone"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM card initializing..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Service number"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Sending name cards individually may take longer because the receiving device must accept them one at a time."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Sending a number of contacts together reduces transmission time. However, if the other device does not support this, only one contact will be sent."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Select how to send contact information."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Selected"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Remove from favorites"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Photo"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Phone number"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Phonetic name"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Phonetic middle name"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Phonetic last name"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Phonetic first name"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Other emails"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "No search result"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "No groups"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notes"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Nickname"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Name suffix"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Name prefix"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Name"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "My contacts"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Middle name"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Last name"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Job title"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Import from SIM card"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Import from SIM2 card"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importing..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Image"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "If your service provider has preloaded service numbers on your SIM card, they will be shown here."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "First name"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Export to SIM card"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Export to SIM2 card"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Export to SD card"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Discard changes"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Friends"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Family"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Date"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Co-workers"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Contacts that have been identified as being duplicates will be suggested automatically."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Company"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Button for expanding the list"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Auto recommendations can extract the highlights from sound files."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you create contacts, they will be shown here."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add contacts, they will be shown here."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Add to Favorites"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Address"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Accounts"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN Blocked."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Incorrect PUK2 code."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Incorrect PIN1 code."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Add existing contact"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "No primary contacts"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Primary contacts"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Create primary contact"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Add primary contacts"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Set date"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "New PIN and confirm PIN do not match."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you create primary contacts, they will be shown here."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Unable to select more items"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Insert SIM card."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "The service provider of the contact you are calling is %1$s. Tap OK to make this call using your %2$s SIM card."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Use %s SIM card"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Current SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Payphone"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Invalid character."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Phone"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Outgoing call"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Incoming call"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Only first %d contacts displayed."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "My profile"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Tap here to add shortcut"
+
diff --git a/main-app/res/po/en_US.po b/main-app/res/po/en_US.po
new file mode 100644
index 0000000..76d3d95
--- /dev/null
+++ b/main-app/res/po/en_US.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Dialed calls"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Last call"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Received calls"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Select logs"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "View by"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Home 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Move completed."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Moving..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 verified."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 verified."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN unblocked."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 unblocked."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 changed."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 blocked."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 changed."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 blocked."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Incorrect PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "New PIN2 and confirm PIN2 do not match"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Incorrect PUK1 code."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Incorrect PUK1. %d attempts left."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Incorrect PUK2. %d attempts left."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN changed."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Add account"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximum number of characters reached."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Scanning devices..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Incorrect PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DONE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "DELETE"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Connection problem or invalid MMI code."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Private number"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "SEND"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 blocked. Contact provider (SIM PUK2 required)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "No logs"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "After you make/receive a call or send/receive a message, logs will be shown."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM card busy. Try later"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM card locked."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "No SIM card found. Please insert a SIM card into the phone."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Network or SIM card error."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Vibration feedback turned on."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Vibration feedback turned off."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Unable to call number. %d not emergency number."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Speed dial number %d removed."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Speed dial number assigned."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Enter number."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Your PIN must be between %1$d and %2$d digits long. Try again."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Your PIN2 must be %1$d to %2$d digits. Try again."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "There is no contact assigned to this speed dial number. Tap OK to assign one now."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN has been turned off. Turn on PIN before changing."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Voicemail"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Update contact"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Speed dial settings"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Create contact"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Call settings"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Add wait"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Add 2-second pause"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Keypad"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Unable to connect to network"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Select SIM card for call"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Search results (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Emergency call"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Assign as speed dial number"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Set number"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Send message"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Cancel"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Add to Contacts"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Passwords do not match."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN blocked. Enter PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM blocked."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Unsaved"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Saved"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Missed"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Failed"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Canceled"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d log items will be deleted."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "All log items will be deleted."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 log item will be deleted."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "View contact details"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Send number"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Missed calls"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Delete"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Call durations"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Missed calls"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Do not show again"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Unknown number"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Logs"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Yesterday"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Today"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d selected"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Delete %d logs"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Delete log items"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Delete log"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Delete"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Update contact"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Delete"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Create contact"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Cancel"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Voice calls"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Video calls"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM card"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "All calls"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "After you make or receive calls, they will be logged here."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "After you make or receive calls, log items will be shown here."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDIT"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Input text"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Some of your contacts appear to be duplicates."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d contacts imported."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contacts linked."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 number removed from Auto reject list."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 contact imported."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Service numbers"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Name format"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Link contacts"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contacts to show"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Set"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Create"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Add fields"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importing contacts..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importing canceled"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Exporting contacts..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exporting canceled"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Contacts imported"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Contacts exported"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "All contacts"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "You cannot delete contacts from read-only accounts, but you can hide them in contacts."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "When Sync is turned on, this contact will be deleted from any synced accounts it is saved in."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "When Sync is on, this contact and all its linked contacts in other synced accounts will be deleted, or hidden if the information is from a read-only account."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "When Sync is turned on, this contact and all its linked contacts in other synced accounts will be deleted."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Updating service provider info..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Unable to add contact. Maximum number of linkable contacts (%d) reached."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Unable to add contacts. Maximum number of linkable contacts (%d) reached."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "This contact will be deleted."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "This contact and all its linked contacts will be deleted."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "The maximum number of items that can be selected (%d) has been exceeded."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "The maximum number of contacts that can be shared at one time (%1$d) has been exceeded. Only the first %2$d will be shared."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "The Chamada Certa feature can be used to identify your contacts' service providers and show them in your contact list. You can do this later by pressing the Menu key and selecting Update service provider info. Tap OK to identify your contacts' service providers now."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Tap OK to stop importing contacts from SIM card."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Tap OK to stop exporting contacts to %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Tap Export to select which contacts to export. Some contact information may be lost."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Some or all contacts may not have been updated."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Some contact information may be lost."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM memory full."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Removing..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d phone numbers have been updated."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d contacts will be deleted."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d contacts have been exported to %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d contacts have been exported to Device/Contacts/Imported/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Not enough memory."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "New contacts will be saved in Contacts on your device."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN mode activated."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Failed."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Discard changes?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Deleting contacts..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Deleting contacts canceled. Some contacts may already have been deleted."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Contacts will stop being imported from %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Already exists."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "All linked contacts will be deleted."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "All contacts will be deleted."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "All changes will be discarded."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Adding..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 phone number has been updated."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 contact will be deleted."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contact removed."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Work"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Voice call"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Video call"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Update service providers"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Unlink contact"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Unlink contacts"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Take picture"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Take a photo"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Spouse"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Sister"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM card"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Share via"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Share"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Select from contacts"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD card"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Save contact to"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Reorder"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Relative"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relationship"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Referred by"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Parent"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pager"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Other"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organization"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mother"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobile"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Manage favorites"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Manager"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Main"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Last name first"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Last name"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Home"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Home"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "From Gallery"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Friend"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "First name first"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "First name"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN contact"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (work)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (Home)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Father"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Edit"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Do not show again"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Domestic partner"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Device"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Custom"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Create"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Child"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Brother"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Birthday"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistant"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Anniversary"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Add field"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Add"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Account"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Search"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "No service numbers"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "No results found"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "No emergency contacts"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "No contacts"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sort by"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Set profile"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Set my profile"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Send together"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Send individually"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Send contact information"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contacts"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Only contacts with phones"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Import"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Event"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Show contacts with numbers"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contact"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB storage not available"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Unable to add"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Unable to add"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Suggested contacts"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Share via"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Set contact picture"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Settings"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Service provider"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Send contact information"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Select SIM for call"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Select SIM card to call"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Select SIM card for call"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Select contact"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Select"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Save contacts to"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Reorder"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Remove"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Primary contacts (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Primary contacts (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Phone"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Personal contacts"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d selected"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d selected"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Name format"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Most frequent contacts"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Me"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Manage favorites"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Contact list"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Linked contacts"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Import contacts"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Import"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favorites"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Export contacts to SIM card"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Export contacts"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Enter custom label"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Emergency services"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Emergency contacts"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Edit"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Show names by"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Display"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Discard changes"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Delete item"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Create"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Contact image"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contacts to show"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Contacts"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Contacts exported"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Change save location"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Cancel importing"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Cancel exporting"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Try again"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Save"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Phone"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notes"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "More"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Email"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Done"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Discard"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Delete"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Create"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Change"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Add account"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Website"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Updating contact list..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Unable to save due to SIM error."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Title"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "This contact will be removed."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "The service provider information of the selected contacts will be updated. This feature requires a network connection and may result in additional charges. The time taken to complete the process will depend on your network connection status."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telephone"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM card initializing..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Service number"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Sending name cards individually may take longer because the receiving device must accept them one at a time."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Sending a number of contacts together reduces transmission time. However, if the other device does not support this, only one contact will be sent."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Select how to send contact information."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Selected"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Remove from Favorites"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Photo"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Phone number"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Phonetic name"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Phonetic middle name"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Phonetic last name"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Phonetic first name"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Other emails"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "No search result"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "No groups"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notes"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Nickname"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Name suffix"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Name prefix"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Name"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "My contacts"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Middle name"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Last name"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Job title"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Import from SIM card"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Import from SIM2 card"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importing..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Image"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "If your service provider has preloaded service numbers on your SIM card, they will be shown here."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Gallery"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "First name"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Export to SIM card"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Export to SIM2 card"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Export to SD card"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Discard changes"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Friends"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Family"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Date"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Co-workers"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Contacts that have been identified as being duplicates will be suggested automatically."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Company"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Button for expanding the list"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Auto recommendations can extract the highlights from sound files."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you create contacts, they will be shown here."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you add contacts, they will be shown here."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Add to Favorites"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Address"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Accounts"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN blocked."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Incorrect PUK2 code."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Incorrect PIN1."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Add existing contact"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "No primary contacts"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Primary contacts"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Create primary contact"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Add primary contacts"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Set date"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "New PIN and confirm PIN do not match."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "After you create primary contacts, they will be shown here."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Unable to select more items"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Insert SIM card."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "The service provider of the contact you are calling is %1$s. Tap OK to make this call using your %2$s SIM card."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Use %s SIM card"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Current SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Payphone"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Invalid character."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Phone"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Outgoing call"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Incoming call"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Only first %d contacts shown."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "My profile"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Tap here to add shortcut"
+
diff --git a/main-app/res/po/es_ES.po b/main-app/res/po/es_ES.po
new file mode 100644
index 0000000..f25a569
--- /dev/null
+++ b/main-app/res/po/es_ES.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Realizadas"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Última llamada"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Recibidas"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Seleccionar registros"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Ver por"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Casa 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Proceso completado"
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Moviendo..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 verificado"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 verificado"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN desbloqueado"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 desbloqueado"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 modificado"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 bloqueado"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Código PIN1 cambiado"
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Código PIN1 bloqueado"
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN 2 incorrecto"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "El PIN2 nuevo y el PIN2 de confirmación no coinciden"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Introducir código PUK1"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1 incorrecto. Quedan %d intentos."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 incorrecto. Quedan %d intentos."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN modificado"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Añadir cuenta"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Alcanzado el número máximo de caracteres"
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Buscando dispositivos..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PIN incorrecto"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HECHO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINAR"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problema de conexión o código MMI no válido"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Número privado"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ENVIAR"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 bloqueado. Póngase en contacto con el proveedor (PUK2 de SIM necesario)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Ningún registro"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Después de hacer/recibir una llamada o enviar/recibir un mensaje, se mostrarán registros"
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "Tarjeta SIM ocupada. Inténtelo más tarde"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Tarjeta SIM bloqueada"
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "No se ha encontrado ninguna tarjeta SIM. Inserte una tarjeta SIM en el teléfono."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Error de red o de tarjeta SIM"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Respuesta de vibración activada."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Respuesta de vibración desactivada."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "No se puede llamar al número. %d no es un número de emergencia."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Número de marcación rápida %d eliminado."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Se ha asignado el número de marcación rápida."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Introduzca número."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Su PIN debe tener entre %1$d y %2$d dígitos de longitud. Vuelva a intentarlo"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Su PIN2 debe tener entre %1$d y %2$d dígitos. Vuelva a intentarlo."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "No existe ningún contacto asignado a este número de marcación rápida. Pulse Aceptar para asignar uno ahora."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "Se ha desactivado el PIN. Active el PIN antes de cambiar."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Buzón voz"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Actualizar cont"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Ajustes marc rápida"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Crear contacto"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Ajustes de llamada"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Añadir espera"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Añadir pausa de 2 segundos"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Teclado"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "No se puede conectar a la red"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Seleccione tar SIM para llamar"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Resultados de búsqueda (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Llamada de emergencia"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Asignar n.º marcación rápida"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Definir número"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Env. mensaje"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Cancelar"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Añadir a Contactos"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Las contraseñas no coinciden"
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN bloqueado. Introducir código PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM bloqueada"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "No guardado"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Guardado"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Perdida"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Error"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Cancelado"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d elementos de registro."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Se eliminarán todos los elementos de registro."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Se eliminará 1 elemento de registro."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Ver detalles del contacto"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Enviar número"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Llamadas perdidas"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Duración de llamadas"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Llamadas perdidas"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "No volver a mostrar"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Nº desconocido"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Desconocido"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Seleccionar todo"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Registros"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Ayer"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Hoy"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seleccionado(s)"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Eliminar %d registros"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Eliminar elementos de registro"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Eliminar registro"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Actual contacto"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Eliminar"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Crear contacto"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Cancelar"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Llamadas de voz"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videollamadas"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Tarjeta SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Todas las llamadas"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Después de realizar o recibir llamadas, los registros se mostrarán aquí."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Después de realizar o recibir llamadas, los registros se mostrarán aquí."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITAR"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Introducir texto"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Parece que algunos de sus contactos son duplicados."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d contactos importados."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contactos vinculados."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "Se ha eliminado 1 número de la lista Rechazo automático."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 contacto importado."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Números de servicio"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Formato de nombre"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Vincular contactos"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contactos para mostrar"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Aceptar"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Crear"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Añ campos"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importando contactos..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importación cancelada"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Exportando contactos..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exportación cancelada"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Contactos importados"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Contactos exportados"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Todos los contactos"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "No puede eliminar los contactos de cuentas de sólo lectura, pero puede ocultarlos en sus contactos"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Cuando Sincronización está activada, se eliminará este contacto de cualquier cuenta sincronizada en la que esté guardado."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Cuando la sincronización está activada, se eliminarán este contacto y todos sus contactos vinculados en otras cuentas sincronizadas, o se ocultarán si la información está en una cuenta de solo lectura."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Cuando Sincronización está activada, se eliminará este contacto y todos sus contactos vinculados en otras cuentas sincronizadas."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Actualizando información del proveedor de servicios..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "No se puede añadir el contacto. Se ha alcanzado el número máximo de contactos vinculables (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "No se pueden añadir los contactos. Se ha alcanzado el número máximo de contactos vinculables (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Este contacto se eliminará"
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Este contacto y sus contactos vinculados se eliminarán."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Se ha superado el número máximo de elementos que se pueden seleccionar (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Se ha superado el número máximo de contactos que se pueden compartir a la vez (%1$d). Solo se compartirán los primeros %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "La función Chamada Certa se puede utilizar para identificar los proveedores de servicios de sus contactos y mostrarlos en su lista de contactos. Puede hacerlo más tarde pulsando la tecla de menú y seleccionando Actualizar información del proveedor de serv."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Pulse Aceptar para detener la importación de contactos de la tarjeta SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Pulse Aceptar para detener la exportación de contactos a %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Pulse Exportar para seleccionar los contactos que desea exportar. Podría perderse alguna información de contacto."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Puede que algunos o ninguno de los contactos se hayan actualizado"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Podría perderse información de contacto"
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Memoria SIM llena"
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Eliminando..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "Se han actualizado %d números de teléfono"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "Se eliminarán los contactos %d"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "Se han exportado %1$d contactos a %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "Se han exportado %1$d contactos en Dispositivo/Contactos/Importados/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "No hay suficiente memoria"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Los contactos nuevos se guardarán en Contactos en su dispositivo."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Activado modo FDN"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Error"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "¿Descartar los cambios?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Eliminando contactos..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Eliminación de contactos cancelada. Algunos contactos pueden haberse eliminado ya."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Los contactos dejarán de importarse de %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Ya existe"
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Se eliminarán todos los contactos vinculados."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Se eliminarán todos los contactos"
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Se descartarán todos los cambios"
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Añadiendo..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "Se ha actualizado 1 número de teléfono"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "Se eliminará 1 contacto"
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contacto eliminado"
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Trabajo"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Llamada de voz"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videollamada"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Actualizar información del proveedor de servicios"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Desvincular contacto"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Desvincular contactos"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Hacer foto"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Hacer foto"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Cónyuge"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Hermana"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Tarjeta SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Compartir"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Compartir"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Ajustes"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Seleccionar desde contactos"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Tarjeta SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Guardar contacto en"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Familiar"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relación"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Referido por"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Socio/a"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Progenitor"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Buscapersonas"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Otro"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organización"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Madre"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Móvil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Mensajes"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Administrar favoritos"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Administrador"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Principal"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Apellido primero"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Apellidos"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Casa"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Página de inicio"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Desde Galería"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Amigo"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Nombre primero"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Nombre"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Contacto FDN"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (trabajo)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (casa)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Padre"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Editar"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "No volver a mostrar"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Pareja de hecho"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Dispositivo"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Personalizar"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Crear"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Hijo/a"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Hermano"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Cumpleaños"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Asistente"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Aniversario"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Añadir campo"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Añadir"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Cuenta"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Buscar"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Sin números de servicio"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "No se han encontrado result"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "No hay contactos de emergencia"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Ningún contacto"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Ordenar por"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Definir perfil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Configurar mi perfil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Enviar a la vez"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Enviar individualmente"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Enviar información de contacto"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Seleccionar todo"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contactos"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Sólo contactos con teléfono"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Evento"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Mostrar contactos con núm tel"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contacto"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Almacenamiento USB no disponible"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "No se puede añadir"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "No se puede añadir"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Contactos sugeridos"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Compartir"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Definir imagen de contacto"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Ajustes"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Proveedor de servicios"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Enviar info de contacto"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Seleccionar SIM para llamar"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Seleccione la tarjeta SIM para llamar"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Seleccione tar SIM para llamar"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Seleccionar contacto"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Guardar contactos en"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Contactos principales (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Contactos princ (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Teléfono"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Contactos personales"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seleccionado(s)"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d seleccionado"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Formato de nombre"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Contactos más frecuentes"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Yo"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Administrar favoritos"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Lista de contactos"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Contact vinculados"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importar contactos"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favoritos"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Exportar contactos a tarj SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Exportar contactos"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Introducir etiqueta personaliz"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Servicios de emergencia"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Contactos emergencia"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Editar"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Mostrar nombres por"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Pantalla"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Descartar cambios"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Eliminar elemento"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Crear"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Imagen de contacto"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contactos para mostrar"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Contactos"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Contactos exportados"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Cambiar ubicación de guardado"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Cancelar importación"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Cancelar exportación"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Vuelva a int"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Guardar"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Teléfono"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "Aceptar"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notas"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Más"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Corr elec"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Hecho"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Descartar"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Eliminar"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Crear"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Cambiar"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Añadir cuent"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Sitio web"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Actualizando lista de contactos..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Imposible guardar; error de SIM"
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Título"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Este contacto se eliminará"
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Se actualizará la información de proveedor de servicios de los contactos seleccionados. Esta función requiere una conexión de red y puede suponer costes adicionales. El tiempo que se tarde en completar el proceso dependerá del estado de conexión de su red."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Teléfono"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Inicializando tarjeta SIM..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Número de servicio"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Es posible que se tarde más tiempo al enviar las tarjetas de visita individualmente porque el dispositivo de recepción tiene que aceptarlas de una en una."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Al enviar un número de contactos a la vez se reduce el tiempo de transmisión. Sin embargo, si el otro dispositivo no admite esta función, se enviará solo un contacto."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Seleccione cómo enviar la información de contacto."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Seleccionado"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Eliminar de favoritos"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Foto"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Número de teléfono"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Nombre fonético"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Segundo nombre fonét"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Apellido fonético"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Fonética del primer nombre"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Otros correos electrónicos"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Sin resultados"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "No hay grupos"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notas"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Sobrenombre"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Sufijo del nombre"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Prefijo del nombre"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Nombre"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Mis contactos"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Segundo nombre"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Apellido"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Cargo"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importar desde tarjeta SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importar desde tarjeta SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importando..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Imagen"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "MI"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Si su proveedor de servicios ha cargado números de servicio previamente en su tarjeta SIM, se mostrarán aquí."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galería"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Nombre"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Exportar a tarjeta SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Exportar a tarjeta SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Exportar a tarjeta SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Correo electrónico"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Descartar cambios"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Amigos"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Familia"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Fecha"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Compañeros de trabajo"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Los contactos que se hayan identificado como duplicados se sugerirán automáticamente."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Empresa"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Botón para ampliar la lista"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Las recomendaciones automáticas pueden extraer los elementos destacados de los archivos de sonido"
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de crear contactos, se mostrarán aquí."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de añadir contactos, se mostrarán aquí."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Añadir a Favoritos"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Dirección"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Cuentas"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN bloqueado"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 incorrecto"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Código PIN1 incorrecto"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Añadir contacto existente"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Ningún contacto principal"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Contactos principales"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Crear contacto principal"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Añadir contactos principales"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Configurar fecha"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "El PIN nuevo y el de confirmación no coinciden"
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de crear contactos principales, se mostrarán aquí."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "No se puede selecc más elem"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Inserte la tarjeta SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "El proveedor de servicios del contacto al que está llamando es %1$s. Pulse Aceptar para realizar esta llamada utilizando su tarjeta SIM %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Utilice la tarjeta SIM de %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "SIM actual"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Teléfono pago"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Carácter no válido"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Teléf"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Llamada saliente"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Llamada entrante"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Solo se muestran los primeros %d contactos."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Mi perfil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Pulse aquí para añadir el acceso directo"
+
diff --git a/main-app/res/po/es_US.po b/main-app/res/po/es_US.po
new file mode 100644
index 0000000..c63cbe8
--- /dev/null
+++ b/main-app/res/po/es_US.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Llamadas realizadas"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Última llamada"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Llamadas recibidas"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Seleccionar registros"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Ver por"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Casa 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Movimiento completo."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Moviendo…"
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 verificado."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 verificado."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN desbloqueado."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 desbloqueado."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 cambiado."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 bloqueado."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN cambiado."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN bloqueado."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2 incorrecto."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "El nuevo PIN2 y el PIN2 de confirmación no coinciden"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "PUK1 incorrecto."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK incorrecto. Quedan %d intentos."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 incorrecto. Quedan %d intentos."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN cambiado."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Añadir cuenta"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Se ha alcanzado el número máximo de caracteres."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Buscando dispositivos..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PIN incorrecto"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "REALIZADO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINAR"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problema de conexión o código MMI no válido"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Número privado"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ENVIAR"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 bloqueado. Póngase en contacto con el proveedor (PUK2 de tarjeta SIM necesario)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Ningún registro"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Después de realizar/recibir una llamada o enviar/recibir un mensaje, se mostrarán los registros."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "Tarjeta SIM ocupada. Inténtelo más tarde"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Tarjeta SIM bloqueada."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "No se ha encontrado ninguna tarjeta SIM. Inserte una tarjeta SIM en el dispositivo."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Error de red o de tarjeta SIM."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Se activó la respuesta de vibración."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Se desactivó la respuesta de vibración."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "No es posible llamar al número. %d no es un número de emergencia."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Se eliminó el número de marcado rápido %d."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Se asignó el número de marcación rápida."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Introducir número."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Su PIN debe tener entre %1$d y %2$d dígitos. Inténtelo de nuevo."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Su PIN2 debe tener %1$d a %2$d dígitos. Inténtelo de nuevo."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "No existe ningún contacto asignado a este número de Marcación rápida. Pulse Aceptar para asignar uno ahora."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "El PIN se deshabilitó. Active el PIN antes de cambiarlo."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Corr. voz"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Actual. contac."
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Conf. marc. rápida"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Crear contacto"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Config. de llamadas"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Añadir espera"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Añadir pausa de 2 segundos"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Teclado"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "No es posib. conectar a la red"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Selecc. tarj. SIM para llamar"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Resultados de búsqueda (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Llamada de emergencia"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Asignar como núm. marc. rápida"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Definir número"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Env. mensaje"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Cancelar"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Añadir a Contactos"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Las contraseñas no coinciden."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN bloqueado. Introducir PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "Tarjeta SIM bloqueada."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Sin guardar"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Guardado"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Perdida"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Error"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Cancelado"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d elementos del registro."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Se eliminarán todos los elementos de registro."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Se eliminará 1 elemento del registro."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Ver detalles de contacto"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Enviar número"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Llamadas perdidas"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Duración de llamadas"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Llamadas perdidas"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "No volver a mostrar"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "N° desconocido"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Desconocido"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Todo"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Registros"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Ayer"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Hoy"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seleccionado(s)"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Eliminar %d registros"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Eliminar elementos de registro"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Eliminar registro"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Act. contacto"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Eliminar"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Crear contacto"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Cancelar"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Llamadas de voz"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videollamadas"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Tarjeta SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Todas las llamadas"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Después de realizar o recibir llamadas, se registrarán aquí."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Después de realizar o recibir llamadas, los registros se mostrarán aquí."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITAR"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Introducir texto"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Algunos de sus contactos aparecen como duplicados."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "Se importaron %d contactos."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contactos vinculados."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "Se eliminó 1 número de la Lista de rechazo automático."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "Se importó 1 contacto."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Números de servicio"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Formato de nombre"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Vincular contactos"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contactos para mostrar"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Definir"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Crear"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Aña camp"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importando contactos..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importación cancelada"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Exportando contactos..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exportación cancelada"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Contactos importados"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Contactos exportados"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Todos los contactos"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "No es posible eliminar los contactos de cuentas de sólo lectura. Sólo se pueden ocultar."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Cuando se active Sincronización, se eliminará este contacto de todas las cuentas sincronizadas en las que esté guardado."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Cuando se active Sincronización, se eliminarán este contacto y todos los contactos vinculados en otras cuentas sincronizadas, o se ocultarán si la información proviene de una cuenta de solo lectura."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Cuando se active Sincronización, se eliminarán este contacto y todos los contactos vinculados en otras cuentas sincronizadas."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Actualizando la información del proveedor de servicio..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "No se puede añadir el contacto. Se ha alcanzado el número máximo de contactos unidos (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "No se pueden añadir los contactos. Se ha alcanzado el número máximo de contactos vinculables (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Este contacto se eliminará."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Se eliminarán este contacto y todos sus contactos vinculados."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Se excedió el número máximo de elementos que puede seleccionar (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Se superó el número máximo (%1$d) de contactos que se pueden compartir al mismo tiempo. Solo se compartirán los %2$d primeros."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "La función Chamada Certa se puede usar para identificar a los proveedores de servicios de sus contactos y mostrarlos en su lista de contactos. Puede hacerlo más tarde al pulsar la tecla Menú y seleccionar Actualizar información del proveedor de servicios. Pulse Aceptar para identificar ahora a los proveedores de servicios de sus contactos."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Pulse Aceptar para dejar de importar contactos desde la tarjeta SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Pulse Aceptar para dejar de exportar contactos a %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Pulse Exportar para seleccionar los contactos que desea exportar. Es posible que se pierda alguna información de los contactos."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Es posible que algunos de los contactos no hayan sido actualizados."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Es posible que se pierda información del contacto."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Memoria SIM llena."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Eliminando..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "Se actualizaron %d números de teléfono."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "Se eliminarán %d contactos."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "Se han exportado %1$d contactos a %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "Se exportaron %1$d contactos a Dispositivo/Contactos/Importados/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Memoria insuficiente."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Los contactos nuevos se guardarán en Contactos en el dispositivo."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Marcación fija activada."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Error."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "¿Descartar los cambios?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Eliminando contactos..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Se canceló la eliminación de contactos. Es posible que algunos contactos ya se hayan eliminado."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Se dejarán de importar contactos de %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Ya existe."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Se eliminarán los contactos seleccionados."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Se eliminarán todos los contactos."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Se descartarán los cambios."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Añadiendo…"
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "Se actualizó 1 número de teléfono."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "Se eliminará 1 contacto."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contacto eliminado."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Trabajo"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Llamada de voz"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videollamada"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Actualizar la información del proveedor de servicios"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Desvincular contacto"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Desvincular contactos"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Capturar imagen"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Capturar imagen"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Cónyuge"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Hermana"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Tarjeta SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Compartir vía"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Compartir"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Ajustes"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Seleccionar de los contactos"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Tarjeta de memoria"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Guardar contacto en"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Familiar"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relación"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Referido por"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Socio"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Padres"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Localizador"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Otro"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organización"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Madre"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Móvil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Mensaje"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Administrar favoritos"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Administrador"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Principal"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Apellido primero"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Apellido"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Privado"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Página de inicio"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Desde Galería"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Amigo"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Nombre primero"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Nombre"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Contactos M. Fijo"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (trabajo)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Casa Fax"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Padre"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Editar"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "No volver a mostrar"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Compañero(a)"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Dispositivo"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Personalizar"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Crear"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Hijo(a)"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Hermano"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Cumpleaños"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Asistente"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Aniversario"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Añadir detalles"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Añadir"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Cuenta"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Buscar"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Sin números de servicio"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Sin resultados encontrados"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "No hay contactos de emergencia"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "No hay contactos"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Ordenar por"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Definir perfil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Configurar mi perfil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Enviar juntas"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Enviar individualmente"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Enviar información de contacto"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Todo"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contactos"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Contactos con teléfono"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Evento"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Mostrar contactos con números"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contacto"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Memoria interna del teléfono no disponible"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "No es posible añadir"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "No es posible añadir"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Contactos sugeridos"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Compartir vía"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Definir imagen del contacto"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Ajustes"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Proveedor de servicios"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Enviar info. de contacto"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Seleccionar SIM para llamar"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Seleccione la tarjeta SIM para llamar"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Selecc. tarj. SIM para llamar"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Seleccionar contacto"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Guardar contactos en"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Contactos principales (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Contactos princ. (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Teléfono"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Contactos personales"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seleccionado(s)"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d seleccionado(s)"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Nombre del formato"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Contactos más frecuentes"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Yo"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Administrar favoritos"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Lista de contactos"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Contactos vincul."
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importar contactos"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favoritos"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Exportar contactos a tarj. SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Exportar contactos"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Introducir etiq. personalizada"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Servicios de emergencia"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Contactos de emergencia"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Editar"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Mostrar nombres por"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Pantalla"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Descartar cambios"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Eliminar elemento"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Crear"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Imagen de contacto"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contactos para mostrar"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Contactos"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Contactos exportados"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Cambiar ubic. de almacen."
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Cancelar importación"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Cancelar exportación"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Reintentar"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Guardar"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Teléfono"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "Aceptar"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notas"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Más"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Correo"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Realizado"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Descartar"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Eliminar"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Crear"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Cambiar"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Añad. cuenta"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Sitio web"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Actualizando lista de contactos..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "No es posible guardar."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Título"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Este contacto se eliminará."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Se actualizará la información del proveedor de servicio de los contactos seleccionados. Esta función requiere una conexión de red y puede generar costos adicionales. El tiempo que tarde completar el proceso dependerá del estado de su conexión de red."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Teléfono"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Tarjeta SIM inicializando..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Números de servicio"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "El envío de tarjetas de presentación individualmente puede tomar más tiempo debido a que el dispositivo receptor debe aceptarlas una a la vez."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Al enviar varios contactos juntos reduce el tiempo de transmisión. Sin embargo, si el otro dispositivo no lo admite, sólo se puede enviar un contacto."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Seleccione cómo enviar la información de contacto."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Seleccionado"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Eliminar de favoritos"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Imagen"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Número de teléfono"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Nombre fonético"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Fonét. del seg. nom."
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Apellido fonético"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Nombre fonético"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Otros correos"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Sin resultados"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "No hay grupos"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notas"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Alias"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Sufijo del nombre"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Prefijo del nombre"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Nombre"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Mis contactos"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Segundo nombre"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Apellido"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Cargo laboral"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importar desde tarjeta SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importar desde tarjeta SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importando..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Imagen"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Si su proveedor de servicio precargó números de servicio en la tarjeta SIM, estos se mostrarán aquí."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galería"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Nombre"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Exportar a tarjeta SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Exportar a tarjeta SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Exportar a tarjeta de memoria"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Correo"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Descartar cambios"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Amigos"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Familia"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Fecha"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Compañeros de trabajo"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Los contactos que se han identificado como duplicados se sugerirán automáticamente."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Empresa"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Botón para expandir la lista"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Recomendación automática es una función que extrae y destaca una parte de la canción."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Cuando haya creado contactos, estos se mostrarán aquí."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Después de añadir contactos, estos se mostrarán aquí."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Añadir a favoritos"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Dirección"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Cuentas"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN bloqueado."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 incorrecto."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "PIN1 incorrecto."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Añadir contacto existente"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "No hay contactos principales"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Contactos principales"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Crear contacto principal"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Añadir contactos principales"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Definir fecha"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "El PIN nuevo y el PIN de confirmación no coinciden."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Cuando haya creado contactos principales, estos se mostrarán aquí."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "No se pueden selecc. más elem."
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Insertar tarjeta SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "El proveedor de servicio del contacto al que está llamando es %1$s. Pulse Aceptar para realizar esta llamada usando la tarjeta SIM de %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Usar tarjeta SIM %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "SIM actual"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Teléfono pago"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Carácter no válido."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Dispos."
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Llamada saliente"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Llamada entrante"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Solo se muestran los primeros %d contactos."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Mi perfil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Pulsar aquí para añadir atajo"
+
diff --git a/main-app/res/po/et.po b/main-app/res/po/et.po
new file mode 100644
index 0000000..bca4ff8
--- /dev/null
+++ b/main-app/res/po/et.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Valitud kõned"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Viimane kõne"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Vastatud kõned"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Vali logid"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Kuvaviis"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Kodu 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Teisaldamine on lõpetatud."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Teisaldamine..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2-kood on kinnitatud."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1-kood on kinnitatud."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN-i blokeering on tühistatud."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2-kood deblokeeritud."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2-kood on muudetud."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2-kood on blokeeritud."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1-kood on muudetud."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1-kood on blokeeritud."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Vale PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Uus PIN2-kood ja kinnitatav PIN2-kood ei kattu"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Vale PUK1-kood."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Vale PUK1. %d katset jäänud."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Vale PUK2. %d katset jäänud."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN-kood on muudetud."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Kontaktid"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Lisa konto"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Lubatud arv märke on täis."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Seadmete otsimine..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Vale PIN-kood"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "VALMIS"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "TÜHISTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "KUSTUTA"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Ühenduse probleem või vale MMI-kood."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Eranumber"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "SAADA"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2-kood on blokeeritud. Võta teenuseapakkujaga ühendust (SIM PUK2-kood vajalik)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Logisid pole."
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Parast helistamist / konele vastamist voi sonumi saatmist/vastuvotmist kuvatakse logid."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM-kaart on hõivatud. Proovige hiljem uuesti"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM-/RUIM-kaart on lukustatud."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIM-kaarti ei leitud. Palun sisestage SIM-kaart telefoni."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Võrgu või SIM-kaardi tõrge."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Värina tagasiside on aktiveeritud."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Värina tagasiside on desaktiveeritud."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Numbrile ei saa helistada. %d pole hädaabinumber."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Kiirvalimisnumber %d on eemaldatud."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Kiirvalimisnumber on määratud."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Sisestage number."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Teie PIN-kood peab sisaldama %1$d kuni %2$d tähemärki. Proovige uuesti."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Teie PIN2-kood peab sisaldama %1$d kuni %2$d numbrit. Proovige uuesti."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Sellele kiirvalimisnumbrile ei ole määratud ühtegi kontakti. Kohe mõne määramiseks toksake valikut OK."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN-kood on desaktiveeritud. Aktiveerige PIN-kood enne muutmist."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Kõnepost"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Värsk. kontakti"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Kiirvalimise seaded"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Eemalda"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Loo kontakt"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Kõneseaded"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Lisa ooteaeg"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Lisa 2-sekundiline paus"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Klahvistik"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Võrguga ei saa ühendust luua"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Valige kõne jaoks SIM-kaart"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Otsingutulemused (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Hädaabikõne"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Määra kiirvalimisnumbriks"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Määra number"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Saada sõnum"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Tühista"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Lisa kontaktidesse"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Paroolid ei uhti."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN-kood on blokeeritud. Sisestage PUK-kood."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM on blokeeritud."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Salvestamata"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Salvestatud"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Vastamata"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Nurjus"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Tühistatud"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d logiüksust kustutatakse."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Kõik logiüksused kustutatakse."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 logiüksus kustutatakse."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Kuva kontakti üksikasjad"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Saada number"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Vastamata kõned"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Kustuta"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Kõnede kestused"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Vastamata kõned"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Ära näita enam"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Tundmatu number"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Tundmatu"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Vali kõik"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Logid"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Eile"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Täna"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d on valitud"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Kustuta %d logi"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Kustuta logiüksused"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Kustuta logi"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Kustuta"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Värsk. kontakti"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Kustuta"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Loo kontakt"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Tühista"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Häälkõned"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videokõned"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM-kaart"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Kõik kõned"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Logid kuvatakse siin pärast helistamist või kõnedele vastamist."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Logiüksused kuvatakse siin pärast helistamist või kõnedele vastamist."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDIG."
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Sisendtekst"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Osad teie kontaktid on topelt."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d kontakti on imporditud."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kontaktid on lingitud."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 number on eemaldatud automaatse keeldumise loendist."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 kontakt on imporditud."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Teenuse numbrid"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Nimevorming"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Lingi kontaktid"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Kontaktid, mida kuvada"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Määra"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Loo"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Lisa väljasid"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Kontaktide importimine..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importimine tühistatud"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Kont. eksportimine..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Eksportimine tühistatud"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Kontaktid on imporditud"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Kontaktid on eksporditud"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Kõik kontaktid"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Te ei saa kustutada kontakte kirjutuskaitsega kontodelt, kuid saate neid peita kontaktides."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Kui sünkroonimine on aktiveeritud, kustutatakse see kontakt kõigilt sünkroonitud kontodelt, kuhu see on salvestatud."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Kui sünkroonimine on aktiveeritud, siis see kontakt ja kõik sellega seotud kontaktid muudel sünkroonitud kontodel kustutatakse, või peidetakse, juhul kui teave pärineb kirjutuskaitsega kontolt."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Kui sünkroonimine on aktiveeritud, kustutatakse see kontakt ja kõik tema lingitud kontaktid teistel sünkroonitud kontodel."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Teenusepakkuja teabe värskendamine..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kontakti ei saa lisada. Lingitavate kontaktide maksimaalne arv (%d) on saavutatud."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kontakte ei saa lisada. Lingitavate kontaktide maksimaalne arv (%d) on saavutatud."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "See kontakt kustutatakse."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "See kontakt ja kõik tema lingitud kontaktid kustutatakse."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Maksimaalne üksuste arv, mida saab valida (%d), on ületatud."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Korraga jagatavate kontaktide maksimaalne arv (%1$d) on ületatud. Jagatakse ainult esimesed %2$d kontakti."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Funktsiooni Chamada Certa saab kasutada teie kontaktide teenusepakkujate tuvastamiseks ja nende kuvamiseks teie kontaktiloendis. Saate teha seda ka hiljem, vajutades menüüklahvi ja valides Värskenda teenusepakkuja teavet. Toksake valikut OK, et tuvastada oma kontaktide teenusepakkujaid kohe."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Toksake valikut OK, et lõpetada kontaktide importimist SIM-kaardilt."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Toksake valikut OK, et lõpetada kontaktide eksportimist faili %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Toksake käsku Ekspordi, et valida, millised kontaktid eksporditakse. Osad kontaktandmed võivad kaduma minna."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Osasid voi koiki kontakte pole voibolla varskendatud."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Osad kontaktandmed voivad kaduma minna."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM-i mälu on täis."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Eemaldamine..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d telefoninumbrit on varskendatud."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d kontakti kustutatakse."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d kontakti on eksporditud asukohta %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d kontakti on eksporditud asukohta Device/Contacts/Imported/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Mälu pole piisavalt."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Uued kontaktid salvestatakse seadme kausta Kontaktid."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN-režiim on aktiveeritud."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Nurjus."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Kas tühistada muudatused?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Kontaktide kustutamine..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Kontaktide kustutamine on katkestatud. Mõned kontaktid võivad olla juba kustutatud."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Kontaktide importimine asukohast %s katkestatakse."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Juba olemas."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Kõik lingitud kontaktid kustutatakse."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Koik kontaktid kustutatakse."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Koikidest muudatustest loobutakse."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Lisamine..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 telefoninumber on varskendatud."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 kontakt kustutatakse."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 kontakt on eemaldatud."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Töö"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Häälkõne"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videokõne"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Värskenda teenusepakkuja teavet"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Tühista kont. linkimine"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Tühista kontaktide linkimine"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Pildista"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Pildista"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Abikaasa"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Õde"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM-kaart"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Jaga:"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Jaga"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Seaded"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Vali kontaktidest"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD-kaart"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Kontakti salvestuskoht:"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Järjesta ümber"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Eemalda"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Sugulane"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Suhe"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Viidanud"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Vanem"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Piipar"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Muu"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organsatsioon"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Ema"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobiil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Sõnum"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Halda lemmikuid"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Haldur"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Peamine"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Perekonnanimi esimesena"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Perekonnanimi"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Avaleht"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Kodu"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Galeriist"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Sõber"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Eesnimi esimesena"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Eesnimi"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN-kontakt"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Faks (tööl)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Faks (kodu)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Isa"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Redigeeri"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ära näita enam"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Elukaaslane"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Seade"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Kohandus"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Loo"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Laps"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Vend"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Sünnipäev"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistent"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Tähtpäev"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Lisa väli"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Lisa"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Konto"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Otsi"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Teenusenumbreid pole"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Tulemusi ei leitud"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Hädaabikontakte pole"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Kontakte pole"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sortimine:"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Määra profiil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Määra minu profiil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Saada koos"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Saada ükshaaval"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Saada kontaktandmed"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Vali kõik"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d kontakti"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Ainult telefoniga kont."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Impordi"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Ekspordi"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Sündmus"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Kuva numbritega kontaktid"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 kontakt"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kontaktid"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB-mälu pole saadaval"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Ei saa lisada"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Ei saa lisada"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Soovitatud kontaktid"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Jagamine"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Kontakti pildiks määramine"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Seaded"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Teenusepakkuja"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Saada kontaktandmed"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Helistamiseks valige SIM-kaart"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Helistamiseks valige SIM-kaart"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Valige kõne jaoks SIM-kaart"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Vali kontakt"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Vali"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Salvesta kontaktid asukohta"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Ümberjärjestamine"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Eemalda"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Esmased kontaktid (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Esm. kontaktid (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Isiklikud kontaktid"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d on valitud"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d on valitud"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Nimevorming"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Kõige sagedasemad kontaktid"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Mina"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Lemmikute haldamine"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Kontaktiloend"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Lingitud kontaktid"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Kont. importimine"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importimine"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Lemmikud"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Kontaktide eksport. SIM-ile"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Kontaktide eksportimine"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Eksportimine"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Sisestage kohandatud silt"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Hädaabiteenused"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Hädaabikontaktid"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Redigeeri"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Nimede kuvamise alus"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Kuva"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Loobu muudatustest"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Kustuta üksus"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Loo"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Kontaktipilt"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Kontaktid, mida kuvada"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kontaktid"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Kontaktid on eksporditud"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Muuda salvestusasukohta"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Tühista importimine"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Tühista eksportimine"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Proovige uuesti"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Salvesta"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Märkused"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Veel"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Ekspordi"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-post"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Valmis"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Loobu"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Kustuta"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Loo"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Muuda"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Tühista"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Lisa konto"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Veebisait"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Kontaktiloendi värskendamine..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Ei saa SIM-kaardi vea tõttu salvestada."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Pealkiri"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "See kontakt kustutatakse."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Valitud kontaktide teenusepakkuja teavet värskendatakse. See funktsioon vajab võrguühendust ja sellega võivad rakenduda lisatasud. Protsessi lõpuleviimiseks kuluv aeg sõltub teie võrguühenduse olekust."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM-kaardi lähtestamine..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Teenuse number"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Nimekaartide ükshaaval saatmine võib kesta kauem, kuna teine seade peab need ükshaaval vastu võtma."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Korraga mitme kontakti saatmisel väheneb edastuse aeg. Kuid kui teine seade seda ei toeta, saadetakse ainult üks kontakt."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Valige, kuidas saadetakse kontaktandmeid."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Valitud"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Eemalda lemmikutest"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Foto"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Tel. number"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Häälduslik nimi"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Hääld. keskmine nimi"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Hääld. perekonnanimi"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Häälduslik eesnimi"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Teised e-posti aadressid"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Otsing ei andnud"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Rühmi pole"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Märkused"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Hüüdnimi"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Nime järelliide"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Nime eesliide"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Nimi"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Minu kontaktid"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Keskmine nimi"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Perekonnanimi"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Ametinimetus"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Impordi SIM-kaardilt"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Impordi SIM2-kaardilt"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importimine..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Pilt"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "Kiirsõnum"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Siin kuvatakse teenusenumbreid, kui teie teenusepakkuja on need teie SIM-kaardile laadinud."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galerii"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Eesnimi"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Faks"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Ekspordi SIM-kaardile"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Ekspordi SIM2-kaardile"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Ekspordi SD-kaardile"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-post"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Loobu muudatustest"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Sõbrad"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Perekond"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Kuupäev"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Kaastöötajad"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Kontakte, keda on tuvastatud topelt, soovitatakse automaatselt."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Kontaktid"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Ettevõte"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Loendi laiendamise nupp"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automaatsed soovitused voivad ekstraktida esiletostud helifailidest."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kontaktid kuvatakse siin pärast nende loomist."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kontaktid kuvatakse siin pärast nende lisamist."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Lisa Lemmikutesse"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Aadress"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Kontod"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN-kood on blokeeritud."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Vale PUK2-kood."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Vale PIN1-kood."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Lisa olemasolev kontakt"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Esmaseid kontakte pole"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Esmased kontaktid"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Loo esmane kontakt"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Lisa esmased kontaktid"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Määra kuupäev"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Uus PIN-kood ja kinnitatav PIN-kood ei kattu."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Esmased kontaktid kuvatakse siin pärast nende loomist."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Rohkem üksusi ei saa valida"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Paigaldage SIM-kaart."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Helistatava kontakti teenusepakkuja on %1$s. Toksake valikut OK, et helistada oma operaatori %2$s SIM-kaardiga."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Operaatori %s SIM-i kasutamine"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Kehtiv SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Taksofon"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Kehtetu märk."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Väljuv kõne"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Sissetulev kõne"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Kuvatakse ainult esimesed %d kontakti."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Minu profiil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Toksake siia, et lisada otseteed"
+
diff --git a/main-app/res/po/eu.po b/main-app/res/po/eu.po
new file mode 100644
index 0000000..9149870
--- /dev/null
+++ b/main-app/res/po/eu.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Egindako deiak"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Azken deia"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Jasotako deiak"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Hautatu erregistroak"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Honen arabera ikusi"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Nagusia 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Mugitzea osatu da"
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Mugitzen..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 egiaztatuta"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 egiaztatuta"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PINa desblokeatuta"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2a desblokeatuta"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2a aldatuta"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2a blokeatuta"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 kodea aldatu da"
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 kodea blokeatuta"
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2 okerra"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "PIN2 berria eta PIN2 baieztapena ez datoz bat"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "PUK1 kode okerra"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Okerreko PUK1. %d saiakera geratzen zaizkizu."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Okerreko PUK2. %d saiakera geratzen zaizkizu."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PINa aldatu da"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Kontaktuak"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Gehitu kontua"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Gehienezko karaktere kopurura heldu zara"
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Gailuak arakatzen..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PIN okerra"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "EGINA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "UTZI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "EZABATU"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Konektatzeko arazoak edo MMI kodea okerra"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Zenbaki pribatua"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "BIDALI"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 blokeatuta. Hornitzailearekin harremanetan jarri (SIM PUK2 beharrezkoa)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Erregistrorik ez"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Dei bat egin/jaso edo mezu bat bidali/jaso ondoren, erregistroak erakutsiko dira"
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM txartela okupatuta. Beranduago saiatu"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM txartela blokeatu da"
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Ez da SIM txartelik aurkitu. Mesedez, sartu SIM txartel bat telefonoan."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Sare edo SIM txartelaren errorea"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Bibrazio erantzuna gaitu da."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Bibrazio erantzuna ezgaitu da."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Ezin da zenbakira deitu. %d ez da larrialdi zenbakia."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "%d markatze azkarreko zenbakia kendu da."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Markatze azkarreko zenbakia esleitu da."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Adierazi zenbakia."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Zure PINak %1$d eta %2$d digitu arteko luzera izan behar du. Saiatu berriz"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Zure PIN2ak %1$d eta %2$d digitu artean izan behar ditu. Saiatu berriz."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Markaketa azkarreko zenbaki honi ez diozu kontakturik esleitu. Ukitu Ados, bat esleitzeko orain."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PINa ezgaitu da. Gaitu PINa aldatu aurretik."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Ahots mezuak"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Eguner. kontak."
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Mar. azk. ezarpenak"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Kendu"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Sortu kontaktua"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Dei ezarpenak"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Gehitu itxaronaldia"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Gehitu 2 segundoko etena"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Teklatua"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Ezin da sarera konektatu"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Hautatu deitzeko SIM txartela"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Bilaketaren emaitzak (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Emergentzia deia"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Esleitu mark. zenb. azkar gisa"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Ezarri zenbakia"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Bidali mezua"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Utzi"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Gehitu kontaktuetara"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Pasahitzak ez datoz bat"
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PINa blokeatuta. Adierazi PUK kodea."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM txartela blokeatuta"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Gorde gabe"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Gordeta"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Galdua"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Huts egin du"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Ezeztatuta"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Erregistratutako %d elementuak ezabatuko dira."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Erregistratutako elementu guztiak ezabatuko dira."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Erregistro 1 ezabatuko da."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Ikusi kontaktu xehetasunak"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Bidali zenbakia"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Dei galduak"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Ezabatu"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Deien iraupenak"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Dei galduak"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Ez erakutsi berriz"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Zenb. ezezaguna"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Ezezaguna"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Hautatu denak"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Erregistr."
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Atzo"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Gaur"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d hautatuta"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Ezabatu %d erregistro"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Ezabatu erregistro elementuak"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Ezabatu erregistroa"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Ezabatu"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Eguneratu kontaktua"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Ezabatu"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Sortu kontakt."
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Ezeztatu"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Ahots deiak"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Bideo deiak"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM txartela"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Dei guztiak"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Deiak egin edo jaso ondoren, hemen erregistratuko dira."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Deiak egin edo jaso ondoren, erregistroko elementuak hemen erakutsiko dira."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITATU"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Testua idatzi"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Kontaktuetako batzuk bikoiztuta daudela dirudi."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d kontaktu inportatu dira."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kontaktuak lotu dira."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "Zenbaki 1 kendu da Automatikoki ukatuen zerrendatik."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "Kontaktu 1 inportatu da."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Zerbitzu zenbakiak"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Izenaren formatua"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Lotu kontaktuak"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Bistaratzeko kontaktuak"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Ezarri"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Sortu"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Gehi. erem."
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Kontaktuak inportatzen..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Inportazioa utzita"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Kontaktuak esportatzen..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Esportazioa utzita"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Kontaktuak inportatuta"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Kontaktuak esportatuta"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Kontaktu guztiak"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Ezin dira kontaktuak ezabatu irakurtzeko soilik kontuetatik, baina kontaktuetan ezkuta ditzakezu"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Sinkronizazioa gaituta dagoenean, kontaktu hau gordeta dagoen kontu sinkronizatu guztietatik ezabatuko da."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Sinkronizazioa gaituta dagoenean, kontaktu hau eta horri lotutako beste kontu batzuetako kontaktuak ezabatuko dira. Bestela, ezkutatu egingo dira, informazioa irakurtzeko soilik den kontu batekoa bada."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Sinkronizazioa gaituta dagoenean, kontaktu hau eta horri lotutako beste kontu batzuetako kontaktu guztiak ere ezabatuko dira."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Zerbitzu hornitzailearen informazioa eguneratzen..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Ezin da kontaktua gehitu. Lotu daitezkeen kontaktuen gehieneko kopurura (%d) iritsi zara."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Ezin dira kontaktuak gehitu. Lotu daitezkeen kontaktuen gehieneko kopurura (%d) iritsi zara."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Kontaktu hau ezabatu egingo da"
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Kontaktu hau eta horri lotutako kontaktu guztiak ezabatuko dira."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Hauta daitezkeen elementuen gehieneko kopurua (%d) gainditu da."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Aldi berean parteka daitezkeen kontaktuen gehieneko kopurua (%1$d) gainditu da. Lehen %2$d kontaktuak soilik partekatuko dira."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa eginbidea zure kontaktuen zerbitzu hornitzaileak identifikatzeko eta zure kontaktu zerrendan erakusteko erabil daiteke. Geroago egin dezakezu menu tekla ukituz eta Eguneratu zerbitzu hornitzaile informazioa hautatuz. Ukitu Ados zure kontaktuen zerbitzu hornitzaileak orain identifikatzeko."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Ukitu Ados kontaktuak SIM txarteletik inportatzeari uzteko."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Ukitu Ados kontaktuak %s-(e)ra esportatzeari uzteko."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Ukitu Esportatu esportatu beharreko kontaktuak hautatzeko. Baliteke zenbait kontaktu informazio galtzea."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Baliteke kontaktuetako batzuk edo guztiak ez eguneratu izana"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Zenbait kontaktu informazio galduko da"
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM memoria beteta"
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Ezabatzen..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d telefono zenbaki eguneratu dira"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d kontaktu ezabatuko dira"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d kontaktu %2$s(e)ra esportatu dira."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d kontaktu esportatu dira Gailua/Kontaktuak/Inportatuta/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Ez dago memoria nahikoa"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Kontaktu berriak gailuko Kontaktuetan gordeko dira."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN modua aktibatuta"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Huts egin du"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Aldaketak baztertu nahi dituzu?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Kontaktuak ezabatzen..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Kontaktuak ezabatzeari utzi zaio. Baliteke zenbait kontaktu ezabatu izatea."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Kontaktuak %s(e)tik inportatzeari utziko zaio."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Dagoeneko badago"
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Lotutako kontaktu guztiak ezabatuko dira."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Kontaktu guztiak ezabatuko dira"
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Aldaketa guztiak kenduko dira"
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Gehitzen..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "Telefono zenbaki bat eguneratu da"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "Kontaktu 1 ezabatuko da"
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "Kontaktu 1 kendu da"
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Lana"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Ahots deia"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Bideo deia"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Eguneratu zerbitzu hornitzailearen informazioa"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Deslotu kontaktua"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Kendu esteka kontaktuei"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Atera argazkia"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Argazkia atera"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Ezkontidea"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Arreba/ahizpa"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM txartela"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Partekatu honen bidez"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Partekatu"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Ezarpenak"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Hautatu kontaktuetatik"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD txar."
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Gorde kontaktua hemen"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Berrantolatu"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Kendu"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Familiakoa"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Harremana"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Nola deitua"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Kidea"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Gurasoa"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Bilagailua"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Besterik"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Erakundea"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Ama"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mugikorra"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Mezua"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Kudeatu gogokoak"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Kudeatzailea"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Nagusia"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Abizena lehenago"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Abizena"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Etxea"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Hasiera orria"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Galeriatik"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Laguna"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Izena lehenago"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Izena"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN kontaktua"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Faxa (lanekoa)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Faxa (etxekoa)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Aita"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Editatu"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ez erakutsi berriz"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Herrialdeko bazkidea"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Gailua"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Pertsonalizatua"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Sortu"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Umea"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Anaia/Neba"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Urtebetetzea"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Laguntzailea"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Urteurrena"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Gehitu eremua"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Gehitu"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Kontua"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Bilatu"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Ez dago zerbitzuko zenbakirik"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Ez da emaitzarik aurkitu"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Ez dago larrialdi kontakturik"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Kontakturik ez"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sailkatu honela"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Ezarri profila"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Ezarri nire profila"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Bidali elkarrekin"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Bidali banaka"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Bidali kontaktuaren informazioa"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Hautatu denak"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d kontaktu"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Telefonodun kontakt. soilik"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Inportatu"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Esportatu"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Gertaera"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Bistaratu kontak. zenbakiarekin"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "Kontaktu 1"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kontaktuak"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB memoria ez dago erabilgarri"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Ezin da gehitu"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Ezin da gehitu"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Iradokitako kontaktuak"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Partekatu honela"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Ezarri kontaktu argazkia"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Ezarpenak"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Zerbitzu hornitzailea"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Bidali kontak. informazioa"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Aukeratu deiaren SIM-a"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Hautatu deitzeko SIM txartela"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Hautatu deitzeko SIM txartela"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Hautatu kontaktua"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Aukeratu"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Gorde kontaktuak hemen"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Berrantolatu"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Kendu"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Kontaktu nagusiak (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Kontak. nagusiak (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefonoa"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Kontaktu pertsonalak"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d hautatuta"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d aukeratuta"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Izenaren formatua"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Kontaktu ohikoenak"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Nik "
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Kudeatu gogokoak"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Kontaktu zerrenda"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Lotutako kontaktuak"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Inport. kontaktuak"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Inportatu"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Gogokoenak"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Esportatu kontaktuak SIM txartelera"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Esportatu kontaktuak"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Esportatu"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Sartu etiketa pertsonalizatua"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Larrialdi zerbitzuak"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Larrialdi kontaktuak"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Editatu"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Erakutsi izenak honela"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Erakutsi"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Baztertu aldaketak"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Ezabatu elementua"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Sortu"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Kontaktu irudia"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Bistaratzeko kontaktuak"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kontaktuak"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Kontaktuak esportatuta"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Aldatu gordetzeko kokapena"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Utzi inportatzeari"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Utzi esportatzeari"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Saiatu berriro"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Gorde"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "Ados"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Oharrak"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Gehiago"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Esportatu"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "M. elek."
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Egina"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Baztertu"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Ezabatu"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Sortu"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Aldatu"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Ezeztatu"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Geh. kontua"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Webgunea"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Kontaktu zerrenda eguneratzen..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Ezin da gorde SIM errorea dela eta"
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Izenburua"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Kontaktu hau ezabatu egingo da"
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Hautatutako kontaktuen zerbitzu hornitzailearen informazioa eguneratuko da. Eginbide horrek sare konexio bat behar du eta baliteke kostu osagarriak eragitea. Prozesuak osatzeko behar duen denbora zure sare konexioaren egoeraren araberakoa izango da."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefonoa"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM txartela abiarazten..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Zerbitzu zenbakia"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Bisita txartelak banaka bidaliz gero, baliteke denbora gehiago behar izatea, gailuak banaka onartu behar baititu."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Hainbat kontaktu elkarrekin bidaliz gero, transferentzia denbora txikituko da. Hala ere, beste gailuak ez badu hori onartzen, kontaktu bat bakarrik bidaliko da."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Hautatu kontaktu informazioa nola bidali."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Aukeratutakoa(k)"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Gogokoenetatik kendu"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Argazkia"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Telefono-zk."
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Izen fonetikoa"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "2. izen fonetikoa"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Abizen fonetikoa"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Izen fonetikoa"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Beste helbide elektroniko batzuk"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Ez dago bilaketa emaitzarik"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Ez dago talderik"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Oharrak"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Ezizena"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Izen atzizkia"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Izen aurreizkia"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Izena"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Nire kontaktuak"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Bigarren izena"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Abizena"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Lanpostu izena"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Inportatu SIM txarteletik"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Inportatu SIM2 txarteletik"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Inportatzen..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Irudia"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Zerbitzu hornitzaileak SIM txartelean zerbitzu zenbakiak kargatu badizkizu aurrez, hemen erakutsiko dira."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Izena"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Faxa"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Esportatu SIM txartelera"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Esportatu SIM2 txartelera"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Esportatu SD txartelera"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Helbide elektronikoa"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Ezeztatu aldaketak"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Lagunak"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Familia"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Lankideak"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Identifikatutako kontaktu bikoiztuak automatikoki iradokiko dira."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Kontaktuak"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Enpresa"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Zerrenda zabaltzeko botoia"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Gomendio automatikoak soinu fitxategietan nabarmendutakoak atera ditzake"
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kontaktuak sortu ondoren, hemen erakutsiko dira."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kontaktuak gehitu ondoren, hemen erakutsiko dira."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Gehitu gogokoetan"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Helbidea"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Kontuak"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PINa blokeatuta"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 kode okerra"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "PIN1 kode okerra"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Gehitu badagoen kontaktua"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Kontaktu nagusirik ez"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Kontaktu nagusiak"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Sortu kontaktu nagusia"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Gehitu kontaktu nagusia"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Data ezarri"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "PIN berria eta baieztatu PINa ez datoz bat"
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kontaktu nagusiak sortu ondoren, hemen erakutsiko dira."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Ezin elementu gehiago hautatu"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Sartu SIM txartela."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Deitzen ari zaren kontaktuaren zerbitzu hornitzailea %1$s da. Ukitu ados dei hau %2$s SIM txartela erabiliz egiteko."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Erabili %s-(r)en SIM txartela"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "SIM hau"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Telefono publikoa"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Karaktere baliogabea"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telef."
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Irteera deia"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Sarrerako deia"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Soilik lehen %d kontaktuak erakutsiko dira."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Nire profila"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Ukitu hemen lasterbidea gehitzeko"
+
diff --git a/main-app/res/po/fi.po b/main-app/res/po/fi.po
new file mode 100644
index 0000000..50b6b51
--- /dev/null
+++ b/main-app/res/po/fi.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Soitetut puhelut"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Edellinen puhelu"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Vastatut puhelut"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Valitse lokit"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Näyttöperuste"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Koti 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Siirto on valmis."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Siirretään..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 vahvistettu."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 vahvistettu."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN-lukitus poistettu."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2-lukitus poistettu."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2-koodi vaihdettu."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2-koodi lukittu."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1-koodi vaihdettu."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1-koodi on lukittu."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Väärä PIN2-koodi"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Uusi ja vahvistettu PIN2-koodi eivät täsmää."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Virheellinen PUK1-koodi"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Virheellinen PUK1-koodi. %d yritystä jäljellä."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Virheellinen PUK2-koodi. %d yritystä jäljellä."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN-koodi vaihdettu."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Yhteystiedot"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Lisää tili"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Merkkien enimmäismäärä saavutettu."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Tarkistetaan laitteita..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Väärä PIN-koodi"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "VALMIS"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "PERUUTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "POISTA"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Yhteysongelma tai virheellinen MMI-koodi."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Yksityinen numero"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "LÄHETÄ"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2-koodi lukittu. Ota yhteyttä palveluntarjoajaan (SIM PUK2 -koodi vaaditaan)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Ei lokeja"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Kun soitat/vastaanotat puhelun tai lähetät/vastaanotat viestin, lokit tulevat näyttöön."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM-kortti on varattu. Yritä myöhemmin uudelleen"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM-kortti on lukittu."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIM-korttia ei löytynyt. Aseta SIM-kortti puhelimeen."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Verkon tai SIM-kortin virhe."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Värinäpalaute käytössä."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Värinäpalaute poistettu käytöstä."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Numeroon ei voi soittaa. %d ei ole hätänumero."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Pikavalintanumero %d on poistettu."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Pikavalintanumero määritetty."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Anna numero."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "PIN-koodin on oltava %1$d–%2$d merkkiä pitkä. Yritä uudelleen."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2-koodin on oltava %1$d–%2$d merkkiä pitkä. Yritä uudelleen."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Tähän pikavalintanumeroon ei ole liitetty yhteystietoa. Lisää se nyt napauttamalla OK."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN-koodi on poistettu käytöstä. Ota PIN-koodi ennen sen muuttamista käyttöön."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Vastaaja"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Päiv. yht.tieto"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Pikavalinta-aset."
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Poista"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Luo yhteystieto"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Puheluasetukset"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Lisää odotus"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Lisää 2 sekunnin tauko"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Näppäim."
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Verkkoyht. ei voi muodostaa"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Valitse SIM-kortti puheluille"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Hakutulokset (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Hätäpuhelu"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Määritä pikavalintanumeroksi"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Määritä numero"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Läh. viesti"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Peruuta"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Lisää yhteystietoihin"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Salasanat eivät ole samat."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN-koodi on lukittu. Anna PUK-koodi."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM-kortti estetty."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Ei tallennettu"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Tallennettu"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Vastaamattomat"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Epäonnistui"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Peruutettu"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d lokikohdetta poistetaan."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Kaikki lokikohteet poistetaan."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 lokikohde poistetaan."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Näytä yhteystiedot"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Lähetä numero"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Vastaamattomat puhelut"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Poista"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Puheluiden kestot"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Vastaamattomat puhelut"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Älä näytä uudelleen"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Tuntem. numero"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Tuntematon"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Valitse kaikki"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Lokit"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Eilen"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Tänään"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d valittu"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Poista %d lokia"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Poista lokikohteet"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Poista loki"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Poista"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Päiv. yht.tieto"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Poista"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Luo yht.tieto"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Peruuta"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Äänipuhelut"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videopuhelut"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM-kortti"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Kaikki puhelut"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Kun olet soittanut tai vastaanottanut puheluita, ne kirjataan tänne."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Kun olet soittanut tai vastaanottanut puheluita, lokikohteet näytetään täällä."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "MUOKKAA"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Kirjoita teksti"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Jotkin yhteystiedot näyttävät olevan kahdennettuja."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d yhteystietoa tuotu."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Yhteystiedot liitetty."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 numero poistettu automaattisen hylkäyksen luettelosta."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 yhteystieto tuotu."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Palvelunumerot"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Nimen muoto"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Liitä yhteystiedot"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Näytettävät yhteystiedot"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Aseta"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Luo"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "L. kentt."
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Tuodaan yhteystietoja..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Tuonti peruutettu"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Viedään yhteystietoja..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Vienti peruutettu"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Yhteystiedot tuotu"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Yhteystiedot viety"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Kaikki yhteystiedot"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Vain luku -muotoisilla tileillä olevia yhteystietoja ei voi poistaa, mutta ne voi piilottaa yhteystietoihin."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Kun Synkronoi-toiminto on käytössä, tämä yhteystieto poistetaan kaikilta synkronoiduilta tileiltä, joille se on tallennettu."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Kun Synkronoi-toiminto on käytössä, tämä yhteystieto ja kaikki siihen liitetyt, muilla synkronoiduilla tileillä olevat yhteystiedot poistetaan, tai tiedot piilotetaan, jos ne ovat peräisin vain luku -muotoiselta tililtä."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Kun Synkronoi-toiminto on käytössä, tämä yhteystieto ja kaikki siihen liitetyt, muilla synkronoiduilla tileillä olevat yhteystiedot poistetaan."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Päivitetään palveluntarjoajan tietoja..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Yhteyshenkilöä ei voi lisätä. Liitettävissä olevien yhteyshenkilöiden enimmäismäärä (%d) on saavutettu."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Yhteyshenkilöitä ei voi lisätä. Liitettävissä olevien yhteyshenkilöiden enimmäismäärä (%d) on saavutettu."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Tämä yhteystieto poistetaan."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Tämä yhteystieto ja kaikki siihen liittyvät yhteystiedot poistetaan."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Valittavissa olevien kohteiden enimmäismäärä (%d) on ylitetty."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Kerralla jaettavissa olevien yhteystietojen enimmäismäärä (%1$d) on ylitetty. Vain %2$d ensimmäistä yhteystietoa jaetaan."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa -toiminnon avulla voit tunnistaa yhteyshenkilöiden palveluntarjoajat ja näyttää ne yhteystietoluettelossa. Voit tehdä tämän myöhemmin painamalla valikkonäppäintä ja valitsemalla Päivitä palveluntarjoajan tiedot. Napauta OK, jos haluat tunnistaa yhteyshenkilöiden palveluntarjoajat nyt."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Lopeta yhteystietojen tuonti SIM-kortilta napauttamalla OK."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Lopeta yhteystietojen vienti kohteeseen %s napauttamalla OK."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Valitse vietävät yhteystiedot napauttamalla Vie. Jotkin yhteystiedot voivat kadota."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Joitakin tai kaikkia yhteystietoja ei ehkä ole päivitetty."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Joitakin yhteystietoja voi hävitä."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM-kortin muisti on täynnä."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Poistetaan..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d puhelinnumeroa on päivitetty."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d yhteystietoa poistetaan."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d yhteystietoa on viety tiedostoon %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d yhteystietoa viety kohteeseen Laite/Yhteystiedot/Tuotu/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Ei tarpeeksi muistia."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Uudet yhteystiedot tallennetaan laitteen Yhteystiedot-kohtaan."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Sallitut numerot -tila päällä."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Epäonnistui."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Hylätäänkö muutokset?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Poistetaan yhteystietoja..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Yhteystietojen poistaminen on peruutettu. Jotkin yhteystiedot on jo mahdollisesti poistettu."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Yhteystietojen tuonti kohteesta %s lopetetaan."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "On jo olemassa."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Kaikki liitetyt yhteystiedot poistetaan."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Kaikki yhteystiedot poistetaan."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Kaikki muutokset hylätään."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Lisätään..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 puhelinnumero on päivitetty."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 yhteystieto poistetaan."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 yhteystieto poistettu."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Työ"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Äänipuhelu"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videopuhelu"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Päivitä palveluntarjoajan tiedot"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Poista yhteyst. linkitys"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Poista yhteyshenkilöiden liitokset"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Ota kuva"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Ota valokuva"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Puoliso"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Sisko"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM-kortti"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Jakotapa"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Jaa"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Asetukset"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Valitse yhteystiedoista"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD-kort."
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Tallenna yhteystieto kohteeseen"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Järjestä uudelleen"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Poista"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Sukulainen"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Suhde"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Suositellut"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Kumppani"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Vanhempi"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Hakulaite"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Muu"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organisaatio"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Äiti"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Matkapuhelin"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Viesti"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Hallitse suosikkeja"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Esimies"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Pää"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Sukunimi ensin"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Sukunimi"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Koti"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Koti"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Galleriasta"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Ystävä"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Etunimi ensin"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Etunimi"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Sallittu numero"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Faksi (työ)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Faksi (koti)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Isä"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Muokkaa"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Älä näytä uudelleen"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Avopuoliso"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Laite"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Mukautettu"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Luo"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Lapsi"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Veli"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Syntymäpäivä"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Avustaja"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Vuosipäivä"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Lisää kenttä"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Lisää"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Tili"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Hae"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Ei palvelunumeroita"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Tuloksia ei löytynyt"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Hätäyhteyshenkilöitä ei ole"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Yhteystietoja ei ole"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Lajitteluperuste"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Määritä profiili"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Määritä oma profiili"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Lähetä yhdessä"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Lähetä yksitellen"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Lähetä yhteystiedot"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Valitse kaikki"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d yhteystietoa"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Vain puh.num. yht.tiedot"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Tuo"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Vie"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Tapahtuma"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Näytä yhteystiedot numeroilla"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 yhteystieto"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Yht.tiedot"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB-muisti ei ole käytettävissä"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Ei voi lisätä"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Lisääminen ei onnistu"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Ehdotetut yhteystiedot"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Jakotapa"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Aseta yhteyshenkilön kuva"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Asetukset"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Palveluntarjoaja"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Lähetä yhteystiedot"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Valitse SIM-kortti puhelua varten"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Valitse SIM-kortti soittamista varten"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Valitse SIM-kortti puheluille"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Valitse yhteystieto"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Valitse"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Tallenna yhteystiedot koht."
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Järjestä uudelleen"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Poista"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Ensisij. yhteyshenk. (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Ensisij. yhteyshenk. (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Puhelin"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Henkilökohtaiset yhteystiedot"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d valittu"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d valittu"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Nimen muoto"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Useimmin käytetyt yhteystiedot"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Minä"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Hallitse suosikkeja"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Yhteystietoluettelo"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Liit. yhteystiedot"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Tuo yhteystiedot"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Tuo"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Suosikit"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Vie yhteystiedot SIM-kortille"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Vie yhteystiedot"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Vie"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Anna mukautettu selite"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Hätäpalvelut"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Hätäyhteyshenkilöt"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Muokkaa"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Nimien näyttöperuste"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Näyttö"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Hylkää muutokset"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Poista kohde"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Luo"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Yhteyshenkilön kuva"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Näytettävät yhteystiedot"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Yhteystiedot"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Yhteystiedot viety"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Vaihda tallennussijainti"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Peruuta tuonti"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Peruuta vienti"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Yritä uudelleen"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Tallenna"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Puhelin"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "M.panot"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Muut"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Vie"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Sähköp."
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Valmis"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Hylkää"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Poista"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Luo"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Muuta"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Peruuta"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Lisää tili"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Sivusto"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Päivitetään yhteystietoluetteloa..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "SIM-kortin virhe, ei voi tallentaa."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Nimi"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Tämä yhteystieto poistetaan."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Valittujen yhteyshenkilöiden palveluntarjoajatiedot päivitetään. Tämä toiminto vaatii verkkoyhteyden ja voi aiheuttaa lisämaksuja. Prosessin suorittamiseen tarvittava aika vaihtelee verkkoyhteyden tilan mukaan."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Puhelin"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM-korttia alustetaan..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Palvelunumero"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Käyntikorttien lähettäminen yksitellen voi kestää tavallista pidempään, sillä vastaanottavan laitteen on hyväksyttävä ne yksitellen."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Useiden yhteystietojen lähettäminen kerralla vähentää tiedonsiirtoon tarvittavaa aikaa. Jos laite ei tue tätä toimintoa, laite lähettää kuitenkin vain yhdet yhteystiedot."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Valitse yhteystietojen lähetystapa."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Valittu"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Poista suosikeista"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Valokuva"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Puhelin. n."
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Foneettinen nimi"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Foneett. toinen nimi"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Foneettinen sukunimi"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Foneettinen etunimi"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Muut sähköpostiviestit"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Ei hakutuloksia"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Ei ryhmiä"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Merkinnät"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Lempinimi"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Nimen jälkiliite"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Nimen etuliite"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Nimi"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Omat yhteystiedot"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Toinen nimi"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Sukunimi"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Työtehtävä"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Tuo SIM-kortilta"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Tuo SIM2-kortilta"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Tuodaan..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Kuva"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "Pikaviesti"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Jos palveluntarjoaja on ladannut palvelunumerot SIM-kortille valmiiksi, ne näytetään täällä."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galleria"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Etunimi"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Faksi"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Vie SIM-kortille"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Vie SIM2-kortille"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Vie SD-kortille"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Sähköposti"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Hylkää muutokset"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Ystävät"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Perhe"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Päivämäärä"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Työtoverit"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Kahdennetuiksi todettuja yhteystietoja ehdotetaan automaattisesti."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Yhteystiedot"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Yritys"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Luettelon laajennuspainike"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automaattiset suositukset pystyvät hakemaan äänitiedostojen kohokohdat."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kun olet luonut yhteystiedot, ne näytetään täällä."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kun olet lisännyt yhteystietoja, ne näytetään täällä."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Lisää Suosikkeihin"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Osoite"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Tilit"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN-koodi lukittu."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Virheellinen PUK2-koodi"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Virheellinen PIN1-koodi"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Lisää nykyinen yhteystieto"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Ensisijaisia yhteyshenkilöitä ei ole"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Ensisij. yhteyshenkilöt"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Luo ensisijainen yhteyshenkilö"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Lisää ensisijaisia yhteyshenk."
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Aseta päivämäärä"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Uusi ja vahvistettu PIN-koodi eivät täsmää."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kun olet luonut ensisijaiset yhteystiedot, ne näytetään täällä."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Lisää kohteita ei voi valita"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Aseta SIM-kortti."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Yhteyshenkilön operaattori on %1$s. Soita puhelu käyttämällä operaattorin %2$s SIM-korttia."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Käytä SIM-korttia %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Nykyinen SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Puhelinkioski"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Virheellinen merkki"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Puhelin"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Lähtevä puhelu"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Saapuva puhelu"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Vain %d ensimmäistä yhteystietoa näytetään."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Oma profiili"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Lisää pikavalinta napauttamalla tätä"
+
diff --git a/main-app/res/po/fr.po b/main-app/res/po/fr.po
new file mode 100644
index 0000000..d6ba99d
--- /dev/null
+++ b/main-app/res/po/fr.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Appels émis"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Dernier appel"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Appels reçus"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Sélectionner des journaux"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Afficher par"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Domicile 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Déplacement effectué"
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Déplacement..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 vérifié"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 vérifié"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "Code PIN débloqué"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "Code PIN2 débloqué"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "Code PIN2 modifié"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "Code PIN2 bloqué"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Code PIN1 modifié"
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Code PIN1 bloqué"
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Code PIN2 incorrect"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Le nouveau code PIN2 et le code PIN2 de confirmation ne correspondent pas"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Code PUK1 incorrect"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1 incorrect. %d essais restants."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 incorrect. %d essais restants."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "Code PIN modifié"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Ajouter compte"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Nb max de caractères atteint"
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Recherche de périph..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Code PIN incorrect"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "OK"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULER"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SUPPRIMER"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problème de connexion ou code MMI non valide."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Numéro privé"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ENVOYER"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "Code PIN2 bloqué. Contactez le fournisseur (PUK2 SIM requis)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Aucun journal"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Les journaux s'affichent lorsque vous passez/recevez un appel ou lorsque vous envoyez/recevez un message."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "La carte SIM est occupée. Essayez plus tard"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Carte SIM verrouillée"
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Aucune carte SIM détectée. Insérez une carte SIM dans le téléphone."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Erreur du réseau ou de la carte SIM"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Retour vibration activé."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Retour vibration désactivé."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Impossible d'appeler ce numéro. %d n'est pas un numéro d'urgence."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Numéro abrégé %d supprimé."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Numéro abrégé affecté."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Entrez un numéro."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Votre code PIN doit contenir entre %1$d et %2$d chiffres. Réessayez."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Votre code PIN2 doit être composé de %1$d à %2$d chiffres. Réessayez."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Aucun contact n'est affecté à ce numéro abrégé. Appuyez sur OK pour en affecter un maintenant."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "Le code PIN a été désactivé. Activez-le avant de le changer."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Mes. voc."
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "MàJ le contact"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Param. num. rapide"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Supprimer"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Créer contact"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Paramètres d'appel"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "En attente d'ajout"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Ajouter pause de 2 secondes"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Clavier"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Connexion au réseau impossible"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Sél. carte SIM pour les appels"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Résultats de recherche (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Appel d'urgence"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Affecter en tant que n° abrégé"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Définir numéro"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Env. message"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Annuler"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Ajouter aux contacts"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Les mots de passe ne correspondent pas."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "Code PIN Bloqué. Entrez le code PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "Carte SIM bloquée"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Non enregistré"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Enregistré"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Manqué"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Échec"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Annulé"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d éléments de journal seront supprimés."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Tous les éléments de journal seront supprimés."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 élément de journal sera supprimé."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Afficher détails du contact"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Envoyer le numéro"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Appels manqués"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Supprimer"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Durées des appels"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Appels manqués"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Ne plus afficher"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Numéro inconnu"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Inconnu"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Sélectionner tout"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Journaux"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Hier"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Aujourd'hui"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "Sélection : %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Supprimer %d journaux"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Supprimer éléments du journal"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Supprimer un journal"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Supprimer"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "MàJ le contact"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Supprimer"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Créer contact"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Annuler"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Appels vocaux"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Appels visio"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Carte SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Tous les appels"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Après avoir passé ou reçu des appels, ils seront consignés ici."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Après avoir passé/reçu des appels, les éléments du journal seront affichés ici."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "MODIFIER"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Saisir du texte"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Certains de vos contacts sont en double."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d contacts importés."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contacts associés."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 numéro a été supprimé de la liste de rejet automatique."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 contact a été importé."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Numéros de service"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Format du nom"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Associer des contacts"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contacts à afficher"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Appliquer"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Créer"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Ajout chps"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importation contacts..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importation annulée"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Exportation contacts..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exportation annulée"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Contacts importés"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Contacts exportés"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Tous les contacts"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Il est impossible de supprimer des contacts sur les comptes en lecture seule. Vous pouvez cependant les masquer dans vos contacts."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "L'activation de Synchroniser entraînera la suppression de ce contact de l'ensemble des comptes synchronisés dans lesquels il est enregistré."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Lorsque la Synchronisation est activée, ce contact et tous ses contacts associés dans les autres comptes synchronisés vont être supprimés, ou masqués si les informations proviennent d'un compte en lecture seule."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "L'activation de Synchroniser entraînera la suppression de ce contact et tous ses contacts associés dans les autres comptes synchronisés."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Mise à jour des infos sur l'opérateur..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Impossible d'ajouter le contact. Nombre maximal de contacts associables (%d) atteint."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Impossible d'ajouter des contacts. Nombre maximal de contacts associables (%d) atteint."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Ce contact sera supprimé."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Ce contact et tous ses contacts associés seront supprimés."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Le nombre maximal d'éléments pouvant être imprimés (%d) a été dépassé."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Le nombre maximal de contacts pouvant être partagés simultanément (%1$d) a été dépassé. Seuls les %2$d premiers seront partagés."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "La fonction Chamada Certa peut être utilisée pour identifier les opérateurs de vos contacts et les afficher dans votre liste de contacts. Vous pouvez effectuer cette opération ultérieurement en appuyant sur la touche Menu, puis en sélectionnant Mettre à jour les infos sur l'opérateur. Appuyez sur OK pour identifier les opérateurs de vos contacts."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Appuyez sur OK pour arrêter l'importation des contacts vers la carte SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Appuyez sur OK pour arrêter l'exportation des contacts vers %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Appuyez sur Exporter pour sélectionner les contacts à exporter. Certaines informations de contact risquent d'être perdues."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "L'ensemble ou une partie des contacts n'ont pas été mis à jour."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Certaines coordonnées risquent d'être perdues."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Mémoire SIM saturée"
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Suppression..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d numéros de téléphone ont été mis à jour."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d contacts seront supprimés."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d contacts ont été exportés vers %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d contacts ont été exportés vers Appareil/Contacts/Importé/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Mémoire insuffisante"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Les nouveaux contacts seront enregistrés dans les contacts de l'appareil."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Mode FDN activé"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Échec"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Ignorer les modifications ?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Suppression des contacts..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Suppression des contacts annulée. Certains contacts ont peut être déjà été supprimés."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Les contacts ne seront plus importés depuis %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Existe déjà"
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Tous les contacts associés vont être supprimés."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Tous les contacts associés seront supprimés."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Les modifications seront annulées."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Ajout en cours..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 numéro de téléphone a été mis à jour."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 contact sera supprimé."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contact supprimé"
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Pro."
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Appel vocal"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Appel visio"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Mettre à jour les infos sur l'opérateur"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Dissocier le contact"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Dissocier contacts"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Photographier"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Prendre une photo"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Epouse"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Sœur"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Carte SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Partager via"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Partager"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Paramètres"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Sélectionner dans les contacts"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Carte SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Cible d'enregistrement des contacts"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Réorganiser"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Supprimer"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Proche"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relation"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Référence"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partenaire"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Parent"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pager"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Autre"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organisation"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mère"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobile"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Gérer les favoris"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Gestionnaire"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Principale"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Nom en premier"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Nom"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Domicile"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Accueil"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Depuis la galerie"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Ami"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Prénom en premier"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Prénom"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Contact FDN"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (pro)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (perso)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Père"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Modifier"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ne plus afficher"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Concubin(e)"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Appareil"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Personnalisé"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Créer"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Enfant"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Frère"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Anniversaire"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistant"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Anniversaire"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Ajouter champ"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Ajouter"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Compte"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Rechercher"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Aucun numéro de service"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Aucun résultat trouvé"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Aucun contact d'urgence"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Aucun contact"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Trier par"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Définir le profil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Définir mon profil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Envoyer ensemble"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Envoyer une par une"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Envoyer les coordonnées"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Sélectionner tout"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contacts"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Contacts avec n° tél."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importer"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Exporter"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Evénement"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Aff. contacts avec num. de tél."
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contact"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Stockage USB non disponible"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Ajout impossible"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Impossible à ajouter"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Contacts suggérés"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Partager via"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Définir la photo de contact"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Paramètres"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Fournisseur d'accès"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Envoyer les coordonnées"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Sélectionner la carte SIM pour les appels"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Sélectionner une carte SIM pour appeler"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Sél. carte SIM pour les appels"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Sélectionner un contact"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Sélectionner"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Enregistrer les contacts sur"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Réorganiser"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Supprimer"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Contacts principaux (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Contacts princ. (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Téléphone"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Contacts personnels"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "Sélection : %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d sélectionné(s)"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Format du nom"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Contacts les plus fréquents"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Moi"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Gérer les favoris"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Répertoire"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Contacts associés"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importer contacts"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importer"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favoris"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Expor. contacts vers carte SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Exporter des contacts"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Exporter"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Entrer un label personnalisé"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Services d'urgence"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Contacts d'urgence"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Modifier"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Afficher les noms par"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Affichage"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Ignorer les modifications"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Supprimer l'élément"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Créer"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Photo du contact"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contacts à afficher"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Contacts"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Contacts exportés"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Modif. empl. d'enregistrement"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Annuler l'importation"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Annuler l'exportation"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Réessayer"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Enreg."
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Téléph."
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notes"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Plus"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exporter"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-mail"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Terminé"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Ignorer"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Supprimer"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Créer"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Modifier"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Annuler"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Aj. compte"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Site Web"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Mise à jour de la liste de contacts..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Enregistrement impossible en raison d'une erreur SIM"
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Titre"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Ce contact sera supprimé."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Les informations relatives à l'opérateur des contacts sélectionnés seront mises à jour. Cette opération nécessite une connexion réseau et peut entraîner des frais supplémentaires. Le temps nécessaire à cette opération dépendra de l'état de votre connexion réseau."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Téléphone"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Initialisation carte SIM..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Numéro de service"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "L'envoi de cartes de visite une par une peut prendre plus longtemps car l'appareil qui les reçoit doit les accepter une par une."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Le transfert de plusieurs contacts en même temps réduit le délai de transmission. Toutefois, si l'autre appareil ne prend pas en charge cette fonction, un seul contact sera envoyé."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Sélectionnez la méthode d'envoi des coordonnées du contact."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Sélectionné"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Supprimer des favoris"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Photo"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "N° téléphone"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Nom en phonétique"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Deux. prénom phonét."
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Nom phonétique"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Prénom phonétique"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Autres comptes de messagerie"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Aucun résultat"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Aucun groupe"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notes"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Surnom"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Titre post-nom."
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Titre"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Nom"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Mes contacts"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Deuxième prénom"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Nom de famille"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Fonction"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importer depuis la carte SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importer depuis la carte SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importation en cours..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Image"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "MI"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Si votre opérateur a préchargé sur votre carte SIM des numéros de services, ils seront affichés ici."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Prénom"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Exporter vers la carte SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Exporter vers la carte SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Exporter vers la carte SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Ignorer les modifications"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Amis"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Famille"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Date"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Collaborateurs"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Les contacts identifiés en double seront suggérés automatiquement."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Entreprise"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Bouton permettant de développer la liste"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "La fonction de Recommandations auto propose un extrait des fichiers audio."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les contacts créés seront affichés ici."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les contacts ajoutés seront affichés ici."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Ajouter aux favoris"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adresse"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Comptes"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "Code PIN bloqué"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Code PUK2 incorrect"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Code PIN1 incorrect"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Ajouter le contact existant"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Aucun contact principal"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Contacts principaux"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Créer un contact principal"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Ajout. des contacts principaux"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Définir la date"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Le nouveau code PIN et le code PIN de confirmation ne correspondent pas."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les contacts principaux créés seront affichés ici."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Imposs. sélect. plus d'élém."
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Insérez une carte SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "L'opérateur du contact que vous essayez d'appeler est %1$s. Appuyez sur OK pour effectuer cet appel avec votre carte SIM %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Utiliser la carte SIM %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "SIM actuel"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Téléphone public"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Caractère non valide"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Tél."
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Appel sortant"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Appel entrant"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Seuls les %d premiers contacts sont affichés."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Mon profil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Appuyez ici pour ajouter un raccourci"
+
diff --git a/main-app/res/po/fr_CA.po b/main-app/res/po/fr_CA.po
new file mode 100644
index 0000000..17dfd07
--- /dev/null
+++ b/main-app/res/po/fr_CA.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Appels émis"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Dernier appel"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Appels reçus"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Sélectionner des journaux"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Afficher par"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Domicile 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Déplacement effectué."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Déplacement..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 vérifié."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 vérifié."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "NIP débloqué"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "NIP2 débloqué"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "NIP2 modifié"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "NIP2 bloqué"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "NIP1 modifié"
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "NIP1 bloqué"
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "NIP2 incorrect"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Le nouveau NIP2 et le NIP2 de confirmation ne correspondent pas"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "PUK1 incorrect"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1 incorrect. %d essais restants."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 incorrect. %d essais restants."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "NIP modifié"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Ajouter un compte"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Nb max de caractères atteint."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Recherche de périphérique"
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "NIP incorrect"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "OK"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULER"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SUPPRIMER"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problème de connexion ou code MMI non valide."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Numéro privé"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ENVOYER"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "NIP2 bloqué. Contactez le fournisseur (PUK2 de SIM requis)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Aucun journal"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Les journaux s'affichent lorsque vous passez/recevez un appel ou lors de l'envoi/la réception d'un message."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "La carte SIM est occupée. Essayez plus tard"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Carte SIM/RUIM verrouillée"
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Aucune carte SIM détectée. Insérez une carte SIM dans le téléphone."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Erreur du réseau ou de la carte SIM."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Retour vibration activé."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Retour vibration désactivé."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Impossible d'appeler ce numéro. %d n'est pas un numéro d'urgence."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Numéro abrégé %d supprimé."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Numéro abrégé affecté."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Entrez un numéro."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Votre NIP doit contenir entre %1$d et %2$d chiffres. Réessayez."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Votre NIP2 doit être composé de %1$d à %2$d chiffres. Réessayez."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Aucun contact n'est affecté à ce numéro abrégé. Touchez OK pour en affecter un maintenant."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "Le NIP a été désactivé. Activez-le avant de le changer."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Mes. voc."
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "MàJ le contact"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Numérotation rapide"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Supprimer"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Créer contact"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Paramètres d'appel"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "En attente d'ajout"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Ajouter pause de 2 secondes"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Clavier"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Connexion au réseau impossible"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Sél. carte SIM pour les appels"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Résultats de recherche (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Appel d'urgence"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Affecter en tant que n° abrégé"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Définir numéro"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Env. message"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Annuler"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Ajouter aux contacts"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Les mots de passe ne correspondent pas."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "NIP bloqué. Entrez le code PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "Carte SIM bloquée."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Non enregistré"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Enregistré"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Manqué"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Échec"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Annulé"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d éléments de journal seront supprimés."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Tous les éléments de journal seront supprimés."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 élément de journal sera supprimé."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Afficher détails du contact"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Envoyer le numéro"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Appels manqués"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Supprimer"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Durées des appels"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Appels manqués"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Ne plus afficher"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Numéro inconnu"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Inconnu"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Sélectionner tout"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Journaux"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Hier"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Aujourd'hui"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "Sélection : %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Supprimer %d journaux"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Supprimer éléments du journal"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Supprimer un journal"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Supprimer"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "MÀJ le contact"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Supprimer"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Créer contact"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Annuler"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Appels vocaux"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Appels visio"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Carte SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Tous les appels"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Après avoir passé ou reçu des appels, ils seront consignés ici."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Après avoir passé/reçu des appels, les éléments du journal seront affichés ici."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "MODIFIER"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Saisir du texte"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Certains de vos contacts sont en double."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d contacts importés."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contacts associés."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 numéro a été supprimé de la liste de rejet automatique."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 contact a été importé."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Numéros de service"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Format du nom"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Associer des contacts"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contacts à afficher"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Régler"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Créer"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Ajout chps"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importation contacts..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importation annulée"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Exportation contacts..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exportation annulée"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Contacts importés"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Contacts exportés"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Tous les contacts"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Il est impossible de supprimer des contacts sur les comptes en lecture seule. Vous pouvez cependant les masquer dans vos contacts."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "L'activation de Synchroniser entrainera la suppression de ce contact de l'ensemble des comptes synchronisés dans lesquels il est enregistré."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Lorsque la Synchronisation est activée, ce contact et tous ses contacts associés dans les autres comptes synchronisés vont être supprimés, ou masqués si les informations proviennent d'un compte en lecture seule."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "L'activation de Synchroniser entrainera la suppression de ce contact et tous ses contacts associés dans les autres comptes synchronisés."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Mise à jour des infos sur l'opérateur..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Impossible d'ajouter le contact. Nombre maximal de contacts associables (%d) atteint."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Impossible d'ajouter des contacts. Nombre maximal de contacts associables (%d) atteint."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Ce contact sera supprimé."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Ce contact et tous ses contacts associés seront supprimés."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Le nombre maximal d'éléments pouvant être imprimés (%d) a été dépassé."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Le nombre maximal de contacts pouvant être partagés simultanément (%1$d) a été dépassé. Seuls les %2$d premiers seront partagés."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "La fonction Chamada Certa peut être utilisée pour identifier les opérateurs de vos contacts et les afficher dans votre liste de contacts. Vous pouvez effectuer cette opération ultérieurement en appuyant sur la touche Menu, puis en sélectionnant Mettre à jour les infos sur l'opérateur. Touchez OK pour identifier les opérateurs de vos contacts."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Touchez OK pour arrêter l'importation des contacts vers la carte SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Touchez OK pour arrêter l'exportation des contacts vers %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Touchez Exporter pour sélectionner les contacts à exporter. Certaines informations de contact risquent d'être perdues."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "L'ensemble ou une partie des contacts n'ont pas été mis à jour."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Certaines coordonnées risquent d'être perdues."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Mémoire SIM saturée."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Retrait..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d numéros de téléphone ont été mis à jour."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d contacts seront supprimés."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d contacts ont été exportés vers %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d contacts ont été exportés vers Appareil/Contacts/Importé/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Mémoire insuffisante."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Les nouveaux contacts seront enregistrés dans les contacts de l'appareil."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Mode Numéros autorisés activé"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Échec."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Souhaitez-vous annuler les modifications?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Suppression des contacts..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Suppression des contacts annulée. Certains contacts ont peut-être déjà été supprimés."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Les contacts ne seront plus importés depuis %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Existe déjà."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Tous les contacts associés vont être supprimés."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Tous les contacts seront supprimés."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Les modifications seront annulées."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Ajout..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 numéro de téléphone a été mis à jour."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 contact sera supprimé."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contact supprimé."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Professionnel"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Appel vocal"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Appel vidéo"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Mettre à jour les infos sur l'opérateur"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Dissocier le contact"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Dissocier contacts"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Photographier"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Photographier"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Conjoint(e)"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Sœur"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Carte SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Partager via"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Partager"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Réglages"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Sélectionner dans les contacts"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Carte SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Cible d'enregistrement des contacts"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Réorganiser"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Supprimer"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Proche"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relation"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Référence"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partenaire"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Parent"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Téléavertisseur"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Autre"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organisation"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mère"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobile"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Gérer les favoris"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Gestionnaire"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Principale"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Nom en premier"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Nom de famille"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Domicile"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Domicile"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Depuis la galerie"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Ami"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Prénom en premier"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Prénom"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Contact autorisé"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (pro.)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (perso)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Père"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Modifier"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ne plus afficher"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Concubin(e)"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Appareil"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Personnaliser"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Créer"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Enfant"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Frère"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Anniversaire"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistant"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Anniversaire"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Ajouter un champ"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Ajouter"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Compte"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Rechercher"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Aucun numéro de service"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Aucun résultat trouvé"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Aucun contact d'urgence"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Aucun contact"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Trier par"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Définir le profil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Définir mon profil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Envoyer ensemble"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Envoyer une par une"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Envoyer les coordonnées"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Sélectionner tout"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contacts"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Contacts avec téléphone seul."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importer"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Exporter"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Évènement"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Aff. contacts avec num. de tél."
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contact"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Stockage USB non disponible"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Ajout impossible"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Impossible à ajouter"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Contacts suggérés"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Partager via"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Définir la photo de contact"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Réglages"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Fournisseur d'accès"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Envoyer les coordonnées"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Sélectionner la carte SIM pour les appels"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Sélectionner une carte SIM pour appeler"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Sél. carte SIM pour les appels"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Sélectionner un contact"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Sélectionner"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Enregistrer les contacts sur"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Réorganiser"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Supprimer"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Contacts principaux (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Contacts princ. (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Téléphone"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Contacts personnels"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "Sélection : %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d sélectionné(s)"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Format du nom"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Contacts les plus fréquents"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Moi"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Gérer les favoris"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Répertoire"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Contacts associés"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importer contacts"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importer"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favoris"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Expor. contacts vers carte SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Exporter des contacts"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Exporter"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Entrer un label personnalisé"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Services d'urgence"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Contacts d'urgence"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Modifier"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Afficher les noms par"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Affichage"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Annuler les modifications"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Supprimer l'élément"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Créer"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Photo du contact"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contacts à afficher"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Contacts"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Contacts exportés"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Modif. empl. d'enregistrement"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Annuler l'importation"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Annuler l'exportation"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Réessayez"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Enregistrer"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Téléph."
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notes"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Autres"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exporter"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Courriel"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Terminé"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Ignorer"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Supprimer"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Créer"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Modifier"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Annuler"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Aj. compte"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Site Web"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Mise à jour de la liste de contacts..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Enregistrement impossible en raison d'une erreur SIM."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Titre"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Ce contact sera supprimé."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Les informations relatives à l'opérateur des contacts sélectionnés seront mises à jour. Cette opération nécessite une connexion réseau et peut entrainer des frais supplémentaires. Le temps nécessaire à cette opération dépendra de l'état de votre connexion réseau."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Téléphone"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Initialisation carte SIM..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Numéros de service"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "L'envoi de cartes de visite une par une peut prendre plus longtemps car l'appareil qui les reçoit doit les accepter une par une."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Le transfert de plusieurs contacts en même temps réduit le délai de transmission. Toutefois, si l'autre appareil ne prend pas en charge cette fonction, un seul contact sera envoyé."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Sélectionnez la méthode d'envoi des coordonnées du contact."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Sélectionné"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Supprimer des favoris"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Photo"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "N° téléphone"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Nom en phonétique"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Deux. prénom phonét."
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Nom phonétique"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Prénom phonétique"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Autres courriels"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Aucun résultat"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Aucun groupe"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notes"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Surnom"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Titre post-nom."
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Titre"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Nom"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Mes contacts"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Deuxième prénom"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Nom de famille"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Fonction"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importer depuis la carte SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importer depuis la carte SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importation..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Image"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "MI"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Si votre fournisseur de services a préchargé sur votre carte SIM des numéros de services, ils seront affichés ici."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Prénom"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Exporter vers la carte SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Exporter vers la carte SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Exporter vers la carte SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Courriel"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Annuler les modifications"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Amis"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Famille"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Date"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Collègues"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Les contacts identifiés en double seront suggérés automatiquement."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Entreprise"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Bouton permettant de développer la liste"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "La fonction de Recommandations auto propose un extrait des fichiers audio."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les contacts créés seront affichés ici."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les contacts ajoutés seront affichés ici."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Ajouter aux favoris"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adresse"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Comptes"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "NIP bloqué"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Code PUK2 incorrect."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "NIP1 incorrect"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Ajouter le contact existant"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Aucun contact principal"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Contacts principaux"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Créer un contact principal"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Ajout. des contacts principaux"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Définir la date"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Le nouveau NIP et le NIP de confirmation ne correspondent pas."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Les contacts principaux créés seront affichés ici."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Imposs. sélect. + d'éléments"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Insérez une carte SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Le fournisseur de services du contact que vous essayez d'appeler est %1$s. Touchez OK pour effectuer cet appel avec votre carte SIM %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Utiliser la carte SIM %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "SIM actuel"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Téléphone public"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Caractère non valide."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Tél."
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Appel sortant"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Appel entrant"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Seuls les %d premiers contacts sont affichés."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Mon profil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Touchez ici pour ajouter un raccourci"
+
diff --git a/main-app/res/po/ga.po b/main-app/res/po/ga.po
new file mode 100644
index 0000000..8a95c2d
--- /dev/null
+++ b/main-app/res/po/ga.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Glaonna a diailíodh"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "An glao deireanach"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Glaonna a fuarthas"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Roghnaigh logaí"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Amharc de réir"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Baile 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Bogtha."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Ag bogadh..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 fíordheimhnithe."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 fíordheimhnithe."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "Bac bainte ón SIM."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "Bac bainte ó PIN2."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 athraithe."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 blocáilte."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Cód PIN1 athraithe."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Cód PIN1 blocáilte."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2 mícheart."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Ní mheaitseálann PIN2 nua agus deimhniú PIN2"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Cód PUK1 mícheart."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1 mícheart. %d iarracht fágtha."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 mícheart. %d iarracht fágtha."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN athraithe."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Teagmhálaithe"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Cuir cuntas leis"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Uaslíon na gcarachtar bainte amach."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Gléasanna á scanadh..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PIN mícheart"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DÉANTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CUIR AR CEAL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SCRIOS"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Fadhb nasctha nó cód MMI neamhbhailí."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Uimhir phríobháideach"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "SEOL"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 blocáilte. Déan teagmháil le soláthróir (SIM PUK2 de dhíth)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Níl logaí ann"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Tar éis duit glao a dhéanamh/a fháil nó teachtaireacht a sheoladh/a fháil, taispeánfar logaí"
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "Cárta SIM gafa. Triail arís ar ball"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Cárta SIM/RUIM glasáilte."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Níor aimsíodh cárta SIM. Ionsáigh cárta SIM san fhón le do thoil."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Earráid le líonra nó le cárta SIM."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Aisfhotha creatha cumasaithe."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Aisfhotha creatha díchumasaithe."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Ní féidir glao a chur ar an uimhir. Ní uimhir éigeandála í %d."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Uimhir mheardhiailithe %d bainte."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Uimhir mheardhiailithe sannta."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Iontráil uimhir."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Ní mór idir %1$d agus %2$d digit ar fad a bheith i do PIN. Triail arís"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Ní mór idir %1$d agus %2$d digit a bheith i do PIN2. Triail arís."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Níl aon teagmhálaí sannta don uimhir mheardhiailithe seo. Tapáil OK le teagmhálaí a shannadh di anois."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "Díchumasaíodh an PIN. Cumasaigh PIN roimh athrú."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Glórphost"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "N.shon. teagmh."
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Soc. meardhiailithe"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Bain"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Cruthaigh teag."
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Socruithe glao"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Cuir fanacht leis"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Cuir sos 2 shoicind leis"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "E.cheap"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Ní féidir nascadh le líonra"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Roghnaigh cárta SIM don ghlao"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Torthaí cuardaigh (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Glao éigeandála"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Sann uimhir mheardhiailithe"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Soc. uimhir"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Seol tcht"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Cuir ar ceal"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Cuir le Teagmhálaithe"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Ní ionann na pasfhocail"
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN blocáilte. Iontráil cód PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM blocáilte."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Gan sábháil"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Sábháilte"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Caillte"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Theip air"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Curtha ar ceal"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Scriosfar %d mír loga."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Scriosfar gach mír loga."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Scriosfar 1 mhír loga."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Amharc ar shonraí teagmhála"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Seol uimhir"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Glaonna a cailleadh"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Scrios"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Fad ama na nglaonna"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Glaonna a cailleadh"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Ná taispeáin arís"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Uimh. anaithnid"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Anaithnid"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Roghnaigh gach"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Logaí"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Inné"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Inniu"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d roghnaithe"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Scrios %d loga"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Scrios míreanna loga"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Scrios loga"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Scrios"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "N.shon. teagmh."
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Scrios"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Cruthaigh teagmh."
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Cuir ar ceal"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Glaonna gutha"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Glaonna físe"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Cárta SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Gach glao"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Tar éis duit glaonna a chur nó a fháil, logálfar anseo iad."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Tar éis duit glaonna a chur nó a fháil, taispeánfar míreanna loga anseo."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "C. IN EAG."
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Ionchuir téacs"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Is cosúil gur dúblaigh iad cuid de do theagmhálaithe."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d teagmhálaí iompórtáilte."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Teagmhálaithe nasctha."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 uimhir bainte ón Liosta uathdhiúltaithe."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 teagmhálaí iompórtáilte."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Uimhreacha seirbhíse"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Formáid ainm"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Nasc teagmhálaithe"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Teagmhálaithe le taispeáint"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Socraigh"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Déan"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Cuir réimsí leis"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Tgmhál. á n-iompórtáil..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Iompórtáil curtha ar ceal"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Tgmhál. á n-easpórtáil…"
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Easpórtáil curtha ar ceal"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Teagmhál. iompórtáilte"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Teagmhál. easpórtáilte"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Gach teagmhálaí"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Ní féidir leat teagmhálaithe i gcuntais inléite amháin a scriosadh, ach is féidir leat iad a fholú i dteagmhálaithe"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Nuair a chumasófar Sioncronú, scriosfar an teagmhálaí seo ó aon chuntas sioncronaithe ina bhfuil sé sábháilte."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Ar chumasú Sioncronú, scriosfar an teagmhálaí seo agus na teagmhálaithe ar fad atá nasctha leis i gcuntais shioncronaithe eile, nó folófar é más as cuntas inléite amháin an fhaisnéis."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Nuair a chumasófar Sioncronú, scriosfar an teagmhálaí seo, mar aon leis na teagmhálaithe ar fad atá nasctha leis, ó chuntais shioncronaithe eile."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Faisnéis an tsoláthróra seirbhíse á nuashonrú..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Ní féidir teagmhálaí a chur leis. Uaslíon na dteagmhálaithe in-nasctha (%d) bainte amach."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Ní féidir teagmhálaithe a chur leis. Uaslíon na dteagmhálaithe in-nasctha (%d) bainte amach."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Scriosfar an teagmhálaí seo"
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Scriosfar an teagmhálaí seo mar aon leis na teagmhálaithe ar fad atá nasctha leis."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Tá uaslíon na míreanna is féidir a roghnú (%d) sáraithe."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Tá uaslíon na dteagmhálaithe is féidir a chomhroinnt ag an aon am amháin (%1$d) sáraithe. Ní chomhroinnfear ach an chéad %2$d díobh."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Is féidir an ghné Chamada Certa a úsáid le soláthraithe seirbhíse do theagmhálaithe a aithint agus iad a thaispeáint i do liosta teagmhálaithe. Is féidir leat é sin a dhéanamh níos déanaí tríd an eochair Roghchlár a bhrú agus Nuashonraigh faisnéis soláthraí seirbhíse a roghnú. Tapáil OK le soláthraithe seirbhíse do theagmhálaithe a aithint anois."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Tapáil OK le hiompórtáil teagmhálaithe ó chárta SIM a scor."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Tapáil OK le heaspórtáil teagmhálaithe chuig %s a scor."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Tapáil Easpórtáil leis na teagmhálaithe a roghnú lena n-easpórtáil. Is féidir go gcaillfear roinnt faisnéise teagmhála."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Is féidir nár nuashonraíodh cuid de na teagmhálaithe nó iad uile"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "D'fhéadfaí roinnt faisnéise faoin teagmhálaí a chailleadh"
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Cuimhne SIM lán."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Ag baint..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "Nuashonraíodh %d uimhir fhóin"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "Scriosfar %d teagmhálaí"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d teagmhálaí easpórtáilte chuig: %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "Tá %1$d teagmhálaí easpórtáilte chuig Gléas/Teagmhálaithe/Iompórtáilte/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Easpa cuimhne."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Sábhálfar teagmhálaithe nua i dTeagmhálaithe ar do ghléas."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Mód FDN curtha i ngníomh."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Theip air."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Cuileáil athruithe?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Teagmhálaithe á scriosadh..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Cuireadh scriosadh teagmhálaithe ar ceal. Is féidir gur scriosadh roinnt teagmhálaithe cheana féin."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Scoirfear iompórtáil teagmhálaithe ó %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Ann cheana."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Scriosfar gach teagmhálaí nasctha"
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Scriosfar gach teagmhálaí"
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Cuileálfar gach athrú"
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Ag cur leis..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "Nuashonraíodh 1 uimhir fhóin"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "Scriosfar 1 theagmhálaí"
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 teagmhálaí bainte."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Obair"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Glao gutha"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Glao físe"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Nuashonraigh faisnéis faoi sholáthraí seirbhíse"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Dínasc teagmhálaí"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Dínasc teagmhálaithe"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Glac pictiúr"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Glac grianghraf"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Céile"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Deirfiúr"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Cárta SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Comhroinn le"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Comhroinn"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Socruithe"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Roghnaigh ó theagmhálaithe"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Cárta SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Sábháil teagmhálaí chuig"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Athordaigh"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Bain"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Gaol"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Caidreamh"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Tarchurtha ag"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Comhpháirtí"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Tuismitheoir"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Glaoire"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Eile"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Eagraíocht"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Máthair"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Fón Póca"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Teachtaireacht"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Bainistigh Ceanáin"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Bainisteoir"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Príomh"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Sloinne ar dtús"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Sloinne"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Baile"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Baile"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Ón nGailearaí"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Cara"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Céadainm ar dtús"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Céadainm"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Teagmhálaí FDN"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Facs (obair)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Facs (baile)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Athair"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Cuir in eagar"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ná taispeáin arís"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Páirtí baile"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Gléas"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Saincheaptha"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Cruthaigh"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Leanbh"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Deartháir"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Breithlá"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Cúntóir"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Lá cinn bliana"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Cuir réimse leis"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Cuir leis"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Cuntas"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Cuardaigh"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Níl uimhreacha seirbhíse ann"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Níor aimsíodh torthaí"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Níl teagmhálaithe éigeandála ann"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Níl teagmhálaithe ann"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sórtáil de réir"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Socraigh próifíl"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Socraigh mo phróifíl"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Seol le chéile"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Seol ina n-aonar"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Seol faisnéis teagmhálaí"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Roghnaigh gach"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d teagmhálaí"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Teagmhálaithe fóin amháin"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Iompórtáil"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Easpórtáil"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Imeacht"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Taisp. teagmhálaithe le huimh."
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 teagmhálaí"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Teagmhál."
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Níl stóras USB ar fáil"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Cur leis dodhéanta"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Ní féidir cur leis"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Teagmhálaithe molta"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Comhroinn le"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Socraigh pictiúr teagmhálaí"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Socruithe"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Soláthraí seirbhíse"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Seol faisnéis teagmhálaí"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Roghnaigh SIM don ghlao"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Roghnaigh cárta SIM le glao a chur air"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Roghnaigh cárta SIM don ghlao"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Roghnaigh teagmhálaí"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Roghnaigh"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Sábháil teagmhálaithe chuig"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Athordaigh"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Bain"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Príomhtheagmhálaithe (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Príomhtheagmhál. (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Fón"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Teagmhálaithe pearsanta"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d roghnaithe"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d roghnaithe"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Formáid ainm"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Na teagmhálaithe is minice úsáid"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Mise"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Bainistigh ceanáin"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Liosta teagmhálaithe"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Teagmhál. nasctha"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Iompórt. teagmhál."
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Iompórtáil"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Ceanáin"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Easapórt. teagmhálaithe go SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Easpórtáil teagmhálaithe"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Easpórtáil"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Iontráil lipéad saincheaptha"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Seirbhísí éigeandála"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Teagmhálaithe éigeandála"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Cuir in eagar"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Taispeáin ainmneacha de réir"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Taispeáint"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Cuileáil athruithe"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Scrios mír"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Cruthaigh"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Íomhá teagmhálaí"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Teagmhálaithe le taispeáint"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Teagmhálaithe"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Teagmhálaithe easpórtáilte"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Athraigh an suíomh sábhála"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Cuir iompórtáil ar ceal"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Cuir easpórtáil ar ceal"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Triail arís"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Sábháil"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Fón"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Nótaí"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Tuilleadh"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Easpórtáil"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "R-phost"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Déanta"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Cuileáil"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Scrios"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Cruthaigh"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Athraigh"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Cealaigh"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Cuir cuntas leis"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Láith. gréasáin"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Liosta teagmhálaithe á nuashonrú..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Ní féidir a shábháil mar gheall ar earráid SIM."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Teideal"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Scriosfar an teagmhálaí seo"
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Nuashonrófar faisnéis soláthraí seirbhíse na dteagmhálaithe roghnaithe. Bíonn nasc líonra riachtanach don ghné seo agus is féidir go ngearrfaí táillí breise ina leith. Braithfidh an t-am a bheidh i gceist leis an bpróiseas a chur i gcrích ar stádas nasctha do líonra."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Teileafón"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Cárta SIM á thúsú..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Uimhir sheirbhíse"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Is féidir go mbeidh níos mó ama i gceist le hainmchártaí a sheoladh ina n-ionar toisc nach mór don ghléas fála glacadh leo ceann i ndiaidh cinn eile."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Laghdaítear am an tarchuir trí líon teagmhálaithe a sheoladh le chéile. Mura bhfuil tacú ann sa ghléas eile dó áfach, ní sheolfar ach teagmhálaí amháin."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Roghnaigh conas faisnéis teagmhála a sheoladh."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Roghnaithe"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Bain ó Cheanáin"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Grianghraf"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Uimhir fóin"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Ainm foghraíochta"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "2ú ainm foghraíochta"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Sloinne foghraíochta"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Céadainm foghraíochta"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "R-phoist eile"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Níl toradh cuardaigh ann"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Níl grúpaí ann"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Nótaí"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Leasainm"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Iarmhír ainm"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Réimír an ainm"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Ainm"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Mo theagmhálaithe"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Dara hainm"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Sloinne"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Teideal poist"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Iompórtáil ó chárta SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Iompórtáil ó chárta SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Ag iompórtáil..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Íomhá"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Má réamhlódáil do sholáthraí seirbhíse uimhreacha seirbhíse ar do chárta SIM, taispeánfar anseo iad."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Gailearaí"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Céadainm"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Facs"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Easpórtáil chuig cárta SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Easpórtáil go cárta SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Easpórtáil go cárta SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "R-phost"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Cuileáil athruithe"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Cairde"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Teaghlach"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Dáta"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Comhoibrithe"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Teagmhálaithe atá sainaitheanta mar chinn dhúblacha, molfar go huathoibríoch iad."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Teagmhálaithe"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Cuideachta"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Cnaipe leis an liosta a leathnú"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Is féidir le huath-mholtaí na buaicphointí a bhaint amach as comhaid fuaime"
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tar éis duit teagmhálaithe a chruthú, taispeánfar anseo iad."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tar éis duit teagmhálaithe a chur leis, taispeánfar anseo iad."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Cuir le Ceanáin"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Seoladh"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Cuntais"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "Cuireadh bac ar PIN."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Cód PUK2 mícheart."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Cód PIN1 mícheart."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Cuir teagmhálaí reatha leis"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Níl príomhtheagmhálaithe ann"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Príomhtheagmhálaithe"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Cruthaigh príomhtheagmhálaí"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Cuir príomhtheagmhálaithe leis"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Socraigh dáta"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Ní mheaitseálann an PIN nua agus an deimhniú PIN"
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tar éis duit príomhtheagmhálaithe a chruthú, taispeánfar anseo iad."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Ní féidir mír eile a roghnú."
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Ionsáigh cárta SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Is é %1$s soláthraí seirbhíse an teagmhálaí a bhfuil tú ag cur glao air/uirthi. Tapáil OK leis an nglao seo a chur le do chárta SIM %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Úsáid cárta SIM %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "SIM reatha"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Táillefón"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Carachtar neamhbhailí."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Fón"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Glao amach"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Glao isteach"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Ní thaispeántar ach an chéad %d teagmhálaí."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Mo phróifíl"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Tapáil anseo le haicearra a chur leis"
+
diff --git a/main-app/res/po/gl.po b/main-app/res/po/gl.po
new file mode 100644
index 0000000..d90bd59
--- /dev/null
+++ b/main-app/res/po/gl.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Chamadas realizadas"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Última chamada"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Chamadas recibidas"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Seleccionar rexistros"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Ver por"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Particular 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Proceso completado"
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Movendo..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 verificado"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 verificado"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN desbloqueado"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 desbloqueado"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 cambiado"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 bloqueado"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Código PIN1 cambiado"
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Código PIN2 bloqueado"
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2 incorrecto"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "O PIN2 novo e o de confirmación non coinciden"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Código PUK1 incorrecto"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1 incorrecto. Quedan %d intentos."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 incorrecto. Quedan %d intentos."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN cambiado"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Engadir conta"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Número máximo de caracteres alcanzado"
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Buscando dispositivos..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PIN incorrecto"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FEITO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINAR"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problema de conexión ou código MMI incorrecto"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Número privado"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ENVIAR"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 bloqueado. Contacte co provedor (é necesario o PUK2 da SIM)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Non hai rexistros"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Despois de efectuar/recibir unha chamada ou enviar/recibir unha mensaxe, amosaranse os rexistros"
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "Tarxeta SIM ocupada. Inténteo máis tarde"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Tarxeta SIM/RUIM bloqueada"
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Non se atopou a tarxeta SIM. Insira a tarxeta SIM no teléfono."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Erro de rede ou tarxeta SIM"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "A resposta de vibración está activada."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "A resposta de vibración está desactivada."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Non se pode chamar ao número. %d non é un número de urxencia."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Número de marcación rápida %d eliminado."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Número de marcación rápida asignado."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Introduce un número."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "O teu PIN debe conter entre %1$d e %2$d díxitos. Téntao de novo"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "O teu PIN2 debe conter entre %1$d e %2$d díxitos. Téntao de novo."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Non hai ningún contacto asignado a este número de marcación rápida. Toca Aceptar para asignar un agora."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "Desactivouse o PIN. Activa o PIN antes de efectuar o cambio."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Corr. voz"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Actua. contacto"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Axust.marcac.rápida"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Crear contacto"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Axustes de chamada"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Engadir espera"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Engadir pausa de 2 segundos"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Teclado"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Non se pode conectar á rede"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Seleccionar SIM para a chamada"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Resultados da busca (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Chamada de urxencia"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Asignar como núm. marc. rápida"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Definir número"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Env. mensaxe"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Cancelar"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Engadir a Contactos"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Os contrasinais non coinciden"
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN bloqueado. Introduza o código PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM bloqueada"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Sen gardar"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Gardado"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Perdidas"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Erro"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Cancelado"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Eliminaranse %d elementos do rexistro."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Eliminaranse todos os elementos do rexistro."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Eliminarase 1 elemento do rexistro."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Ver detalles de contacto"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Enviar número"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Chamadas perdidas"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Duracións das chamadas"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Chamadas perdidas"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Non amosar outra vez"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Núm.descoñecido"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Descoñecido"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Seleccionar todo"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Rexistros"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Onte"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Hoxe"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seleccionado(s)"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Elimina $ rexistros"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Eliminar elementos do rexistro"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Eliminar rexistro"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Actua. contacto"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Eliminar"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Crear contacto"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Cancelar"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Chamadas de voz"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videochamadas"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Tarxeta SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Todas as chamadas"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Despois de efectuar ou recibir chamadas, estas rexistraranse aquí."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Despois de efectuar ou recibir chamadas, amosaranse os elementos do rexistro aquí."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITAR"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Introducir texto"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Algúns dos teus contactos parecen ser duplicados."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d contactos importados."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contactos ligados."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "Eliminouse 1 número da lista de rexeite automático."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 contacto importado."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Números de servizo"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Formato de nome"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Ligar contactos"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contactos para amosar"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Establ."
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Crear"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Engadir campos"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importando contactos..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importación cancelada"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Exportando contactos..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exportación cancelada"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Contactos importados"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Contactos exportados"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Todos os contactos"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Non pode eliminar contactos de contas de só lectura, pero pode ocultalos en Contactos"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Cando Sincronizar estea activado, eliminarase este contacto de calquera conta sincronizada na que estea gardado."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Cando se activa Sincronización, este contacto e todos os seus contactos ligados noutras contas sincronizadas eliminaranse ou ocultaranse se a información pertence a unha conta de só lectura."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Cando Sincronizar estea activado, eliminaranse este contacto e todos os contactos ligados noutras contas sincronizadas."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Actualizando información do provedor de servizos..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Non se pode engadir o contacto. Alcanzouse o número máximo de contactos que se poden ligar (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Non se pode engadir contactos. Alcanzouse o número máximo de contactos que se poden ligar (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Eliminarase este contacto"
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Eliminaranse este contacto e todos os seus contactos ligados."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Superouse o número máximo de elementos que se poden seleccionar (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Superouse o número máximo de contactos que se poden compartir dunha vez (%1$d). Só se compartirán os primeiros %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "A función Chamada Certa pode usarse para identificar os provedores de servizos dos teus contactos e amosalos na túa lista de contactos. Podes facer isto máis tarde pulsando a tecla do menú e seleccionando Actualizar información do provedor de servizos. Toca Aceptar para identificar os provedores de servizos dos teus contactos agora."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Toca Aceptar para deter a importación de contactos da tarxeta SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Toca Aceptar para deter a exportación de contactos a %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Toca Exportar para seleccionar que contactos desexas exportar. É posible que se perda algunha información de contactos."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "É posible que algúns ou todos os contidos non se actualizaran"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "É posible que se perda algunha información de contacto"
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Memoria SIM chea"
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Eliminando..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "Actualizáronse %d números de teléfono"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "Eliminaranse %d contactos"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "Exportáronse %1$d contactos a %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "Exportáronse %1$d contactos a Dispositivo/Contactos/Importados/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Non hai suficiente memoria"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Os contactos novos gardaranse en Contactos no teu dispositivo."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Activado modo FDN"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Erro"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Descartar cambios?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Eliminando contactos..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Cancelouse a eliminación dos contactos. É posible que xa se eliminaran algúns contactos."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Os contactos deixarán de importarse desde %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Xa existe"
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Eliminaranse todos os contactos ligados."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Eliminaranse todos os contactos"
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Descartaranse todos os cambios"
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Engadindo..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "Actualizouse 1 número de teléfono"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "Eliminarase 1 contacto"
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contacto eliminado"
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Traballo"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Chamada de voz"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videochamada"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Actualizar información do provedor de servizos"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Desligar contacto"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Desligar contactos"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Facer foto"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Capturar unha foto"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Cónxuxe"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Irmá"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Tarxeta SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Compartir mediante"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Compartir"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Axustes"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Seleccionar dos contactos"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Tarx. SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Gardar contacto en"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Familiar"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relación"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Consultado por"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Socio"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Proxenitor"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Busca"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Outro"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organización"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Nai"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Móbil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Mensaxe"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Xestionar favoritos"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Administrador"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Principal"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Primeiro o apelido"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Apelido"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Partic"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Inicio"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Da Galería"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Amigo"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Primeiro o nome"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Nome"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Contacto FDN"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (traballo)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (particular)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Pai"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Editar"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Non amosar outra vez"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Parella"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Dispositivo"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Personalizado"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Crear"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Neno"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Irmán"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Aniversario"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Asistente"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Celebración"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Engadir campo"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Engadir"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Conta"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Buscar"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Non hai números de servizo"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Non se atoparon resultados"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Ningún contacto de urxencia"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Non hai contactos"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Ordenar por"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Definir perfil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Definir o meu perfil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Enviar conxuntamente"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Enviar individualmente"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Enviar información de contacto"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Seleccionar todo"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contactos"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Só contactos con tfno."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Evento"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Mostrar contactos con números"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contacto"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Almacenamento USB non dispoñible"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Non se pode engadir"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Non se pode engadir"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Contactos suxeridos"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Compartir por"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Definir imaxe de contacto"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Axustes"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Fornecedor de servizos"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Enviar info. de contacto"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Seleccionar SIM para a chamada"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Seleccionar a tarxeta SIM para chamar"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Seleccionar SIM para a chamada"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Seleccionar contacto"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Gardar contactos en"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Eliminar"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Contactos principais (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Contactos princ. (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Teléfono"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Contactos persoais"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seleccionado(s)"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d seleccionadas"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Formato de nome"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Contactos máis frecuentes"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Eu"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Xestionar favoritos"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Lista de contactos"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Contactos ligados"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importar contactos"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favoritos"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Exportar contac. á tarxeta SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Exportar contactos"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Inserir etiqueta personalizada"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Servizos de urxencia"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Contactos de urxencia"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Editar"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Mostrar nomes por"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Pantalla"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Descartar cambios"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Eliminar elemento"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Crear"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Imaxe de contacto"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contactos para amosar"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Contactos"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Contactos exportados"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Cambiar localiz. almacenamento"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Cancelar a importación"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Cancelar a exportación"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Inténtao de novo"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Gardar"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Teléf."
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "Aceptar"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notas"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Máis"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Correo e."
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Feito"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Descartar"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Eliminar"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Crear"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Cambio"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Engad. conta"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Sitio web"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Actualizando lista de contactos..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Non se pode gardar debido a un erro da SIM"
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Título"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Eliminarase este contacto"
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "A información do provedor de servizos dos contactos seleccionados actualizarase. Esta función require dunha conexión de rede e é posible que carrexe custos adicionais. O tempo necesario para completar o proceso dependerá do estado de conexión da túa rede."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Teléfono"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Iniciando tarxeta SIM..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Número de servizo"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "O envío de tarxetas de identificación individualmente pode tardar máis tempo debido a que o dispositivo de recepción debe aceptalas de unha en unha."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Enviar varios contactos conxuntamente reduce o tempo de transmisión. Non obstante, se o outro dispositivo non admite isto, só se enviará un contacto."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Selecciona como desexas enviar a información de contacto."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Seleccionada"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Eliminar de favoritos"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Foto"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Núm. tfno."
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Nome fonético"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Segundo nome fonéti."
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Apelidos fonéticos"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Nome fonético"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Outros correos electrónicos"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Sen resultado da busca"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Non hai grupos"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notas"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Alcume"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Sufixo de nome"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Prefixo do nome"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Nome"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Os meus contactos"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Segundo nome"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Apelidos"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Cargo"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importar da tarxeta SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importar da tarxeta SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importando..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Imaxe"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "MI"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Se o teu provedor de servizos cargou previamente números de servizo na túa tarxeta SIM, estes amosaranse aquí."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galería"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Nome"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Exportar á tarxeta SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Exportar á tarxeta SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Exportar á tarxeta SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Correo electrónico"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Descartar cambios"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Amigos"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Familia"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Compañeiros de traballo"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Os contactos identificados como duplicados suxeriranse automaticamente."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Compañía"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Botón para ampliar a lista"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "As recomendacións automáticas poden extraer as partes destacadas dos arquivos de son"
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Despois de crear contactos, estes amosaranse aquí."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Despois de engadir contactos, estes amosaranse aquí."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Engadir a Favoritos"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Enderezo"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Contas"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN bloqueado"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Código PUK2 incorrecto"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Código PIN1 incorrecto"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Engadir contacto existente"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Non hai contactos principais"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Contactos principais"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Crear contacto principal"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Engadir contactos principais"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Establecer data"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "O PIN novo e o de confirmación non coinciden"
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Despois de crear contactos principais, estes amosaranse aquí."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Imposible selec. máis element."
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Inserir tarxeta SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "O provedor de servizos do contacto ao que estás chamando é %1$s. Toca Aceptar para realizar esta chamada mediante a túa tarxeta SIM %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Usar tarxeta SIM %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "SIM actual"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Cabina"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Caracter non válido"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Teléf."
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Chamada saínte"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Chamada entrante"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Só se amosan os primeiros %d contactos."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "O meu perfil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Toca aquí para engadir un atallo"
+
diff --git a/main-app/res/po/hi.po b/main-app/res/po/hi.po
new file mode 100644
index 0000000..2f70b09
--- /dev/null
+++ b/main-app/res/po/hi.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "डायल की गई कॉल्स"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "अंतिम कॉल"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "प्राप्त कॉल्स"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "लॉग्स चुनें"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "द्वारा देखें"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "घर 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "ले जाना पूर्ण।"
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "ले जा रहा है..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 सत्यापित।"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 सत्यापित।"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN अनावरुद्ध हुआ।"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 अनावरुद्ध है।"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 बदला।"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 अवरुद्ध है"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 बदला गया।"
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 अवरुद्ध।"
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "गलत PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "नया PIN2 और पुष्टि किया गया PIN2 मेल नहीं खाते हैं।"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "गलत PUK1."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "ग़लत PUK1. %d प्रयास बाकी।"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "ग़लत PUK2. %d प्रयास बाकी।"
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN बदला।"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "संपर्क"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "खाता जोड़ें"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "वर्णो की संख्‍या अधिकतम पहुँची।"
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "डिवाइस स्कैन हो रही है..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "गलत PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "पूर्ण"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "रद्द करें"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "हटाएँ"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "कनेक्शन समस्‍या या अमान्‍य MMI कोड।"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "निजी नंबर"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "भेजें"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 अवरुद्ध किया गया। प्रदाता से संपर्क करें (SIM PUK2 आवश्यक)"
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "कोई लॉग नहीं"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "आपके द्वारा कॉल किए जाने/प्राप्त करने या संदेश भेजने/प्राप्त करने के बाद, लॉग दिखाए जाएँगे"
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM कार्ड व्‍यस्‍त है। बाद में कोशिश करें"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM कार्ड लॉक किया गया।"
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "कोई SIM कार्ड नहीं मिला। कृपया फोन में एक SIM कार्ड इंसर्ट करें।"
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "नेटवर्क या SIM कार्ड त्रुटि।"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "कंपन प्रतिपुष्टि सक्षम की गई।"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "कंपन प्रतिपुष्टि अक्षम की गई।"
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "नंबर पर कॉल करने में असमर्थ। %d आपातकालीन नंबर नहीं है।"
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "स्पीड डायल नंबर %d निकाला गया।"
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "स्पीड डायल नंबर असाइन किया गया।"
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "नंबर प्रविष्ट करें।"
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "आपका PIN, %1$d और %2$d अंकों के बीच का होना चाहिए। फिर से प्रयास करें।"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "आपका PIN2 %1$d से %2$d अंकों के बीच होना चाहिए। फिर से प्रयास करें।"
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "इस शीघ्र डायल नंबर के लिए कोई संपर्क असाइन नहीं किया गया है। अभी कोई एक नंबर असाइन करने के लिए ओके टैप करें।"
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN अक्षम की गई है। बदलने से पहले PIN सक्षम करें।"
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "वॉइसमेल"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "संपर्क अपडेट करें"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "स्पीड डायल सेटिंग्स"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "निकालें"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "संपर्क बनाएँ"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "कॉल सेटिंग्स"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "प्रतीक्षा समय जोड़ें"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "2-सेकंड का विराम जोड़ें"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "कीपैड"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "नेटवर्क से कनेक्‍ट करने में असमर्थ"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "कॉल हेतु SIM कार्ड चुनें"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "खोज परिणाम (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "आपात कॉल"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "स्पीड डायल नंबर के रूप में असाइन करें"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "नंबर सेट करें"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "सन्देश भेजें"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "रद्द करें"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "संपर्क में जोड़ें"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "पासवर्ड मेल\nनहीं खाते।"
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN blocked. Enter PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM अवरुद्ध कर दी गई।"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "सुरक्षित नहीं"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "सुरक्षित"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "छूटी हुई"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "विफल"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "रद्द हुआ"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d लॉग मदें हटा दी जाएँगी।"
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "सभी लॉग मदें हटा दी जाएंगी।"
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 लॉग मद हटा दी जाएगी।"
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "संपर्क विवरण देखें"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "नंबर भेजें"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "छूटी कॉल्स"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "हटाएँ"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "कॉल अवधियाँ"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "छूटी कॉल्स"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "दोबारा न दिखाएँ"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "अज्ञात नंबर"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "अज्ञात"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "सभी चुनें"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "लॉग्स"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "बीता हुआ कल"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "आज"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d चयनित"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "%d लॉग हटाएँ"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "लॉग मदें हटाएँ"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "लॉग हटाएँ"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "हटाएँ"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "संपर्क अपडेट करें"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "हटाएँ"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "संपर्क बनाएँ"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "रद्द करें"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "वॉइस कॉल्स"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "वीडियो कॉल्‍स"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM कार्ड"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "सभी कॉल्स"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "आपके द्वारा कॉल्स करने या प्राप्त करने के बाद वे यहाँ लॉग की जाएँगी।"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "आपके द्वारा कॉल्स करने या प्राप्त करने के बाद, लॉग मदें यहां दिखाई देंगी।"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "संपादन"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "टेक्स्ट इनपुट करें"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "आपके कुछ संपर्क डुप्लिकेट्स लग रहे हैं।"
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d संपर्क आयात किए गए।"
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "संपर्क लिंक किए गए।"
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 नंबर स्वतः अस्वीकृत सूची से निकाला गया।"
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 संपर्क आयात किया गया।"
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "सेवा नंबर्स"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "नाम फॉर्मेट"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "सपंर्कों को लिंक करें"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "प्रदर्शित करने के लिए संपर्क"
+
+msgid "IDS_PB_SK_SET"
+msgstr "सेट"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "बनाएँ"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "फ़ील्‍ड्स जोड़ें"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "संपर्क आयात हो रहे हैं..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "आयात करना रद्द किया गया"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "संपर्क निर्यात हो रहे..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "निर्यात करना रद्द किया"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "संपर्क आयात किए गए"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "संपर्क निर्यात किए गए"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "सभी संपर्क"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "आप केवल-पढ़ें खातों से संपर्क हटा नहीं सकते हैं, लेकिन आप संपर्क में उन्हें छिपा सकते हैं।"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "सिंक करें सक्षम होने पर, यह संपर्क किसी भी ऐसे सिंक किए गए खातों से हटाया जाएगा, जिनमें इसे सुरक्षित किया गया है।"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "यदि जानकारी किसी केवल पढ़ने के लिए खाते से है, तो सिंक सक्षम होने पर, यह संपर्क और अन्य सिंक किए गए खातों में लिंक किए गए इसके सभी संपर्क हटाए जाएँगे या छिपा दिए जाएँगे।"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "सिंक करें सक्षम होने पर, अन्य सिंक किए गए खातों में यह संपर्क और इससे लिंक किए गए सभी संपर्कों को हटाया जाएगा।"
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "सेवा प्रदाता जानकारी अपडेट कर रहा है..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "संपर्क जोड़ने में अक्षम। लिंक करने योग्य संपर्को की अधिकतम संख्या (%d) तक पहुँच गया।"
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "संपर्कों को जोड़ने में अक्षम। लिंक करने योग्य संपर्को की अधिकतम संख्या (%d) तक पहुँच गया।"
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "यह संपर्क हटाया जाएगा।"
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "यह संपर्क और इससे लिंक किए गए सभी संपर्कों को हटाया जाएगा।"
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "चुने जा सकने वाली मदों की अधिकतम संख्या (%d) सीमा से अधिक हो गई है।"
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "एक बार में साझा किए जा सकने वाले संपर्कों की अधिकतम संख्या (%1$d) पार हो गयी है। केवल पहले %2$d साझा किए जाएँगे।"
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "अपने संपर्कों के सेवा प्रदाताओं को पहचानने और उन्हें अपनी संपर्क सूची में प्रदर्शित करने के लिए Chamada Certa सुविधा का उपयोग किया जा सकता है। आप मेन्यू कुंजी दबाकर और सेवा प्रदाता जानकारी अपडेट करें चुनकर बाद में यह कर सकते हैं। अपने संपर्क के सेवा प्रदाताओं को पहचानने के लिए अभी ठीक पर टैप करें।"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "SIM कार्ड से संपर्क आयात करने से रोकने के लिए ओके टैप करें।"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "%s में संपर्क निर्यात करने से रोकने के लिए ओके टैप करें।"
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "निर्यात किए जाने वाले संपर्क चुनने के लिए निर्यात करें टैप करें। कुछ संपर्क सूचना गुम हो सकती है।"
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "कुछ या सभी संपर्कों को अपडेट नहीं किया गया होगा।"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "कुछ संपर्क जानकारी खो सकती है।"
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM मेमोरी पूर्ण।"
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "हटा रहा है..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d फोन नंबर अपडेट किए गए हैं।"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d संपर्क हटाए जाएँगे"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d संपर्क %2$s पर निर्यात किए गए हैं।"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "डिवाइस/संपर्क/आयात किए गए/%2$s.vcf में %1$d संपर्क निर्यात किए जा चुके हैं।"
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "पर्याप्‍त मेमोरी नहीं।"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "नए संपर्क आपके डिवाइस पर संपर्क में सुरक्षित किए जाएँगे।"
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN मोड सक्रिय है।"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "विफल।"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "बदलाव निरस्त करें?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "संपर्क हटाए जा रहे हैं..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "संपर्क हटाना रद्द किया गया। हो सकता है कुछ संपर्क पहले ही हटा दिए गए हों।"
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "%s से संपर्क आयात किया जाना रोक दिया जाएगा।"
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "पहले से ही मौजूद।"
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "सभी लिंक किए हुए संपर्क हटाए जाएँगे।"
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "सभी संपर्क हटाए जाएँगे"
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "सभी बदलाव निरस्त कर दिए जाएँगें।"
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "जोड़ रहा है..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 फोन नंबर अपडेट किया गया है।"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 संपर्क हटाया जाएगा"
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 संपर्क हटाया गया।"
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "काम"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "वॉइस कॉल"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "वीडियो कॉल"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "सेवा प्रदाता जानकारी अपडेट करें"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "संपर्क से लिंक हटाएँ"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "संपर्कों से लिंक हटाएँ"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "तस्वीर लें"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "एक फोटो लें"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "पति या पत्नी"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "स्काइप"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "बहन"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM कार्ड"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "इसके द्वारा साझा करें"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "साझा करें"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "सेटिंग्स"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "संपर्क से चुनें"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD कार्ड"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "निम्न पर संपर्क सुरक्षित करें"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "क्रम बदलें"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "निकालें"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "संबंधी"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "संबंध"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "इनके द्वारा संदर्भ"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "पार्टनर"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "अभिभावक"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "पेजर"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "अन्य"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "संगठन"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "माता"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "मोबाइल"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "सन्देश"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "पसंदीदा को प्रबंधित करें"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "प्रबंधक"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "मुख्य"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "अंतिम नाम पहले"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "अंतिम नाम"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "जेब्बर"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "घर"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "होम"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "हैंगआउट्स"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "गैलरी से"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "मित्र"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "पहला नाम पहले"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "पहला नाम"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN संपर्क"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "फ़ैक्स (कार्यस्थल)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "फैक्स (घर)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "पिता"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "संपादन"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "दोबारा न दिखाएँ"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "घरेलू सहभागी"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "डिवाइस"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "कस्‍टम"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "बनाएँ"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "बच्चा"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "भाई"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "जन्मदिन"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "सहायक"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "वर्षगांठ"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "फील्ड जोड़ें"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "जोड़ें"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "खाता"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "खोजें"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "कोई सेवा नंबर्स नहीं हैं"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "कोई परिणाम नहीं मिला"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "कोई आपातकालीन संपर्क नहीं"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "कोई संपर्क नहीं"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "इसके द्वारा क्रमबद्ध करें"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "प्रोफाइल सेट करें"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "मेरी प्रोफाइल सेट करें"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "एक साथ भेजें"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "व्यक्तिगत रूप से भेजें"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "संपर्क सूचना भेजें"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "सभी चुनें"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d संपर्क"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "केवल फोन के साथ संपर्क"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "आयात करें"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "निर्यात करें"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "प्रसंग"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "नंबर्स के साथ संपर्क दर्शाएँ"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 संपर्क"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "संपर्क"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "आंतरिक फोन मेमोरी उपलब्ध नहीं"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "जोड़ने में अक्षम"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "जोड़ने में अक्षम"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "सुझावित संपर्क"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "इसके द्वारा साझा करें"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "संपर्क तस्वीर सेट करें"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "सेटिंग्स"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "सेवा प्रदाता"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "संपर्क सूचना भेजें"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "कॉल करने के लिए SIM चुनें"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "कॉल करने के लिए SIM कार्ड का चयन करें"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "कॉल हेतु SIM कार्ड चुनें"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "संपर्क चुनें"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "चुनें"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "इसमें संपर्क सुरक्षित करें"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "क्रम बदलना"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "हटायें"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "प्राथमिक संपर्क (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "प्राथमिक संपर्क(%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "फोन"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "व्यक्तिगत संपर्क"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d चयनित"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d चयनित"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "नाम फॉर्मेट"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "अक्सर उपयोग किए गए संपर्क"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "मेरा"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "पसंदीदा को प्रबंधित करें"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "संपर्क सूची"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "लिंक किए हुए संपर्क"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "संपर्क आयात करें"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "आयात करें"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "पसंदीदा"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "संपर्क SIM कार्ड पर निर्यात करें"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "संपर्क निर्यात करें"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "निर्यात करें"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "कस्टम लेबल प्रविष्ट करें"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "आपातकालीन सेवाएँ"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "आपातकालीन संपर्क"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "संपादन"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "इसके द्वारा नाम प्रदर्शित करें"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "प्रदर्शन"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "बदलाव निरस्त करें"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "मद हटाएँ"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "बनाएँ"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "संपर्क छवि"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "प्रदर्शित करने के लिए संपर्क"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "संपर्क"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "संपर्क निर्यात किए गए"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "सुरक्षित स्थान बदलें"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "आयात करना रद्द करें"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "निर्यात करना रद्द करें"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "फिर प्रयास करें"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "सुरक्षित"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "फोन"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "ओके"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "नोट्स"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "अधिक"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "निर्यात करें"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "ईमेल"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "पूर्ण"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "निरस्त करें"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "हटाएँ"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "बनाएँ"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "बदलें"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "रद्द"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "खाता जोड़ें"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "विंडोज लाइव"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "वेबसाइट"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "संपर्क सूची अपडेट हो रही है..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "SIM त्रुटि के कारण सुरक्षित करने में अक्षम।"
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "उपाधि"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "यह संपर्क हटाया जाएगा"
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "चयनित संपर्कों की सेवा प्रदाता जानकारी अपडेट की जाएगी। इस सुविधा के लिए नेटवर्क कनेक्शन आवश्‍यक है और इसके कारण अतिरिक्त शुल्क लग सकते हैं। प्रक्रिया को पूर्ण होने में लगने वाला समय आपके नेटवर्क कनेक्शन स्थिति पर निर्भर करेगा।"
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "टेलीफोन"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "स्काइप"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM कार्ड आरंभ हो रहा है..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "सेवा नंबर"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "नाम कार्ड्स व्यक्तिगत रूप से भेजने में अधिक समय लग सकता है क्योंकि प्राप्त करने वाला डिवाइस द्वारा भी उन्हें एक बार में एक ही स्वीकार करना चाहिए।"
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "कई संपर्कों को एक साथ भेजना ट्रांसमिशन समय कम करता है। हालाँकि, यदि अन्य डिवाइस इसका समर्थन नहीं करते हैं, तो केवल एक संपर्क भेजा जाएगा।"
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "संपर्क जानकारी भेजने का तरीका चुनें।"
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "चयनित"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "पसंदीदा से निकालें"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "फोटो"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "फोन नंबर"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "फोनेटिक नाम"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "ध्वन्यात्मक मध्य का नाम"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "ध्वन्यात्मक अंतिम नाम"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "फोनॅटिक पहला नाम"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "अन्य ईमेल्स"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "खोज का कोई परिणाम नहीं"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "कोई समूह नहीं"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "टिप्पणी"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "उपनाम"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "नाम का सफिक्स"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "नाम प्रिफ़िक्स"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "नाम"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "मेरे संपर्क"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "मध्य नाम"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "अंतिम नाम"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "जॉब शीर्षक"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "SIM कार्ड से आयात करें"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "SIM2 कार्ड से आयात करें"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "आयात कर रहा है..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "छवि"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "यदि आपके सेवा प्रदाता ने आपके SIM कार्ड पर सेवा नंबर्स प्रीलोड किए हैं, तो वे यहां दिखाई देंगे।"
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "गैलरी"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "पहला नाम"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "फैक्स"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "SIM कार्ड पर निर्यात करें"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "SIM2 कार्ड पर निर्यात करें"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "SD कार्ड पर निर्यात करें"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "ईमेल"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "बदलाव निरस्त करें"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "मित्र"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "परिवार"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "तिथि"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "सहयोगी"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "डुप्लिकेट्स होने के रूप में पहचाने गए संपर्कों का सुझाव स्वचालित रूप से दिया जाएगा।"
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "संपर्क"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "कंपनी"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "सूची विस्तृत करने का बटन"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "स्वतः अनुशंसाएँ ध्वनि फाइलों से हाइलाइट्स को निकाल सकता है।"
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "आपके द्वारा संपर्क बनाने के बाद, वे यहाँ दिखाई जाएँगे।"
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "आपके द्वारा संपर्क जोड़ने के बाद, वे यहां दिखाई देंगे।"
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "पसंदीदा में जोड़ें"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "पता"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "खातें"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN अवरुद्ध है।"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "गलत PUK2."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "गलत PIN1."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "मौजूदा संपर्क जोड़ें"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "कोई प्राथमिक संपर्क नहीं"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "प्राथमिक संपर्क"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "प्राथमिक संपर्क बनाएँ"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "प्राथमिक संपर्क जोड़ें"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "तिथि सेट करें"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "नया PIN और पुष्‍टि PIN मेल नही हो रहा"
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "आपके द्वारा प्राथमिक संपर्क बनाने के बाद वे यहाँ दिखाई देंगे।"
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "अधिक मद का चयन करने में असमर्थ"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "SIM कार्ड इंसर्ट करें।"
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "आपके द्वारा कॉल किए जा रहे संपर्क का सेवा प्रदाता %1$s है। आपके %2$s SIM कार्ड का उपयोग कर यह कॉल करने के लिए ओके टैप करें।"
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "%s SIM कार्ड का उपयोग करें"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "वर्तमान SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "पेफोन"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "अमान्य अक्षर।"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "फोन"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "जानेवाली कॉल"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "आनेवाली कॉल"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "केवल पहले %d संपर्क ही प्रदर्शित किए गए।"
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "मेरा प्रारूप"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "शॉर्टकट जोड़ने के लिए यहां टैप करें"
+
diff --git a/main-app/res/po/hr.po b/main-app/res/po/hr.po
new file mode 100644
index 0000000..d47631b
--- /dev/null
+++ b/main-app/res/po/hr.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Odlazni pozivi"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Posljednji poziv"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Dolazni pozivi"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Odaberite zapise"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Prikaz po"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Doma 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Premještanje obavljeno."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Premještanje..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "Provjeren PUK2."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "Provjeren PUK1."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN deblokiran."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 deblokiran."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 promijenjen."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 blokiran."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 lozinka promijenjena."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 lozinka blokirana."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Neispravan PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Novi PIN2 i potvrđeni PIN2 nisu isti."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Neispravna PUK1 lozinka."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Neispravan PUK1. Preostalo %d pokušaja."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Neispravan PUK2. Preostalo %d pokušaja."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN promijenjen."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Imenik"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Dodaj račun"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maks. broj znakova."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Traženje uređaja..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Neispravan PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ODUSTANI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "IZBRIŠI"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problem s vezom ili neispravan MMI kod."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Privatni broj"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "POŠALJI"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 blokiran. Obratite se operateru (potreban je SIM PUK2)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Nema događaja"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Evidencija će se prikazati nakon što uputite/primite poziv ili pošaljete/primite poruku."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM kartica zauzeta. Pokušajte kasnije"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM kartica zaključana."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Nema SIM kartice. Umetnite SIM karticu u telefon."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Greška mreže ili SIM kartice."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Uključena je dojava vibracijom."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Isključena je dojava vibracijom."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Nije moguće zvati broj. %d nije hitan broj."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Uklonjen broj brzog biranja %d."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Dodijeljen broj brzog biranja."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Unesite broj."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Vaš PIN mora biti dug između %1$d i %2$d znamenki. Pokušajte ponovno."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Vaš PIN2 mora biti između %1$d i %2$d znamenki. Pokušajte ponovno."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Niti jedan kontakt nije dodan ovom broju za brzo biranje. Dodirnite U redu da biste ga dodali."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "Onemogućen je PIN. Omogućite PIN prije mijenjanja."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Gov. poš."
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Aktual. kontakt"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Post. brzog biranja"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Ukloni"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Kreiraj kontakt"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Postavke poziva"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Dodaj čekanje"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Dodaj pauzu od 2 sekunde"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Tipkovnica"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Greška spajanja na mrežu"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Odabir SIM kartice za poziv"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Rezultati pretraživanja (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Hitni poziv"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Dodijeli kao br. za brzo bir."
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Postavi broj"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Šalji poruku"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Prekid"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Dodaj u Imenik"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Šifre ne odgovaraju."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN blokiran. Unesite PUK kod."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "Blokiran SIM."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Nespremljeno"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Spremljeno"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Propušteno"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Neuspješno"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Poništeno"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d stavki dnevnika izbrisat će se."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Sve stavke dnevnika bit će izbrisane."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 stavka dnevnika bit će izbrisana."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Prikaz detalja kontakta"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Pošalji broj"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Propušteni pozivi"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Obriši"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Trajanja poziva"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Propušteni pozivi"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Ne prikazuj više"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Nepoznati broj"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Nepoznato"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Odaberi sve"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Pozivi"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Jučer"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Danas"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d odabrano"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Obriši %d zapisa"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Obriši stavke dnevnika"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Obriši zapis"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Obriši"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Aktual. kontakt"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Izbriši"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Kreir. kontakt"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Prekid"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Glasovni pozivi"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videopozivi"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM kartica"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Svi pozivi"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Nakon upućivanja ili primanja poziva, zabilježit će se ovdje."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Stavke dnevnika prikazat će se ovdje nakon što uputite ili primite pozive."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "UREDI"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Unos teksta"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Neki su od vaših kontakata dupli."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "Uvezeno kontakata: %d."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kontakti povezani."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 broj uklonjen s popisa za automatsko odbijanje."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 je kontakt uvezen."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Servisni brojevi"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Format imena"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Poveži kontakte"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Kontakti za prikaz"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Postavi"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Novi"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Dodaj polje"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Uvoz kontakta..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Uvoz prekinut"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Izvoz kontakata..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Izvoz prekinut"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Kontakti uvezeni"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Kontakti izvezeni"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Svi kontakti"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Ne možete brisati kontakte iz računa samo za čitanje, ali ih možete sakriti na popisima kontakata."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Kada je Sinkronizacija uključena, ovaj će se kontakt izbrisati sa svih sinkroniziranih računa na kojima je spremljen."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Kada je uključena Sinkronizacija, ovaj kontakt i svi kontakti povezani s njim u drugim sinkroniziranim računima izbrisat će se ili sakriti ako podaci potječu iz računa samo za čitanje."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Kada je Sinkronizacija uključena, ovaj će se kontakt i svi njegovi povezani kontakti na drugim sinkroniziranim računima izbrisati."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Aktualizacija podataka o davatelju usluga..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Nemoguće dodati kontakt. Dosegnut je maksimalan broj povezivih kontakata (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Nemoguće dodati kontakte. Dosegnut je maksimalan broj povezivih kontakata (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Ovaj će kontakt biti obrisan."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Izbrisat će se ovaj kontakt i svi njegovi povezani kontakti."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Premašen je maksimalan broj stavki koje se mogu odabrati (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Premašen je maksimalni broj kontakata koji se mogu istodobno dijeliti (%1$d). Podijelit će se samo prvih %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Značajka Chamada Certa može se koristiti za identificiranje pružatelja usluge vaših kontakata i njihovo prikazivanje na vašem popisu kontakata. To možete učiniti poslije tako da pritisnete tipku izbornika i odaberete Aktualiziraj podatke o pružateljima usluge. Dodirnite U redu da identificirate pružatelje usluga svojih kontakata sada."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Dodirnite U redu za zaustavljanje uvoza kontakata sa SIM kartice."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Dodirnite U redu za zaustavljanje izvoza kontakata na %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Dodirnite Izvezi da biste odabrali kontakte za izvoz. Neki se podaci o kontaktima mogu izgubiti."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Neki ili svi kontakti možda nisu aktualizirani."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Neki kontaktni podaci mogu biti izgubljeni."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM memorija puna."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Uklanjanje..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d telefonskih brojeva je aktualizirano."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "Kontakti %d će biti obrisani."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "Kontakti (%1$d) izvezeni su u %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "Određen broj kontakata (%1$d) izvezen je u Uređaj/Imenik/Uvoz/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Memorija nedovoljna."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Novi kontakti spremit će se u Imenik na vašem uređaju."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN uključeno."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Neuspješno."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Odbaciti promjene?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Brisanje kontakata..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Brisanje kontakata poništeno. Neki su kontakti možda već obrisani."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Kontakti će se prestati uvoziti iz %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Već postoji."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Obrisat će se svi povezani kontakti."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Svi kontakti će biti obrisani."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Sve će promjene biti odbačene."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Dodavanje..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 telefonski broj je aktualiziran."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 kontakt će biti obrisan."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 kontakt uklonjen."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Posao"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Poziv"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Video poziv"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Aktualiziraj podatke o operateru"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Odvoji kontakt"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Odvoji kontakte"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Fotografiraj"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Fotografiranje"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Supružnik"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Sestra"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM kartica"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Dijeli preko"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Dijeli"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Postavke"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Odaberi iz imenika"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD kartica"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Spremi kontakt u"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Poredaj"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Ukloni"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Rođak"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Veza"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Odnosi se"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partneri"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Roditelj"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pager"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Ostalo"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organizacija"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Majka"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobitel"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Poruka"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Upravljaj favoritima"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Voditelj"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Glavni"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Prvo prezime"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Prezime"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Naslovna"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Doma"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Iz Galerije"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Prijatelj"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Prvo ime"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Ime"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN kontakt"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Faks (posao)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Faks (doma)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Otac"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Uredi"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ne prikazuj više"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Domaći partner"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Uređaj"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Prilagođeno"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Novi"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Dijete"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Brat"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Rođendan"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Pomoćnik"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Obljetnica"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Dodaj polje"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Dodaj"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Račun"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Traži"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Nema servisnih brojeva"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nema rezultata"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Nema hitnih kontakata"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Nema kontakata"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Poredaj po"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Postavite profil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Postavi moj profil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Pošalji zajedno"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Slati pojedinačno"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Pošalji kontaktne podatke"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Odaberi sve"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d kontakata"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Samo telefonski kontakti"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Uvoz"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Izvoz"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Događaj"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Prikaži kontakte s brojevima"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 kontakt"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Imenik"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB memorija nedostupna"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Nije moguće dodati"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Nije moguće dodati"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Predloženi kontakti"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Dijeli preko"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Postavljanje slike kontakta"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Postavke"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Davatelj usluga"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Pošalji kontaktne podatke"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Odaberite SIM za poziv"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Odaberite SIM karticu za poziv"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Odabir SIM kartice za poziv"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Odabir kontakta"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Odaberi"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Spremi kontakte u"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Poredak"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Ukloni"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Primarni kontakti (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Primarni kont. (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Osobni kontakti"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d odabrano"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d odabrano"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Format imena"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Najčešći kontakti"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Ja"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Upravljanje favoritima"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Imenik"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Povezani kontakti"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Uvoz imenika"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Uvoz"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favoriti"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Izvoz kontakata na SIM karticu"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Izvoz kontakata"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Izvoz"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Unos korisničkog naziva"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Hitne službe"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Hitni kontakti"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Uredi"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Prikaži imena prema"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Prikaz"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Odbaci promjene"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Obriši stavku"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Novi"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Slika kontakta"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Kontakti za prikaz"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Imenik"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Imenik izvezen"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Promjena lokacije spremanja"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Prekid uvoza"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Prekid izvoza"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Ponoviti"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Spremi"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "U redu"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Bilješke"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Više"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Izvoz"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-pošta"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Gotovo"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Odbaci"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Izbriši"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Novo"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Promijeni"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Prekid"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Dodaj račun"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Web-mjesto"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Aktualizacija popisa kontakata..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Nemoguće spremiti zbog SIM greške."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Naslov"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Ovaj će kontakt biti obrisan."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Podaci o davatelju usluga za odabrani kontakt bit će aktualizirani. Za tu je značajku potrebna mrežna veza što može uzrokovati dodatne troškove. Vrijeme potrebno za dovršavanje procesa ovisi o statusu mrežne veze."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Pokretanje SIM kartice..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Mrežni imenik"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Pojedinačno slanje posjetnica može potrajati jer ih prijemni uređaj mora prihvatiti jednu po jednu."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Slanje više kontakata zajedno smanjuje vrijeme prijenosa. Ipak, ako drugi uređaj ne podržava ovaj način, poslat će se samo jedan kontakt."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Odaberite način slanja kontaktnih podataka."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Odabrano"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Ukloni iz favorita"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Fotografija"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Tel. broj"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Fonetsko ime"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Fonetsko srednje ime"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Fonetsko prezime"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Fonetsko ime"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Drugi email"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Nema traženih rezultata"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Nema grupa"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Bilješke"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Nadimak"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Sufiks imena"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Prefiks imena"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Ime"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Moj Imenik"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Srednje ime"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Prezime"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Radno mjesto"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Uvezi sa SIM kartice"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Uvezi sa SIM2 kartice"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importiranje..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Slika"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM poruke"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ako ih je davatelj usluge unaprijed učitao na SIM karticu, servisni brojevi prikazat će se ovdje."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Ime"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Faks"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Izvoz na SIM karticu"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Izvoz na SIM2 karticu"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Izvezi na SD karticu"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Odbaci promjene"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Prijatelji"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Obitelj"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Kolege"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Kontakti koji su prepoznati kao dupli automatski će se predložiti."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Imenik"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Tvrtka"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Gumb za širenje popisa"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatskim preporukama mogu se izvući označeni dijelovi iz zvukovnih datoteka."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što stvorite kontakte, prikazat će se ovdje."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što ih dodate, kontakti će se prikazati ovdje."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Spremi u Favorite"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adresa"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Računi"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN blokiran."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Neispravan PUK2."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Neispravna PIN1 lozinka."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Dodaj postojeći kontakt"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Nema primarnih kontakata"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Primarni kontakti"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Kreiraj primarni kontakt"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Dodavanje primarnih kontakata"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Postavi datum"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Novi PIN korisnika i potvrđeni PIN nisu isti."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što stvorite primarne kontakte, prikazat će se ovdje."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Nemoguće odabrati više stavki"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Umetnite SIM karticu."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Davatelj usluge kontakta kojeg zovete je %1$s. Dodirnite U redu da biste uspostavili poziv pomoću %2$s SIM kartice."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Korištenje SIM kartice %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Trenutni SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Govornica"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Neispravan znak."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Odlazni poziv"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Dolazni poziv"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Prikazano je samo prvih %d kontakata."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Moj profil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Dodirnite ovdje za dodavanje prečaca"
+
diff --git a/main-app/res/po/hu.po b/main-app/res/po/hu.po
new file mode 100644
index 0000000..acfdbcd
--- /dev/null
+++ b/main-app/res/po/hu.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Tárcsázott számok"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Legutóbbi hívás"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Fogadott hívások"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Naplók kiválasztása"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Megtekintés"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "2. otthoni"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Áthelyezés befejezve."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Áthelyezés..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 ellenőrizve."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 ellenőrizve."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "A PIN blokkolás feloldva."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 feloldva."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 módosítva."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 blokkolva."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "A PIN1 kód módosult."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 kód blokkolva."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Hibás PIN2-kód"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Az új PIN2 és a megerősített PIN2 nem egyezik"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Helytelen PUK1 kód"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Helytelen PUK1. Még %d próbálkozása van."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Helytelen PUK2. Még %d próbálkozása van."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN megváltozott."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Névjegyek"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Fiók hozzáadása"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Nincs hely több karakternek."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Eszközök keresése..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Helytelen PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "KÉSZ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "MÉGSE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "TÖRLÉS"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Csatlakozási probléma vagy érvénytelen MMI-kód"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Privát szám"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "KÜLDÉS"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 blokkolva. Forduljon a szolgáltatóhoz (SIM PUK2 szükséges)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Nincs napló"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Hívás kezdeményezése vagy fogadása, illetve üzenet küldése vagy fogadása után megjelenik a napló."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "A SIM kártya foglalt. Próbálja meg később"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM kártya zárolva."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Nincs SIM kártya a készülékben. Helyezzen be SIM kártyát."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Hálózat vagy SIM kártya hibája."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Bekapcsolta a rezgéses visszajelzést."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Kikapcsolta a rezgéses visszajelzést."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "A szám nem hívható. A(z) %d nem segélyhívó szám."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Eltávolította a(z) %d. gyorshívó számot."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Hozzárendelte a gyorshívó számot."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Adja meg a számot."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "A PIN-nek %1$d–%2$d számjegyből kell állnia. Próbálja újra."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "A PIN2-nek %1$d–%2$d számjegyből kell állnia. Próbálja újra."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Ehhez a gyorshívó számhoz nem rendelt névjegyet. Ha szeretne hozzárendelni, érintse meg az OK gombot."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "A PIN le van tiltva. A módosítás előtt engedélyezze a PIN-t."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Hangposta"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Névj. frissít."
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Gyorsh. beállításai"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Eltávolítás"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Névjegy létreh."
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Hívásbeállítások"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Várakozás hozzáadása"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "2 másodperc szünet hozzáadása"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Bil.tyűzet"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Nem lehet kapcs. a hálózathoz"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Válasszon SIM-et a híváshoz"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Találatok (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Segélyhívás"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Hozzárend. gyorshívó számként"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Számbeállítás"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Üz. küldése"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Mégse"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Felvétel a Névjegyzékbe"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "A jelszavak nem egyeznek."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN letiltva. Írja be a PUK kódot."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM letiltva."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Mentetlen"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Mentve"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Nem fogadott"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Sikertelen"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Megszakítva"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Törölni fog %d naplóbejegyzést."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Minden naplótételt törölni fog."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Törölni fog 1 naplóbejegyzést."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Névadatok megtekintése"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Szám küldése"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Nem fogadott hívások"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Törlés"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Hívások időtartama"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Nem fogadott hívások"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Ne jelenjen meg újra"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Ismeretlen szám"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Ismeretlen"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Összes kijelölése"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Naplók"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Tegnap"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Ma"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d kijelölve"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "%d napló törlése"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Naplótételek törlése"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Napló törlése"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Törlés"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Névjegy friss."
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Törlés"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Névj. létreh."
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Mégse"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Hanghívások"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videohívások"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM kártya"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Összes hívás"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Itt jelenik majd meg az indított és fogadott hívások naplója."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Itt jelenik majd meg az indított és fogadott hívások naplója."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "SZERK."
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Szöveg beírása"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Névjegyei között duplikátumok találhatók."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d névjegyet importált."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Névjegyek csatolva."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 számot eltávolított az automatikus elutasítási listáról."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 névjegyet importált."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Szolgáltatáshívó számok"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Névformátum"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Névjegyek összekapcsolása"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Megjelenítendő névjegyek"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Beállít"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Új"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Új mező"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Névjegyek importálása..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Az importálás megszakadt"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Névjegyek exportálása..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Az exportálás megszakadt"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Importálta a névjegyeket"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Exportálta a névjegyeket"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Összes partner"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Írásvédett fiókból nem lehet névjegyet törölni, de a névjegyzékben elrejthetőek."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Ha a Szinkronizálás be van kapcsolva, akkor valamennyi szinkronizált fiókból törli a névjegyet."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Ha a Szinkronizálás be van kapcsolva, akkor törli a névjegyet és a vele összekapcsolt valamennyi névjegyet az egyéb szinkronizált fiókokból, illetve elrejti azokat, ha írásvédett fiókról van szó."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Ha a Szinkronizálás be van kapcsolva, akkor törli a névjegyet és a vele összekapcsolt valamennyi névjegyet az egyéb szinkronizált fiókokból."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Szolgáltató adatainak frissítése..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Nem lehet hozzáadni a névjegyet. Elérte a csatolható névjegyek maximális számát (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Nem lehet hozzáadni a névjegyeket. Elérte a csatolható névjegyek maximális számát (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Törli ezt a névjegyet?"
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Törli a névjegyet és a vele összekapcsolt valamennyi névjegyet."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Túllépte a kijelölhető elemek maximális számát (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Túllépte az egyszerre megosztható névjegyek maximális számát (%1$d). Csak az első %2$d névjegy megosztására kerül sor."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "A Chamada Certa funkció segítségével azonosíthatja partnerei szolgáltatóit, és megjelenítheti azokat a névjegyzékben. Ezt később megteheti a Menü gomb megnyomásával és a Szolgáltatók adatainak frissítése menüpont kiválasztásával. Érintse meg az OK gombot partnerei szolgáltatóinak azonosításához most."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "A névjegyek SIM kártyáról történő importálásának leállításához érintse meg az OK gombot."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "A névjegyek %s fájlba történő exportálásának leállításához ér. meg az OK gombot."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Az exportálni kívánt névjegyek kijelöléséhez érintse meg az Exportálás gombot. Bizonyos névjegyadatok elveszhetnek."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Lehet, hogy egy névjegy sem frissült."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Bizonyos névjegyadatok elveszhetnek."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "A SIM-memória megtelt."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Eltávolítás..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d telefonszám frissült."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d névjegyet törölni fog."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d névjegyet exportált a(z) %2$s fájlba."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d névjegyet exportált az Eszköz/Névjegyzék/Importálva/%2$s.vcf fájlba."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Kevés a memória."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Az új névjegyek az eszköz Névjegyzékébe kerülnek."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Fixlista mód bekapcsolva."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Sikertelen"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Elveti a változtatásokat?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Névjegyek törlése..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Névjegyek törlése megszakítva. Lehet, hogy bizonyos névjegyeket már töröltek."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Leáll a névjegyek importálása a(z) %s fájlból."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Már létezik."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Minden csatolt névjegyet törölni fog."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Minden névjegyet törölni fog."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Minden változtatás elvetése"
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Hozzáadás..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 telefonszám frissült."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "Törölni fog 1 névjegyet."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 névjegy eltávolítva."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Munkahelyi"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Hanghívás"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videohívás"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Szolgáltató adatainak frissítése"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Névjegy csatol. megszünt."
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Névjegyek csatolásának megszüntetése"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Kép készítése"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Fénykép készítése"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Házastárs"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Lánytestvér"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM kártya"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Megosztás"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Megosztás"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Beállítások"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Kiválasztás a névjegyzékből"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD-kártya"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Névjegy mentése"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Átrendezés"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Eltávolítás"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Rokon"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Kapcsolat"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Ajánló"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Társ"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Szülő"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Személyhívó"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Egyéb"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Szervezet"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Anya"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Üzenet"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Kedvencek kezelése"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Vezető"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Fő"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Vezetéknév áll elöl"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Vezetéknév"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Otthoni"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Otthoni"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "A Galériából"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Barát"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Utónév áll elöl"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Keresztnév"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Fixlista bejegyzés"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (munkahelyi)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (otthoni)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Apa"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Szerkesztés"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ne jelenjen meg újra"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Élettárs"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Eszköz"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Egyedi"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Létrehozás"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Gyermek"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Fiútestvér"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Születésnap"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Titkár"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Évforduló"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Mező hozzáadása"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Hozzáadás"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Fiók"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Keresés"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Nincs szolgáltatáshívó szám"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nincs találat"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Nincs segélykérési névjegy"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Nincs névjegy"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Rendezés szempontja"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Profil beállítása"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Saját profil beállítása"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Küldés egyszerre"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Egyenkénti küldés"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Névjegyadatok küldése"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Összes kijelölése"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d névjegy"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Csak ha van telefonszám"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importálás"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Exportálás"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Esemény"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Tel.számot tart. névjegyek megj."
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 névjegy"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Névjegyzék"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Nincs elérhető tárhely"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Nem adható hozzá"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Nem adható hozzá"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Javasolt névjegyek"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Megosztás"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Névjegykép beállítása"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Beállítások"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Szolgáltató"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Névjegyadatok küldése"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Válasszon SIM-et a híváshoz"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Hívásra szolgáló SIM kiválasztása"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Válasszon SIM-et a híváshoz"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Névjegy kiválasztása"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Választ"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Névjegyek mentési helye"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Átrendezés"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Eltávolít"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Kiemelt névjegyek (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Kiemelt névj. (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Személyes névjegyek"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d kijelölve"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d kijelölve"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Névformátum"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Leggyakoribb névjegyek"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Én"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Kedvencek kezelése"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Névjegyzék"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Összekapcsolt névj."
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Névj. importálása"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importálás"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Kedvencek"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Névjegyek exp. SIM kártyára"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Névjegyek exportálása"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Exportálás"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Egyéni címke megadása"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Segélyhívó szolgálat"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Segélykérési névjegyek"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Szerkesztés"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Nevek rendezésének alapja"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Megjelenítés"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Változtatások elvetése"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Tétel törlése"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Létrehoz"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Partner képe"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Megjelenítendő névjegyek"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Névjegyzék"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Névjegyek exportálva"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Mentési hely módosítása"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Importálás megszakítása"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Exportálás megszakítása"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Próbálja újra"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Mentés"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Feljegyz."
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Egyebek"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exportálás"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-mail"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Kész"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Elvetés"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Törlés"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Létrehozás"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Módosítás"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Mégse"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Fiókot h.ad"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Webhely"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Névjegyzék frissítése..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "SIM-hiba miatt nem lehet menteni."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Cím"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Törli ezt a névjegyet?"
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Frissülni fognak a kiválasztott partnerek szolgáltatóadatai. A funkció hálózati kapcsolatot igényel, és további költséggel járhat. A folyamat végrehajtásához szükséges idő a hálózati kapcsolat állapotától függ."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM kártya inicializálása..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Szolgáltató számai"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Az egyenkénti névjegyküldés hosszabb időt igényelhet, mivel a másik eszköznek egyenként el kell fogadnia a névjegyeket."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Ha több névjegyet küld egyszerre, átviteli időt takaríthat meg. Ha azonban a másik eszköz nem támogatja ezt a funkciót, akkor csak egy névjegy lesz elküldve."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Kiválaszthatja a névjegyadatok küldési módját."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Kiválasztott"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Törlés a kedvencek közül"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Fénykép"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Telefonszám"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Név fonetikusan"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Köz. név fonetikusan"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Vez.név fonetikusan"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Utónév fonetikusan"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Egyéb e-mailek"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Nincs találat"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Nincs csoport"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Jegyzetek"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Becenév"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Névutótag"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Névelőtag"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Név"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Saját névjegyzek"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Középső név"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Vezetéknév"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Beosztás"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importálás a SIM kártyáról"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importálás a SIM2 kártyáról"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importálás..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Kép"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Itt jelennek meg a szolgáltató által előre a SIM kártyára töltött szolgáltatáshívó számok, ha vannak ilyenek."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galéria"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Utónév"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Exportálás a SIM-kártyára"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Exportálás a SIM2-kártyára"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Exportálás SD-kártyára"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Változtatások elvetése"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Barátok"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Család"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Dátum"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Munkatársak"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "A másodpéldányokként azonosított névjegyeket automatikusan javasolja a program."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Névjegyek"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Cég"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Listakibontó gomb"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Az automatikus javaslás kiválaszthatja a hangfájlok legfontosabb részeit."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Itt jelennek majd meg a létrehozott névjegyek."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Itt jelennek majd meg a hozzáadott névjegyek."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Hozzáad a kedvencekhez"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Cím"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Fiókok"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN blokkolva."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Rossz PUK2-kód"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Helytelen PIN1 kód"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Meglévő névjegy hozzáadása"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Nincs kiemelt partner"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Kiemelt névjegyek"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Kiemelt névjegy létrehozása"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Kiemelt névjegyek hozzáadása"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Dátumbeállítás"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Az új PIN és a megerősített PIN nem egyezik."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Itt jelennek majd meg a létrehozott kiemelt névjegyek."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Több tétel nem jelölhető ki"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Helyezzen be SIM kártyát."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "A hívott fél szolgáltatója a(z) %1$s. Érintse meg az OK gombot, ha a hívást a(z) %2$s SIM kártya segítségével szeretné indítani."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "%s SIM kártya használata"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Jelenlegi SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Telefonfülke"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Érvénytelen karakter"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Kimenő hívás"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Bejövő hívás"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Csak az első %d névjegy látható."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Saját profil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Érintse meg parancsikon hozzáadásához"
+
diff --git a/main-app/res/po/hy.po b/main-app/res/po/hy.po
new file mode 100644
index 0000000..1d366db
--- /dev/null
+++ b/main-app/res/po/hy.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Ելքային կանչեր"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Վերջին զանգը"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Ընդունված զանգեր"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Ընտրել մատյաններ"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Դիտել ըստ"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Տուն 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Տեղափոխումն ավարտված է:"
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Տեղափոխում..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2-ը ստուգվեց:"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1-ը ստուգվեց:"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN-ի արգելափակումը հանված է:"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2-ի ագելափակումը հանված է:"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2-ը փոփոխված է:"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2-ը արգելափակված է:"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 այլագիրը փոխված է:"
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 այլագիրը կապանված է:"
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Սխալ PIN2:"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Նոր PIN2-ն ու հաստատվող PIN2-ը չեն համընկնում"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Անճիշտ PUK1 այլագիր:"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Սխալ PUK1: Մնացել է %d փորձ:"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Սխալ PUK2: Մնացել է %d փորձ:"
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN-ը փոփոխված է:"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Կոնտակտներ"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Հաշվի ավելացում"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Հասել եք նիշերի առավելագույն քանակին:"
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Սարքերը տեսածրվում են..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Սխալ PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ԱՐՎԱԾ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ԴԱԴԱՐԵՑՆԵԼ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ՎԵՐԱՑՆԵԼ"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Կապի խնդիր կամ անվավեր MMI կոդ:"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Գաղտնի համար"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ՈՒՂԱՐԿԵԼ"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2-ն արգելափակված է: Դիմեք մատակարարին (SIM PUK2 է պահանջվում):"
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Մատյաններ չկան"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Զանգ կատարելուց/ստանալուց կամ հաղորդագրություն ուղարկելուց/ստանալուց հետո կցուցադրվեն մատյանները:"
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM քարտը զբաղված է: Փորձեք ավելի ուշ"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM քարտը կողպված է:"
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIM քարտը գտնված չէ։ Մտցրե՛քSIM քարտը հեռախոսի մեջ:"
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Ցանցի կամ SIM քարտի սխալ:"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Թրթռումով հետադարձ արձագանքն ընձեռված է:"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Թրթռումով հետադարձ արձագանքը կասեցված է:"
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Անհնար է զանգահարել համարին: %d-ը հրատապ կանչի համար չէ:"
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Արագ համարի հավաքման %d հեռացվեց:"
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Արագ համար նշվեց:"
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Մուտքագրեք համարը:"
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Ձեր PIN-ը պետք է լինի %1$d-ից %2$d նիշանի: Նորից փորձեք:"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Ձեր PIN2-ը պետք է լինի %1$d-ից %2$d թիվ: Կրկին փորձեք:"
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Այս արագ հավաքման համարին վերագրված կոնտակտ չկա: Հիմա կոնտակտ վերագրելու համար թակեք OK:"
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN-ը անջատած է: Նախքան փոխելը միացրեք PIN:"
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Ձյն. փոստ"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Արդ-լ կոնտակտ"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Արագ հմրկ-ն դրվծքնր"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Հեռացնել"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Ստեղծել կոնտակտ"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Զանգի դրվածքներ"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Հավելման սպասում"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Հավելել 2 վայրկյան դադար"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Ստեղնաշար"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Անհնար է միանալ ցանցին"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Ընտրել SIM քարտ կանչի համար"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Որոնման արդյունքներ (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Արտակարգ իրավիճակի կանչ"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Նշել որպես արագ համար"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Դնել համար"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Ուղրկլ հղգրն"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Դադարեցնել"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Հավելել Կոնտակտներին"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Գաղտնաբառերը չեն համընկնում:"
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN-ը արգելափակված է: Մուտքագրեք PUK ծածկագիրը:"
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM-ը արգելափակված է:"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Չպահպանված"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Պահպանված"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Կորսված"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Չհաջողվեց"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Չեղարկված"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Մատյանի %d տարրեր կվերացվեն:"
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Մատյանի բոլոր տարրերը կվերացվեն:"
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Մատյանի 1 տարր կվերացվի:"
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Դիտել կոնտակտի տվյալները"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Ուղարկել համար"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Կորսված կանչեր"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Վերացնել"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Կանչի տևողություններ"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Կորսված կանչեր"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Այլևս ցույց չտալ"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Անհայտ համար"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Անհայտ"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Ընտրել բոլորը"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Մատյաններ"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Երեկ"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Այսօր"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d ընտրված"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Վերացրեք %d մատյան"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Վերացնել մատյանի տարրեր"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Վերացրեք մատյան"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Վերացնել"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Թրմցնել կոնտակտ"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Ջնջել"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Ստեղծել կոնտկտ"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Չեղարկել"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Ձայնականչեր"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Տեսականչեր"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM քարտ"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Բոլոր կանչերը"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Կանչեր կատարելուց կամ ստանալուց հետո դրանք կգրառվեն այստեղ:"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Կանչեր կատարելուց կամ ստանալուց հետո մատյանի տարրերը կցուցադրվեն այստեղ:"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "ԽՄԲԳՐԼ"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Մուտքի տեքստ"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Որոշ կոնտակտներ, կարծես, կրկնակներ են:"
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d կոնտակտ ներմուծվեց:"
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Կոնտակտները կապվեցին:"
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 համար հեռացվել է Ինքնաբերաբար մերժման ցանկից:"
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 կոնտակտ ներմուծվեց:"
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Ծառայության համարներ"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Անվան ձևաչափ"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Կապել կոնտակտներ"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Ցուցադրելու կոնտակտներ"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Գործադրել"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Ստղծլ"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "ԱվլցԴշտեր"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Ներմծվում են կոնտկտներ..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Ներմուծումը դադարեցվեց"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Արտհնվում են կոնտկտներ..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Արտահանումը դադարեցվեց"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Կոնտակտները ներմուծվեցին"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Կոնտակտներն արտահանվեցին"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Բոլոր կոնտակտները"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Դուք չեք կարող կոնտակտները վերացնել միայն կարդալու հաշիվներից, բայց կարող եք դրանք թաքցնել կոնտակտներում:"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Երբ Համաժամացումն ընձեռված է, այս կոնտակտը կվերացվի բոլոր համաժամացված հաշիվներից, որտեղ այն պահպանված է:"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Երբ Համաժամացումն ընձեռված է, այս կոնտակտը և այլ համաժամացված հաշիվներում դրա հետ կապված բոլոր կոնտակտները կվերացվեն, կամ դրանք կթաքցվեն, եթե տեղեկատվությունը միայն կարդալու համար նախատեսված հաշվից է:"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Երբ Համաժամացումն ընձեռված է, այս կոնտակտը և այլ համաժամացված հաշիվներում դրա բոլոր կապված կոնտակտները կվերացվեն:"
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Ծառայության մատակարարի մասին տեղեկատվությունը թարմացվում է..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Անհնար է հավելել կոնտակտ: Հղելի կոնտակտների առավ. քանակը լրացել է (%d):"
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Անհնար է հավելել կոնտակտներ: Հղելի կոնտակտների առավ. քանակը լրացել է (%d):"
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Այս կոնտակտը ջնջվելու է:"
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Այս կոնտակտը և դրա հետ կապված բոլոր կոնտակտները կվերացվեն:"
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Տարրերի առավելագույն քանակը, որոնք կարող են ընտրվել (%d), գերազանցվել է:"
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Կոնտակտների առավելագույն քանակը, որոնք հնարավոր է միաժամանակ համօգտագործել (%1$d), գերազանցվել է: Միայն առաջին %2$d-ը կհամօգտագործվի:"
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa գործառական հնարավորությունը կարող է օգտագործվել Ձեր կոնտակտների ծառայության մատակարարներին նույնականացնելու և դրանք Ձեր կոնտակտների ցանկում ցուցադրելու համար: Դա կարող եք անել ավելի ուշ՝ սեղմելով ընտրացանկի ստեղնն ու ընտրելով «Թարմացնել ծառայության մատակարարի մասին տեղեկատվությունը»: Ձեր կոնտակտների ծառայության մատակարարներին հիմա նույնականացնելու համար թակեք OK"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Թակեք OK, որպեսզի կանգնեցվի կոնտակտների ներմուծումը SIM քարտից:"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Թակեք OK, որպեսզի կանգնեցվի կոնտակտների արտահանումը %s:"
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Թակեք «Արտահանել», որպեսզի ընտրեք, թե որ կոնտակտներն արտահանել: Հնարավոր է, որ որոշ կոնտակտային տվյալներ կորչեն:"
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Հնարավոր է՝ որոշ կոնտակտներ կամ բոլորը թարմացված չլինեն:"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Հնարավոր է, որ որոշ կոնտակտային տվյալներ կորչեն:"
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM-ի հիշողությունը լիքն է:"
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Հեռացնում է..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d հեռախոսահամարներ թարմացվել են:"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d կոնտակտներ կվերացվեն:"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d կոնտակտ արտահանվել է %2$s:"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d կոնտակտ արտահանվել է դեպի Device/Contacts/Imported/%2$s.vcf:"
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Չկա բավական հիշողություն:"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Նոր կոնտակտները կպահպանվեն սարքի Կոնտակտներում:"
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN ռեժիմն ակտիվացված է:"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Ձախողվեց:"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Մերժե՞լ փոփոխությունները:"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Վերացվում են կոնտակտներ..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Կոնտակտների վերացումը դադարեցվեց: Հնարավոր է՝ որոշ կոնտակտներ արդեն վերացվել են:"
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Կոնտակտների ներմուծումը %s-ից կկանգնեցվի:"
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Արդեն գոյություն ունի:"
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Բոլոր կապված կոնտակտները կվերացվեն:"
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Բոլոր կոնտակտները կվերացվեն:"
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Բոլոր փոփոխությունները կանտեսվեն:"
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Ավելացնում է..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 հեռախոսահամար թարմացվել է:"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "Կնջվի 1 կոնտակտ:"
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 կոնտակտ հեռացվել է:"
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Աշխատանք"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Ձայնային զանգ"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Վիդեո կանչ"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Թարմացնել ծառայության մատակարարի մասին տեղեկատվությունը"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Հանել կոնտակտի կապը"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Հեռացնել կոնտակտների կապերը"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Լուսանկարել"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Լուսանկարել"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Ամուսին / կին"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Քույր"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM քարտ"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Համօգտ. հետևյալով՝"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Համօգտագործել"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Պարամետրեր"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Ընտրել կոնտակտներից"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD քարտ"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Պահել կոնտակտը"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Վերադասավորել"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Հեռացնել"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Բարեկամ"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Ազգակցական կապ"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Հղված է`"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Մասնակից"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Ծնող"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Հեռատող"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Այլ"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Կազմակերպություն"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Մայր"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Բջջային"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Հաղորդագրություն"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Կառավարել սիրվածները"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Մենեջեր"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Գլխավոր"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Նախ ազգանունը"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Ազգանուն"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Տուն"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Սկիզբ"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Պատկերասրահից"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Ընկեր"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Նախ անունը"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Անուն"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN կոնտակտ"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Ֆաքս (աշխատանքային)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Ֆաքս (տուն)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Հայր"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Խմբագրել"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Այլևս ցույց չտալ"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Կենակից"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Սարք"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Կարգավորել"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Ստեղծել"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Երեխա"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Եղբայր"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Ծննդյան օր"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Օգնական"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Տարեդարձ"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Ավելացնել դաշտ"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Ավելացնել"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Հաշիվ"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Որոնել"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Սպասարկման համարներ չկան"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Արդյունքներ չեն գտնվել"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Արտակարգ իրավիճակների կոնտակտներ չկան"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Կոնտակտներ չկան"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Տեսակավորել ըստ"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Նախադրել պրոֆիլ"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Նախադրել իմ պրոֆիլը"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Ուղարկել միասին"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Ուղարկել առանձին-առանձին"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Ուղարկել կոնտակտային տվյալներ"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Ընտրել բոլորը"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d կոնտակտ"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Միայն հռխոսով կոնտակտները"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Ներմուծել"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Արտահանել"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Իրադարձություն"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Ցուցադրել համարներով կոնտակտներ"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 կոնտակտ"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Կոնտակտներ"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB պահոցը մատչելի չէ"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Անհնար է ավելացնել"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Անհնար է ավելացնել"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Առաջարկվող կոնտակտներ"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Համօգտագործել հետևյալի միջոցով՝"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Դնել կոնտակտի նկար"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Պարամետրեր"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Ծառայության մատակարար"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Ուղարկել կոնտակտ. տվյալներ"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Ընտրել SIM կանչի համար"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Ընտրել SIM քարտը զանգահարելու համար"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Ընտրել SIM քարտ կանչի համար"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Ընտրել կոնտակտ"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Ընտրել"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Կոնտակտները պահպանել այստեղ՝"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Վերադասավորել"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Հեռացնել"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Հիմնական կոնտակտներ (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Հիմն. կնտկտներ (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Հեռախոս"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Անձնական կոնտակտներ"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d ընտրված"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d ընտրված"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Անվան ձևաչափ"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Առավել հաճախ օգտագործված կոնտակտներ"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Իմ կողմից"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Կառավարել սիրվածները"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Կոնտակտների ցանկ"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Կապված կոնտակտներ"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Ներմուծել կոնտկտներ"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Ներմուծում"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Սիրվածները"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Կոնտակտներն արտահանել SIM քարտ"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Արտահանել կոնտակտներ"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Արտահանում"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Մուտքագրել հատուկ պիտակ"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Արտակարգ իրավիճակի ծառայություններ"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Արտ. իրավիճակ. կոնտակտներ"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Խմբագրել"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Ցուցադրել անունները՝ ըստ"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Ցուցադրել"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Դեն նետել փոփոխությունները"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Վերացնել տարր"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Ստեղծել"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Կոնտակտի պատկեր"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Ցուցադրելու կոնտակտներ"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Կոնտակտներ"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Կոնտակտներն արտահանվեցին"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Փոխել պահպանման տեղը"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Դադարեցնել ներմուծումը"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Դադարեցնել արտահանումը"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Նորից փորձեք"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Պահպանել"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Հեռախոս"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "Ընտրել"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Նշումներ"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Ավելին"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Արտահանել"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Էլ. փոստ"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Արված է"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Գցել"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Ջնջել"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Ստեղծել"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Փոխել"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Չեղարկել"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Հավ-լ հաշիվ"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Կայք"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Կոնտակտների ցանկը թարմացվում է..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Անհնար է պահել SIM-ի սխալի հետևանքով:"
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Դիմելաձև"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Այս կոնտակտը ջնջվելու է:"
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Ընտրված կոնտակտների ծառայության մատակարարի մասին տեղեկատվությունը կթարմացվի: Այս գործառական հնարավորությունը պահանջում է ցանցային միացում և կարող է լրացուցիչ վճարների հանգեցնել: Գործընթացն ավարտելու համար ծախսվող ժամանակը կախված կլինի Ձեր ցանցային միացման կարգավիճակից"
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Հեռախոս"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM քարտի նույնացում..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Ծառայության համարը"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Անվանաքարտերն առանձին-առանձին ուղարկելը կարող է ավելի երկար տևել, քանի որ ստացող սարքը պետք է դրանք ընդունի մեկ առ մեկ:"
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Մի քանի կոնտակտներ միասին ուղարկելը նվազեցնում է անցման տևողությունը: Սակայն, եթե մյուս սարքը սա չի ապահովում, միայն մեկ կոնտակտ կուղարկվի:"
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Ընտրեք, թե ինչպես ուղարկել կոնտակտի տվյալները:"
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Ընտրված"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Հեռացնել սիրվածներից"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Լուսանկար"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Հեռախոսհամար"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Հնչյունական անուն"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Հնչյուն. հայրանուն"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Հնչյունական ազգանուն"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Հնչյունական անուն"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Այլ էլփոստեր"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Որոնման արդյունք չկա"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Խմբեր չկան"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Նշումներ"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Այլանուն"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Անվան վերջածանց"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Անվան նախածանց"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Անուն"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Իմ կոնտակտները"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Հայրանունը"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Ազգանուն"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Պաշտոնը"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Ներմուծել SIM քարտից"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Ներմուծել SIM2 քարտից"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Ներմուծում..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Պատկեր"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Եթե Ձեր ծառայության մատակարարը նախաբեռնված սպասարկման համարներ ունի Ձեր SIM քարտում, դրանք կցուցադրվեն այստեղ:"
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Պատկերասրահ"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Անուն"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Ֆաքս"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Արտահանել SIM քարտի մեջ"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Արտահանել SIM2 քարտի մեջ"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Արտահանել SD քարտի մեջ"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Էլ.փոստ"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Ետ բերել փոփոխությունները"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Ընկերներ"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Ընտանիք"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Ամսաթիվ"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Աշխատակիցներ"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Կոնտակտները, որոնք նույնականացվել են որպես կրկնակներ, կառաջարկվեն ինքնաբերաբար:"
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Կոնտակտներ"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Ընկերություն"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Կոճակ ցուցակի ընդարձակման համար"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Ինքնաբերական առաջարկությունները կարող են քաղվածքներ դուրս բերել ձայնային ֆայլերից:"
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Կոնտակտներ ստեղծելուց հետո դրանք կցուցադրվեն այստեղ:"
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Կոնտակտներ ավելացնելուց հետո դրանք կցուցադրվեն այստեղ:"
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Ավելացնել սիրվածներ"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Հասցե"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Հաշիվներ"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN-ը արգելափակված է:"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Սխալ PUK2 ծածկագիր:"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Անճիշտ PIN1 այլագիր:"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Ավելացնել առկա կոնտակտ"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Առաջնային կոնտակտներ չկան"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Հիմնական կոնտակտներ"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Ստղծել առաջն. կանտ-տ"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Ավելացնել առաջն. կանտ-ր"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Գործադրել ամսաթիվը"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Նոր PIN-ն ու հաստատվող PIN-ը չեն համընկնում:"
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Առաջնային կոնտակտներ ստեղծելուց հետո դրանք կցուցադրվեն այստեղ:"
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Անհնար է ընտրել ավել տարրեր"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Մտցրեք SIM քարտ:"
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "%1$s-ն այն կոնտակտի ծառայության մատակարարն է, ում զանգահարում եք: Թակեք OK, որպեսզի կանչ կատարեք %2$s SIM քարտով:"
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Օգտագործեք %s SIM քարտ"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Ընթացիկ SIM-ը"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Ավտոմատ հեռախոս"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Անվավեր պայմանանշան:"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Հեռախոս"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Ելից կանչ"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Մուտքային կանչ"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Կցուցադրվեն միայն առաջին %d կոնտակտները:"
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Իմ պրոֆիլը"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Թակեք այստեղ՝ դյուրանցում ավելացնելու համար"
+
diff --git a/main-app/res/po/is.po b/main-app/res/po/is.po
new file mode 100644
index 0000000..d97120d
--- /dev/null
+++ b/main-app/res/po/is.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Hringd símtöl"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Síðasta símtal"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Svöruð símtöl"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Velja annála"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Birta eftir"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Heima 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Færslu lokið."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Verið er að flytja..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 staðfest."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 staðfest."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN er opið."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 er opið."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2-númeri var breytt."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2-læst."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1-númerinu var breytt."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Lokað fyrir PIN1-númer."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Rangt PIN2-númer."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Nýtt PIN2-númer og staðfest PIN2-númer stemma ekki"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Rangt PUK1-númer."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Rangt PUK1-númer. %d tilraunir eru eftir."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Rangt PUK2-númer. %d tilraunir eru eftir."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN-númeri breytt."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Tengiliðir"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Bæta við reikningi"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Hámarksfjölda stafa hefur verið náð."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Leita að tækjum..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Rangt PIN-númer"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "LOKIÐ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "HÆTTA VIÐ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "EYÐA"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Vandamál í tengingu eða ógildur MMI-kóði."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Leyninúmer"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "SENDA"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2-númerið er læst. Hafðu samband við þjónustuveitu (PUK2-númer korts er nauðsynlegt)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Engar atvikaskrár"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Eftir að þú hringir/tekur við símtali eða sendir/tekur við skilaboðum verða skrár birtar."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM-kort upptekið. Reynið síðar"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM-kort er læst."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Settu SIM-kort í símann."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Símkerfis- eða SIM-kortsvilla."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Kveikt á titringssvörun."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Slökkt á titringssvörun."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Ekki er hægt að hringja í númer. %d er ekki neyðarnúmer."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Hraðvalsnúmer %d var fjarlægt."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Hraðvalsnúmeri var úthlutað."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Sláðu inn númer."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "PIN-númerið þarf að vera %1$d til %2$d tölustafir að lengd. Reyndu aftur"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2-númerið þarf að vera %1$d til %2$d tölustafir. Reyndu aftur."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Enginn tengiliður hefur verið tengdur við þetta hraðvalsnúmer. Pikkaðu á „Í lagi“ til að tengja tengilið."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN-númer hefur verið gert óvirkt. Gerðu PIN-númer virkt áður en þú breytir því."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Talhólf"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Uppfæra tengil."
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Hraðvalsstillingar"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Fjarlægja"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Nýr tengiliður"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Símtalsstillingar"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Bæta við bið"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Bæta við 2 sekúndna hléi"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Takkaborð"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Ekki er hægt að tengjast neti"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Veldu SIM-kort fyrir símtal"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Leitarniðurstöður (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Neyðarsímtal"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Úthluta sem hraðvalsnúmeri"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Velja númer"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Senda skb."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Hætta við"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Bæta við tengiliði"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Aðgangsorð stemma ekki."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN-númer er læst. Sláðu inn PUK-númer."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM-kortið er læst."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Óvistað"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Vistað"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Ósvarað"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Mistókst"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Hætt við"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d skráningaratriðum verður eytt."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Öllum skráningaratriðum verður eytt."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 skráningaratriði verður eytt."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Skoða samskiptaupplýsingar"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Senda númer"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Ósvöruð símtöl"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Eyða"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Lengd símtala"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Ósvöruð símtöl"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Ekki sýna aftur"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Óþekkt númer"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Óþekkt"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Velja allt"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Skrár"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Í gær"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Í dag"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d valin"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Eyða %d skrám"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Eyða skráningaratriðum"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Eyða skrá"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Eyða"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Uppf. tengilið"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Eyða"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Nýr tengiliður"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Hætta við"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Venjuleg símtöl"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Myndsímtöl"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM-kort"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Öll símtöl"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Símtalaskrár birtast hér eftir að þú hringir eða svarar símtölum."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Símtalaskráratriði birtast hér eftir að þú hringir eða svarar símtölum."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "BREYTA"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Rita texta"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Einhverjir tengiliðir virðast vera tvíteknir."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d tengiliðir fluttir inn."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Tengiliðir tengdir."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 númer fjarlægt af lista sjálfvirkrar höfnunar."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 tengiliður fluttur inn."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Þjónustunúmer"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Nafnasnið"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Tengja tengiliði"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Tengiliðir sem á að birta"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Stilla"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Búa til"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Bæta við reitum"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Flyt inn tengiliði..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Hætt við innflutning"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Flyt út tengiliði..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Hætt við útflutning"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Tengiliðir fluttir inn"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Tengiliðir fluttir út"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Allir tengiliðir"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Ekki er hægt að eyða tengiliðum af skrifvörðum reikningum, en hins vegar er hægt að fela þá á tengiliðalistanum."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Þegar kveikt er á samstillingu er þessum tengilið eytt af öðrum samstilltum reikningum sem hann er vistaður á."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Þegar kveikt er á samstillingu er þessum tengilið og öllum tengdum tengiliðum hans á öðrum samstilltum reikningum eytt, eða þeir faldir ef upplýsingarnar koma frá skrifvörðum reikningi."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Þegar kveikt er á samstillingu er þessum tengilið og öllum tengdum tengiliðum hans á öðrum samstilltum reikningum eytt."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Uppfæri upplýsingar um símafyrirtæki..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Ekki er hægt að bæta tengilið við. Hámarksfjölda tengiliða sem hægt er að tengja (%d) náð."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Ekki er hægt að bæta tengiliðum við. Hámarksfjölda tengiliða sem hægt er að tengja (%d) náð."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Þessum tengilið verður eytt."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Þessum tengilið og öllum tengdum tengiliðum hans verður eytt."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Hámarksfjölda atriða sem hægt er að velja (%d) hefur verið náð."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Hámarksfjölda tengiliða sem hægt er að deila í einu (%1$d) hefur verið náð. Fyrstu %2$d verður deilt."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Hægt er að nota eiginleikann Chamada Certa til að bera kennsl á símafyrirtæki tengiliða þinna og birta á tengiliðalistanum. Þú getur gert þetta seinna með því að ýta á valmyndartakkann og velja Uppfæra upplýsingar um símafyrirtæki. Pikkaðu á Í lagi til að greina símafyrirtæki tengiliðanna þinna núna."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Pikkaðu á „Í lagi“ til að hætta innflutningi tengiliða af SIM-korti."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Pikkaðu á „Í lagi“ til að hætta útflutningi tengiliða í %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Pikkaðu á „Flytja út“ til að velja tengiliði til að flytja út. Einhverjar tengiliðaupplýsingar kunna að glatast."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Ekki er víst að einhverjir eða allir tengiliðir hafi verið uppfærðir."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Einhverjar tengiliðaupplýsingar gætu glatast."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM-minni er fullt."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Verið er að fjarlægja..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d símanúmer voru uppfærð."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d tengiliðum verður eytt."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d tengiliðir voru fluttir út í %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d tengiliðir voru fluttir út í Tæki/Tengiliðir/Innflutt/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Ekki er nægt minni."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Nýir tengiliðir verða vistaðir í tengiliðum tækisins."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Kveikt á læstu skammvali."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Mistókst."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Hætta við breytingar?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Eyði tengiliðum..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Hætt við að eyða tengiliðum. Hugsanlega var þegar búið að eyða einhverjum tengiliðum."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Innflutningur tengiliða úr %s verður stöðvaður."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Er þegar til."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Öllum tengdum tengiliðum verður eytt."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Öllum tengiliðum verður eytt."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Öllum breytingum verður fleygt."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Verið er að bæta við..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "Eitt símanúmer var uppfært."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 tengilið verður eytt."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "Einn tengiliður fjarlægður."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Vinna"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Raddsímtal"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Myndsímtal"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Uppfæra upplýsingar um símafyrirtæki"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Aftengja tengilið"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Aftengja tengiliði"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Taka mynd"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Taka ljósmynd"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Maki"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Systir"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM-kort"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Deila um"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Deila"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Stillingar"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Velja úr tengiliðum"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD-kort"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Vista tengilið í"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Endurraða"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Fjarlægja"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Skyldmenni"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Tengsl"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Kallaður/kölluð"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Félagi"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Foreldri"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Símboði"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Annað"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Stofnun"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Móðir"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Farsími"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Skilaboð"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Stjórna uppáhaldi"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Yfirmaður"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Aðal"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Eftirnafn fyrst"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Eftirnafn"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Heima"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Heima"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Úr galleríi"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Vinur"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Fornafn fyrst"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Fornafn"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN-tengiliður"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (vinna)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (heima)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Faðir"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Breyta"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ekki sýna aftur"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Innlendur samstarfsaðili"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Tæki"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Sérstilla"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Búa til"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Barn"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Bróðir"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Afmælisdagur"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Aðstoðarmaður"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Afmælisdagur"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Nýr reitur"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Bæta við"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Reikningur"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Leita"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Engin þjónustunúmer"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Engar niðurstöður"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Engir neyðartengiliðir"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Engir tengiliðir"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Raða eftir"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Velja prófíl"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Velja prófíl"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Senda saman"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Senda hvert fyrir sig"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Senda tengiliðaupplýsingar"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Velja allt"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d tengiliðir"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Aðeins tengiliðir m. síma"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Flytja inn"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Flytja út"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Viðburður"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Birta tengiliði með númerum"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 tengiliður"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Tengiliðir"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB-geymsla ekki tiltæk"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Ekki hægt að bæta við"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Ekki hægt að bæta við"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Tillögur að tengiliðum"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Deila með"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Velja mynd tengiliðar"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Stillingar"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Þjónustuveita"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Senda tengiliðaupplýsingar"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Veldu SIM-kort fyrir símtöl"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Velja SIM-kort fyrir símtal"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Veldu SIM-kort fyrir símtal"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Velja tengilið"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Velja"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Vista tengiliði í"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Endurraða"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Fjarlægja"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Aðaltengiliðir (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Aðaltengiliðir (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Sími"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Persónulegir tengiliðir"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d valin"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d valið"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Nafnasnið"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Algengustu tengiliðir"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Ég"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Stjórna uppáhaldi"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Tengiliðir"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Tengdir tengiliðir"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Fl. inn tengiliði"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Innflutningur"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Eftirlæti"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Flytja tengiliði út á SIM-kort"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Flytja út tengiliði"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Útflutningur"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Sláðu inn sérsniðna merkingu"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Neyðarlína"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Neyðartengiliðir"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Breyta"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Birta nöfn eftir"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Skjár"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Hunsa breytingar"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Eyða atriði"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Búa til"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Mynd tengiliðar"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Tengiliðir sem á að birta"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Tengiliðir"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Tengiliðir fluttir út"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Breyta vistunarstaðsetningu"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Hætta við innflutning"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Hætta við útflutning"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Reyna aftur"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Vista"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Í síma"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "Í lagi"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Athugas."
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Meira"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Flytja út"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Póstur"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Lokið"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Fleygja"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Eyða"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Búa til"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Breyta"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Hætta v."
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Bæta reikn."
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Vefsvæði"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Uppfæri tengiliðalista..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Það er ekki hægt að vista vegna villu á SIM-korti."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Titill"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Þessum tengilið verður eytt."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Upplýsingar um símafyrirtæki valinna tengiliða verða uppfærðar. Þessi eiginleiki krefst netsambands og kann að hafa viðbótarkostnað í för með sér. Hversu langan tíma ferlið tekur veltur á stöðu nettengingarinnar þinnar."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Sími"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM-kort ræsing..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Þjónustunúmer"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Langan tíma getur tekið að flytja nafnspjöld hvert fyrir sig þar sem hitt tækið þarf að samþykkja hvert og eitt."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Ef margir tengiliðir eru sendir í einu dregur það úr flutningstíma. Ef hitt tækið styður þetta hins vegar ekki verður aðeins einn tengiliður sendur."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Veldu hvernig tengiliðaupplýsingar eru sendar."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Valið"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Taka úr eftirlætum"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Mynd"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Símanúmer"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Hljóðrétt nafn"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Hljóðritað millinafn"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Hljóðritað eftirnafn"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Hljóðritað fornafn"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Annar tölvupóstur"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Engar leitarniðurstöður"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Engir hópar"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Athugasemdir"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Gælunafn"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Viðskeyti nafns"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Ávarp, á undan nafni"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Heiti"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Tengiliðirnir mínir"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Millinafn"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Eftirnafn"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Starfsheiti"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Flytja inn af SIM-korti"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Flytja inn af SIM2-korti"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Verið að flytja inn..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Mynd"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "Spjall"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ef símafyrirtækið þitt hefur sett upp þjónustunúmer á SIM-kortinu þínu birtast þau hér."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Gallerí"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Fornafn"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Flytja á SIM-kort"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Flytja á SIM2-kort"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Flytja út á SD-kort"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Tölvupóstur"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Henda breytingum"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Vinir"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Fjölskylda"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Dagsetning"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Samstarfsmenn"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Sjálfkrafa verður stungið upp á tengiliðum sem hafa verið tvíteknir."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Tengiliðir"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Fyrirtæki"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Hnappur til að stækka listann"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Sjálfvirkar tillögur geta dregið helstu atriði út úr hljóðskrám."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tengiliðir birtast hér eftir að þeir eru búnir til."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tengiliðir birtast hér eftir að þeim er bætt við."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Bæta við uppáhalds"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Heimilisfang"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Reikningar"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN-læst."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Rangt PUK2-númer."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Rangt PIN1-númer."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Bæta fyrirliggj. tengilið við"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Engir aðaltengiliðir"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Aðaltengiliðir"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Búa til aðaltengilið"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Bæta við aðaltengiliðum"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Stilla dagsetningu"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Nýtt PIN-númer og staðfest PIN-númer stangast á."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Aðaltengiliðir birtast hér eftir að þeir eru búnir til."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Ekki hægt að velja meira"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Settu SIM-kort í."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Símafyrirtæki tengiliðarins sem þú ert að hringja í er %1$s. Pikkaðu á „Í lagi“ til að hringja þetta símtal með SIM-kortinu frá %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Nota SIM-kort frá %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Núverandi SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Almenningssími"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Ógildur stafur."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Sími"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Hringt símtal"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Móttekið símtal"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Aðeins fyrstu %d tengiliðirnir eru sýndir."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Forstilling notanda"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Pikkaðu hér til að bæta flýtileið við"
+
diff --git a/main-app/res/po/it_IT.po b/main-app/res/po/it_IT.po
new file mode 100644
index 0000000..1369bae
--- /dev/null
+++ b/main-app/res/po/it_IT.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Chiamate effettuate"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Ultima chiamata"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Chiamate ricevute"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Seleziona registri"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Visualizza per"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Abitazione 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Spostamento completato."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Spostamento..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "Codice PUK2 verificato."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "Codice PUK1 verificato."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN sbloccato."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 sbloccato."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 cambiato."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 bloccato."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Codice PIN1 modificato."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Codice PIN1 bloccato."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2 errato."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Il PIN2 nuovo e quello di conferma non corrispondono"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Codice PUK1 errato."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1 errato. %d tentativi rimasti."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 errato. %d tentativi rimasti."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN cambiato."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Rubrica"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Aggiungi account"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Raggiunto numero massimo di caratteri."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Ricerca dispositivi…"
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PIN errato"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FATTO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULLA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINA"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problema di connessione o codice non valido."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Numero privato"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "INVIA"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 bloccato. Contattare il fornitore (PUK2 SIM richiesto)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Nessun registro"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Dopo aver effettuato/ricevuto una chiamata o inviato/ricevuto un messaggio, verranno visualizzati i registri."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "Scheda SIM occupata. Riprovare più tardi"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Scheda SIM/RUIM bloccata."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Nessuna scheda SIM trovata. Inserire nel telefono una scheda SIM."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Errore di rete o scheda SIM."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Feedback vibrazione attivato."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Feedback vibrazione disattivato."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Impossibile chiamare questo numero. %d non è un numero di emergenza."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Numero di selezione rapida %d rimosso."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Numero di selezione rapida assegnato."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Inserisci numero."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Il codice PIN deve essere di lunghezza compresa tra %1$d e %2$d cifre. Riprovate"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Il codice PIN2 deve contenere da %1$d a %2$d cifre. Riprovate."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Nessun contatto assegnato a questo numero di selezione rapida. Toccate OK per assegnarne uno adesso."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "Il codice PIN è stato disattivato. Attivate il codice PIN prima di procedere con la modifica."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Segreteria"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Aggiorna cont."
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Impost. selez. rapida"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Rimuovi"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Crea contatto"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Impostaz. chiamata"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Aggiungi attesa"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Aggiungi pausa di 2 secondi"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Tastiera"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Imposs. connettersi alla rete"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Seleziona SIM per chiamate"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Risultati della ricerca (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Chiamata di emergenza"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Assegna come num. selez. rapida"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Imposta numero"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Invia mess."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Annulla"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Aggiungi alla Rubrica"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Password non corrispondenti."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN bloccato. Inserire codice PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM bloccata."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Non salvati"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Salvati"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Perse"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Non riuscito"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Annullato"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Verranno eliminati %d elementi del registro."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Verranno eliminati tutti gli elementi del registro."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Verrà eliminato 1 elemento del registro."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Visualizza dettagli contatto"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Invia numero"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Chiamate perse"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Elimina"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Durate chiamata"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Chiamate perse"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Non mostrare più"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Num. sconosc."
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Sconosciuto"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Seleziona tutto"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Registri"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Ieri"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Oggi"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d selezionati"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Elimina %d registri"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Elimina elementi del registro"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Elimina registro"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Elimina"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Aggiorna contatto"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Elimina"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Crea contatto"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Annulla"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Chiamate vocali"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videochiamate"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Scheda SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Tutte le chiamate"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Dopo aver effettuato o ricevuto delle chiamate, verranno registrate qui."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Dopo aver effettuato o ricevuto delle chiamate, gli elementi del registro verranno visualizzati qui."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "MODIFICA"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Inserisci testo"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Alcuni contatti sembrano essere duplicati."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d contatti importati."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contatti collegati."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 numero rimosso dall'elenco dei numeri da rifiutare automaticamente."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 contatto importato."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Numeri di servizio"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Formato nome"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Collega contatti"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contatti da visualizzare"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Imposta"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Crea"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Agg.campi"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importazione contatti..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importazione annullata"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Esportazione contatti..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Esportazione annullata"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Contatti importati"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Contatti esportati"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Tutti i contatti"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Impossibile eliminare i contatti dagli account in sola lettura, ma è possibile nasconderli in Rubrica."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Quando la sincronizzazione è attivata, questo contatto verrà eliminato da tutti gli account sincronizzati in cui è salvato."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Se la sincronizzazione è attiva, questo contatto e tutti i relativi contatti collegati in altri account sincronizzati verranno eliminati o nascosti se le informazioni provengono da un account in sola lettura."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Quando la sincronizzazione è attivata, verranno eliminati questo contatto e tutti i contatti ad esso collegati in altri account sincronizzati."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Aggiornamento delle info sul fornitore di servizi in corso..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Impossibile aggiungere il contatto. Il numero massimo di contatti che è possibile collegare (%d) è stato raggiunto."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Impossibile aggiungere i contatti. Raggiunto numero massimo (%d) di contatti che potete collegare."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Questo contatto sarà eliminato."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Questo contatto e tutti i relativi contatti collegati verranno eliminati."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Il numero massimo di elementi che potete selezionare (%d) è stato superato."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Il numero massimo di contatti che potete condividere contemporaneamente (%1$d) è stato superato. Verranno condivisi soltanto i primi %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Potete utilizzare la funzione Chamada Certa per identificare i fornitori dei servizi dei contatti e visualizzarli nell'elenco dei contatti. Potete effettuare quest'operazione in seguito premendo il tasto del menu e selezionando Aggiorna informazioni fornitore di servizi. Toccate OK per identificare subito i fornitori di servizi dei contatti."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Toccate OK per arrestare l'importazione dei contatti dalla scheda SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Toccate OK per arrestare l'esportazione dei contatti su %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Toccate Esporta per selezionare i contatti da esportare. Alcune informazioni di contatto potrebbero andare perse."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Alcuni o tutti i contatti potrebbero non essere stati aggiornati."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Alcune informazioni contatto potrebbero andare perse."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Memoria SIM piena."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Rimozione..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "Sono stati aggiornati %d numeri di telefono."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d contatti verranno eliminati."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d contatti sono stati esportati in %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d contatti sono stati importati su Dispositivo/Rubrica/Importati/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Memoria insufficiente."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "I nuovi contatti verranno salvati nella Rubrica sul dispositivo."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Modo FDN attivato."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Errore"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Annullare le modifiche?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Eliminazione contatti in corso..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Eliminazione dei contatti annullata. Alcuni contatti potrebbero essere già stati eliminati."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "L'importazione dei contatti da %s verrà arrestata."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Già esiste."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Tutti i contatti collegati saranno eliminati."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Tutti i contatti verranno eliminati."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Tutte le modifiche saranno ignorate."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Aggiunta in corso..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "È stato aggiornato 1 numero di telefono."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 contatto sarà eliminato."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contatto rimosso."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Ufficio"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Chiamata vocale"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videochiamata"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Aggiorna informazioni fornitore di servizi"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Scollega contatto"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Scollega contatti"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Scatta una foto"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Scatta foto"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Coniuge"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Sorella"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Scheda SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Condividi con"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Condividi"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Impostaz."
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Seleziona da rubrica"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Scheda SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Salva contatto in"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Riordina"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Rimuovi"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Parente"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relazione"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "In base a"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Genitore"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Cercapersone"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Altri"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organizzazione"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Madre"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Cellulare"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Messaggio"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Gestisci preferiti"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Responsabile"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Principale"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Prima il cognome"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Cognome"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Casa"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Casa"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Dalla Galleria"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Amico/a"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Prima il nome"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Nome"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Contatto FDN"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (ufficio)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (Casa)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Padre"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Modifica"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Non mostrare più"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Convivente"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Dispositivo"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Personalizzato"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Crea"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Bambino"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Fratello"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Compleanno"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistente"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Anniversario"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Aggiungi campo"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Aggiungi"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Account"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Cerca"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Nessun numero di servizio"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nessun risultato trovato"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Nessun contatto di emergenza"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Nessun contatto"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Ordina per"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Imposta profilo"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Imposta profilo personale"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Invia insieme"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Invia singolarmente"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Invia dati di contatto"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Seleziona tutto"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contatti"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Solo contatti telefonici"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importa"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Esporta"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Evento"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Visualizza contatti con numeri"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contatto"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Rubrica"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Memoria USB non disponibile"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Impossibile aggiungere"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Impossibile aggiungere"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Contatti suggeriti"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Condividi con"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Imposta foto contatto"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Impostaz."
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Fornitore di servizi"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Invia dati di contatto"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Seleziona SIM per chiamata"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Selezionate la scheda SIM per le chiamate"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Seleziona SIM per chiamate"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Seleziona contatto"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Seleziona"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Salva contatti in"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Riordina"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Rimuovi"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Contatti di emergenza (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Contatti emerg. (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefono"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Rubrica personale"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d selezionati"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d selezionati"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Formato nome"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Contatti più frequenti"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Me stesso"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Gestisci preferiti"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Elenco contatti"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Contatti collegati"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importa contatti"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importazione"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Preferiti"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Esporta contatti su scheda SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Esporta contatti"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Esportazione"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Ins. etichetta personalizzata"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Servizi di emergenza"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Contatti emergenza"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Modifica"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Visualizza nomi per"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Visualizza"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Annulla modifiche"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Elimina elemento"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Crea"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Immagine contatto"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contatti da visualizzare"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Rubrica"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Contatti esportati"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Modifica percorso salvataggio"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Annulla importazione"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Annulla esportazione"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Riprovare"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Salva"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefono"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Note"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Altro"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Esporta"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-mail"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Fatto"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Ignora"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Elimina"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Crea"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Cambia"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Annulla"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Agg. account"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Sito Web"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Aggiornamento elenco contatti in corso..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Errore SIM. Impossibile salvare."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Titolo"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Questo contatto sarà eliminato."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Le informazioni relative al fornitore di servizi dei contatti selezionati verranno aggiornate. Questa funzione richiede una connessione dati attiva e può comportare addebiti aggiuntivi. Il tempo impiegato per il completamento del processo dipende dallo stato della connessione di rete."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefono"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Inizializzazione scheda SIM in corso..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Numero servizio"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "L'invio di singoli biglietti da visita potrebbe richiedere più tempo perché il dispositivo che li riceve deve accettarli uno alla volta."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "L'Invio contemporaneo di più contatti riduce il tempo di trasmissione. Tuttavia, se l'altro dispositivo non supporta questa funzione, verrà inviato un solo contatto."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Selezionate la modalità di invio delle informazioni dei contatti."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Selezionato"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Rimuovi dai preferiti"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Foto"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Nr. telefono"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Nome fonetico"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Secon. nome fonetico"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Cognome fonetico"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Fonetica nome"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Altre e-mail"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Nessun risultato ricerca"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Nessun gruppo"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Note"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Soprannome"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Suffisso nome"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Prefisso nome"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Nome"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Contatti personali"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Secondo nome"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Cognome"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Mansione"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importa da scheda SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importa da scheda SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importazione..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Immagine"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "I numeri di servizio presenti sulla scheda SIM verranno visualizzati qui se il gestore telefonico li ha precaricati."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galleria"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Nome"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Esporta su scheda SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Esporta su scheda SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Esporta su scheda SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Scarta modifiche"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Amici"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Famiglia"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Colleghi"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "I contatti identificati come duplicati verranno suggeriti automaticamente."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Rubrica"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Azienda"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Pulsante di espansione dell'elenco"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Potete estrarre le parti selezionate dai file audio tramite i suggerimenti automatici."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "I contatti verranno visualizzati qui dopo essere stati creati."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "I contatti verranno visualizzati qui dopo essere stati aggiunti."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Aggiungi a Preferiti"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Indirizzo"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Account"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN bloccato."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 errato."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Codice PIN1 errato."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Aggiungi contatto esistente"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Nessun contatto di emergenza"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Contatti di emergenza"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Crea contatto principale"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Aggiungi contatti di emergenza"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Imposta data"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Il PIN nuovo e quello di conferma non corrispondono."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "I contatti di emergenza verranno visualizzati qui dopo essere stati creati."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Imposs. selez. altri elementi"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Inserite la scheda SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Il gestore telefonico del contatto che state chiamando è %1$s. Toccate OK per effettuare questa chiamata utilizzando la scheda SIM %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Usa scheda SIM %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "SIM corrente"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Telefono pubblico"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Carattere non valido."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telef."
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Chiamata in uscita"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Chiamata in arrivo"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Sono visualizzati solo i primi %d contatti."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Profilo personale"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Toccate qui per aggiungere il collegamento"
+
diff --git a/main-app/res/po/ja_JP.po b/main-app/res/po/ja_JP.po
new file mode 100644
index 0000000..d46561b
--- /dev/null
+++ b/main-app/res/po/ja_JP.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "発信"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "直前の通話"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "着信"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "履歴を選択"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "表示設定"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "ホーム 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "移動が完了しました。"
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "移動中..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2が認証されました。"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1が認証されました。"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PINがブロック解除されました。"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2ロックを解除しました。"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2を変更しました。"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2ブロックされました。"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1​が​変更​され​ました。"
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1がブロックされました。"
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2が間違っています。"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "新しいPIN2と確認用PIN2が一致しません。"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "PUK1が正しくありません。"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1が正しくありません。残りの試行回数は%d回です。"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2が正しくありません。残りの試行回数は%d回です。"
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PINが変更されました。"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "電話帳"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "アカウント追加"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "最大文字数に達しました。"
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "デバイスをスキャン中..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PINが正しくありません。"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完了"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "キャンセル"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "削除"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "接続エラーまたはMMIコードが正しくありません。"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "非通知"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "送信"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2はブロックされています。プロバイダに連絡してください。(SIM PUK2が必要です)"
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "履歴がありません"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "電話を発着信するか、メッセージを送受信した後に、履歴が表示されます。"
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIMカードが使用中です。完了後に操作してください。"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIMカードがロックされています。"
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIMカードが見つかりません。 SIMカードを挿入してください。"
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "ネットワークまたはSIMカードのエラーです。"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "バイブフィードバックを有効にしました。"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "バイブフィードバックを無効にしました。"
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "番号に発信できません。%dは緊急番号ではありません。"
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "スピードダイヤル番号%dを削除しました。"
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "スピードダイヤル番号を割り当てました。"
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "番号を入力してください。"
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "PINは%1$d~%2$d桁である必要があります。再度入力してください。"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2は、%1$d~%2$d桁である必要があります。再度入力してください。"
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "このスピードダイヤル番号に割り当てた連絡先はありません。今すぐ割り当てるには、[OK]をタップしてください。"
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PINが無効になっています。PINを変更する前に、PINを有効にしてください。"
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "留守電"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "連絡先を更新"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "スピードダイヤル設定"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "削除"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "連絡先を登録"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "通話設定"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "ウェイトを追加"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "2秒間のポーズを追加"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "キーパッド"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "ネットワーク接続不可"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "通話用のSIMカードを選択"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "検索結果(%d件)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "緊急通報"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "スピードダイヤル番号として割り当て"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "番号を設定"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "メッセージ送信"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "キャンセル"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "連絡先に追加"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "パスワードが一致しません。"
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PINがブロックされました。PUKを入力してください。"
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIMがブロックされました。"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "未登録"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "保存済み"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "不在着信"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "通話失敗"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "取り消し"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d件の履歴を削除します。"
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "全ての履歴を削除します。"
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1件の履歴を削除します。"
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "連絡先の詳細を表示"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "番号を送信"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "不在着信"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "削除"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "通話時間"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "不在着信"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "今後表示しない"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "非通知番号"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "不明"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "全て選択"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "履歴"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "昨日"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "今日"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d件選択"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "%d件の履歴を削除"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "履歴を削除"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "履歴を削除"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "削除"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "連絡先を更新"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "削除"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "連絡先を作成"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "キャンセル"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "音声通話"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "ビデオコール"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIMカード"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "全ての通話"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "電話の発着信の履歴がここに表示されます。"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "電話の発着信の履歴がここに表示されます。"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "編集"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "文字を入力"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "内容が重複している連絡先があります。"
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d件の連絡先をインポートしました。"
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "連絡先をリンクしました。"
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1件の番号を自動着信拒否リストから削除しました。"
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1件の連絡先をインポートしました。"
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "サービス番号"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "名前の表示形式"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "連絡先をリンク"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "表示する連絡先"
+
+msgid "IDS_PB_SK_SET"
+msgstr "設定"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "作成"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "フィールドを追加"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "連絡先をインポート中..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "インポートをキャンセル"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "連絡先をエクスポート中..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "エクスポートをキャンセル"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "連絡先のインポート完了"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "連絡先のエクスポート完了"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "全ての連絡先"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "読み込み専用アカウントから連絡先を削除することはできませんが、それらを非表示にすることはできます。"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "同期が有効な場合、この連絡先が保存されている全ての同期済みアカウントからこの連絡先を削除します。"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "同期が有効な場合、同期済みアカウントからこの連絡先およびリンクされている全ての連絡先を削除します。また、読み取り専用アカウントからの情報である場合は、非表示にします。"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "同期が有効な場合、同期済みアカウントからこの連絡先およびリンクされている全ての連絡先を削除します。"
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "サービスプロバイダの情報を更新中..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "連絡先を追加できません。リンク可能な連絡先の最大件数(%d件)に達しました。"
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "連絡先を追加できません。リンク可能な連絡先の最大件数(%d件)に達しました。"
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "この連絡先を削除します。"
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "この連絡先およびリンクされている全ての連絡先を削除します。"
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "選択可能なアイテムの最大数(%d件)に達しました。"
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "一度に共有できる連絡先の最大数(%1$d件)に達しました。最初の%2$d件のみ共有します。"
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa機能を使用すると、連絡先のサービスプロバイダを特定して連絡先リストに表示します。メニューキーを押し、[サービスプロバイダ情報を更新]を選択して後で実行することもできます。今すぐサービスプロバイダを特定するには[OK]をタップしてください。"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "SIMカードからの連絡先のインポートを停止するには、[OK]をタップしてください。"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "%sへの連絡先のエクスポートを停止するには、[OK]をタップしてください。"
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "[エクスポート]をタップして連絡先を選択してください。一部の連絡先情報が失われる可能性があります。"
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "一部または全ての連絡先が更新されていない可能性があります。"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "連絡先情報の一部が失われる可能性があります。"
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIMメモリがいっぱいです。"
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "削除中..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d件の電話番号が更新されました。"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d件の連絡先を削除します。"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d件の連絡先を%2$sにエクスポートしました。"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d件の連絡先をDevice/Contacts/Imported/%2$s.vcfにエクスポートしました。"
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "メモリが不足しています。"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "新しい連絡先を端末の連絡先に保存します。"
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDNモードが有効になりました。"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "失敗しました。"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "変更を破棄しますか?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "連絡先を削除中..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "連絡先の削除をキャンセルしました。一部の連絡先は既に削除された可能性があります。"
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "%sからの連絡先のインポートを停止します。"
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "既に登録されています。"
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "リンクした連絡先を全て削除します。"
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "全ての連絡先を削除します。"
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "全ての変更を破棄します。"
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "追加中..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1件の電話番号が更新されました。"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1件の連絡先を削除します。"
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1件の連絡先が削除されました。"
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "勤務先"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "音声通話"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "ビデオコール"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "サービスプロバイダ情報を更新"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "連絡先のリンク解除"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "連絡先のリンク解除"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "写真を撮影"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "カメラを起動"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "配偶者"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "姉妹"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIMカード"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "共有"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "共有"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "連絡先から選択"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "外部SDカード"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "連絡先の保存先"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "並べ替え"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "削除"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "親戚"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "関係"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "紹介者"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "パートナー"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "親"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "ポケベル"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "その他"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "所属"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "母親"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "モバイル"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "メッセージ"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "お気に入りを管理"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "マネージャー"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "主音声"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "姓を先に表示"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "姓"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "自宅"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "自宅"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "ハングアウト"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "ギャラリーの画像"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "友達"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "名前を先に表示"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "名"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN連絡先"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "FAX(勤務先)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "FAX(自宅)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "父親"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "編集"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "今後表示しない"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "同居人"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "デバイス"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "カスタム"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "作成"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "子供"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "兄弟"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "誕生日"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "アシスタント"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "記念日"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "フィールドを追加"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "追加"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "アカウント"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "検索"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "サービス番号がありません"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "検索結果がありません"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "緊急連絡先がありません"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "連絡先がありません"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "並べ替え"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "プロフィールを設定"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "マイプロフィールを設定"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "同時に送信"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "個別に送信"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "連絡先情報を送信"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "全て選択"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d件の連絡先"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "電話番号がある連絡先"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "インポート"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "エクスポート"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "イベント"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "電話番号が登録された連絡先を表示"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1件の連絡先"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "連絡先"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "ユーザーメモリ(本体)使用不可"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "追加不可"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "追加不可"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "おすすめの連絡先"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "共有"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "連絡先の画像を設定"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "サービスプロバイダ"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "連絡先情報を送信"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "通話用のSIMを選択"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "通話用のSIMカードを選択"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "通話用のSIMカードを選択"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "連絡先を選択"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "選択"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "連絡先の保存先"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "並べ替え"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "削除"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "主要連絡先(%d件)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "主要連絡先(%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "電話"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "個人連絡先"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d件選択"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d件選択"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "名前の表示形式"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "最もよく使う連絡先"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "自分"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "お気に入りを管理"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "連絡先リスト"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "リンクした連絡先"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "連絡先をインポート"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "インポート"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "お気に入り"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "連絡先をSIMカードにエクスポート"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "連絡先をエクスポート"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "エクスポート"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "カスタムラベルを入力"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "緊急サービス"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "緊急連絡先"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "編集"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "名前の表示順序"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "表示"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "変更を破棄"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "アイテムを削除"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "作成"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "連絡先の画像"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "表示する連絡先"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "連絡先"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "連絡先のエクスポート完了"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "保存場所を変更"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "インポートをキャンセル"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "エクスポートをキャンセル"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "再試行"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "保存"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "電話"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "ノート"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "もっと見る"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "エクスポート"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Eメール"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "完了"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "破棄"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "削除"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "作成"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "変更"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "キャンセル"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "アカウントを追加"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Webサイト"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "連絡先リストを更新中..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "SIMエラーにより保存できません。"
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "タイトル"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "この連絡先を削除します。"
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "選択した連絡先のサービスプロバイダ情報が更新されます。この機能はネットワーク接続を必要とし、追加料金が発生する可能性があります。処理の完了に必要な時間はネットワークの接続状態によって異なります。"
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "電話"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIMカードを初期化中..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "サービス番号"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "連絡先を個別に送信すると、受信側の端末が1件ずつ受信するため、時間がかかる可能性があります。"
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "複数の連絡先を同時に送信して、送信する時間を短縮することができます。ただし、送信先の端末がこの機能に対応していない場合、連絡先は1件のみ送信されます。"
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "連絡先情報を送信する方法を選択してください。"
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "選択"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "お気に入りから削除"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "画像"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "電話番号"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "よみがな"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "よみがな(ミドルネーム)"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "よみがな(姓)"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "よみがな(名)"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "その他のEメール"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "検索結果がありません。"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "グループがありません。"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "メモ"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "ニックネーム"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "敬称(名前の後)"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "敬称(名前の前)"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "名前"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "連絡先"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "ミドルネーム"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "姓"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "役職"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "SIMカードからインポート"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "SIM2カードからインポート"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "インポート中..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "画像"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "メッセンジャー"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "プリロードされたサービスプロバイダのサービス番号がSIMカードにある場合、ここに表示されます。"
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "ギャラリー"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "名"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "FAX"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "SIMカードにエクスポート"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "SIM2カードにエクスポート"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "外部SDカードにエクスポート"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Eメール"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "変更を破棄"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "友だち"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "家族"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "日付"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "同僚"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "連絡先の情報が重複している連絡先が自動的におすすめされます。"
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "電話帳"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "会社"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "リストを展開するボタンです。"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "自動ピックアップ機能でサウンドファイルからハイライト部分を抽出"
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "連絡先を作成すると、ここに表示されます。"
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "連絡先を追加すると、ここに表示されます。"
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "お気に入りに追加"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "住所"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "アカウント"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB型"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PINがブロックされました。"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2が正しくありません"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "PIN1が正しくありません。"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "既存の連絡先を追加"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "主要連絡先がありません"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "主要連絡先"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "主要連絡先を作成"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "主要連絡先を追加"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "日付設定"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "新しいPINと確認用PINが一致しません。"
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "主要連絡先を作成すると、ここに表示されます。"
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "アイテムの選択件数超過"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "SIMカードを挿入してください。"
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "発信先の連絡先のサービスプロバイダは%1$sです。%2$sのSIMカードで電話をかけるには、[OK]をタップしてください。"
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "%sのSIMカードを使用"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "現在のSIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "公衆電話"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "無効な文字です。"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "電話"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "発信"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "音声着信"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "最初の%d件の連絡先のみ表示されます。"
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "プロフィール"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "ショートカットを追加するには、ここをタップしてください"
+
diff --git a/main-app/res/po/ka.po b/main-app/res/po/ka.po
new file mode 100644
index 0000000..6a152a2
--- /dev/null
+++ b/main-app/res/po/ka.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "აკრეფილი ზარები"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "ბოლო ზარი"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "შემოსული ზარები"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "აირჩიეთ ჩანაწერთა ჟურნალები"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "დათვალიერება პარამეტრით"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "სახლი 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "გადატანა დასრულდა."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "გადატანა..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 დადასტურდა."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 დადასტურდა."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN დებლოკირებულია."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 განიბლოკა."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 შეიცვალა."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "დაბლოკილია PIN2-ით."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 კოდი შეიცვალა."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 კოდი დაიბლოკა."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "არასწორი PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "ახალი PIN2 და დასადასტურებლად ჩაწერილი PIN2 არ თანხვდება"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "PUK1 კოდი არასწორია."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1 არასწორია. დარჩენილია %d ცდა."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 არასწორია. დარჩენილია %d ცდა."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN შეცვლილია."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "კონტაქტები"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "ანგარიშის დამატება"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "მიღწეულია სიმბოლოების მაქსიმალური რაოდენობა."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "მოწყობილობების ძებნა..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PIN არასწორია"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "მზადაა"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "გაუქმება"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "წაშლა"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "დაკავშირების პრობლემაა, ან MMI კოდი არასწორია."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "პირადი ნომერი"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "გაგზავნა"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 დაიბლოკა. დაუკავშირდით პროვაიდერს (საჭიროა SIM PUK2)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "ჟურნალები არ არის"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "მას შემდეგ რაც განახორციელებთ/მიიღებთ ზარს ან გაგზავნით/მიიღებთ წერილს, გამოჩნდება ჟურნალები."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM ბარათი დაკავებულია. მოგვიანებით ცადეთ"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM ბარათი დაბლოკილია."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIM ბარათი ვერ მოიძებნა. გთხოვთ, ჩადოთ SIM ბარათი ტელეფონში."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "ქსელის ან SIM ბარათის შეცდომა."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "ვიბრაციით რეაგირება ჩართულია."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "ვიბრაციით რეაგირება გამორთულია."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "ნომერზე ვერ ირეკება. %d არ არის საგანგებო ნომერი."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "ღილაკზე მინიჭებულია ნომერი %d წაიშალა."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "ღილაკზე მინიჭებულია ნომერი."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "შეიყვანეთ ნომერი."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "PIN უნდა შეიცავდეს %1$d-%2$d ციფრს. კიდევ მოსინჯეთ."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2 უნდა შეიცავდეს %1$d-%2$d ციფრს. კიდევ მოსინჯეთ."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "კონტაქტი არ არის მინიჭებული სწრაფი დარეკვის ამ ღილაკისთვის. შეეხეთ OK-ს, რომ მიანიჭოთ ახლა."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN გამოირთო. გაააქტიურეთ PIN, სანამ შეცვლით."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "ხმ. ფოსტა"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "განახლება"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "სწრაფი დარეკვა"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "წაშლა"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "ახალი კონტაქტი"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "ზარის პარამეტრები"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "მოცდის დამატება"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "2-წამიანი პაუზის დამატება"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "კლავიატურა"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "ქსელს ვერ უკავშირდება"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "დასარეკად აირჩიეთ SIM ბარათი"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "ძებნის შედეგები (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "საგანგებო ზარი"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "მიანიჭეთ ნომერი ღილაკს"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "ნომრის შერჩევა"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "წერილ. გაგზ."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "გაუქმება"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "კონტაქტებში დამატება"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "პაროლები არ ემთხვევა."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN დაბლოკილი. ჩაწერეთ PUK კოდი."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM დაიბლოკა."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "შეუნახავი"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "შენახული"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "აკლია"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "არ შესრულდა"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "გაუქმდა"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "ჟურნალის %d ჩანაწერი წაიშლება."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "ჟურნალის ყველა ელემენტი წაიშლება."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "ჟურნალის 1 ჩანაწერი წაიშლება."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "იხილეთ საკონტაქტო მონაცემები"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "ნომრის გაგზავნა"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "გამოტოვებული ზარები"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "წაშლა"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "ზარის ხანგრძლივობა"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "გამოტოვებული ზარები"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "აღარ მაჩვენო"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "უცნობი ნომერი"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "უცნობი"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "ყველას არჩევა"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "ჟურნალი"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "გუშინ"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "დღეს"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d არჩეულია"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "%d ჟურნალის წაშლა"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "ჟურნალის ელემენტების წაშლა"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "ჟურნალის წაშლა"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "წაშლა"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "განახლება"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "წაშლა"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "ახალი კონტაქტი"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "გაუქმება"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "ხმოვანი ზარები"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "ვიდეოზარები"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM ბარათი"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "ყველა ზარი"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "ზარების გაგზავნის ან მიღების შემდეგ, შესაბამისი ჩანაწერი გამოჩნდება აქ."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "ზარების გაგზავნის ან მიღების შემდეგ, ჟურნალის ჩანაწერები გამოჩნდება აქ."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "შეცვლა"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "შეყვანილი ტექსტი"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "როგორც ჩანს, ზოგიერთი თქვენი კონტაქტი დუბლირებულია."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "გადმოტანილია %d კონტაქტი."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "კონტაქტები მიება."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "ავტომატურად უარყოფითა სიიდან ამოღებულია 1 ნომერი."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "გადმოტანილია 1 კონტაქტი."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "სერვისის ნომრები"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "სახელის ფორმატი"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "კონტაქტების გადაბმა"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "საჩვენებელი კონტაქტები"
+
+msgid "IDS_PB_SK_SET"
+msgstr "დაყენება"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "შექმნა"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "ველ. დამ."
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "კონტაქტების გადმოტანა..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "გადმოტანა გაუქმდა"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "კონტაქტების გადატანა..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "გადატანა გაუქმდა"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "კონტაქტები გადმოტანილია"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "კონტაქტები გადატანილია"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "ყველა კონტაქტი"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "იმ ანგარიშებიდან, რომელთა მხოლოდ წაკითხვა შეიძლება, ვერ წაშლით კონტაქტებს, მაგრამ შეგიძლიათ დამალოთ ისინი კონტაქტებში."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "როდესაც გააქტიურდება სინქრონიზაცია, ეს კონტაქტი წაიშლება ყველა დასინქრონებული ანგარიშიდან, რომელშიც შენახულია იგი."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "როდესაც გააქტიურდება სინქრონიზაცია, ეს კონტაქტი და მასზე მიბმული დასინქრონებული მეორე ანგარიშის ყველა კონტაქტი წაიშლება, ან დაიმალება, თუ ინფორმაცია მიღებულია მხოლოდ წაკითხვის უფების მქონე ანგარიშიდან."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "როდესაც გააქტიურდება სინქრონიზაცია, წაიშლება ეს კონტაქტი და მასზე მიბმული დასინქრონებული მეორე ანგარიშის ყველა კონტაქტი."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "მიმდინარეობს მომსახურების მომწოდებლის ინფორმაციის განახლება..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "კონტაქტის დამატება შეუძლებელია. მიღწეულია მიბმადი კონტაქტების მაქსიმალური რაოდენობა (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "კონტაქტები ვერ ემატება. მიღწეულია მიბმადი კონტაქტების მაქსიმალური რაოდენობა (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "ეს კონტაქტები წაიშლება."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "ეს კონტაქტი და მასზე მიბმული ყველა კონტაქტი წაიშლება."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "გადაჭარბებულია შესარჩევი ელემენტების შესაძლო მაქსიმალური რაოდენობა (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "გადაჭარბებულია ერთდროულად გასაზიარებელი კონტაქტების მაქსიმალური რაოდენობა (%1$d). მხოლოდ პირველი %2$d გაზიარდება."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa ფუნქციის გამოყენებით შეგიძლიათ გაიგოთ თქვენი კონტაქტების მომსახურების მომწოდებლები და გამოაჩინოთ კონტაქტების სიაში. ამის გასაკეთებლად, შეგიძლიათ მოგვიანებით დააჭიროთ მენიუს ღილაკს და აირჩიოთ მომსახურების მომწოდებლის ინფორმაციის მიღება. შეეხეთ OK-ს და გაიგეთ თქვენი კონტაქტების მომსახურების მომწოდებლები ახლა"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "შეეხეთ OK-ს, რომ შეწყვიტოთ კონტაქტების გადმოტანა SIM ბარათიდან."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "შეეხეთ OK-ს, რომ გადაიტანოთ ტელეფონი ადგილზე: %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "შეეხეთ „გადატანა“-ს და აირჩიეთ გადასატანი კონტაქტები. ზოგიერთი საკონტაქტო ინფორმაცია შეიძლება დაიკარგოს."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "ზოგიერთი ან ყველა კონტაქტი არ განახლდა."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "ზოგიერთი საკონტაქტო ინფორმაცია შეიძლება დაიკარგოს."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM მეხსიერება გაივსო."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "იშლება..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "განახლდა %d ტელეფონის ნომერი."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d კონტაქტი წაიშლება."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d კონტაქტი გაიგზავნა ადგილზე: %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d კონტაქტი გაიგზავნა ადგილზე: Device/Contacts/Imported/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "მეხსიერება არ არის საკმარისი."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "ახალი კონტაქტები შეინახება მოწყობილობის კონტაქტებში."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN რეჟიმი აქტივირებულია."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "ვერ შესრულდა."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "უარყოფთ ცვლილებებს?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "სრულდება კონტაქტების წაშლა..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "კონტაქტების წაშლა გაუქმდა. შესაძლოა, ზოგიერთი კონტაქტი უკვე წაიშალა."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "შეწყდება კონტაქტების გადმოტანა ადგილიდან: %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "უკვე არის."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "ყველა დაკავშირებული კონტაქტი წაიშლება."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "ყველა კონტაქტი წაიშლება."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "ყველა ცვლილება გაუქმდება."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "ემატება..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "განახლდა 1 ტელეფონის ნომერი."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 კონტაქტი წაიშლება."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "წაიშალა 1 კონტაქტი."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "სამსახური"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "ხმოვანი ზარი"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "ვიდეოზარი"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "მომსახურების მომწოდებლის ინფორმაციის მიღება"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "ბმულის მოხსნა კონტაქტზე"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "ბმულის მოხსნა კონტაქტებზე"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "სურათის გადაღება"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "ფოტოს გადაღება"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "მეუღლე"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "და"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM ბარათი"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "გაზიარება მეთოდით"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "გაზიარება"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "პარამეტრები"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "აირჩიე კონტაქტებიდან"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SDბარათი"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "კონტაქტის შენახვა ადგილზე:"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "გადალაგება"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "წაშლა"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "ნათესავი"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "ურთიერთობა"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "შემომთავაზებელი"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "პარტნიორი"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "მშობელი"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "პეიჯერი"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "სხვა"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "ორგანიზაცია"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "დედა"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "მობილური"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "შეტყობინება"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "ფავორიტების მართვა"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "მენეჯერი"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "მთავარი"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "ჯერ გვარი"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "გვარი"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "საწყისი გვერდი"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "საწყისი გვერდი"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "გალერეიდან"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "მეგობარი"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "ჯერ სახელი"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "სახელი"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN კონტაქტი"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "ფაქსი (სამსახურის)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "ფაქსი (სახლის)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "მამა"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "რედაქტირება"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "აღარ მაჩვენო"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "საშინაო პარტნიორი"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "მოწყობილობა"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "შერჩეული"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "შექმნა"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "ბავშვი"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "ძმა"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "დაბადების დღე"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "დამხმარე"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "იუბილე"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "ველის დამატება"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "დამატება"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "ანგარიში"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "ძებნა"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "მომსახურების ნომრები არ არის"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "შედეგები არ მოიძებნა"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "საგანგებო კონტაქტები არ არის"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "კონტაქტები არ არის"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "დალაგება"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "გააფორმეთ პროფილი"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "ჩემი პროფილის დაყენება"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "ერთად გაგზავნა"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "გაგზავნეთ ცალ-ცალკე"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "კონტაქტის ინფორმაციის გაგზავნა"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "ყველას არჩევა"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d კონტაქტი"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "მხოლოდ ტელ-იანი კონტაქტ."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "გადმოტანა"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "გადატანა"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "მოვლენა"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "ჩანდეს ნომრის მქონე კონტაქტები"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 კონტაქტი"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "კონტაქტები"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "აპარატის შიდა მეხსიერება მიუწვდომელია"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "ვერ დაამატებთ"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "ვერ ვამატებ"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "შემოთავაზებული კონტაქტები"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "გაზიარება"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "კონტაქტის სურათის დაყენება"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "პარამეტრები"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "სერვისის პროვაიდერი"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "კონტაქტის ინფოს გაგზავნა"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "დასარეკად აირჩიეთ SIM"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "დასარეკად აირჩიეთ SIM ბარათი"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "დასარეკად აირჩიეთ SIM ბარათი"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "აირჩიეთ კონტაქტი"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "არჩევა"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "კონტაქტების შენახვა ადგილზე"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "გადალაგება"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "წაშლა"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "ძირითადი კონტაქტები (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "ძირითადი კონტ. (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "ტელეფონი"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "პერსონალური კონტაქტები"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d არჩეულია"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d არჩეულია"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "სახელის ფორმატი"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "ყველაზე ხშირი კონტაქტები"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "მე"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "ფავორიტების მართვა"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "კონტაქტების სია"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "მიბმული კონტაქტები"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "კონტაქტების იმპორტი"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "იმპორტი"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "ფავორიტები"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "კონტაქტების გადატანა SIM-ზე"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "კონტაქტების გადატანა"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "ექსპორტი"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "შეიყვანეთ შერჩეული იარლიყი"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "საგანგებო მომსახურებები"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "საგანგებო კონტაქტები"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "შესწორება"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "სახელების ჩვენება"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "ჩვენება"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "ცვლილებების გაუქმება"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "ელემენტის წაშლა"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "შექმნა"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "კონტაქტის სურათი"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "საჩვენებელი კონტაქტები"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "კონტაქტები"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "კონტაქტები გადატანილია"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "შესანახი ადგილის შეცვლა"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "გადმოტანის გაუქმება"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "გადატანის გაუქმება"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "ისევ ცადეთ"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "შენახვა"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "ტელეფონი"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "შენიშვნა"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "სხვა"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "ექსპორტი"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "ელფოსტა"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "მზადაა"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "წაშლა"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "წაშლა"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "შექმნა"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "შეცვლა"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "გაუქმება"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "დამატება"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "ვებსაიტი"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "კონტაქტების სიის განახლება..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "ვერ შეინახება SIM-ის შეცდომის გამო."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "სახელი"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "ეს კონტაქტები წაიშლება."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "განახლდება შერჩეული კონტაქტების მომსახურების მომწოდებელთა ინფორმაცია. ეს ფუნქცია იყენებს ქსელთან კავშირს და შეიძლება დაგერიცხოთ დამატებითი გადასახადი. ამ პროცესის შესრულების დრო დამოკიდებულია ქსელთან კავშირის სტატუსზე"
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "ტელეფონი"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM ბარათის ინიციალიზაცია..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "მომსახურების ნომერი"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "სავიზიტო ბარათების ცალ-ცალკე გაგზავნას შეიძლება უფრო მეტი დრო დასჭირდეს, რადგან მიმღებმა მოწყობილობამ ისინი ცალ-ცალკე უნდა მიიღოს."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "რამდენიმე კონტაქტის ერთდროული გაგზავნა ამცირებს გადაცემის დროს. ამასთან, თუ სხვა მოწყობილობას არ აქვს ეს ფუნქცია, გაიგზავნება მხოლოდ ერთი კონტაქტი."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "აირჩიეთ კონტაქტის ინფორმაციის გაგზავნის მეთოდი."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "შერჩეული"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "ფავორიტებიდან ამოშლა"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "ფოტო"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "ტელეფ. ნომ."
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "ფონეტიკური სახელი"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "მამის სახელი"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "ფონეტიკური გვარი"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "ფონეტიკური სახელი"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "სხვა ელ.წერილები"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "ძიების შედეგი არ არის"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "ჯგუფები არ არის"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "შენიშვნები"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "მეტსახელი"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "სახელის სუფიქსი"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "სახელის პრეფიქსი"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "სახელი"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "ჩემი კონტაქტები"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "მამის სახელი"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "გვარი"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "თანამდებობა"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "მიღება SIM ბარათიდან"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "იმპორტი SIM2 ბარათიდან"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "ჩამოდის..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "სურათი"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "თუ თქვენს პროვაიდერს აქვს წინასწარ ჩატვირთული ნომრები თქვენს SIM ბარათზე, ისინი გამოჩნდება აქ."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "გალერეა"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "სახელი"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "ფაქსი"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "SIM ბარათზე ექსპორტირება"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "ექსპორტი SIM2 ბარათზე"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "SD ბარათზე გადატანა"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "ელ-ფოსტა"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "ცვლილებების უარყოფა"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "მეგობრები"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "ოჯახი"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "თარიღი"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "თანამშრომლები"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "ავტომატურად მოხდება იმ კონტაქტების შემოთავაზება, რომლებიც ამოცნობილი იქნება დუბლირებულად."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "კონტაქტები"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "კომპანია"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "სიის ჩამოსაშლელი სია"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "ავტომატური რეკომენდაციებით შეიძლება მოხდეს ამორჩევა ხმოვანი ფაილებიდან."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "როდესაც კონტაქტებს შექმნით, ისინი გამოჩნდება აქ."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "კონტაქტების დამატების შემდეგ ისინი გამოჩნდება აქ."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "ფავორიტებში დამატება"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "მისამართი"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "ანგარიშები"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "დაბლოკილია PIN-ით."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 კოდი არასწორია."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "PIN1 კოდი არასწორია."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "არსებული კონტაქტის დამატება"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "ძირითადი კონტაქტები არ არის"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "ძირითადი კონტაქტები"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "შექმენით ძირითადი კონტაქტები"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "ძირითადი კონტაქტების დამატება"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "თარიღის დაყენება"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "ახალი PIN და დასადასტურებლად ჩაწერილი PIN არ თანხვდება."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "როდესაც ძირითად კონტაქტებს შექმნით, ისინი გამოჩნდება აქ."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "მეტს ვეღარ აირჩევთ"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "ჩადეთ SIM ბარათი."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "კონტაქტის პროვაიდერი, რომელსაც ურეკავთ, არის %1$s. შეეხეთ OK-ს, თუ გსურთ ეს ზარი განხორციელდეს თქვენი %2$s-ის SIM ბარათით."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "გამოიყენეთ %s SIM ბარათი"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "მიმდინარე SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "ტაქსოფონი"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "სიმბოლო არასწორია."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "ტელ."
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "გამავალი ზარი"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "შემოსული ზარი"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "ნაჩვენებია მხოლოდ პირველი %d კონტაქტი."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "ჩემი პროფილი,"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "შეეხეთ აქ და დაამატეთ ღილაკი"
+
diff --git a/main-app/res/po/kk.po b/main-app/res/po/kk.po
new file mode 100644
index 0000000..2d54cfe
--- /dev/null
+++ b/main-app/res/po/kk.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Терілген қоңыраулар"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Соңғы қоңырау"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Қабылданған қоңыраулар"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Журналдар таңдау"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Түр"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "2-ші Үй"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Жылжыту аяқталды."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Орналастырылды"
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 тексерілді"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 тексерілді"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN бұғаттан ашылды."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 бұғаттаудан шығарылды."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 өзгертілді."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 блоктаулы."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 коды өзгертілген."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 коды бұғатталған."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Қате PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Жаңа PIN2 және растау PIN2 сәйкес келмейді"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Қате PUK1 коды."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Дұрыс емес PUK1. %d рет енгізу қалды."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Дұрыс емес PUK2. %d рет енгізу қалды."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN өзгертілді."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Контактілер"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Тіркелгі қосу"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Таңбалардың ен көп саны артты."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Құрылғылар тексерілуде..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Қате PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ДАЙЫН"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "БАС ТАРТУ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ЖОЮ"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Қосылу ақаулығы немесе қате MMI коды."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Жеке нөмір"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ЖІБЕРУ"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 коды бұғатталған. Жеткізушімен хабарласыңыз (SIM PUK2 қажет)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Журналдар жоқ"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Қоңырау шалғаннан/қабылдағаннан немесе хабар жібергеннен/алғаннан кейін журналдар көрсетіледі."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM картасы бос емес. Кейінірек қайталаңыз"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM картасы құлыпталды."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIM картасы табылмады. SIM картасын телефонға салыңыз."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Желі немесе SIM картасы қатесі."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Дірілдеу кері байланысы қосылды."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Дірілдеу кері байланысы өшірілді."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Нөмірге қоңырау шалу мүмкін емес. %d төтенше қызмет нөмірі емес."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Жылдам теру нөмірі %d жойылды."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Жылдам теру нөмірі белгіленді."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Нөмір енгізіңіз."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "PIN кодыңыздың ұзындығы %1$d және %2$d цифр аралығында болуы керек. Әрекетті қайталап көріңіз."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2 кодыңыз %1$d саннан %2$d санға дейін болуы тиіс. Әрекетті қайталап көріңіз."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Осы жылдам теру нөміріне тағайындалған контакт жоқ. Біреуін қазір тағайындау үшін, ОК түймесін түртіңіз."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN өшірілді. Өзгертпестен бұрын, PIN кодты қосыңыз."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Дау. пош."
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Контакт. жаңар."
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Жылдам теру парам-і"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Алып тастау"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Контакт жасау"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Қоңырау параметр-рі"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Күтуді қосу"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "2 секундтық кідірту қосу"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Пернетақта"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Желіге қосылу мүмкін емес"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Қоң. шалу үшін SIM карта таң-з"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Іздеу нәтижелері (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Төтенше қоңырау"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Жылдам теру нөм. рет. белгілеу"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Нөмірді орнату"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Хабар жіберу"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Бас тарту"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Контактілерге қосу"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Кілтсөз жұпсыз."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN құлыпталған. PUK кодын енгізіңіз."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM бұғатталды"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Сақталмаған"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Сақталған"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Өткізілген"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Сәтсіз"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Бас тартылған"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d журнал элементтері жойылады."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Барлық журнал элементтері жойылады."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 журнал элементі жойылады."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Контакт мәліметтерін көрсету"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Жіберу нөмірі"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Қабылданбаған қоңыраулар"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Жою"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Қоңырау ұзақтығы"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Қабылданбаған қоңыраулар"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Қайта көрсетпеу"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Белгісіз нөмір"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Белгісіз"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Барлығын таңдау"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Журналдар"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Кеше"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Бүгін"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d таңдалды"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "%d журналды жою"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Журнал элементтерін жою"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Журналды жою"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Жою"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Контакт. жаңар."
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Жою"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Контакт жасау"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Бас тарту"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Дауыстық қоңыраулар"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Бейне қоңыраулар"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM картасы"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Барлық қоңыраулар"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Қоңыраулар шалғанда немесе қабылдағанда олар осында тіркеледі."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Қоңырауларды жасағаннан немесе қабылдағаннан кейін, журнал элементтері осы жерде көрсетіледі."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "ӨҢДЕУ"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Енгізу мәтіні"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Кейбір контактілер дубликаттар болып көрінеді."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d контакт импортталды."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Байланысқан контактілер."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "Автоматты бас тарту тізімнен 1 нөмір жойылды."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 контакт импортталды."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Қызмет нөмірлері"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Атау пішіні"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Контактілерді байланыстыру"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Көрсетілетін контактілер"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Орнату"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Жазу"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Өріс.қосу"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Контакт. импортталуда..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Импорттаудан бас тартылды"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Контакт. экспортталуда..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Экспорттаудан бас тар-ды"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Контактілер импортталды"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Контактілер экспортталды"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Барлық контактілер"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Контактілерді тек оқуға арналған есептік жазбалардан жою мүмкін емес, бірақ оларды контактілерде жасыруға болады."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Синхрондау қосулы болған кезде, бұл контакт ол сақталған кез келген синхрондалған есептік жазбалардан жойылады."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Синхрондау қосылған кезде бұл контакт пен басқа синхрондалған есептік жазбалардағы барлық байланысты контактілер жойылады немесе ақпарат тек оқуға арналған есептік жазбадан болса, жасырылады."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Синхрондау қосулы болған кезде, бұл контакт пен оның басқа синхрондалған есептік жазбалардағы барлық байланыстырылған контактілері жойылады."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Қызметтік провайдер ақпараты жаңаруда..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Контакт қосу мүмкін емес. Байланысатын контактілердің ең көп саны (%d) жетті."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Контактілерді қосу мүмкін емес. Байланысатын контактілердің ең көп саны (%d) жетті."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Бұл контакт жойылады."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Бұл контакт және онымен байланыстырылған барлық контактілер жойылады."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Таңдауға болатын ең көп элементтер санынан (%d) асып кетті."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Бір уақытта бөлісуге болатын контактілердің ең көп санынан (%1$d) асып кетті. Тек алғашқы %2$d бөлісіледі."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa мүмкіндігін контактілердің байланыс операторларын анықтап, оларды контактілер тізімінде көрсету үшін пайдалануға болады. Мәзір пернесін басып, \"Байланыс операторы туралы ақпаратты жаңарту\" пәрменін таңдау арқылы бұл әрекетті кейінірек орындауға болады Контактілердің байланыс операторларын қазір анықтау үшін, \"OK\" түймешігін түртіңіз."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Контактілерді SIM картаға импорттауды тоқтату үшін ОК түртіңіз."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "%s файлына контактілерді экспорттауды тоқтату үшін ОК түртіңіз."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Экспорттайтын контактілерді таңдау үшін, “Экспорттау” пернесін түртіңіз. Кейбір контакт ақпараты жоғалуы мүмкін."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Кейбір немесе барлық контактілер жаңартылмауы мүмкін."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Кейбір контакт ақпараты жоғалуы мүмкін."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM-картаның жады толы."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Шығаруда..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d телефон нөмірі жаңартылды."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d контакт жойылады."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d контакт %2$s ішіне экспортталды."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d контакт Device/Contacts/Imported/%2$s.vcf ішіне экспортталды."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Жадында орын аз."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Жаңа контактілер құрылғыңыздың “Контактілер” бөлімінде сақталады."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Режим FDN активтендіру."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Үзіліп кетті"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Өзгерістерді алып тастау керек пе?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Контактілер жойылуда..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Контактілерді жоюдан бас тартылды. Кейбір контактілер жойылған болуы мүмкін."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Контактілер %s ішінен импортталуын тоқтатады."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Қолданыста бар."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Барлық байланыстырылған контактілер жойылады."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Барлық контактілер жойылады."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Барлық өзгерістер алынып тасталады."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Қосылуда..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 телефон нөмірі жаңартылды."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 контакт жойылады."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 контакті жойылды."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Жұмыс"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Дауыс қоңырауы"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Бейне қоңырау"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Қызмет жеткізушісі туралы ақпаратты жаңарту"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Контактіні байланыстырмау"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Контакттардың байланыстарын үзу"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Суретке түсіру"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Суретке алыңыз"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Жұбай"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Әпке"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM картасы"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Бөлісу құралы"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Бөлісу"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Қондырғылар"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Контактілерден таңдау"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD карта"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Контактілерді келесіге сақтау"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Қайта тапсырыс беру"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Алып тастау"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Туысқан"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Қарым-қатынас"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Қатысты"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Әріптес"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Ата-ана"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Пейджер"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Басқа"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Ұйым"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Ана"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Ұялы телефон"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Хабарлама"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Таңдаулылар басқару"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Менеджер"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Басты"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Алдымен тегі"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Тегі"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Үй парағы"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Үй парағы"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Галереядан"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Дос"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Алдымен аты"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Есімі"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN байланыс"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Факс (жұмыс)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Факс (үй)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Әке"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Өңдеу"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Қайтадан көрсетпеу"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Отбасылық серіктес"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Құрылғы"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Әдеттегі"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Жасау"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Бала"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Бауыр"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Туған күн"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Көмекші"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Жылдық"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Өріс қосу"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Қосу"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Шот"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Іздеу"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Қызмет нөмірлері жоқ"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Нәтиже жоқ"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Төтенше контактілер жоқ"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Контактілер жоқ"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Сұрыптау"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Профильді орнату"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Менің профилімді орнату"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Бірге жіберу"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Жеке жіберу"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Байланыс ақпаратын жіберу"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Барлығын таңдау"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d контакт"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Тек тлф бар контактілер"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Импорттау"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Экспорттау"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Оқиға"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Нөмірлері бар контакт. көрсету"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 контакт"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Контакт-р"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Ішкі телефон жады жоқ"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Қосу мүмкін емес"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Қосу мүмкін емес"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Ұсынылған контактілер"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Бөлісу құралы"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Контакт суретін орнату"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Қондырғылар"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Қызмет жеткізушісі"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Байланыс ақпаратын жіберу"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Қоңырау үшін SIM таңдау"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Қоңырау шалу үшін SIM картасын таңдау"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Қоң. шалу үшін SIM карта таң-з"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Контактіні таңдау"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Таңдау"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Контактілерді сақтау орны"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Қайта тапсырыс беру"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Жоғалту"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Негізгі контактілер (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Нег-і конт-лер (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Телефон"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Жеке контактілер"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d таңдалды"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d таңдалды"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Атау пішіні"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Ең жиі контактілер"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Мен"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Таңдаулыларды басқару"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Контактілер тізімі"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Байланыс. контакт-р"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Контактілерді имп-у"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Импорттау"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Таңдаулылар"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Контак-ді SIM карт-на эксп-у"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Контактілерді экспорттау"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Экспорттау"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Таңдамалы белгіні енгізу"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Төтенше қызметтер"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Төтенше контактілер"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Өңдеу"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Аттарды көрсету тәртібі"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Көрсету"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Өзгертулерді алып тастау"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Элементті жою"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Құру"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Контакт кескіні"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Көрсетілетін контактілер"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Контактілер"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Контактілер экспортталды"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Сақтау орнын өзгерту"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Импорттаудан бас тарту"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Экспорттаудан бас тарту"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Қайталап көріңіз"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Сақтау"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Телефон"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Жазбалар"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Басқа"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Экспорттау"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Эл. пошта"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Дайын"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Алып тас-у"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Жою"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Жасау"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Өзгерту"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Тоқтату"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Ес.жазб.қосу"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Веб-сайт"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Контактілер тізімі жаңартылуда..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "SIM картасында қате болғандықтан сақтау мүмкін емес."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Атау"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Бұл контакт жойылады."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Таңдалған контактілердің қызмет провайдері туралы ақпарат жаңартылады. Осы мүмкіндік желі байланысын қажет етеді және қосымша ақылар алынуы мүмкін. Процесті аяқтауға алынатын уақыт желі байланысының күйіне байланысты"
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Телефон"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM картасы іске қосылуда..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Қызметтік номер"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Атау карталарын жеке жіберу ұзағырақ уақытты алуы мүмкін, себебі қабылдау құрылғысы оларды біреуден қабылдауы керек."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Көп контактіні бірге жіберу берілу уақытын төмендетеді. Дегенмен, басқа құрылғыда бұған қолдау көрсетілмесе, бір-ақ контакт жіберіледі."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Байланыс ақпаратын жіберу жолын таңдаңыз."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Таңдалған"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Ұнамдылардын шығарып тастау"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Фото"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Тел. нөмірі"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Фонетикалық атау"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Фонетик-қ екінші аты"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Фонетикалық тегі"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Фонетикалық аты"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Басқа электрондық пошталар"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Іздеу нәтижелері жоқ"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Топтар жоқ"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Ескертулер"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Лақап ат"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Атының жұрнағы"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Ат префиксі"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Аты"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Менің контактілерім"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Әкесінің аты"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Тегі"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Лауазым"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "SIM картасынан импорттау"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "SIM2 картасынан импорттау"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Тасымалдануда..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Сурет"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Қызмет провайдеріңіз SIM картаңыздағы қызмет нөмірлерін алдын ала жүктесе, олар осы жерде көрсетіледі."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Галерея"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Аты"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Факс"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "SIM картасына экспорттау"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "SIM2 картасына экспорттау"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "SD картасына экспорттау"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Эл. пошта"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Жауапты алып тастау"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Достар"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Отбасы"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Күні"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Әріптес"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Дубликатталған ретінде анықталған контактілер автоматты түрде ұсынылады."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Контактілер"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Компания"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Тізімді кеңейту түймесі"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Автоматты ұсыныстар дыбыстық файлдардан ерекшеленгендерді шығара алады."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Контактілерді жасағаннан кейін, олар осы жерде көрсетіледі."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Контактілерді қосқаннан кейін, олар осы жерде көрсетіледі."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Ұнамдыларға қосу"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Мекенжай"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Есептік жазбалар"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN блоктаулы."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 коды қате."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Қате PIN1 коды."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Бар контактіні қосу"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Жеке контактілер жоқ"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Негізгі контактілер"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Жеке контактіні жасау"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Жеке контактілерді қосу"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Күнді орнату"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Жаңа PIN және растаушы PIN сәйкес келмейді."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Негізгі контактілерді жасағаннан кейін, олар осы жерде көрсетіледі."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Қос.элем-ді таңдау мүмкін емес"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "SIM картаны енгізу."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Сіз қоңырау шалған контактінің қызмет жеткізушісі - %1$s. %2$s SIM картаны пайдаланып қоңырау шалу үшін OK түймесін түртіңіз."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "%s SIM картасын пайдалану"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Ағымдағы SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Таксофон"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Қате әріп."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Телефон"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Шыққан қоңырау"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Қабылданған қоңырау"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Тек бірінші %d контакт көрсетіледі."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Менің профайлым"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Белгішені қосу үшін, осында түртіңіз"
+
diff --git a/main-app/res/po/kk.po~ b/main-app/res/po/kk.po~
new file mode 100644
index 0000000..000712d
--- /dev/null
+++ b/main-app/res/po/kk.po~
@@ -0,0 +1,1224 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Терілген қоңыраулар"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Соңғы қоңырау"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Қабылданған қоңыраулар"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Журналдар таңдау"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Түр"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "2-ші Үй"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Жылжыту аяқталды."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Орналастырылды"
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 тексерілді"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 тексерілді"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN бұғаттан ашылды."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 бұғаттаудан шығарылды."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 өзгертілді."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 блоктаулы."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 коды өзгертілген."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 коды бұғатталған."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Қате PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Жаңа PIN2 және растау PIN2 сәйкес келмейді"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Қате PUK1 коды."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Дұрыс емес PUK1. %d рет енгізу қалды."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Дұрыс емес PUK2. %d рет енгізу қалды."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN өзгертілді."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Контактілер"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Тіркелгі қосу"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Таңбалардың ен көп саны артты."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Құрылғылар тексерілуде..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Қате PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ДАЙЫН"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "БАС ТАРТУ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ЖОЮ"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Қосылу ақаулығы немесе қате MMI коды."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Жеке нөмір"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ЖІБЕРУ"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 коды бұғатталған. Жеткізушімен хабарласыңыз (SIM PUK2 қажет)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Журналдар жоқ"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Қоңырау шалғаннан/қабылдағаннан немесе хабар жібергеннен/алғаннан кейін журналдар көрсетіледі."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM картасы бос емес. Кейінірек қайталаңыз"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM картасы құлыпталды."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIM картасы табылмады. SIM картасын телефонға салыңыз."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Желі немесе SIM картасы қатесі."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Дірілдеу кері байланысы қосылды."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Дірілдеу кері байланысы өшірілді."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Нөмірге қоңырау шалу мүмкін емес. %d төтенше қызмет нөмірі емес."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Жылдам теру нөмірі %d жойылды."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Жылдам теру нөмірі белгіленді."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Нөмір енгізіңіз."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "PIN кодыңыздың ұзындығы %1$d және %2$d цифр аралығында болуы керек. Әрекетті қайталап көріңіз."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2 кодыңыз %1$d саннан %2$d санға дейін болуы тиіс. Әрекетті қайталап көріңіз."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Осы жылдам теру нөміріне тағайындалған контакт жоқ. Біреуін қазір тағайындау үшін, ОК түймесін түртіңіз."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN өшірілді. Өзгертпестен бұрын, PIN кодты қосыңыз."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Дау. пош."
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Контакт. жаңар."
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Жылдам теру парам-і"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Алып тастау"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Контакт жасау"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Қоңырау параметр-рі"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Күтуді қосу"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "2 секундтық кідірту қосу"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Пернетақта"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Желіге қосылу мүмкін емес"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Қоң. шалу үшін SIM карта таң-з"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Іздеу нәтижелері (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Төтенше қоңырау"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Жылдам теру нөм. рет. белгілеу"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Нөмірді орнату"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Хабар жіберу"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Бас тарту"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Контактілерге қосу"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Кілтсөз жұпсыз."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN құлыпталған. PUK кодын енгізіңіз."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM бұғатталды"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Сақталмаған"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Сақталған"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Өткізілген"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Сәтсіз"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Бас тартылған"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d журнал элементтері жойылады."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Барлық журнал элементтері жойылады."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 журнал элементі жойылады."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Контакт мәліметтерін көрсету"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Жіберу нөмірі"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Қабылданбаған қоңыраулар"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Жою"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Қоңырау ұзақтығы"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Қабылданбаған қоңыраулар"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Қайта көрсетпеу"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Белгісіз нөмір"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Белгісіз"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Барлығын таңдау"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Журналдар"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Кеше"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Бүгін"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d таңдалды"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "%d журналды жою"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Журнал элементтерін жою"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Журналды жою"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Жою"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Контакт. жаңар."
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Жою"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Контакт жасау"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Бас тарту"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Дауыстық қоңыраулар"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Бейне қоңыраулар"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM картасы"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Барлық қоңыраулар"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Қоңыраулар шалғанда немесе қабылдағанда олар осында тіркеледі."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Қоңырауларды жасағаннан немесе қабылдағаннан кейін, журнал элементтері осы жерде көрсетіледі."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "ӨҢДЕУ"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Енгізу мәтіні"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Кейбір контактілер дубликаттар болып көрінеді."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d контакт импортталды."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Байланысқан контактілер."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "Автоматты бас тарту тізімнен 1 нөмір жойылды."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 контакт импортталды."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Қызмет нөмірлері"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Атау пішіні"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Контактілерді байланыстыру"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Көрсетілетін контактілер"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Орнату"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Жазу"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Өріс.қосу"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Контакт. импортталуда..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Импорттаудан бас тартылды"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Контакт. экспортталуда..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Экспорттаудан бас тар-ды"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Контактілер импортталды"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Контактілер экспортталды"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Барлық контактілер"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Контактілерді тек оқуға арналған есептік жазбалардан жою мүмкін емес, бірақ оларды контактілерде жасыруға болады."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Синхрондау қосулы болған кезде, бұл контакт ол сақталған кез келген синхрондалған есептік жазбалардан жойылады."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Синхрондау қосылған кезде бұл контакт пен басқа синхрондалған есептік жазбалардағы барлық байланысты контактілер жойылады немесе ақпарат тек оқуға арналған есептік жазбадан болса, жасырылады."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Синхрондау қосулы болған кезде, бұл контакт пен оның басқа синхрондалған есептік жазбалардағы барлық байланыстырылған контактілері жойылады."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Қызметтік провайдер ақпараты жаңаруда..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Контакт қосу мүмкін емес. Байланысатын контактілердің ең көп саны (%d) жетті."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Контактілерді қосу мүмкін емес. Байланысатын контактілердің ең көп саны (%d) жетті."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Бұл контакт жойылады."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Бұл контакт және онымен байланыстырылған барлық контактілер жойылады."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Таңдауға болатын ең көп элементтер санынан (%d) асып кетті."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Бір уақытта бөлісуге болатын контактілердің ең көп санынан (%1$d) асып кетті. Тек алғашқы %2$d бөлісіледі."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa мүмкіндігін контактілердің байланыс операторларын анықтап, оларды контактілер тізімінде көрсету үшін пайдалануға болады. Мәзір пернесін басып, \“Байланыс операторы туралы ақпаратты жаңарту\” пәрменін таңдау арқылы бұл әрекетті кейінірек орындауға болады Контактілердің байланыс операторларын қазір анықтау үшін, \“OK\” түймешігін түртіңіз."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Контактілерді SIM картаға импорттауды тоқтату үшін ОК түртіңіз."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "%s файлына контактілерді экспорттауды тоқтату үшін ОК түртіңіз."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Экспорттайтын контактілерді таңдау үшін, “Экспорттау” пернесін түртіңіз. Кейбір контакт ақпараты жоғалуы мүмкін."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Кейбір немесе барлық контактілер жаңартылмауы мүмкін."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Кейбір контакт ақпараты жоғалуы мүмкін."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM-картаның жады толы."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Шығаруда..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d телефон нөмірі жаңартылды."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d контакт жойылады."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d контакт %2$s ішіне экспортталды."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d контакт Device/Contacts/Imported/%2$s.vcf ішіне экспортталды."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Жадында орын аз."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Жаңа контактілер құрылғыңыздың “Контактілер” бөлімінде сақталады."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Режим FDN активтендіру."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Үзіліп кетті"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Өзгерістерді алып тастау керек пе?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Контактілер жойылуда..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Контактілерді жоюдан бас тартылды. Кейбір контактілер жойылған болуы мүмкін."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Контактілер %s ішінен импортталуын тоқтатады."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Қолданыста бар."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Барлық байланыстырылған контактілер жойылады."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Барлық контактілер жойылады."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Барлық өзгерістер алынып тасталады."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Қосылуда..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 телефон нөмірі жаңартылды."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 контакт жойылады."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 контакті жойылды."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Жұмыс"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Дауыс қоңырауы"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Бейне қоңырау"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Қызмет жеткізушісі туралы ақпаратты жаңарту"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Контактіні байланыстырмау"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Контакттардың байланыстарын үзу"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Суретке түсіру"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Суретке алыңыз"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Жұбай"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Әпке"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM картасы"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Бөлісу құралы"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Бөлісу"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Қондырғылар"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Контактілерден таңдау"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD карта"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Контактілерді келесіге сақтау"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Қайта тапсырыс беру"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Алып тастау"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Туысқан"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Қарым-қатынас"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Қатысты"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Әріптес"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Ата-ана"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Пейджер"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Басқа"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Ұйым"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Ана"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Ұялы телефон"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Хабарлама"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Таңдаулылар басқару"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Менеджер"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Басты"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Алдымен тегі"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Тегі"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Үй парағы"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Үй парағы"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Галереядан"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Дос"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Алдымен аты"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Есімі"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN байланыс"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Факс (жұмыс)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Факс (үй)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Әке"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Өңдеу"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Қайтадан көрсетпеу"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Отбасылық серіктес"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Құрылғы"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Әдеттегі"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Жасау"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Бала"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Бауыр"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Туған күн"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Көмекші"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Жылдық"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Өріс қосу"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Қосу"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Шот"
+
+msgid "IDS_PB_NPBODY_TAP_TO_ADD_SHORTCUT"
+msgstr "Белгіше қосу үшін түртіңіз"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Іздеу"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Қызмет нөмірлері жоқ"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Нәтиже жоқ"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Төтенше контактілер жоқ"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Контактілер жоқ"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Сұрыптау"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Профильді орнату"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Менің профилімді орнату"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Бірге жіберу"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Жеке жіберу"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Байланыс ақпаратын жіберу"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Барлығын таңдау"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d контакт"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Тек тлф бар контактілер"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Импорттау"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Экспорттау"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Оқиға"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Нөмірлері бар контакт. көрсету"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 контакт"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Контакт-р"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Ішкі телефон жады жоқ"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Қосу мүмкін емес"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Қосу мүмкін емес"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Ұсынылған контактілер"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Бөлісу құралы"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Контакт суретін орнату"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Қондырғылар"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Қызмет жеткізушісі"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Байланыс ақпаратын жіберу"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Қоңырау үшін SIM таңдау"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Қоңырау шалу үшін SIM картасын таңдау"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Қоң. шалу үшін SIM карта таң-з"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Контактіні таңдау"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Таңдау"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Контактілерді сақтау орны"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Қайта тапсырыс беру"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Жоғалту"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Негізгі контактілер (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Нег-і конт-лер (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Телефон"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Жеке контактілер"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d таңдалды"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d таңдалды"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Атау пішіні"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Ең жиі контактілер"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Мен"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Таңдаулыларды басқару"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Контактілер тізімі"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Байланыс. контакт-р"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Контактілерді имп-у"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Импорттау"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Таңдаулылар"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Контак-ді SIM карт-на эксп-у"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Контактілерді экспорттау"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Экспорттау"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Таңдамалы белгіні енгізу"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Төтенше қызметтер"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Төтенше контактілер"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Өңдеу"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Аттарды көрсету тәртібі"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Көрсету"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Өзгертулерді алып тастау"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Элементті жою"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Құру"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Контакт кескіні"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Көрсетілетін контактілер"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Контактілер"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Контактілер экспортталды"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Сақтау орнын өзгерту"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Импорттаудан бас тарту"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Экспорттаудан бас тарту"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Қайталап көріңіз"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Сақтау"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Телефон"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Жазбалар"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Басқа"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Экспорттау"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Эл. пошта"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Дайын"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Алып тас-у"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Жою"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Жасау"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Өзгерту"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Тоқтату"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Ес.жазб.қосу"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Веб-сайт"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Контактілер тізімі жаңартылуда..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "SIM картасында қате болғандықтан сақтау мүмкін емес."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Атау"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Бұл контакт жойылады."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Таңдалған контактілердің қызмет провайдері туралы ақпарат жаңартылады. Осы мүмкіндік желі байланысын қажет етеді және қосымша ақылар алынуы мүмкін. Процесті аяқтауға алынатын уақыт желі байланысының күйіне байланысты"
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Телефон"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM картасы іске қосылуда..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Қызметтік номер"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Атау карталарын жеке жіберу ұзағырақ уақытты алуы мүмкін, себебі қабылдау құрылғысы оларды біреуден қабылдауы керек."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Көп контактіні бірге жіберу берілу уақытын төмендетеді. Дегенмен, басқа құрылғыда бұған қолдау көрсетілмесе, бір-ақ контакт жіберіледі."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Байланыс ақпаратын жіберу жолын таңдаңыз."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Таңдалған"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Ұнамдылардын шығарып тастау"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Фото"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Тел. нөмірі"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Фонетикалық атау"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Фонетик-қ екінші аты"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Фонетикалық тегі"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Фонетикалық аты"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Басқа электрондық пошталар"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Іздеу нәтижелері жоқ"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Топтар жоқ"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Ескертулер"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Лақап ат"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Атының жұрнағы"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Ат префиксі"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Аты"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Менің контактілерім"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Әкесінің аты"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Тегі"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Лауазым"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "SIM картасынан импорттау"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "SIM2 картасынан импорттау"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Тасымалдануда..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Сурет"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Қызмет провайдеріңіз SIM картаңыздағы қызмет нөмірлерін алдын ала жүктесе, олар осы жерде көрсетіледі."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Галерея"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Аты"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Факс"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "SIM картасына экспорттау"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "SIM2 картасына экспорттау"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "SD картасына экспорттау"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Эл. пошта"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Жауапты алып тастау"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Достар"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Отбасы"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Күні"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Әріптес"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Дубликатталған ретінде анықталған контактілер автоматты түрде ұсынылады."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Контактілер"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Компания"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Тізімді кеңейту түймесі"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Автоматты ұсыныстар дыбыстық файлдардан ерекшеленгендерді шығара алады."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Контактілерді жасағаннан кейін, олар осы жерде көрсетіледі."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Контактілерді қосқаннан кейін, олар осы жерде көрсетіледі."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Ұнамдыларға қосу"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Мекенжай"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Есептік жазбалар"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN блоктаулы."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 коды қате."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Қате PIN1 коды."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Бар контактіні қосу"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Жеке контактілер жоқ"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Негізгі контактілер"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Жеке контактіні жасау"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Жеке контактілерді қосу"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Күнді орнату"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Жаңа PIN және растаушы PIN сәйкес келмейді."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Негізгі контактілерді жасағаннан кейін, олар осы жерде көрсетіледі."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Қос.элем-ді таңдау мүмкін емес"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "SIM картаны енгізу."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Сіз қоңырау шалған контактінің қызмет жеткізушісі - %1$s. %2$s SIM картаны пайдаланып қоңырау шалу үшін OK түймесін түртіңіз."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "%s SIM картасын пайдалану"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Ағымдағы SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Таксофон"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Қате әріп."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Телефон"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Шыққан қоңырау"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Қабылданған қоңырау"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Тек бірінші %d контакт көрсетіледі."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Менің профайлым"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Белгішені қосу үшін, осында түртіңіз"
+
diff --git a/main-app/res/po/ko_KR.po b/main-app/res/po/ko_KR.po
new file mode 100644
index 0000000..da3ed42
--- /dev/null
+++ b/main-app/res/po/ko_KR.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "발신전화"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "마지막 통화시간"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "수신전화"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "기록 선택"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "보기 방식"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Home 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "이동하였습니다."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "이동 중..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2를 인증하였습니다."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1을 인증하였습니다."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN을 사용할 수 있습니다."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2를 해제하였습니다."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2를 변경하였습니다."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 사용이 차단된 상태입니다."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1을 변경하였습니다."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 사용이 차단된 상태입니다."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2가 바르지 않습니다."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "새 PIN2와 확인을 위해 한 번 더 입력한 PIN2가 일치하지 않습니다"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "PUK1이 바르지 않습니다."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1이 바르지 않습니다. 입력 기회가 %d회 남았습니다."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2가 바르지 않습니다. 입력 기회가 %d회 남았습니다."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN을 변경하였습니다."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "연락처"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "계정 추가"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "최대 글자 수에 도달하였습니다."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "디바이스 찾는 중..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PIN 잘못 입력"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "완료"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "취소"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "삭제"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "네트워크 연결에 문제가 발생했거나 MMI 코드가 바르지 않습니다."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "발신번호 표시제한"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "보내기"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2가 잠겼습니다. 서비스 사업자에 문의하세요.(PUK2 입력 필요)"
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "기록이 없습니다"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "전화 및 메시지의 최근기록이 표시됩니다."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM 카드 정보를 읽을 수 없습니다. 나중에 시도하세요"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "잠금이 설정된 SIM/RUIM 카드입니다."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIM 카드가 없습니다. SIM 카드를 삽입하세요."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "네트워크 또는 SIM 카드에 오류가 발생하였습니다."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "진동 피드백을 실행하였습니다."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "진동 피드백을 해제하였습니다."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "%d번은 긴급 전화번호가 아니어서 전화를 걸 수 없습니다."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "단축번호 %d번을 제거하였습니다."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "단축번호로 지정하였습니다."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "번호를 입력하세요."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "PIN은 %1$d-%2$d자 사이여야 합니다. 다시 시도하세요."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2는 %1$d-%2$d 자 사이의 숫자로 입력해야 합니다. 다시 시도하세요."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "이 번호에 지정된 단축번호 연락처가 없습니다. 단축번호를 설정하려면 [확인]을 누르세요."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN이 해제된 상태입니다. PIN을 변경하려면 먼저 실행하세요."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "음성 메시지"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "연락처 업데이트"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "단축번호 설정"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "제거"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "새 연락처 추가"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "통화 설정"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "대기시간 추가"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "2초 간 일시정지 추가"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "키패드"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "네트워크에 연결할 수 없음"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "통화에 사용할 SIM 카드 선택"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "검색 결과(%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "긴급전화"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "단축번호로 지정"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "번호 설정"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "메시지 보내기"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "취소"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "연락처에 추가"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "비밀번호가 일치하지 않습니다."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN 사용이 차단된 상태입니다. PUK을 입력하세요."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM 카드 사용이 차단된 상태입니다."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "저장 안 됨"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "저장됨"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "부재중"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "연결 안 됨"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "취소됨"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "기록 항목 %d개를 삭제합니다."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "기록을 모두 삭제합니다."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "기록 항목 1개를 삭제합니다."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "연락처 상세 보기"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "번호 전송"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "부재중 전화"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "삭제"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "통화 시간"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "부재중 전화"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "다시 표시하지 않습니다"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "번호정보 없음"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "알 수 없음"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "모두 선택"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "최근통화"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "어제"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "오늘"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d개 선택"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "기록 %d개 삭제"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "기록 항목 삭제"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "기록 삭제"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "삭제"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "연락처 업데이트"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "삭제"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "새 연락처 추가"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "취소"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "음성통화"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "영상통화"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM 카드"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "모든 전화"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "전화를 걸거나 받으면, 여기에 기록됩니다."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "전화를 걸거나 받으면, 기록 항목이 여기에 표시됩니다."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "편집"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "내용 입력"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "중복된 연락처가 있습니다."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "연락처 %d개를 가져왔습니다."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "연락처를 연결하였습니다."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "[자동 거절 목록]에서 번호 1개를 제거하였습니다."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "연락처 1개를 가져왔습니다."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "서비스 번호"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "이름 표시 방법"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "연락처 연결"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "표시할 연락처"
+
+msgid "IDS_PB_SK_SET"
+msgstr "설정"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "추가"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "항목 추가"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "연락처 가져오는 중..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "가져오기 취소"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "연락처 내보내는 중..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "내보내기 취소"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "연락처 가져오기 완료"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "연락처 내보내기 완료"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "모든 연락처"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "읽기 전용 계정에서 연락처를 삭제할 수는 없지만 숨기기는 가능합니다."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "[동기화]가 실행되면, 이 연락처가 저장된 모든 동기화된 계정에서 해당 연락처를 삭제합니다."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "[동기화]가 실행된 경우, 동기화된 다른 계정에서 이 연락처 및 연결된 연락처를 삭제하며, 읽기 전용 계정인 경우에는 연락처를 숨깁니다."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "[동기화]가 실행되면, 이 연락처 및 동기화된 다른 계정에 있는 이 연락처와 연결된 연락처를 모두 삭제합니다."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "서비스 공급자 정보 업데이트 중..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "연결 가능한 최대 연락처 수(%d)에 도달하여 연락처를 추가할 수 없습니다."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "연결 가능한 최대 연락처 수(%d)에 도달하여 연락처를 추가할 수 없습니다."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "연락처를 삭제합니다."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "이 연락처 및 연결된 연락처를 모두 삭제합니다."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "선택 가능한 최대 항목 수(%d)를 초과하였습니다."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "한 번에 공유 가능한 최대 연락처 수(%1$d)를 초과하였습니다. 먼저 선택한 %2$d개만 공유합니다."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa 기능을 사용하면 연락처의 서비스 공급자를 식별하고 연락처 목록에 표시합니다. 메뉴 버튼을 누른 후 [서비스 사업자 정보 업데이트]를 눌러 나중에 표시할 수도 있습니다. 연락처의 서비스 공급자를 식별하려면 [확인]을 누르세요."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "SIM 카드에서 연락처 가져오기를 중지하려면 [확인]을 누르세요."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "%s 폴더로 연락처 내보내기를 중지하려면 [확인]을 누르세요."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "내보낼 연락처를 선택하려면 [내보내기]를 누르세요. 일부 연락처 정보가 누락될 수 있습니다."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "일부 또는 모든 연락처가 업데이트되지 않았습니다."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "일부 연락처 정보가 누락될 수 있습니다."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM 카드 저장공간을 모두 사용 중입니다."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "제거 중..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "전화번호 %d개를 업데이트하였습니다."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "연락처 %d개를 삭제합니다."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "연락처 %1$d개를 %2$s 파일로 내보냈습니다."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "연락처 %1$d개를 디바이스/Contacts/Imported/%2$s.vcf 파일로 내보냈습니다."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "저장공간이 부족합니다."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "새 연락처를 디바이스의 [연락처]에 저장합니다."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "[발신 허용번호]를 실행하였습니다."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "완료하지 못하였습니다."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "변경사항을 저장하지 않고 종료할까요?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "연락처 삭제 중..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "연락처 삭제를 취소하였습니다. 일부 연락처는 이미 삭제되었을 수 있습니다."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "%s에서 연락처 가져오기를 중지합니다."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "동일한 항목이 있습니다."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "연결된 연락처를 모두 삭제합니다."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "모든 연락처를 삭제합니다."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "모든 변경사항을 저장하지 않습니다."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "추가 중..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "전화번호 1개를 업데이트하였습니다."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "연락처 1개를 삭제합니다."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "연락처 1개를 제거하였습니다."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "직장"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "음성통화"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "영상통화"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "서비스 공급자 정보 업데이트"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "연락처 연결 해제"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "연락처 연결 해제"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "사진 촬영"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "사진 촬영"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "배우자"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "자매"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM 카드"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "공유"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "공유"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "설정"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "연락처에서 선택"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD 카드"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "연락처 저장 위치"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "순서 변경"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "제거"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "친척"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "관계"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "추천인"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "파트너"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "부모"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "호출기"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "기타"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "소속"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "어머니"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "휴대전화"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "메시지"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "즐겨찾기 관리"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "관리자"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "주음성"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "성 먼저"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "성"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "홈"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "홈"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "행아웃"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "갤러리"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "친구"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "이름 먼저"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "이름"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN 연락처"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "팩스(직장)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "팩스(집)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "아버지"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "편집"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "다시 보지 않기"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "동거인"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "디바이스"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "직접 설정"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "추가"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "아이"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "형제"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "생일"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "비서"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "기념일"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "영역 추가"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "추가"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "계정"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "검색"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "서비스 번호가 없습니다"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "검색 결과가 없습니다"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "긴급 연락처가 없습니다"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "연락처가 없습니다"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "정렬 방식"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "프로필 설정"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "내 프로필 설정"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "통합 전송"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "개별 전송"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "연락처 정보 전송"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "모두 선택"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "연락처 %d개"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "전화번호가 있는 연락처만"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "가져오기"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "내보내기"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "일정"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "번호가 저장된 연락처만 표시"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "연락처 1개"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "연락처"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB 저장공간을 사용할 수 없음"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "추가할 수 없음"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "추가할 수 없음"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "추천 연락처"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "공유"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "연락처 사진 설정"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "설정"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "서비스 공급자"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "연락처 정보 전송"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "통화에 사용할 SIM 카드 선택"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "통화 전용 SIM 카드 선택"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "통화에 사용할 SIM 카드 선택"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "연락처 선택"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "선택"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "연락처 저장 위치"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "순서 변경"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "제거"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "주요 연락처(%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "주요 연락처(%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "전화"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "개인 연락처"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d개 선택"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d개 선택"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "이름 표시 방법"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "자주 사용하는 연락처"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "나"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "즐겨찾기 관리"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "연락처 목록"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "연결된 연락처"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "연락처 가져오기"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "가져오기"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "즐겨찾기"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "SIM 카드로 연락처 내보내기"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "연락처 내보내기"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "내보내기"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "라벨 직접 입력"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "긴급 서비스"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "긴급 연락처"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "편집"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "이름 표시 방식"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "표시"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "변경사항 저장 안 함"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "항목 삭제"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "추가"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "연락처 사진"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "표시할 연락처"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "연락처"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "연락처 내보내기 완료"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "저장 위치 변경"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "가져오기 취소"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "내보내기 취소"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "다시 시도"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "저장"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "휴대전화"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "확인"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "노트"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "더보기"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "내보내기"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "이메일"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "완료"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "저장 안 함"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "삭제"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "추가"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "변경"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "취소"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "계정 추가"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "웹사이트"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "연락처 목록 업데이트 중..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "SIM 카드 오류가 발생하여 저장할 수 없습니다."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "호칭"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "연락처를 삭제합니다."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "선택한 연락처의 서비스 공급자 정보가 업데이트됩니다. 이 기능을 사용하려면 네트워크 연결이 필요하며 추가요금이 부과될 수 있습니다. 이 과정의 소요시간은 네트워크 연결 상태에 따라 달라질 수 있습니다."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "일반 전화"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM 카드 초기화 중..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "서비스 번호"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "한 번에 1개씩 연락처 파일을 보내면 상대방 디바이스가 한 번에 1개씩 수락하기 때문에 더 많은 시간이 걸릴 수 있습니다."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "여러 연락처를 한 번에 보내면 전송 시간이 줄어듭니다. 그러나 상대 디바이스에서 이 기능을 지원하지 않으면 연락처 1개만 보내집니다."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "연락처 정보 전송 방법을 선택하세요."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "이 항목만"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "즐겨찾기에서 제거"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "사진"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "전화번호"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "이름(소리나는 대로)"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "중간 이름(표음식)"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "성(표음식)"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "이름(표음식)"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "다른 이메일"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "검색 결과가 없습니다"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "그룹이 없습니다"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "노트"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "별명"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "경칭"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "호칭"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "이름"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "내 연락처"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "중간 이름"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "성"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "직위"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "SIM 카드에서 가져오기"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "SIM2 카드에서 가져오기"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "가져오는 중..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "이미지"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "메신저"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "SIM 카드에 서비스 공급자가 설치한 기본 서비스 번호가 있으면, 여기에 표시됩니다."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "갤러리"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "이름"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "팩스"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "SIM 카드로 내보내기"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "SIM2 카드로 내보내기"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "SD 카드로 내보내기"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "이메일"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "변경사항 저장 안 함"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "친구"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "가족"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "날짜"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "동료"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "중복된 연락처는 자동으로 추천합니다."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "연락처"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "회사"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "목록을 확대하는 버튼입니다."
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "음악 파일의 하이라이트 부분만 추출합니다."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "새 연락처를 추가하면, 여기에 표시됩니다."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "연락처를 추가하면, 여기에 표시됩니다."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "즐겨찾기에 추가"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "주소"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "계정"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN 사용이 차단된 상태입니다."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2가 바르지 않습니다."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "PIN1이 바르지 않습니다."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "기존 연락처에서 추가"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "주요 연락처가 없습니다"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "주요 연락처"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "새 주요 연락처 추가"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "주요 연락처 추가"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "날짜 설정"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "새 PIN과 PIN 확인이 일치하지 않습니다."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "새 주요 연락처를 추가하면, 여기에 표시됩니다."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "더 이상 선택할 수 없음"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "SIM 카드를 삽입하세요."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "전화를 걸려는 연락처의 서비스 공급자는 %1$s입니다. 내 %2$s SIM 카드를 사용하여 전화를 걸려면 [확인]을 누르세요."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "%s SIM 카드 사용"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "현재 SIM 카드"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "공중전화"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "문자가 바르지 않습니다."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "전화"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "발신전화"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "수신전화"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "처음 %d개 연락처만 표시합니다."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "내 정보 설정"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "바로가기를 추가하려면 여기를 누르세요"
+
diff --git a/main-app/res/po/lt.po b/main-app/res/po/lt.po
new file mode 100644
index 0000000..12fe4fe
--- /dev/null
+++ b/main-app/res/po/lt.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Rinkti numeriai"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Paskutinis skambutis"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Priimti skambučiai"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Pasirinkite žurnalus"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Rodyti pagal"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Namų 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Perkėlimas baigtas."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Perkeliama..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 patvirtintas."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 patvirtintas."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN kodas atblokuotas."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 kodas atblokuotas."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 kodas pakeistas."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 kodas užblokuotas."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Pakeistas PIN1 kodas."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Blokuojamas PIN1 kodas."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Netinkamas PIN2 kodas."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Naujas PIN2 ir patvirtintas PIN2 kodai nesutampa"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Neteisingas PUK1 kodas."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Neteisingas PUK1. Liko %d bandymų."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Neteisingas PUK2. Liko %d bandymų."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN kodas pakeistas."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Adresatai"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Pridėti paskyrą"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Pasiektas didžiausias simbolių skaičius."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Nuskaitomi įrenginiai..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Neteisingas PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ATLIKTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ATŠAUKTI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "IŠTRINTI"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Įvyko ryšio klaida arba neteisingas MMI kodas"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Privatus numeris"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "SIŲSTI"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 užblokuotas. Kreipkitės į paslaugų teikėją (reikalingas SIM PUK2)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Žurnalų nėra"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Kai skambinate / skambina jums arba siunčiate / priimate žinutę, rodomi žurnalai."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM kortelė naudojama. Bandykite vėliau"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM kortelė užrakinta."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Nėra SIM kortelės. Prašome įdėti į telefoną SIM kortelę."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Tinklo ar SIM kortelės klaida."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Vibravimo atsakas įjungtas."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Vibravimo atsakas išjungtas."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Neįmanoma paskambinti numeriu. %d nėra pagalbos numeris."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "%d sparčiojo rinkimo numeris pašalintas."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Sparčiojo rinkimo numeris priskirtas."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Įveskite numerį."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Jūsų PIN turi sudaryti nuo %1$d iki %2$d skaitmenų. Bandykite dar kartą."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Jūsų PIN2 turi sudaryti %1$d–%2$d skaitmenys (-ų). Bandykite dar kartą."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Šiam sparčiojo rinkimo numeriui nėra priskirto adresato. Bakstelėkite „Gerai“ ir priskirkite."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN kodas išjungtas. Prieš keisdami įjunkite PIN kodą."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Bals.paš."
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Atnauj.adresatą"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Sparč.rinkimo nust."
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Šalinti"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Kurti adresatą"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Skambučių nustatym."
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Pridėti laukimą"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Pridėti 2 sek. pauzę"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Klaviatūra"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Neįm. prisijungti prie tinklo"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Pasirinkite SIM ir skambinkite"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Paieškos rezultatai (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Pagalbos skambutis"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Priskirti sparč. rinkimo nr."
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Nustat. numerį"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Siųst žinutę"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Atšaukti"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Pridėti prie adresatų"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Slaptažodžiai nesutampa."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN blokuotas. Įveskite PUK kodą."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM užblokuota."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Neišsaugota"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Išsaugota"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Praleista"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Nepavyko"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Atšaukta"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d žurnalo elementai bus ištrinti."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Visi žurnalo elementai bus ištrinti."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 žurnalo elementas bus ištrintas."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Peržiūrėt adresato informaciją"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Siųsti numerį"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Praleisti skambučiai"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Trinti"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Skambučių trukmės"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Praleisti skambučiai"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Neberodyti"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Nežin. numeris"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Nežinomas"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Rinktis viską"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Žurnalai"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Vakar"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Šiandien"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "Pasirinkta: %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Trinti %d žurnalus"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Trinti žurnalo elementus"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Trinti žurnalą"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Trinti"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Atnauj.adresatą"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Trinti"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Kurti adresatą"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Atšaukti"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Balso skambučiai"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Vaizdo skambučiai"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM kortelė"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Visi skambučiai"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Atlikti ir priimti skambučiai bus registruojami čia."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Atlikus ir priėmus skambučius, žurnalo elementai bus rodomi čia."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDAG."
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Įvesti tekstą"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Kai kurie jūsų adresatai kartojasi."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "Importuota adresatų: %d."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Adresatai susieti."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 numeris pašalintas iš automatinio atmetimo sąrašo."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "Importuotas 1 adresatas."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Paslaugų numeriai"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Vardų formatas"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Susieti adresatus"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Rodytini adresatai"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Nustatyti"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Kurti"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Pridėti laukelius"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importuojami adresatai..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importavimas atšauktas"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Eksportuoj. adresatai..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Eksportavimas atšauktas"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Adresatai importuoti"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Adresatai eksportuoti"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Visi adresatai"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Negalite ištrinti adresatų iš tik skaityti skirtos paskyros, tačiau galite juos paslėpti ir nerodyti adresatuose."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Kai įjungtas sinchronizavimas, šis adresatas bus ištrintas iš visų sinchronizuotų paskyrų, kuriose jis išsaugotas."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Jei sinchronizavimas įjungtas, šis adresatas ir visi su juo susieti adresatai, esantys kitose sinchronizuojamose paskyrose, bus ištrinti arba paslėpti, jei duomenys yra gauti iš tik skaitomos paskyros."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Kai įjungtas sinchronizavimas, šis adresatas ir su juo susieti adresatai, esantys kitose sinchronizuotose paskyrose, bus ištrinti."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Atnaujinama paslaugos teikėjo informacija..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Neįmanoma pridėti adresato. Pasiektas didžiausias sietinų adresatų skaičius (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Neįmanoma pridėti adresatų. Pasiektas didžiausias sietinų adresatų skaičius (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Šis adresatas bus panaikintas."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Šis adresatas ir su juo susieti adresatai bus ištrinti."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Viršytas didžiausias elementų, kuriuos galite pasirinkti, skaičius (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Viršytas didžiausias vienu metu bendrintinų adresatų skaičius (%1$d). Bus bendrinami tik pirmieji %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Norint nustatyti savo adresatų paslaugų teikėjus ir rodyti juos adresatų sąraše, galima naudoti funkciją „Chamada Certa“. Galite padaryti tai vėliau, paspaudę meniu mygtuką ir pasirinkę parinktį „Atnaujinti paslaugos teikėjo informaciją“. Bakstelėkite „Gerai“, jei norite dabar nustatyti savo adresatų paslaugų teikėjus."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Bakstelėkite „Gerai“, kad sustabdytumėte adresatų importavimą iš SIM kortelės."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Bakstelėkite „Gerai“, kad sustabdytumėte adresatų eksportavimą į %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Bakstelėkite „Eksportuoti“ ir pasirinkite eksportuotinus adresatus. Dalis adresato informacijos gali būti prarasta."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Kai kurie arba visi adresatai galėjo būti neatnaujinti."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Kai kurių adresatų informacija gali būti prarasta."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM kortelės atmintis pilna."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Šalinama..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "Atnaujinta telefono numerių: %d."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "Bus ištrinta adresatų: %d."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "Į %2$s eksportuota adresatų: %1$d."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d adresatai eksportuoti į Device/Contacts/Imported/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Nepakanka atminties."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Nauji adresatai įrenginyje bus išsaugoti aplanke „Adresatai“."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN režimas įjungtas."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Nepavyko."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Naikinti pakeitimus?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Trinami adresatai..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Adresatų trynimas atšauktas. Kai kurie adresatai jau ištrinti."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Adresatų importavimas bus sustabdytas nuo %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Jau yra."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Visi susieti adresatai bus ištrinti."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Bus ištrinti visi adresatai."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Visi pokyčiai bus panaikinti."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Pridedama..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "Atnaujintas 1 telefono numeris."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "Bus ištrintas 1 adresatas."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 adresatas pašalintas."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Darbo"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Balso skambutis"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Vaizdo skambutis"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Atnaujinkite paslaugos teikėjo informaciją"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Atsieti adresatą"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Atsieti adresatus"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Fotografuoti"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Fotografuoti"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Sutuoktinis"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "„Skype“"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Sesuo"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM kortelė"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Bendrinti per"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Dalytis"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Nustatymai"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Rinktis iš adresatų"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD kortelė"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Išsaugoti adresatą"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Pertvarkyti"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Šalinti"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Giminaitis (-ė)"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Santykiai"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Remiamasi"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partneris"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Tėvai"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pranešimų gaviklis"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Kiti"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organizacija"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Motina"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobilusis"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Žinutė"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Tvarkyti mėgstamus"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Vadovas"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Pagrindinis"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Pirmiausia pavardė"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Pavardė"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Namų"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Namų"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangout"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Iš galerijos"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Draugas"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Pirmiausia vardas"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Vardas"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN adresatas"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Faksas (darbo)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Faksas (namų)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Tėvas"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Redaguoti"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Neberodyti"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Civilinis partneris"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Įrenginys"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Pasirinktinis"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Kurti"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Vaikas"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Brolis"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Gimtadienis"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Asistentas"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Sukaktis"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Pridėti lauką"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Pridėti"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Paskyra"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Ieškoti"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Nėra paslaugų numerių"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Rezultatų nerasta"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Nėra pagalbos adresatų"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Nėra adresatų"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Rūšiuoti pagal"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Nustatyti profilį"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Nustatyti mano profilį"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Siųsti kartu"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Siųsti atskirai"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Siųsti adresato informaciją"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Rinktis viską"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "Adresatai: %d"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Tik adresatai su telef."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importuoti"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Eksportuoti"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Įvykis"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Rodyti adresatus su numeriais"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 adresatas"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Adresatai"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Vidinė telefono atmintis nepasiekiama"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Neįmanoma pridėti"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Negalima pridėti"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Siūlomi adresatai"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Bendrinti per"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Nustatyti adresato nuotrauką"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Nustatymai"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Paslaugų teikėjas"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Siųsti adresato informac."
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Rinktis SIM kortelę, skirtą skambinti"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Pasirinkite SIM kortelę ir skambinkite"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Pasirinkite SIM ir skambinkite"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Pasirinkti adresatą"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Rinktis"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Įrašyti adresatus į"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Pertvarkyti"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Šalinti"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Pagrindiniai adresatai(%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Pagr.adresatai (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefonas"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Asmeniniai adresatai"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "Pasirinkta: %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "Pasirinkta: %d"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Vardų formatas"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Dažniausiai naudojami adresatai"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Aš"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Tvarkyti mėgstamus"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Adresatų sąrašas"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Susieti adresatai"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importuot adresatus"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importuoti"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Mėgstamiausieji"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Eksport. adresatus į SIM kort."
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Eksportuoti adresatus"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Eksportuoti"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Įveskite pasirinktinę etiketę"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Pagalbos tarnybos"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Pagalbos tarnybų numeriai"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Redaguoti"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Rodyti vardus pagal"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Ekranas"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Atmesti pakeitimus"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Ištrinti elementą"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Kurti"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Adresato vaizdas"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Rodytini adresatai"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Adresatai"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Adresatai eksportuoti"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Pakeisti išsaugojimo vietą"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Atšaukti importavimą"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Atšaukti eksportavimą"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Bandyti vėl"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Išsaugoti"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telef."
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "Gerai"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Pastabos"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Daug."
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Eksportuoti"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "El.paštas"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Atlikta"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Panaikinti"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Trinti"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Kurti"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Keisti"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Atšaukti"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Prid.paskyrą"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "„Windows Live“"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Svetainė"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Atnaujinamas adresatų sąrašas..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Neįmanoma išsaugoti dėl SIM klaidos."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Pavadinimas"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Šis adresatas bus panaikintas."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Pasirinktų adresatų paslaugos teikėjo informacija bus atnaujinta. Norint naudotis šia funkcija reikalingas tinklo ryšys, už naudojimąsi ja gali būti taikomi papildomi mokesčiai. Laikas, kurio reikia procesui užbaigti, priklausys nuo tinklo ryšio būsenos."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefonas"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "„Skype“"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Inicijuojama SIM kortelė..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Paslaugos numeris"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Siunčiant vardo korteles atskirai gali prireikti daugiau laiko, nes priimantis įrenginys jas priima po vieną."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Siunčiant kelis adresatus vienu metu sutrumpėja siuntimo laikas. Tačiau jei kitas įrenginys šios funkcijos nepalaiko, bus siunčiamas tik vienas adresatas."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Pasirinkite adresato informacijos siuntimo būdą."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Pasirinkta"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Pašalinti iš parankinių"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Nuotrauka"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Tel. numeris"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Fonetinis pavad."
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Antras fonet. vardas"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Fonetinė pavardė"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Fonetinis vardas"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Kiti el. laiškai"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Rezultatų nerasta"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Nėra grupių"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Pastabos"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Slapyvardis"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Vardo povardis"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Vardo prefiksas"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Vardas"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Mano adresatai"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Antras vardas"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Pavardė"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Pareigos"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importuoti iš SIM kortelės"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importuoti iš SIM2 kortelės"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importuojama..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Vaizdas"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Jei paslaugų teikėjas iš anksto įkėlė paslaugų numerius į jūsų SIM kortelę, jie bus rodomi čia."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Vardas"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Faksas"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Eksportuoti į SIM kortelę"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Eksportuoti į SIM2 kortelę"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Eksportuoti į SD kortelę"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "El. paštas"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Naikinti pakeitimus"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Draugai"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Šeima"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Bendradarbiai"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Pasikartojantys adresatai bus siūlomi automatiškai."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Adresatai"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Įmonė"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Sąrašo išplėtimo mygtukas"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Naudojant automatines rekomendacijas iš garso failų galima išskirti fragmentus."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kai sukursite adresatų, jie bus rodomi čia."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kai pridėsite adresatų, jie bus rodomi čia."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Įtraukti į Parankinius"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adresas"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Paskyros"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN kodas užblokuotas."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Neteisingas PUK2 kodas."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Neteisingas PIN1 kodas."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Pridėti esamą adresatą"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Pagrindinių adresatų nėra"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Pagrindiniai adresatai"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Kurti pagrindinį adresatą"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Pridėti pagrindinių adresatų"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Nustatyti datą"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Naujas ir patvirtintas PIN kodai nesutampa."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kai sukursite pagrindinių adresatų, jie bus rodomi čia."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Negalima rinktis daugiau elem."
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Įdėkite SIM kortelę."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Adresato, kuriam skambinate, paslaugos teikėjas yra %1$s. Bakstelėkite „Gerai“ ir skambinkite naudodami „%2$s“ SIM kortelę."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Naudoti %s SIM kortelę"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Esama SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Taksofonas"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Netinkamas simbolis."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telef."
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Išeinantis skambutis"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Įeinantis skambutis"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Rodomi tik pirmieji %d adresatai (-ų)."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Mano profilis"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Bakstelėkite čia ir pridėkite trumpinį"
+
diff --git a/main-app/res/po/lv.po b/main-app/res/po/lv.po
new file mode 100644
index 0000000..e13fd90
--- /dev/null
+++ b/main-app/res/po/lv.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Zvanītie numuri"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Pēdējais zvans"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Saņemtie zvani"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Izvēlēties žurnālus"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Skatīt pēc"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Mājas 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Pārvietošana pabeigta."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Pārvieto..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 verificēts."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 verificēts."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN atbloķēts."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 kods atbloķēts."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 kods nomainīts."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 kods bloķēts."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 kods mainīts."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 kods bloķēts."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Nepareizs PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Jaunais PIN2 kods un apstiprinājuma PIN2 kods nesakrīt"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Nepareizs PUK1 kods."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Nepareizs PUK1. Atlikuši %d mēģinājumi."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Nepareizs PUK2. Atlikuši %d mēģinājumi."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN kods nomainīts."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Kontakti"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Konta pievienošana"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Sasniegts maksimālais rakstzīmju skaits."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Meklē ierīces..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Nepareizs PIN kods"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GATAVS"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ATCELT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "DZĒST"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Savienojuma problēma vai nederīgs MMI kods."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Privāts numurs"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "SŪTĪT"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 bloķēts. Sazinieties ar pakalpojumu sniedzēju (nepieciešams SIM PUK2 kods)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Nav žurnālu"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Pēc tam, kad veiksit/saņemsit zvanu vai nosūtīsit/saņemsit ziņu, tiks parādīti žurnāli."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM karte aizņemta. Mēģiniet vēlāk"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM karte ir bloķēta."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIM karte nav atrasta. Lūdzu, ievietojiet tālrunī SIM karti."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Tīkla vai SIM kartes kļūda."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Vibrācijas atbilde ir aktivizēta."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Vibrācijas atbilde ir deaktivizēta."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Nevar izsaukt numuru. %d nav ārkārtas režīma numurs."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Ātrā zvana numurs %d noņemts."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Ātrā zvana numurs ir piešķirts."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Ievadiet numuru."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Jūsu PIN kodā ir jābūt %1$d–%2$d cipariem. Mēģiniet vēlreiz."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2 kodā jābūt no %1$d līdz %2$d cipariem. Mēģiniet vēlreiz."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Šim ātrā zvana numuram nav piešķirts neviens kontakts. Pieskarieties pie Labi, lai piešķirtu to tagad."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN kods ir deaktivizēts. Pirms mainīšanas aktivizējiet PIN kodu."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "B. pasts"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Atjaun.kontaktu"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Ātrā zvana iestat."
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Noņemt"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Izv. kontaktu"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Zvana iestatījumi"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Pievienot gaidīšanu"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Pievienot 2 sekunžu pauzi"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Tastatūra"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Nevar izveidot savien.ar tīklu"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Izvēlēties SIM karti zvanam"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Meklēšanas rezultāti (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Ārkārtas zvans"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Piešķirt kā ātrā zvana numuru"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Iestat. numuru"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Sūtīt ziņu"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Atcelt"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Pievienot kontaktiem"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Paroles nav vienādas."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN kods bloķēts. Ievadiet PUK kodu."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM bloķēta."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Nesaglabātie"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Saglabāti"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Neatbildēts"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Neizdevās"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Atcelts"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d žurnāla objekti tiks dzēsti."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Visi žurnāla objekti tiks dzēsti."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Tiks izdzēsts 1 žurnāla objekts."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Skatīt kontakta datus"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Sūtīt numuru"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Neatbildētie zvani"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Dzēst"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Sarunu ilgums"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Neatbildētie zvani"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Vairs nerādīt"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Nezināms numurs"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Nezināms"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Izvēlēties visu"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Žurnāli"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Vakar"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Šodien"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "Izvēlēti %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Dzēst %d žurnālus"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Dzēst žurnāla objektus"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Dzēst žurnālu"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Dzēst"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Atj. kontaktu"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Dzēst"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Izv. kontaktu"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Atcelt"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Balss zvani"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videozvani"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM karte"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Visi zvani"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Kad būsit veicis vai saņēmis zvanus, tie tiks reģistrēti šeit."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Kad būsit veicis vai saņēmis zvanus, šeit tiks parādīti žurnāla objekti."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDIĢĒT"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Ievadiet tekstu"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Šķiet, ka daži jūsu kontakti ir dublikāti."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "Importēti %d kontakti."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kontakti ir saistīti."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 numurs ir noņemts no automātiski noraidāmo saraksta."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "Importēts 1 kontakts."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Pakalpojuma numuri"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Vārda formāts"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Saistīt kontaktus"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Kontakti, ko parādīt"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Iestatīt"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Izveidot"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Pievienot laukus"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importē kontaktus..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importēšana ir atcelta"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Eksportē kontaktus..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Eksportēšana ir atcelta"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Kontakti ir importēti"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Kontakti ir eksportēti"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Visi kontakti"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Nevar izdzēst kontaktus no tikai lasāmiem kontiem, taču tos var paslēpt kontaktu sadaļā."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Kad sinhronizācija ir aktivizēta, šis kontakts tiks izdzēsts no visiem sinhronizētajiem kontiem, kuros tas ir saglabāts."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Kad sinhronizācija ir aktivizēta, šis kontakts un visi tā saistītie kontakti citos sinhronizētajos kontos tiks izdzēsti vai paslēpti, ja informācija ir no tikai lasāma konta."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Kad sinhronizācija ir aktivizēta, šis kontakts un visi tā saistītie kontakti citos sinhronizētajos kontos tiks izdzēsti."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Atjaunina pakalpojumu sniedzēja datus..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Nevar pievienot kontaktu. Sasniegts maksimālais saistāmo kontaktu skaits (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Nevar pievienot kontaktus. Sasniegts maksimālais saistāmo kontaktu skaits (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Šis kontakts tiks dzēsts."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Tiks izdzēsts šis kontakts un visi ar to saistītie kontakti."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Pārsniegts maksimālais objektu skaits (%d), kurus var izvēlēties."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Ir pārsniegts maksimālais kontaktu skaits (%1$d), ko var vienlaikus kopīgot. Tiks kopīgoti tikai pirmie %2$d kontakti."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Funkciju Chamada Certa var izmantot, lai noteiktu jūsu kontaktu pakalpojumu sniedzējus un parādītu tos jūsu kontaktu sarakstā. Lai to noteiktu vēlāk, nospiediet izvēlnes taustiņu un izvēlieties Atjaunināt pakalpojumu sniedzēja informāciju. Lai noteiktu savu kontaktu pakalpojumu sniedzējus tūlīt, pieskarieties pie Labi."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Pieskarieties pie Labi, lai pārtrauktu kontaktu importēšanu no SIM kartes."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Pieskarieties pie Labi, lai pārtrauktu kontaktu eksportēšanu uz %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Pieskarieties pie Eksportēt, lai izvēlētos kontaktus, ko eksportēt. Daļa kontaktinformācijas var tikt zaudēta."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Daži vai visi kontakti, iespējams, nav atjaunināti."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Daļa kontaktinformācijas, iespējams, tiks zaudēta."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM atmiņa pilna."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Noņem..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "Ir atjaunināti %d tālruņu numuri."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "Tiks izdzēsti %d kontakti."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d kontakti ir eksportēti uz %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d kontakti ir eksportēti uz Device/Contacts/Imported/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Atmiņa pilna."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Jaunie kontakti tiks saglabāti ierīces mapē Kontakti."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Fiksēto numuru režīms aktivizēts."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Neizdevās."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Vai atmest izmaiņas?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Dzēš kontaktus..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Kontaktu dzēšana atcelta. Daži kontakti, iespējams, jau ir izdzēsti."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Tiks apturēta kontaktu importēšana no %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Jau pastāv."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Visi saistītie kontakti tiks izdzēsti."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Visi kontakti tiks izdzēsti."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Visas izmaiņas tiks atmestas."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Pievieno..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "Tika atjaunināts 1 tālruņa numurs."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "Viens kontakts tiks dzēsts."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 kontakts ir noņemts."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Darba"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Balss zvans"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videozvans"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Atjaunināt pakalpojumu sniedzēja informāciju"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Noņemt kontakta piesaisti"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Noņemt kontaktu saistījumu"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Fotografēt"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Fotografēt"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Laulātais"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Māsa"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM karte"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Kopīgot, izmantojot"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Kopīgot"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Iestatījumi"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Izvēlēties no kontaktiem"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD karte"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Saglabāt kontaktu pie"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Pārkārtot"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Noņemt"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Radinieks"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Attiecības"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Ieteica"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partneris"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Vecāks"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Peidžera numurs"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Cita"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organizācija"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Māte"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobilais"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Ziņa"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Pārvaldīt izlasi"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Vadītājs"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Galvenā"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Vispirms uzvārds"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Uzvārds"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Mājas"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Mājās"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "No galerijas"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Draugs"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Vispirms vārds"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Vārds"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN kontakts"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Faksa numurs (darbā)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Faksa numurs (mājas)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Tēvs"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Rediģēt"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Vairs nerādīt"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Vietējais partneris"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Ierīce"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Pielāgot"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Izveidot"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Bērns"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Brālis"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Dzimšanas diena"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Palīgs"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Jubileja"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Pievienot lauku"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Pievienot"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Konts"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Meklēt"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Nav pakalpojuma numuru"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nav atrasts neviens rezultāts"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Nav neviena ārkārtas situāciju kontakta"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Nav kontaktu"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Kārtot pēc"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Iestatīt profilu"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Iestatīt manu profilu"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Sūtīt kopā"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Sūtīt atsevišķi"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Sūtīt kontaktinformāciju"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Izvēlēties visu"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d kontakti"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Tikai kontaktus ar tālr."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importēt"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Eksportēt"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Notikums"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Rādīt kontaktus ar numuriem"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 kontakts"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kontakti"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Ierīces iekšējā atmiņa nav pieejama"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Nevar pievienot"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Nevar pievienot"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Ieteiktie kontakti"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Kopīgot, izmantojot"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Iestatīt kontakta attēlu"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Iestatījumi"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Pakalpojumu sniedzējs"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Sūtīt kontaktinformāciju"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Izvēlēties SIM karti zvanam"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Lai zvanītu, izvēlieties SIM karti"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Izvēlēties SIM karti zvanam"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Izvēlēties kontaktu"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Izvēlēties"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Saglabāt kontaktus"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Pārkārtot"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Noņemt"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Primārie kontakti (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Prim. kontakti (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Tālrunis"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Personiskie kontakti"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "Izvēlēti %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "Izvēlēts: %d"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Vārda formāts"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Biežāk lietotie kontakti"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Mans"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Pārvaldīt izlasi"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Kontaktu saraksts"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Saistītie kontakti"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importēt kontaktus"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importēšana"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Izlases"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Eksportēt kont. uz SIM karti"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Eksportēt kontaktus"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Eksportēšana"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Ievadīt pielāgotu etiķeti"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Ārkārtas pakalpojumi"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Ārkārtas situāc. kontakti"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Rediģēt"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Rādīt vārdus pēc"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Displejs"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Atmest izmaiņas"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Dzēst objektu"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Izveidot"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Kontakta attēls"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Kontakti, ko parādīt"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kontakti"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Kontakti ir eksportēti"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Saglabāšanas vietas maiņa"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Atcelt importēšanu"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Atcelt eksportēšanu"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Mēģiniet vēlreiz"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Saglabāt"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Tālrunis"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "Labi"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Piezīmes"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Vēl"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Eksportēt"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-pasts"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Gatavs"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Atmest"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Dzēst"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Izveidot"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Mainīt"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Atcelt"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Piev. kontu"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Tīmekļa vietne"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Atjaunina kontaktu sarakstu..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Nevar saglabāt SIM kļūdas dēļ."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Uzruna"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Šis kontakts tiks dzēsts."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Izvēlēto kontaktpersonu pakalpojumu sniedzēja informācija tiks atjaunināta. Šai funkcijai ir nepieciešams tīkla savienojums, un tas var radīt papildu izmaksas. Procesa pabeigšanas ilgums būs atkarīgs no tīkla savienojuma statusa."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Tālrunis"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Inicializē SIM karti..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Pakalpojuma numurs"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Atsevišķu vizītkaršu sūtīšanai var būt nepieciešams ilgāks laiks, jo saņemošajai ierīcei tās ir jāpieņem pa vienai."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Vienlaikus sūtot vairākus kontaktus, tiek saīsināts pārsūtīšanas ilgums. Tomēr, ja otra ierīce to neatbalsta, tiks nosūtīts tikai viens kontakts."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Izvēlieties, kā nosūtīt kontaktinformāciju."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Izvēlēts"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Izņemt no izlases"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Fotoattēls"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Tālruņa num."
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Vārds fonētiski"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Otrā vārda izruna"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Uzvārda izruna"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Vārds fonētiski"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Citas e-pasta adreses"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Rezultāta nav"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Nav grupu"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Piezīmes"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Segvārds"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Tituls"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Uzruna"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Vārds"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Mani kontakti"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Otrs vārds"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Uzvārds"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Amata nosaukums"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importēt no SIM kartes"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importēt no SIM2 kartes"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importē..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Attēls"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ja jūsu pakalpojumu sniedzējs ir sākotnēji ielādējis pakalpojumu numurus jūsu SIM kartē, tie tiks parādīti šeit."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Vārds"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fakss"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Eksportēt uz SIM karti"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Eksportēt uz SIM2 karti"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Eksportēt uz SD karti"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-pasts"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Izmest izmaiņas"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Draugi"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Ģimene"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Datums"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Darba biedri"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Kontakti, kas tiks noteikti kā dublikāti, tiks ieteikti automātiski."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Kontakti"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Uzņēmums"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Saraksta izvēršanas poga"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automātiskie ieteikumi var palīdzēt izgūt spilgtākās skaņu failu vietas."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pēc kontaktu izveides tie tiks parādīti šeit."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pēc kontaktu pievienošanas tie tiks parādīti šeit."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Pievienot izlasei"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adrese"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Konti"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN kods bloķēts."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Nepareizs PUK2 kods."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Nepareizs PIN1 kods."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Pievienot esošu kontaktu"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Nav primāro kontaktu"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Primārie kontakti"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Primārā kontakta izveide"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Pievienot primāros kontaktus"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Iestatīt datumu"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Jaunais PIN kods un apstiprinājuma PIN kods nesakrīt."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Pēc primāro kontaktu izveides tie tiks parādīti šeit."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Nevar izvēlēt. vairāk objektu"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Ievietojiet SIM karti."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Kontakta, kuram zvanāt, pakalpojumu sniedzējs ir %1$s. Pieskarieties pie Labi, lai šo zvanu veiktu, izmantojot savu %2$s SIM karti."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Izmantot %s SIM karti"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Pašreizējā SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Taksofons"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Nederīga rakstzīme."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Tālr."
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Izejošais zvans"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Ienākošais zvans"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Tiek rādīti tikai %d pirmie kontakti."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Mans profils"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Pieskarieties šeit, lai pievienotu īsceļu"
+
diff --git a/main-app/res/po/mk.po b/main-app/res/po/mk.po
new file mode 100644
index 0000000..fcf5040
--- /dev/null
+++ b/main-app/res/po/mk.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Повикани броеви"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Последен повик"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Примени повици"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Одбери дневници"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Прегледај според"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Домашен 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Преместувањето е завршено."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Се преместува..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 е потврден."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 е потврден."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN кодот е одблокиран."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 кодот е одблокиран."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 е сменет."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 е блокиран."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1-кодот е сменет."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1-кодот е блокиран."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Погрешен PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Новиот PIN2 и PIN2 за потврда не се совпаѓаат"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Неточен PUK1-код."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Погрешен PUK1. Имате уште %d обиди."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Погрешен PUK2. Имате уште %d обиди."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN кодот е сменет."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Именик"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Додај сметка"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Достигнат е максималниот број знаци."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Се скенираат уреди..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Неправилен PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ОТКАЖИ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ИЗБРИШИ"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Проблем со врската или неважечки MMI-код."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Приватен број"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ПРАТИ"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 е блокиран. Контактирајте со провајдерот (потребен е SIM PUK2)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Нема дневници"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Откако ќе упатите или примите повик или пратите или примите порака, ќе се прикажат дневниците."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM-картичката е зафатена. Обидете се подоцна"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM-картичката е заклучена."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Нема SIM-картичка. Вметнете SIM-картичка во телефонот."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Грешка на мрежата или на SIM-картичката."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Вибрациските повратни информации се вклучени."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Вибрациските повратни информации се исклучени."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Не може да се повика бројот. %d не е итен број."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Бројот за брзо бирање %d е отстранет."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Бројот за брзо бирање е назначен."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Внесете број."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "PIN-от мора да е долг од %1$d до %2$d бројки. Обидете се повторно."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2 треба да има %1$d до %2$d бројки. Обидете се повторно."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Нема контакт доделен на овој број за брзо бирање. Допрете ОК за да доделите некој."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN е исклучен. Вклучете PIN пред да смените."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Гов.пошта"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Ажур. контакт"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Пост.за брзо бирање"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Отстрани"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Направи контакт"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Пост. за повиците"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Додај чекање"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Додај пауза од 2 секунди"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Тастатура"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Не може да се поврзе со мрежа"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Изберете SIM-картичка за повик"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Резултати на пребарување (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Итен повик"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Назначи број за брзо бирање"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Одреди број"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Прати порака"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Откажи"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Додај во Контакти"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Лозинките не се совпаѓаат."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN-от е блокиран. Внесете PUK код."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM картичката е блокирана."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Несочувано"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Сочуван"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Пропуштени"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Неуспешно"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Откажано"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d дневнички ставки ќе се избришат."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Сите дневнички ставки ќе се избришат."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 дневнички запис ќе се избрише."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Види детали за контакт"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Испрати број"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Пропуштени повици"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Избриши"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Траења на разговори"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Пропуштени повици"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Не прикажувај веќе"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Непознат број"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Непознато"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Избери ги сите"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Дневници"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Вчера"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Денес"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d избрани"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Избриши %d дневници"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Избриши дневнички записи"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Избриши дневник"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Избриши"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Ажур. контакт"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Избриши"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Напр. контакт"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Откажи"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Говорни повици"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Видео повици"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM-картичка"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Сите повици"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Откако ќе упатите или примите повици, ќе се заведат тука."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Откако ќе упатите или примите повици, записите во дневникот ќе се прикажат тука."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "ИЗМЕНИ"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Внеси текст"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Некои контакти изгледа се дупликати."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d контакти се увезени."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Поврзани контакти."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 број е отстранет од листата за автоматско одбивање."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 контакт е увезен."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Каталог на услуги"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Формат на името"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Поврзи контакти"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Контакти за прикажување"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Постави"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Ново"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Додај поле"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Се увезуваат контакти..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Увезувањето е откажано"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Се извезуваат контакти..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Извезувањето е откажано"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Контактите се увезени"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Контактите се извезени"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Сите контакти"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Не може да избришете контакти од сметки што се само за читање, но може да ги сокриете во контактите."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Кога е вклучено синхронизирање, овој контакт ќе се избрише од сите синхронизирани сметки во коишто е зачуван."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Кога е вклучено синхронизирање, овој контакт и сите негови поврзани контакти на другите синхронизирани сметки ќе се избришат или ќе се скријат ако информациите се од сметка само за читање."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Кога е вклучено синхронизирање, овој контакт и сите негови поврзани контакти на другите синхронизирани сметки ќе се избришат."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Се ажурираат информациите за операторот..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Не може да се додаде контактот. Достигнат е максималниот број контакти што можат да се поврзат (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Не може да се додадат контакти. Достигнат е максималниот број контакти што можат да се поврзат (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Овој контакт ќе се избрише."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Овој контакт и сите негови поврзани контакти ќе се избришат."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Надминат е максималниот број ставки што можат да се изберат (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Надминат е максималниот број контакти што можат да се споделат одеднаш (%1$d). Само првите %2$d ќе се споделат."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Функцијата Chamada Certa може да се користи за идентификување на операторите на Вашите контакти и нивно прикажување во листата контакти. Можете да го направите ова и подоцна притискајќи го копчето за мени и избирајќи Ажурирај информации за операторот. Допрете ОК за да ги идентификувате операторите на Вашите контакти сега."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Допрете ОК за да престане увезувањето контакти од SIM-картичката."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Допрете ОК за да престане извезувањето контакти во %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Допрете Извези за да изберете кои контакти да се извезат. Некои информации за контактите може да се изгубат."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Некои од контактите може да не се ажурирани."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Некои информации за контакт може да се загубат."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Меморијата на SIM е полна."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Отстранување..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d телефонски броеви се ажурирани."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d контакти ќе се избришат."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d контакти се извезени во %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d контакти се извезени во Уред/Контакти/Увезени/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Нема доволно меморија."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Новите контакти ќе се сочувуваат во Контакти на уредот."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Режимот за ФП е активиран."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Неуспешно."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Отфрли промени?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Се бришат контакти..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Бришењето на контактите е откажано. Некои контакти може да се веќе избришани."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Ќе престанат да се увезуваат контакти од %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Веќе постои."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Сите поврзани контакти ќе се избришат."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Сите контакти ќе се избришат."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Сите промени ќе се отфрлат."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Се додава..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 телефонски број е ажуриран."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 контакт ќе се избрише."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 контакт е отстранет."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Работа"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Гласовен повик"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Видео повик"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Ажурирај информации за операторот"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Отповрзи контакт"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Отповрзи контакти"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Сликај"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Фотографирај"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Сопруг/а"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Сестра"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM-картичка"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Сподели преку"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Сподели"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Опции"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Избери од контакти"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD-карт."
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Сочувај контакт во"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Пререди"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Отстрани"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Роднина"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Врска"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Препорачано од"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Партнер"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Родител"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Пејџер"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Друго"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Организација"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Мајка"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Мобилен"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Порака"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Уреди омилени"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Управник"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Главен"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Прво презимето"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Презиме"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Дома"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Дом"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Од Галерија"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Пријател"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Првo името"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Име"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Контакт за фиксно бирање"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Факс (работа)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Факс (домашен)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Татко"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Измени"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Не прикажувај веќе"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Домашен партнер"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Уред"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Одредено"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Направи"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Дете"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Брат"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Роденден"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Помошник"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Годишнина"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Додај поле"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Додај"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Сметка"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Пребарување"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Нема каталог на услуги"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Нема резултати"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Нема итни контакти"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Нема контакти"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Подреди според"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Постави профил"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Одреди мој профил"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Прати заедно"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Праќај една по една"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Прати информации за контакт"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Избери ги сите"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d контакти"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Само контакти со телефони"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Увези"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Извези"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Настан"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Прикажувај контакти со броеви"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 контакт"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Контакти"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Нема меморија USB"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Не може да се додаде"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Не може да се додаде"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Предложени контакти"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Сподели преку"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Одреди слика за контакт"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Опции"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Оператор"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Прати инфо. за контакт"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Изберете SIM за повик"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Изберете SIM-картичка за повик"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Изберете SIM-картичка за повик"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Изберете контакт"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Избери"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Сочувај контакти во"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Пререди"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Отстрани"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Примарни контакти (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Примарни контакти(%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Телефон"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Лични контакти"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d избрани"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d избрани"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Формат на името"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Најчести контакти"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Мене"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Уреди омилени"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Листа на записи"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Поврзани контакти"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Увези контакти"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Увези"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Омилени"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Извези контакти на SIM-карт."
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Извези контакти"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Извези"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Внеси произволна етикета"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Итни услуги"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Итни контакти"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Измени"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Прикажувај имиња по"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Екран"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Отфрли промени"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Избриши запис"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Ново"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Слика за контакт"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Контакти за прикажување"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Контакти"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Контактите се извезени"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Смени локација за зачувување"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Откажи увезување"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Откажи извезување"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Повторен обид"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Сочувај"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Телефон"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Белешки"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Повеќе"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Извези"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Е-пошта"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Готово"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Отфрли"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Избриши"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Направи"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Смени"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Откажи"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Додај сметка"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Интернет-страница"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Се ажурира листата контакти..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Не може да се сними поради грешка на SIM."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Наслов"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Овој контакт ќе се избрише."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Информациите за операторите на избраните контакти ќе се ажурираат. Оваа функција бара мрежно поврзување и може да се наплаќа дополнително. Времето потребно за завршување на процесот ќе зависи од состојбата на Вашето мрежно поврзување."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Телефон"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Се активира SIM-картичката..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Услужен број"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Испраќањето визит-картички посебно може да трае подолго затоа што приемниот уред треба да ги прифаќа една по една."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Испраќањето неколку контакти заедно го намалува времето за пренос. Меѓутоа, ако другиот уред не го поддржува ова, ќе се испрати само еден контакт."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Изберете како да се праќаат информации за контакт."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Избраните"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Отстрани од Омилени"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Фотографија"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Тел. број"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Фонетско име"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Фонетско татково име"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Фонетско презиме"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Фонетско име"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Други email-пораки"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Нема резултат од пребарувањето"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Нема групи"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Белешки"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Прекар"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Наставка на името"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Име"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Име"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Мои контакти"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Татково име"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Презиме"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Работно место"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Увези од SIM-картичка"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Увези од SIM2-картичка"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Увезување..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Слика"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "Инстант-пораки"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ако Вашиот оператор има претходно вчитани броеви за услуги на SIM-картичката, ќе се прикажат тука."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Галерија"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Име"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Факс"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Извези во SIM-картичка"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Извези во SIM2-картичка"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Извези во SD-картичка"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Е-пошта"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Отфрли промени"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Пријатели"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Семејство"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Датум"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Колеги"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Контактите идентификувани како дупликати ќе се предложуваат автоматски."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Именик"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Фирма"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Копче за раширување листа"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Автоматските препораки можат да го извлечат нагласеното од звучните фајлови."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Откако ќе направите контакти, ќе се прикажат тука."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Откако ќе додадете контакти, ќе се прикажат тука."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Додај во Омилени"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Адреса"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Сметки"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN-кодот е блокиран."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Неточен PUK2 код."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Неточен PIN1-код."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Додај постоен контакт"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Нема примарни контакти"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Примарни контакти"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Направи примарен контакт"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Додај примарни контакти"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Постави датум"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Новиот PIN и PIN-от за потврда не се поклопуваат."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Откако ќе направите примарни контакти, ќе се прикажат тука."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Не може да се изб. уште ставки"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Вметнете SIM-картичка."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Операторот на контактот што го барате е %1$s. Допрете OK за да го упатите овој повик со својата SIM-картичка %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Користи SIM-картичка %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Тековен SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Тел. говорница"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Погрешен знак."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Телефон"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Појдовен повик"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Дојдовен повик"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Прикажани се само првите %d контакти."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Мој профил"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Допрете тука за да додадете кратенка"
+
diff --git a/main-app/res/po/nb.po b/main-app/res/po/nb.po
new file mode 100644
index 0000000..9e13211
--- /dev/null
+++ b/main-app/res/po/nb.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Utgående samtaler"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Siste samtale"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Mottatte anrop"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Velg logger"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Vis"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Hjem 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Flytting fullført."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Flytter..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 godkjent."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 godkjent."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN-kode ikke blokkert."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2-blokkering opphevet."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 endret."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 blokkert."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1-kode endret."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1-kode sperret."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Feil PIN2-kode."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Ny PIN2-kode og bekreft PIN2-kode stemmer ikke overens."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Feil PUK1-kode."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Feil PUK1. %d forsøk gjenstår."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Feil PUK2. %d forsøk gjenstår."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN-kode endret."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Legg til konto"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Nådd maksimalt antall tegn."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Søker etter enheter..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Feil PIN-kode"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FULLFØRT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "AVBRYT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SLETT"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Tilkoblingsproblem eller ugyldig MMI-kode."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Privat nummer"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "SEND"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 blokkert. Kontakt leverandør (SIM PUK2 kreves)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Ingen logger"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Logger vises etter at du har ringt/mottatt et anrop eller sendt/mottatt en melding."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM-kort opptatt. Prøv igjen senere"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM-kort låst."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Ingen SIM-kort funnet. Sett inn et SIM-kort i telefonen."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Feil ved nettverk eller SIM-kort."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Vibrasjonstilbakemelding er aktivert."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Vibrasjonstilbakemelding er deaktivert."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Kan ikke ringe nummer. %d er ikke nødnummer."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Hurtigtastnummer %d er fjernet."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Hurtigtastnummer er tilordnet."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Angi nummer."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "PIN-koden må være på mellom %1$d og %2$d sifre. Prøv igjen"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2-koden må være på mellom %1$d og %2$d sifre. Prøv igjen."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Ingen kontakt er tilordnet dette hurtigtastnummeret. Trykk på OK for å tilordne en kontakt nå."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN-koden har blitt deaktivert. Aktiver PIN-koden før du endrer den."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Mobilsvar"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Oppd. kontakt"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Innst. hurtigtastnr"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Fjern"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Opprett kontakt"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Anropsinnstillinger"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Legg til ventetid"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Legg til 2-sekunders pause"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Tastatur"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Kan ikke koble til nettverket"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Velg SIM-kort for anrop"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Søkeresultater (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Nødanrop"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Tilordne som hurtigtastnummer"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Angi nummer"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Send melding"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Avbryt"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Legg til i Kontakter"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Passordene stemmer ikke overens."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN-kode blokkert. Angi PUK-kode."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM-kort låst."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Ikke lagret"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Lagret"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Tapt"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Mislykket"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Avbrutt"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d loggelementer vil bli slettet."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Alle loggelementer vil bli slettet."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 loggelement blir slettet."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Vis kontaktdetaljer"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Send nummer"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Tapte anrop"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Slett"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Samtalelengde"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Tapte anrop"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Ikke vis igjen"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Ukjent nummer"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Ukjent"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Merk alle"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Logger"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "I går"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "I dag"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d valgt"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Slett %d logger"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Slett loggelementer"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Slett logg"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Slett"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Oppdat. kontakt"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Slett"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Oppr. kontakt"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Avbryt"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Taleanrop"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videoanrop"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM-kort"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Alle anrop"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Når du har ringt ut eller mottatt anrop, blir de logget her."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Når du har ringt ut eller mottatt anrop, vises loggelementer her."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDIGER"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Skriv tekst"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Noen av kontaktene dine ser ut til å være duplikater."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d kontakter ble importert."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kontakter er koblet sammen."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 nummer er fjernet fra Liste for automatisk avvisning."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 kontakt er importert."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Servicenumre"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Navneformat"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Koble kontakter"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Kontakter som skal vises"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Angi"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Oppr."
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Nye felt"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importerer kontakter..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importering ble avbrutt"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Eksporterer kontakter..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Eksportering ble avbrutt"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Kontakter ble importert"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Kontakter ble eksportert"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Alle kontakter"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Du kan ikke slette kontakter fra skrivebeskyttede kontoer, men du kan skjule dem i kontakter."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Når Synkronisering er aktivert, blir denne kontakten slettet fra alle synkroniserte kontoer den er lagret i."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Når Synkronisering er aktivert, blir denne kontakten og dens koblede kontakter i andre synkroniserte kontoer slettet eller skjult, hvis informasjonen er fra en skrivebeskyttet konto."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Når Synkronisering er aktivert, blir denne kontakten og dens koblede kontakter i andre synkroniserte kontoer slettet."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Oppdaterer informasjon om tjenesteleverandør..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kan ikke legge til kontakt. Maksimalt antall kontakter som kan kobles (%d), er nådd."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kan ikke legge til kontakter. Maksimalt antall kontakter som kan kobles (%d), er nådd."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Denne kontakten vil bli slettet."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Denne kontakten og alle dens koblede kontakter blir slettet."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Maksimalt antall elementer som kan velges (%d), er overskredet."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Maksimalt antall kontakter som kan deles på én gang (%1$d), er overskredet. Bare de første %2$d blir delt."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa-funksjonen kan brukes til å identifisere tjenesteleverandørene til kontaktene dine samt vise dem i kontaktlisten din. Du kan gjøre dette senere ved å trykke på menytasten og velge Oppdater informasjon om tjenesteleverandør. Trykk på OK for å identifisere tjenesteleverandørene til kontaktene dine nå."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Trykk på OK for å stoppe å importere kontakter fra SIM-kort."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Trykk på OK for å stoppe å eksportere kontakter til %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Trykk på Eksporter for å velge kontaktene du vil eksportere. Noe kontaktinformasjon kan gå tapt."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Noe av eller alt innholdet har muligens ikke blitt oppdatert."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Noe kontaktinformasjon kan gå tapt."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM-minne fullt."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Tar bort..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d telefonnumre har blitt oppdatert."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d kontakter vil bli slettet."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d kontakter er eksportert til %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d kontakter er eksportert til Enhet/Kontakter/Importert/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Ikke nok minne."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Nye kontakter blir lagret i Kontakter på enheten."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Tillatte numre-modus aktivert."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Det oppstod en feil."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Forkaste endringer?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Sletter kontakter ..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Sletting av kontakter avbrutt. Noen kontakter kan allerede ha blitt slettet."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Kontakter blir ikke lenger importert fra %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Finnes allerede."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Alle koblede kontakter vil bli slettet."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Alle kontakter vil bli slettet."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Alle endringer vil bli forkastet."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Legger til..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 telefonnummer har blitt oppdatert."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 kontakt vil bli slettet."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 kontakt fjernet."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Arbeid"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Taleanrop"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videoanrop"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Oppdater informasjon om tjenesteleverandør"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Fjern kobling til kontakt"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Fjern kontaktkobling"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Ta et bilde"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Ta et bilde"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Ektefelle"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Søster"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM-kort"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Del via"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Del"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Innstillinger"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Velg fra kontakter"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD-kort"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Lagre kontakt i"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Omorganiser"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Fjern"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Slektning"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relasjon"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Henvist av"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Forelder"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Personsøker"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Annet"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organisasjon"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mor"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Melding"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Administrer favoritter"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Leder"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Hoved"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Etternavn først"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Etternavn"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Hjem"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Hjem"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Fra Galleri"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Venn"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Fornavn først"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Fornavn"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Kontakt i Tillatte numre"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Faks (arbeid)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Faks (hjem)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Far"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Rediger"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ikke vis igjen"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Samboer"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Enhet"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Egendefinert"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Opprett"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Barn"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Bror"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Fødselsdag"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistent"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Årsdag"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Legg til felt"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Legg til"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Konto"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Søk"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Ingen tjenestenumre"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Fant ingen resultater"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Ingen nødkontakter"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Ingen kontakter"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sorter etter"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Angi profil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Angi min profil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Send sammen"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Send enkeltvis"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Send kontaktopplysninger"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Merk alle"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d kontakter"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Bare kontakter med tlf."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importer"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Eksporter"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Hendelse"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Vis kontakter med numre"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 kontakt"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB-minne ikke tilgjengelig"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Kan ikke legge til"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Kan ikke legge til"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Foreslåtte kontakter"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Del via"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Angi kontaktbilde"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Innstillinger"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Tjenesteleverandør"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Send kontaktopplysninger"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Velg SIM-kort til samtalen"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Velg SIM-kort for å ringe"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Velg SIM-kort for anrop"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Velg kontakt"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Velg"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Lagre kontakter i"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Omordne"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Fjern"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Primærkontakter (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Primærkontakter (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Personlige kontakter"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d valgt"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d er valgt"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Navneformat"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Oftest brukte kontakter"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "MEG"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Administrer favoritter"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Kontaktliste"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Koblede kontakter"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importer kontakter"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importer"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favoritter"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Ekspor. kontakter til SIM-kort"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Eksporter kontakter"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Eksporter"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Angi egendefinert etikett"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Nødtjenester"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Nødkontakter"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Rediger"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Vis navn sortert etter"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Vis"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Forkast endringer"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Slett element"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Opprett"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Kontaktbilde"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Kontakter som skal vises"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kontakter"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Kontakter ble eksportert"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Endre lagringsplassering"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Avbryt importering"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Avbryt eksportering"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Prøv på nytt"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Lagre"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notater"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Mer"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Eksporter"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-post"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Utført"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Forkast"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Slett"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Opprett"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Endre"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Avbryt"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Tilføy konto"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Nettsted"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Oppdaterer kontaktliste..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Kan ikke lagre på grunn av SIM-kortfeil."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Tittel"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Denne kontakten vil bli slettet."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Informasjonen om tjenesteleverandør vil bli oppdatert for de valgte kontaktene. Denne funksjonene krever en nettverkstilkobling og kan føre til at det påløper ekstrakostnader. Tiden det tar å fullføre prosessen, vil avhenge av statusen til nettverkstilkoblingen."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Initialiserer SIM-kort ..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Tjenestenummer"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Hvis du sender navnekort enkeltvis, kan det ta lenger tid fordi mottaksenheten må godta én og én om gangen."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Hvis du sender en rekke kontakter sammen, reduseres overføringstiden. Hvis den andre enheten ikke støtter dette, blir imidlertid bare én kontakt sendt."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Velg hvordan du sender kontaktinformasjon."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Valgt"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Ta bort fra favoritter"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Foto"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Tel.nummer"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Fonetisk navn"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Fonetisk mellomnavn"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Fonetisk etternavn"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Fonetisk fornavn"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Annen e-post"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Ingen søketreff"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Ingen grupper"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notater"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Kallenavn"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Navnesuffiks"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Navneprefiks"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Navn"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Mine kontakter"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Mellomnavn"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Etternavn"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Jobbtittel"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importer fra SIM-kort"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importer fra SIM2-kort"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importerer..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Bilde"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Hvis tjenesteleverandøren har forhåndslastet tjenestenumre på SIM-kortet, vises de her."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galleri"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Fornavn"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Faks"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Eksporter til SIM-kort"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Eksporter til SIM2-kort"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Eksporter til SD-kort"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-post"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Forkast endringer"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Venner"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Familie"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Dato"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Medarbeidere"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Kontakter som er identifisert som å være duplikater, blir foreslått automatisk."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Bedrift"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Tast for å utvide listen"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatiske anbefalinger kan trekke ut høydepunktene fra lydfiler."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har opprettet kontakter, vises de her."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har lagt til kontakter, vises de her."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Legg til i Favoritter"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adresse"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Kontoer"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN-kode blokkert."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Feil PUK2-kode."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Feil PIN1-kode."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Legg til eksisterende kontakt"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Ingen primærkontakter"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Primærkontakter"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Opprett primærkontakt"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Legg til primærkontakter"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Still inn dato"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Ny PIN-kode og bekreftet PIN-kode samsvarer ikke."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Når du har opprettet primærkontakter, vises de her."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Kan ikke velge flere elementer"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Sett inn SIM-kort."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Tjenesteleverandøren til kontakten du ringer, er %1$s. Trykk på OK for å ringe ved å bruke SIM-kortet for %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Bruk SIM-kort for %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Gjeldende SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Telefonautomat"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Ugyldig tegn."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Utgående anrop"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Innkommende anrop"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Bare de første %d kontaktene vises."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Min profil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Trykk her for å legge til snarveien"
+
diff --git a/main-app/res/po/nl.po b/main-app/res/po/nl.po
new file mode 100644
index 0000000..81acb72
--- /dev/null
+++ b/main-app/res/po/nl.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Uitgaande oproepen"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Laatste gesprek"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Ontvangen oproepen"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Logbestanden selecteren"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Weergave"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Privé 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Verplaatsen voltooid."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Verplaatsen..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 geverifieerd."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 geverifieerd."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN gedeblokkeerd."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 gedeblokkeerd."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 gewijzigd."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 geblokkeerd."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1-code gewijzigd."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1-code vergrendeld."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Onjuiste PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Nieuwe pincode2 en pincode2 voor bevestiging komen niet overeen"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Onjuiste PUK1-code."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Ongeldige PUK1. %d pogingen over."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Ongeldige PUK2. %d pogingen over."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN gewijzigd."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Contacten"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Account toevoegen"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximumaantal tekens bereikt."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Apparaten scannen..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Onjuiste pincode"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GEREED"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULEREN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "VERWIJDEREN"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Verbindingsprobleem of ongeldige MMI-code."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Privé-nummer"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "VERZENDEN"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 geblokkeerd. Neem contact op met provider (SIM PUK2 vereist)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Geen logbestanden"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Nadat u belt/wordt gebeld of een bericht verzendt/ontvangt, worden logbestanden weergegeven."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM-kaart bezet. Probeer het later"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM-kaart vergrendeld."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Geen SIM-kaart gevonden. Plaats een SIM-kaart in de telefoon."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Netwerk- of SIM-kaartfout."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Trilfeedback ingeschakeld."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Trilfeedback uitgeschakeld."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Kan nummer niet bellen. %d is geen alarmnummer."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Snelkiesnummer %d verwijderd."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Snelkiesnummer toegewezen."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Voer getal in."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Uw pincode moet tussen %1$d en %2$d cijfers lang zijn. Probeer het opnieuw."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Uw PIN2 moet bestaan uit %1$d tot %2$d cijfers. Probeer het opnieuw."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Er is geen contact toegewezen aan dit snelkiesnummer. Tik op OK om dit nu toe te wijzen."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "Pincode is uitgeschakeld. Schakel pincode in vóór wijzigen."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Voicemail"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Contact bijw."
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Instell. snelkiesnr"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Wissen"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Contact maken"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Oproepinstellingen"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Wachttijd toevoegen"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Pauze 2 seconden toevoegen"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Toetsen"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Kan niet verbinden met netwerk"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "SIM-krt voor bellen selecteren"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Zoekresultaten (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Noodoproep"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Als snelkiesnummer toewijzen"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Nr. instellen"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Bericht verz"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Annuleren"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Toevoegen aan contacten"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Wachtwoorden komen niet overeen."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN geblokkeerd. Voer PUK-code in."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM geblokkeerd."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Niet opgeslagen"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Opgeslagen"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Gemist"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Mislukt"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Geannuleerd"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d logbestanditems worden verwijderd."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Alle logbestanditems worden verwijderd."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 logbestanditem wordt verwijderd."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Contactdetails weergeven"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Nummer verzenden"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Gemiste oproepen"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Wissen"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Oproepduur"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Gemiste oproepen"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Niet meer tonen"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Onbekend nummer"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Onbekend"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Alles selecteren"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Logbest."
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Gisteren"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Vandaag"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d geselecteerd"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "%d logbestanden verwijderen"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Logbestanditems verwijderen"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Logbestand verwijderen"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Verwijderen"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Cont. bijwerken"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Verwijderen"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Contact maken"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Annuleren"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Spraakoproepen"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Video-oproepen"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM-kaart"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Alle oproepen"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Nadat u oproepen tot stand hebt gebracht of hebt ontvangen, worden ze hier gelogd."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Als u belt of wordt gebeld, worden hier logbestanditems weergegeven."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "BEWERKEN"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Tekst invoeren"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Van sommige contacten lijken dubbele gegevens te bestaan."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d contacten geïmporteerd."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contacten gekoppeld."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 nummer verwijderd uit Automatische blokkeerlijst."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 contact geïmporteerd."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Servicenummers"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Naamindeling"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Contacten koppelen"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contacten voor weergeven"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Instellen"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Nieuw"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Vld toev"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Contacten importeren..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importeren geannuleerd"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Contacten exporteren..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exporteren geannuleerd"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Geïmporteerde contacten"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Geëxporteerde contacten"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Alle contacten"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "U kunt geen contacten verwijderen uit alleen-lezen accounts, maar u kunt ze verbergen in contacten."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Als Synchroniseren is ingeschakeld, wordt dit contact verwijderd uit alle gesynchroniseerde accounts waarin het is opgeslagen."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Als Synchroniseren is ingeschakeld, worden dit contact en alle gekoppelde contacten in andere gesynchroniseerde accounts verwijderd, of verborgen als de gegevens bij een alleen lezen-account horen."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Als Synchroniseren is ingeschakeld, worden dit contact en alle gekoppelde contacten in andere gesynchroniseerde accounts verwijderd."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Info serviceprovider bijwerken..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kan geen contact toevoegen. Maximumaantal koppelbare contacten (%d) bereikt."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kan geen contacten toevoegen. Maximumaantal koppelbare contacten (%d) bereikt."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Deze contactpersoon wordt verwijderd."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Dit contact en alle gekoppelde contacten worden verwijderd."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Het maximumaantal items dat kan worden geselecteerd (%d), is overschreden."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Het maximumaantal contacten dat in één keer kan worden gedeeld (%1$d), is overschreden. Alleen de eerste %2$d worden gedeeld."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "De Chamada Certa-functie kan worden gebruikt voor het identificeren van de serviceproviders van uw contacten en voor het weergeven ervan in uw contactlijst. U kunt dit later doen door op de menutoets te drukken en Info serviceprovider bijwerken te selecteren. Tik op OK om de serviceproviders van uw contacten nu te identificeren."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Tik op OK om het importeren van contacten van SIM-kaart te stoppen."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Tik op OK om het exporteren van contacten naar %s te stoppen."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Tik op Exporteren om te selecteren welke contacten u wilt exporteren. Bepaalde contactgegevens kunnen verloren gaan."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Sommige of alle contacten zijn mogelijk niet bijgewerkt."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Er kunnen contactgegevens verloren gaan."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM-geheugen vol."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Verwijderen..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d telefoonnummers zijn bijgewerkt."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d contacten worden verwijderd."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d contacten zijn geëxporteerd naar %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d contacten zijn geëxporteerd naar Apparaat/Contacten/Geïmporteerd/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Onvoldoende geheugen."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Nieuwe contacten worden opgeslagen in Contacten op uw apparaat."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN-modus ingeschakeld."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Mislukt."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Wilt u de wijzigingen negeren?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Contacten verwijderen..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Verwijderen van contacten geannuleerd. Sommige contacten zijn mogelijk al verwijderd."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Het importeren van contacten van %s wordt gestopt."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Bestaat al."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Alle gekoppelde contacten worden verwijderd."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Alle contacten worden verwijderd."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Alle wijzigingen worden verwijderd."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Toevoegen..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 telefoonnummer is bijgewerkt."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 contact wordt verwijderd."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contact verwijderd."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Zakelijk"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Spraakoproep"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Video-oproep"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Info serviceprovider bijwerken"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Koppel. contact verbreken"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Koppeling met contacten verbreken"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Foto maken"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Foto maken"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Echtgeno(o)t(e)"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Zus"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM-kaart"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Delen via"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Delen"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Instellingen"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Selecteren uit contactpersonen"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD-kaart"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Contact opslaan in"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Indeling wijzigen"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Wissen"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Verwant"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relatie"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Doorverwezen door"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Ouder"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pieper"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Overig"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organisatie"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Moeder"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobiel"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Bericht"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Favorieten beheren"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Manager"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Hoofd"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Achternaam eerst"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Achternaam"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Privé"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Start"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Uit Galerij"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Vriend"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Voornaam eerst"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Voornaam"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN-contact"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (werk)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (thuis)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Vader"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Bewerk"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Niet meer tonen"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Huisgenoot"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Apparaat"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Aangepast"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Maken"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Kind"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Broer"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Verjaardag"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistent"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Jubileum"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Veld toevoegen"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Toevoegen"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Account"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Zoeken"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Geen servicenummers"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Geen resultaten gevonden"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Geen contacten voor noodgeval"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Geen contacten"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sorteren op"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Profiel instellen"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Mijn profiel instellen"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Tegelijk verzenden"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Afzonderlijk verzenden"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Contactgegevens verzenden"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Alles selecteren"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contacten"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Alleen contacten met telefoonnummers"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importeren"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Exporteren"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Gebeurtenis"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Contacten met nummers weergeven"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contact"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Contacten"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB-opslag niet beschikbaar"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Kan niet toevoegen"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Kan niet toevoegen"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Gesuggereerde contacten"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Delen via"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Contactfoto instellen"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Instellingen"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Serviceprovider"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Contactgegevens verzenden"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "SIM voor oproep selecteren"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "SIM-kaart voor bellen selecteren"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "SIM-krt voor bellen selecteren"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Contact selecteren"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Selecteren"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Contacten opslaan in"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Indeling wijzigen"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Verwijderen"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Contacten noodgevallen (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Contact noodgev. (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefoon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Persoonlijke contacten"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d geselecteerd"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d geselecteerd"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Naamindeling"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Meest frequente contacten"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Ik"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Favorieten beheren"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Lijst met contacten"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Gekopp. contacten"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Contacten importeren"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importeren"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favorieten"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Contacten exp. naar SIM-kaart"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Contacten exporteren"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Exporteren"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Aangepast label invoeren"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Noodservices"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Contacten noodgeval"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Bewerken"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Namen weergeven op"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Weergeven"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Wijzigingen negeren"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Item verwijderen"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Nieuw"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Afbeelding contactpersoon"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contacten voor weergeven"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Contacten"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Geëxporteerde contacten"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Opslaglocatie wijzigen"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Importeren annuleren"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Exporteren annuleren"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Opnieuw proberen"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Opslaan"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefoon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notities"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Meer"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exporteren"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-mail"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Gereed"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Verwijder"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Verwijderen"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Maken"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Wijzigen"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Annuleer"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Account toev"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Website"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Lijst met contactpersonen bijwerken..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Kan niet opslaan vanwege SIM-fout."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Titel"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Deze contactpersoon wordt verwijderd."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "De gegevens van de serviceprovider van de geselecteerde contacten worden bijgewerkt. Deze functie vereist een netwerkverbinding en kan extra kosten met zich mee brengen. De benodigde tijd om het proces te voltooien is afhankelijk van de status van uw netwerkverbinding."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefoon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM-kaart initialiseren..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Servicenummer"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Als u visitekaartjes afzonderlijk verzendt, kan het langer duren omdat het ontvangende apparaat ze één voor één moet accepteren."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Als u een aantal contacten tegelijk verzendt, wordt de overdrachttijd verkort. Als het andere apparaat dit echter niet ondersteunt, wordt slechts één contact verzonden."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Selecteer hoe contactgegevens worden verzonden."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Geselecteerd"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Verwijderen uit favorieten"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Foto"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Telefoonnr."
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Naam fonetisch"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Tweede naam fonetisch"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Achternaam fonetisch"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Voornaam fonetisch"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Overige e-mails"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Geen zoekresultaten"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Geen groepen"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notities"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Bijnaam"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Achtervoegsel naam"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Voorvoegsel"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Naam"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Mijn contactpersonen"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Tweede naam"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Achternaam"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Functietitel"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importeren van SIM-kaart"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importeren van SIM2-kaart"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importeren..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Afbeelding"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Als uw serviceprovider vooraf servicenummers op uw SIM-kaart heeft geladen, worden ze hier weergegeven."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galerij"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Voornaam"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Exporteren naar SIM-kaart"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Exporteren naar SIM2-kaart"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Exporteren naar SD-kaart"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Wijzigingen negeren"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Vrienden"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Familie"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Collega's"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Contacten waarvan dubbele gegevens zijn gevonden, worden automatisch voorgesteld."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Contacten"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Bedrijf"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Knop voor het uitvouwen van de lijst"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Met automatische aanbevelingen haalt u de hoogtepunten uit geluidsbestanden."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nadat u contacten hebt gemaakt, worden ze hier weergegeven."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nadat u contacten hebt toegevoegd, worden ze hier weergegeven."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Toevoegen aan favorieten"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adres"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Accounts"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN geblokkeerd."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 onjuist."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Onjuiste PIN1-code."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Bestaand contact toevoegen"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Geen contacten voor noodgevallen"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Contacten noodgevallen"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Noodcontact toevoegen"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Contact noodgevallen toevoegen"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Datum instellen"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Nieuwe pincode en pincode voor bevestiging komen niet overeen."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nadat u contacten voor noodgevallen hebt gemaakt, worden ze hier weergegeven."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Kan niet meer items selecteren"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Plaats SIM-kaart."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "De serviceprovider van het contact dat u belt, is %1$s. Tik op OK als u dit nummer wilt bellen met uw SIM-kaart voor %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "SIM-kaart %s gebruiken"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Huidige SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Oproep uit telefooncel"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Ongeldig teken."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telef."
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Uitgaande oproep"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Inkomende oproep"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Alleen eerste %d contacten weergegeven."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Mijn profiel"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Tik hier om een sneltoets toe te voegen"
+
diff --git a/main-app/res/po/pl.po b/main-app/res/po/pl.po
new file mode 100644
index 0000000..082cc6e
--- /dev/null
+++ b/main-app/res/po/pl.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Wykonane"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Ostatnie połączenie"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Odebrane"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Wybór dzienników"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Tryb widoku"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Domowy 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Przenoszenie zakończone."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Przenoszenie..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "Sprawdzono PUK2."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "Sprawdzono PUK1."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN odblokowany."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 odblokowany."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 zmieniony."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 zablokowany."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Kod PIN1 zmieniony."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Kod PIN1 zablokowany."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Nieprawidłowy kod PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Nowy kod PIN2 i potwierdzenie kodu PIN2 są różne"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Błędny kod PUK1"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Zły PUK1. Liczba pozostałych prób: %d."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Zły PUK2. Liczba pozostałych prób: %d."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN zmieniony."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Dodaj konto"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Osiągnięto maksymalną liczbę znaków."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Skanowanie urządzeń..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Nieprawidłowy kod PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GOTOWE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANULUJ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "USUŃ"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problem z połączeniem lub nieprawidłowy kod MMI."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Numer prywatny"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "WYŚLIJ"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 zablokowany. Skontaktuj się z operatorem (wymagany kod PUK2 do karty SIM)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Brak wpisów"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Po wykonaniu/odebraniu połączenia lub wysłaniu/odebraniu wiadomości pojawią się wpisy."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "Karta SIM zajęta. Spróbuj później"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Karta SIM/RUIM zablokowana."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Nie znaleziono karty SIM. Proszę umieścić kartę SIM w telefonie."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Błąd sieci lub karty SIM"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Włączono wibrację."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Wyłączono wibrację."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Nie można połączyć się z tym numerem. %d nie jest numerem alarmowym."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Usunięto numer szybkiego wybierania %d."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Przypisano numer szybkiego wybierania."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Wprowadź numer."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Liczba cyfr w kodzie PIN musi zawierać się między %1$d a %2$d. Spróbuj ponownie."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Liczba cyfr w kodzie PIN2 musi zawierać się między %1$d a %2$d. Spróbuj ponownie."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Do tego numeru szybkiego wybierania nie jest przypisany żaden kontakt. Dotknij OK, aby przypisać teraz."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "Kod PIN został wyłączony. Włącz kod PIN przez dokonaniem zmiany."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Pocz. gł."
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Aktualiz. kont."
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Ustaw. szyb. wyb."
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Usuń"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Utwórz kontakt"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Ustawienia połączeń"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Dodaj oczekiwanie"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Dodaj 2 s przerwy"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Klawiatura"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Nie można połączyć z siecią"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Wybór karty SIM do połączeń"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Wyniki wyszukiwania (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Połączenie alarmowe"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Przypis. num. szyb. wybierania"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Ustaw numer"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Wyślij wiad."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Anuluj"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Dodaj do Kontaktów"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Podane hasła są różne."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN zablokowany. Wprowadź kod PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "Karta SIM zablokowana."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Niezapisane"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Zapisane"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Nieodebrane"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Błąd"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Anulowane"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Zostanie usuniętych elementów rejestrów: %d."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Wszystkie elementy rejestrów zostaną usunięte."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Zostanie usuniętych elementów rejestrów: 1."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Wyświetl szczegóły kontaktu"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Wyślij numer"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Nieodebrane połączenia"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Usuń"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Czasy trwania połączeń"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Nieodebrane połączenia"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Nie pokazuj ponownie"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Nieznany numer"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Nieznane"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Zaznacz wszystko"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Dzienniki"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Wczoraj"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Dzisiaj"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "Wybranych: %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Usuń dzienniki: %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Usuwanie elementów rejestru"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Usuń dziennik"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Usuń"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Aktual. kontakt"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Usuń"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Utwórz kontakt"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Anuluj"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Połączenia głosowe"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Połączenia wideo"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Karta SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Wszystkie połączenia"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Po wykonaniu lub odebraniu połączeń ich dzienniki będą widoczne w tym miejscu."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Po wykonaniu lub odebraniu połączeń elementy rejestrów zostaną tu wyświetlone."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDYTUJ"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Wpisz tekst"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Niektóre z kontaktów wyglądają na duplikaty."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "Zaimportowano kontaktów: %d."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Podłączono kontakty."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "Numery usunięte z listy automatycznie odrzucanych numerów: 1."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "Zaimportowano 1 kontakt."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Numery serwisowe"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Format nazwy"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Połącz kontakty"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Kontakty do wyświetlenia"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Ustaw"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Utwórz"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Dodaj pola"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importowanie kontaktów..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importowanie anulowane"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Eksport kontaktów..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Eksportowanie anulowane"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Zaimportowano kontakty"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Wyeksportowano kontakty"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Wszystkie kontakty"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Nie można usunąć kontaktów z kont tylko do odczytu, ale można je ukryć w swoich kontaktach."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Jeśli włączona jest synchronizacja, ten kontakt zostanie usunięty z wszystkich synchronizowanych kont, na których jest zapisany."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Gdy synchronizacja jest włączona, ten kontakt i wszystkie jego powiązane kontakty na innych zsynchronizowanych kontach zostaną usunięte lub ukryte, jeśli informacje pochodzą z konta tylko do odczytu."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Jeśli włączona jest synchronizacja, ten kontakt i wszystkie kontakty z nim powiązane z innych synchronizowanych kont zostaną usunięte."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Aktualizowanie informacji o operatorze..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Nie można dodać kontaktu. Osiągnięto maksymalną liczbę możliwych do połączenia kontaktów (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Nie można dodać kontaktów. Osiągnięto maksymalną liczbę możliwych do połączenia kontaktów (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Kontakt zostanie usunięty."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Ten kontakt i wszystkie kontakty z nim powiązane zostaną usunięte."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Przekroczono maksymalną liczbę elementów, które można wybrać (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Przekroczono maksymalną liczbę kontaktów, które można jednocześnie udostępnić (%1$d). Zostaną udostępnione tylko pierwsze kontakty w liczbie %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Funkcji Chamada Certa można używać do identyfikowania operatorów sieci Twoich kontaktów oraz wyświetlania ich na Twojej liście kontaktów. Możesz zrobić to później, naciskając klawisz menu i wybierając opcję Aktualizuj informacje o operatorze sieci. Dotknij OK, aby zidentyfikować operatorów sieci Twoich kontaktów teraz."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Dotknij przycisku OK, aby zatrzymać importowanie kontaktów z karty SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Dotknij przycisku OK, aby zatrzymać eksportowanie kontaktów do pliku %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Dotknij przycisku Eksportuj, aby wybrać, które kontakty mają być eksportowane. Niektóre informacje o kontaktach mogą zostać utracone."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Żaden kontakt lub część kontaktów mogła nie zostać zaktualizowana."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Niektóre informacje kontaktowe mogą zostać utracone."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Pamięć SIM pełna."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Usuwanie..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "Zaktualizowano numerów telefonu: %d."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "Kontakty (%d) zostaną usunięte."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "Kontakty pliku %1$d wyeksportowano do pliku %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "Kontakty z pliku %1$d wyeksportowano do następującej lokalizacji: Urządzenie/Kontakty/Zaimportowane/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Brak pamięci."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Nowe kontakty zostaną zapisane w Kontaktach w urządzeniu."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Włączono tryb FDN."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Błąd"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Odrzucić zmiany?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Usuwanie kontaktów..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Usuwanie kontaktów zostało anulowane. Niektóre kontakty mogły już zostać usunięte."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Importowanie danych kontaktu z pliku %s zostanie zatrzymane."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Już istnieje."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Wszystkie podłączone kontakty zostaną usunięte."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Wszystkie kontakty zostaną usunięte."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Wszystkie zmiany zostaną odrzucone."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Dodawanie..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "Zaktualizowano numerów telefonu: 1."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "Liczba kontaktów do usunięcia: 1."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "Usunięto kontaktów: 1."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Praca"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Połączenie głosowe"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Połączenie wideo"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Aktualizuj informacje o operatorze sieci"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Odłącz kontakt"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Odłącz kontakty"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Zrób zdjęcie"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Zrób zdjęcie"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Małżonek"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Siostra"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Karta SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Udostępnij przez"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Udostępniaj"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Ustawienia"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Wybierz z kontaktów"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Karta pamięci"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Zapisz kontakt na"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Zmień kolejność"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Usuń"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Krewny"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Związek"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Z polecenia"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Rodzic"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pager"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Inne"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organizacja"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Matka"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Komórkowy"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Wiadomość"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Zarządzaj ulubionymi"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Kierownik"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Główny"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Najpierw nazwisko"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Nazwisko"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Strona domowa"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Dom"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Z Galerii"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Przyjaciel"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Najpierw imię"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Imię"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Kontakt FDN"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Faks (praca)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Faks (prywatny)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Ojciec"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Edytuj"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Nie pokazuj ponownie"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Partner życiowy"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Urządzenie"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Niestand."
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Utwórz"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Dziecko"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Brat"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Data urodzenia"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Asystent"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Rocznica"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Dodaj pole"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Dodaj"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Konto"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Szukaj"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Brak numerów serwisowych"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nie znaleziono wyników"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Brak kontaktów alarmowych"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Bez kontaktów"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sortuj według"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Ustaw profil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Ustaw mój profil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Wyślij razem"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Wyślij pojedynczo"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Wyślij inf. kontaktowe"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Zaznacz wszystko"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "Kontaktów: %d"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Tylko kont. z nr telefonu"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importuj"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Eksportuj"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Wydarzenie"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Wyświetlaj kontakty z numerami"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 kontakt"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Pamięć USB jest niedostępna"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Nie można dodać"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Nie można dodać"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Sugerowane kontakty"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Udostępnij przez"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Ustawianie obrazu kontaktu"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Ustawienia"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Dostawca usługi"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Wysyłan. inf. kontaktowych"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Wybierz kartę SIM dla połączenia"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Wybór karty SIM, która ma być używana do nawiązywania połączeń"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Wybór karty SIM do połączeń"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Wybór kontaktu"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Wybierz"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Zapisuj kontakty na"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Zmiana kolejności"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Usuń"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Kontakty główne (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Kontakty główne (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Kontakty osobiste"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "Wybranych: %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "Wybrano %d"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Format nazwy"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Najczęstsze kontakty"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Ja"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Zarządzanie ulubionymi"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Lista kontaktów"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Powiązane kontakty"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importow. kontaktów"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importuj"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Ulubione"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Eksport kontaktów do karty SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Eksportowanie kontaktów"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Eksport"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Wprowadz. niestand. etykiety"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Połączenia alarmowe"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Kontakty alarmowe"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Edycja"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Wyświetlanie nazw według"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Wyświetlanie"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Odrzuć zmiany"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Usuń element"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Utwórz"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Obraz kontaktu"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Kontakty do wyświetlenia"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kontakty"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Wyeksportowano kontakty"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Zmiana lokalizacji zapisywania"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Anulowanie importowania"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Anulowanie eksportowania"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Spróbuj ponownie"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Zapisz"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notatki"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Więcej"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Eksportuj"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-mail"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Gotowe"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Odrzuć"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Usuń"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Utwórz"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Zmień"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Anuluj"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Dodaj konto"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Strona WWW"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Aktualizowanie listy kontaktów..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Nie można zapisać z powodu błędu karty SIM."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Tytuł"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Kontakt zostanie usunięty."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Informacje o operatorach sieci dla wybranych kontaktów zostaną zaktualizowane. Ta funkcja wymaga połączenia z siecią i może spowodować naliczenie dodatkowych opłat. Czas potrzebny do ukończenia procesu będzie zależeć od stanu połączenia sieciowego."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Inicjowanie karty SIM..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Numery usług"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Pojedyncze wysyłanie wizytówek może zająć więcej czasu, ponieważ urządzenie odbierające musi je akceptować pojedynczo."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Wysłanie pewnej liczby kontaktów razem skraca czas ich przesyłania. Jeżeli jednak urządzenie, które je otrzymuje, nie obsługuje tego procesu, zostanie wysłany tylko jeden kontakt."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Wybierz sposób wysyłania informacji o kontaktach."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Wybrane"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Usuń z ulubionych"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Zdjęcie"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Num.telefonu"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Nazwa fonetycznie"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Drugie imię fonet."
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Nazwisko fonetycznie"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Imię fonetycznie"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Inne adresy e-mail"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Brak wyników"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Brak grup"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notatki"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Pseudonim"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Tytuł po nazwisku"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Tytuł"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Nazwa"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Moje kontakty"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Drugie imię"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Nazwisko"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Stanowisko"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importuj z karty SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importuj z karty SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importowanie..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Obraz"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "Komunikator"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Jeśli dostawca usług ma wstępnie załadowane numery serwisowe na karcie SIM, zostaną one tutaj wyświetlone."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Imię"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Faks"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Eksportuj na kartę SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Eksportuj na kartę SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Eksportuj na kartę pamięci"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Usuń zmiany"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Przyjaciele"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Rodzina"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Współpracownicy"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Kontakty zidentyfikowane jako duplikaty zostaną automatycznie zasugerowane."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Firma"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Przycisk rozwijania listy"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatyczne rekomendacje mogą wywołać fragmenty plików dźwiękowych."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kontakty będą tutaj widoczne po ich utworzeniu."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kontakty zostaną tu wyświetlone po ich dodaniu."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Dodaj do Ulubionych"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adres"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Konta"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN zablokowany."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Błędny PUK2"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Błędny kod PIN1."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Dodaj istniejący kontakt"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Brak kontaktów głównych"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Kontakty główne"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Tworzenie kontaktu głównego"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Dodawanie kontaktów głównych"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Ustaw datę"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Nowy kod PIN i potwierdzenie kodu PIN są różne."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kontakty główne będą tutaj widoczne po ich utworzeniu."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Nie można wybrać więcej elem."
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Włóż kartę SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Dostawcą usług kontaktu, z którym próbujesz się połączyć, jest %1$s. Dotknij OK, aby nawiązać połączenie przy użyciu karty SIM %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Używan. karty SIM operatora %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Akt. karta SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Telefon publiczny"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Nieprawidłowy znak"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Połączenie wychodzące"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Połączenie"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Wyświetlonych tylko pierwszych kontaktów: %d."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Mój profil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Dotknij tutaj, aby dodać skrót"
+
diff --git a/main-app/res/po/pt_BR.po b/main-app/res/po/pt_BR.po
new file mode 100644
index 0000000..9832eaf
--- /dev/null
+++ b/main-app/res/po/pt_BR.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Efetuadas"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Última chamada"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Recebidas"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Selecionar logs"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Ver por"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Casa 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Movido com sucesso."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Movendo…"
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 verificado."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 verificado."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN desbloqueado."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 desbloqueado."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 alterado."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 bloqueado."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Código PIN1 alterado."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Código PIN1 bloqueado."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2 incorreto."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "O novo PIN2 e o PIN2 de confirmação não coincidem"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Código PUK1 incorreto."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1 incorreto. Restam %d tentativas."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 incorreto. Restam %d tentativas."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN alterado."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Contatos"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Adicionar conta"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Número máximo de caracteres atingido."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Pesq. dispositivos..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PIN incorreto"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "CONCLUÍDO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "EXCLUIR"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problema de conexão ou código MMI inválido."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Número privado"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ENVIAR"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 bloqueado. Contate o provedor (PUK2 do SIM necessário)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Nenhum registro"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Após fazer/receber uma chamada ou enviar/receber uma mensagem, os registros serão exibidos."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "Cartão SIM ocupado. Tente mais tarde"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Cartão SIM/USIM bloqueado."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Cartão SIM não encontrado. Insira um cartão SIM no telefone."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Erro de rede ou do chip."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Resposta por vibração ativada."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Resposta por vibração desativada."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Não é possível chamar o número. %d não é um número de emergência."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Número de discagem rápida %d removido."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Número de discagem rápida atribuído."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Insira número."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Seu PIN deve ter entre %1$d e %2$d dígitos. Tente novamente"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Seu PIN2 deve ter de %1$d à %2$d dígitos. Tente novamente."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Não existe nenhum contato atribuído a este número de discagem rápida. Toque em OK para atribuir um agora."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "O PIN foi desativado. Ative o PIN antes de alterar."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Voicemail"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Atual. contato"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Conf. disc. rápida"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Remover"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Criar contato"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Conf. de chamada"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Adicionar espera"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Adicionar pausa de 2 segundos"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Teclado"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Não é possível conectar à rede"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Selecionar chip para chamada"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Resultados da pesquisa (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Chamada de emergência"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Atribuir c/ nº discagem rápida"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Definir número"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Enviar msg."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Cancelar"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Adicionar aos Contatos"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Senhas não conferem."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN bloqueado. Insira o código PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM bloqueado."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Não salvo"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Salvo"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Perdidas"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Falha"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Cancelado"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d itens do registro serão excluídos."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Todos os itens do registro serão excluídos."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 item de registro será excluído."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Exibir detalhes do contato"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Enviar número"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Chamadas perdidas"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Excluir"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Durações das chamadas"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Chamadas perdidas"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Não exibir novamente"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Nº desconhecido"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Desconhecido"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Selec. tudo"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Registros"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Ontem"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Hoje"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d selecionados"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Excluir %d registros"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Exclui itens de registro"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Excluir registro"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Excluir"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Atual. contato"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Excluir"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Criar contato"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Cancelar"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Chamadas de voz"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videochamadas"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Cartão SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Todas"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Após fazer ou receber chamadas, elas serão registradas aqui."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Após fazer ou receber chamadas, os itens do registro serão exibidos aqui."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITAR"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Inserir texto"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Alguns dos seus contatos parecem estar duplicados."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d contatos importados."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contatos vinculados."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 número removido da Lista de rejeição automática."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 contato importado."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Números de serviço"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Formato do nome"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Associar contatos"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contatos para exibir"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Definir"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Criar"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Adicionar campo"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importando contatos..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importação cancelada"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Exportando contatos..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exportação cancelada"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Contatos importados"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Contatos exportados"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Todos os contatos"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Você não pode apagar contatos de contas somente leitura, mas pode ocultá-los nos contatos."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Quando Sincronizar estiver ativado, este contato será excluído de qualquer conta sincronizada na qual ele estiver salvo."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Quando a Sincronização estiver ativada, este contato e todos os contatos associados a ele em outras contas sincronizadas serão excluídos, ou ocultados se a conta for somente leitura."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Quando Sincronizar estiver ativado, este contato e todos os contatos associados a ele em outras contas sincronizadas serão excluídos."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Atualizando informações da operadora..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Não é possível adicionar contato. Número máximo de contatos associáveis (%d) atingido."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Não é possível adicionar contatos. Número máximo de contatos associáveis (%d) atingido."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Este contato será apagado."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Este contato e todos os contatos associados a ele serão excluídos."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "O número máximo de itens que podem ser selecionados (%d) foi atingido."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "O número máximo de contatos que podem ser compartilhados ao mesmo tempo (%1$d) foi excedido. Apenas os primeiros %2$d serão compartilhados."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "O recurso de Chamada Certa pode ser usado para identificar as operadoras dos seus contatos e exibí-las na sua lista de contatos. É possível fazer isto mais tarde pressionando a tecla de menu e selecionando Atualizar informações da operadora. Toque em OK para identificar as operadoras dos seus contatos agora."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Toque em OK para parar de importar contatos do chip."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Toque em OK para parar de exportar contatos para %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Toque em Exportar para selecionar quais contatos serão exportados. Algumas informações dos contatos podem ser perdidas."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Alguns ou todos os contatos podem não ter sido atualizados."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Informações de contatos podem ser perdidas."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Memória SIM cheia."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "A remover..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d números de telefone foram atualizados."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d contatos serão excluídos."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d contatos foram exportados para %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d contatos foram exportados para Dispositivo/Contatos/Importado/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Memória insuficiente."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Os novos contatos serão salvos em Contatos no seu dispositivo."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Modo FDN ativado."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Falhou."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Excluir alterações?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Apagando contatos..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Exclusão dos contatos cancelada. Alguns contatos já podem tem sido deletados."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "A importação de contatos de %s será interrompida."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Já existe."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Todos os contatos associados serão apagados."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Todos os contatos serão excluídos."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Todas as alterações serão descartadas."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Adicionando..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 número de telefone foi atualizado."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 contato será excluído."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contato removido."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Trabalho"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Chamada de voz"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videochamada"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Atualizar informações da operadora"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Desvincular contato"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Desvincular contatos"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Tirar foto"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Tirar uma foto"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Esposa"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Irmã"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Cartão SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Compartilhar via"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Compartilhar"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Configurações"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Selecionar dos contatos"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Cartão SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Salvar contato para"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Remover"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Parente"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relacionamento"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Indicado por"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Parceiro"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Pais"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pager"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Outros"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organização"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mãe"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Celular"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Mensagem"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Gerenciar favoritos"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Gerenciador"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Principal"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Sobrenome primeiro"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Sobrenome"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Casa"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Página inicial"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Da Galeria"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Amigo"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Primeiro nome primeiro"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Primeiro nome"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Contato FDN"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (trabalho)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (casa)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Pai"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Editar"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Não exibir novamente"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Companheiro(a)"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Dispositivo"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Personalizar"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Criar"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Criança"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Irmão"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Aniversário"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistente"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Aniversário"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Adicionar campo"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Adicionar"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Conta"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Pesquisar"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Sem números de serviço"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nenhum resultado encontrado"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Nenhum contato de emergência"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Nenhum contato"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Ordenar por"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Definir perfil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Definir meu perfil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Enviar juntos"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Enviar individualmente"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Enviar informações de contato"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Selec. tudo"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contatos"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Só contatos com telefone"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Evento"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Exibir contato com números"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contato"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Contatos"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Mem. interna do dispositivo não disponível"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Não é possível adicionar"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Impossível adicionar"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Contatos sugeridos"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Compartilhar via"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Definir foto do contato"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Configurações"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Provedor de serviços"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Enviar inform. de contato"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Selecione o SIM para chamada"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Selecionar cartão SIM para chamada"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Selecionar chip para chamada"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Selecionar contato"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Selecionar"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Salvar contatos para"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Remover"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Contatos principais (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Cont. principais (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefone"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Contatos pessoais"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d selecionados"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d selecionado(s)"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Formato do nome"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Contatos mais frequentes"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Eu"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Gerenciar favoritos"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Contatos"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Contatos associados"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importar contatos"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favoritos"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Exp. contatos para o chip"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Exportar contatos"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Inserir rótulo personalizado"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Serviços de emergência"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Contatos de emergência"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Editar"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Exibir nomes por"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Exibir"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Descartar alterações"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Excluir item"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Criar"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Imagem do contato"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contatos para exibir"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Contatos"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Contatos exportados"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Alterar local de salvamento"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Cancelar importação"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Cancelar exportação"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Tente novamente"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Salvar"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefone"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Anotações"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Mais"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-mail"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Concluir"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Descartar"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Excluir"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Criar"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Alterar"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Adic. conta"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Site da web"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Atualizando lista de contatos..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Impossível salvar devido a erro de SIM."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Título"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Este contato será apagado."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "As informações da operadora dos contatos selecionados serão atualizadas. Este recurso requer uma conexão de rede e pode acarretar cobranças adicionais. O tempo levado para concluir o processo dependerá do status da sua conexão de rede."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefone"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Inicialização do cartão SIM..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "N° de serviços"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "O envio de cartões de nome individualmente pode demorar porque o dispositivo receptor deve recebê-los um de cada vez."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "O envio de vários contatos juntos diminui o tempo de transmissão. Contudo, se o outro dispositivo não suportar este recurso, apenas um contato será enviado."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Selecione como enviar informações do contato."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Selecionado"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Remover dos Favoritos"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Foto"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "N° de telefone"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Nome fonético"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Nome meio fonético"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Último nome fonético"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Primeiro nome fonético"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Outros e-mails"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Sem resultado da busca"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Sem grupos"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notas"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Apelido"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Sufixo do nome"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Prefixo do nome"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Nome"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Meus contatos"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Nome do meio"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Sobrenome"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Título trabalho"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importar do cartão SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importar do cartão SIM 2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importando..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Imagem"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Se a sua operadora tiver números de serviço pré-carregados no seu chip, eles serão exibidos aqui."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Nome"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Exportar para cartão SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Exportar para o cartão SIM 2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Exportar para cartão de memória"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Descartar alterações"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Amigos"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Família"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Colegas de trabalho"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Os contatos que foram identificados como duplicados serão sugeridos automaticamente."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Contatos"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Empresa"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "O Aplicativo Chamada Certa identifica a operadora dos números de telefone da lista de contatos do aparelho e, ainda, escolhe a linha (cartão SIM) da mesma operadora identificada para originar a ligação.\n\nÉ necessário conexão com a internet para que o Chamada Certa funcione, sendo que a operadora de telefonia móvel poderá cobrar pela conexão com a internet.\n\nO Chamada Certa fará a leitura dos números registrados na lista de contatos do aparelho e identificará de qual operadora o número armazenado faz parte, registrando essa informação no próprio contato do telefone.\n\nAo originar uma ligação, o Chamada Certa irá sugerir ao usuário utilizar a mesma linha (cartão SIM) da operadora do número do contato a ser chamado, se disponível. Caso o usuário não possua uma linha da mesma operadora do contato, ou ainda se esse contato não estiver atualizado com a informação da operadora, o Chamada Certa irá utilizar a linha (cartão SIM) que estiver ativa no momento e originará a ligação.\n\nO Chamada Certa acessa as informações disponíveis no banco de dados da Agência Nacional de Telecomunicações ANATEL e da Administradora da Portabilidade Numérica no Brasil denominada Associação Brasileira de Recursos em Telecomunicações - ABR Telecom. A responsabilidade pela precisão e atualização das informações fornecidas são de responsabilidade exclusiva da ANATEL e da ABR Telecom."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Botão para expandir a lista"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Recomendações automáticas podem extrair as partes de arquivos de som."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Após a criação de contatos, eles serão exibidos aqui."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Após adicionar contatos, eles serão exibidos aqui."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Adicionar aos favoritos"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Endereço"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Contas"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN bloqueado."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 incorreto."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Código PIN1 incorreto."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Adicionar contato existente"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Nenhum contato principal"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Contatos principais"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Crie contato principal"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Adicionar contatos principais"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Definir data"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "O novo PIN e o PIN de confirmação não coincidem."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Após a criação de contatos principais, eles serão exibidos aqui."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Impossível selec. mais itens."
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Insira o chip."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "A operadora do contato que você está chamando é %1$s. Toque em OK para fazer esta chamada usando seu chip %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Usar cartão SIM %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "CHIP atual"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Telefone pré-pago"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Caractere inválido."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Tel."
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Chamada efetuada"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Chamada recebida"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Apenas os %d primeiros contatos exibidos."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Meu perfil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Toque aqui para adicionar atalho"
+
diff --git a/main-app/res/po/pt_PT.po b/main-app/res/po/pt_PT.po
new file mode 100644
index 0000000..961dd74
--- /dev/null
+++ b/main-app/res/po/pt_PT.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Chamadas efectuadas"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Última chamada"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Chamadas recebidas"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Seleccionar registos"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Ver por"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Casa 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Deslocação concluída."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "A mover..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 verificado."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 verificado."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN desbloqueado."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 desbloqueado."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 alterado."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 bloqueado."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Código PIN1 alterado."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Código PIN1 bloqueado."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2 incorrecto."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "O novo PIN2 e o PIN2 de confirmação não correspondem"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Código PUK1 incorrecto."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1 incorrecto. Restam %d tentativas."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 incorrecto. Restam %d tentativas."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN alterado."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Adicionar conta"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Número máximo de caracteres atingido."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "A pesq. dispositivos..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PIN incorrecto"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "CONCLUÍDO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ELIMINAR"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problema de ligação ou código MMI inválido."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Número privado"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ENVIAR"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 bloqueado. Contacte o fornecedor (requerido PUK2 do SIM)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Nenhum registo"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Depois de efectuar/receber uma chamada ou de enviar/receber uma mensagem, são mostrados registos."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "Cartão SIM ocupado. Tente mais tarde"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Cartão SIM/RUIM bloqueado."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Cartão SIM não encontrado. Insira um cartão SIM no telefone."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Erro de rede ou de cartão SIM."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Aviso de vibração activado."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Aviso de vibração desactivado."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Impossível ligar para o número. %d não é um número de emergência."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Número de marcação rápida %d removido."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Número de marcação rápida atribuído."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Introduza número."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "O seu PIN tem de ter um comprimento entre %1$d e %2$d. Tente novamente."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "O seu PIN2 tem de ter %1$d a %2$d dígitos. Tente novamente."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Não há nenhum contacto atribuído a este número de marcação rápida. Toque em OK para atribuir um contacto agora."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN foi desactivado. Active PIN antes de alterar."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Corr. voz"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Act. contacto"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Def. de marc rápida"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Remover"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Criar contacto"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Definições chamada"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Adicionar espera"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Adicionar pausa de 2 segundos"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Teclado"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Impossível ligar à rede"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Selec. cartão SIM para chamada"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Resultados da procura (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Chamada de emergência"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Atrib. como n.º de marc. ráp."
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Definir número"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Enviar msg."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Cancelar"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Adicionar a Contactos"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "As palavras-passe são diferentes."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN bloqueado. Introduza o código PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM bloqueado."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Não guardado"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Guardado"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Perdida"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Falhou"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Cancelado"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d itens de registos serão eliminados."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Todos os itens de registos serão eliminados."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 item de registo será eliminado."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Ver detalhes do contacto"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Enviar número"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Chamadas perdidas"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Duração das chamadas"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Chamadas perdidas"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Não mostrar novamente"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Número desconh."
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Desconhecido"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Seleccionar tudo"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Registos"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Ontem"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Hoje"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seleccionado(s)"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Eliminar %d registos"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Eliminar itens de registo"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Eliminar registo"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Eliminar"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Act. contacto"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Eliminar"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Criar contacto"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Cancelar"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Chamadas de voz"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Chamadas de vídeo"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Cartão SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Todas as chamadas"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Depois de efectuar ou receber chamadas, as chamadas são registadas aqui."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Depois de efectuar ou receber chamadas, os itens dos registos são mostrados aqui."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITAR"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Introduzir texto"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Alguns dos seus contactos parecem estar duplicados."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d contactos importados."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contactos ligados."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 número removido da Lista de rejeição automática."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 contacto importado."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Números de serviço"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Formato de nome"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Ligar contactos"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contactos para apresentar"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Definir"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Criar"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Adicionar campo"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "A importar contactos..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importação cancelada"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "A exportar contactos..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exportação cancelada"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Contactos importados"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Contactos exportados"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Todos os contactos"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Não pode eliminar contactos de contas apenas de leitura, mas pode ocultá-los nos contactos."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Quando a Sincronização estiver activada, este contacto será eliminado em todas as contas sincronizadas onde estiver guardado."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Quando a Sincronização está activada, este contacto e todos os contactos a ele associados nas outras contas sincronizadas serão eliminados ou ocultados se as informações forem de uma conta só de leitura."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Quando a Sincronização estiver activada, este contacto e todos os seus contactos ligados noutras contas sincronizadas serão eliminados."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "A actualizar informações do fornecedor de serviços..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Impossível adicionar contacto. Foi atingido o número máximo de contactos que podem ser ligados (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Impossível adicionar contactos. Foi atingido o número máximo de contactos que podem ser ligados (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Este contacto será eliminado."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Este contacto e todos os seus contactos ligados serão eliminados."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "O número máximo de itens que podem ser seleccionados (%d) foi excedido."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "O número máximo de contactos que podem ser partilhados de uma só vez (%1$d) foi ultrapassado. Só serão partilhados os primeiros %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "A função Chamada Certa pode ser utilizada para identificar os fornecedores de serviços dos seus contactos e apresentá-los na sua lista de contactos. Pode fazê-lo mais tarde, premindo a tecla de menu e seleccionado Actualizar informações do fornecedor de serviços. Toque em OK para identificar agora os fornecedores de serviços dos seus contactos."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Toque em OK para parar a importação de contactos do cartão SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Toque em OK para parar a exportação de contactos para %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Toque em Exportar para seleccionar os contactos que pretende exportar. Algumas informações dos contactos podem perder-se."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Alguns ou todos os contactos podem não ter sido actualizados."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Podem perder-se algumas informações de contacto."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Memória do SIM cheia."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "A remover..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d números de telefone foram actualizados."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d contactos serão eliminados."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d contactos foram exportados para %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d contactos exportados para Dispositivo/Contactos/Importados/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Memória interna cheia"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Os contactos novos serão guardados nos Contactos do seu dispositivo."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Atenção! Modo de Marcação Fixa activo."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Falha."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Eliminar alterações?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "A eliminar contactos..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Eliminação dos contactos cancelada. Alguns contactos podem já ter sido eliminados."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Os contactos deixarão de ser importados a partir de %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Já existe."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Todos os contactos ligados serão apagados."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Todos os contactos serão eliminados."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "As alterações serão todas eliminadas."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "A adicionar..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 número de telefone foi actualizado."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 contacto será eliminado."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contacto removido."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Empresa"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Chamada de voz"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Vídeochamada"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Actualizar informações do fornecedor de serviços"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Desligar contacto"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Desligar contactos"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Tirar fotografia"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Tirar uma fotografia"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Esposa"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Irmã"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Cartão SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Partilhar via"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Enviar"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Definições"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Seleccionar dos contactos"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Cartão SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Guardar contacto em"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Remover"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Parente"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relação"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Indicado por"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Parceiro"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Progenitor"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pager"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Outro"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organização"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mãe"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Telemóvel"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Mensagem"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Gerir favoritos"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Gestor"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Principal"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Apelido primeiro"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Apelido"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Início"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Casa"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Da Galeria"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Amigo"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Nome próprio primeiro"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Nome próprio"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Contacto FDN"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (trabalho)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (casa)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Pai"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Editar"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Não mostrar novamente"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Parceiro doméstico"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Dispositivo"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Personalizar"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Criar"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Criança"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Irmão"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Data de nascimento"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistente"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Aniversário"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Adicionar campo"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Adicionar"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Conta"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Procurar"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Sem números de serviço"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nenhuns resultados encontrados"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Sem contactos de emergência"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Sem contactos"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Ordenar por"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Definir perfil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Definir o meu perfil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Enviar em conjunto"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Enviar individualmente"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Envio de informações"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Seleccionar tudo"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contactos"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Só contactos com número"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Evento"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Apresentar contactos com números"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contacto"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Armazenamento USB não disponível"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Impossível adicionar"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Impossível adicionar"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Contactos sugeridos"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Partilhar via"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Definir imagem de contacto"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Definições"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Fornecedor de serviços"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Enviar info de contacto"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Seleccionar SIM para a chamada"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Seleccionar cartão SIM para efectuar chamada"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Selec. cartão SIM para chamada"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Seleccionar contacto"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Seleccionar"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Guardar contactos em"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Reordenar"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Remover"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Contactos primários (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Contactos primários (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefone"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Contactos pessoais"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seleccionado(s)"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d selecionado(s)"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Formato de nome"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Contactos mais frequentes"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Eu"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Gerir favoritos"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Lista de contactos"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Contactos ligados"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importar contactos"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importar"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favoritos"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Exp. contactos para cartão SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Exportar contactos"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Introd. etiqueta personalizada"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Serviços de emergência"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Contactos de emergência"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Editar"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Apresentar nomes por"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Apresentar"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Eliminar alterações"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Eliminar item"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Criar"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Imagem de contacto"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contactos para apresentar"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Contactos"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Contactos exportados"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Alterar localização p/ guardar"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Cancelar importação"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Cancelar exportação"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Tente novamente"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Guardar"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefone"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notas"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Mais"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exportar"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-mail"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Concluído"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Eliminar"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Eliminar"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Criar"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Alterar"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Adic. conta"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Site Web"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "A actualizar lista de contactos..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Impossível guardar devido a erro de SIM."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Título"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Este contacto será eliminado."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "As informações do fornecedor de serviços dos contactos seleccionados serão actualizadas. Esta função exige uma ligação à rede e pode implicar a cobrança de taxas adicionais. O tempo gasto para concluir o processo depende do estado da sua ligação à rede."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefone"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "A inicializar cartão SIM..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Número do serviço"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Enviar cartões de visita individualmente pode demorar mais tempo, porque o dispositivo receptor tem de os aceitar um a um."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Enviar um número de contactos em conjunto reduz o tempo de transmissão. No entanto, se o outro dispositivo não suportar isto, só será enviado um contacto."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Seleccione a forma de envio das informações de contacto."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Seleccionado"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Remover dos favoritos"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Foto"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Número de telefone"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Nome fonético"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "2.º nome fonético"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Apelido fonético"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Nome fonético"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Outros e-mails"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Sem resultados"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Sem grupos"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notas"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Pseudónimo"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Forma tratamento"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Prefixo do nome"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Nome"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Os meus contactos"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Segundo nome"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Apelido"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Título"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importar do cartão SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importar do cartão SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "A importar..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Imagem"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "MI"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Se o seu fornecedor de serviço tiver números de serviço pré-carregados no seu cartão SIM, eles serão apresentados aqui."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galeria"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Nome próprio"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Exportar para cartão SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Exportar para cartão SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Exportar para cartão SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Eliminar alterações"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Amigos"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Família"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Data"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Colegas de trabalho"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Os contactos que tiverem sido identificados como duplicados serão sugeridos automaticamente."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Empresa"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Botão para expandir a lista"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "As recomendações automáticas podem extrair destaques de ficheiros de som."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Depois de criar contactos, estes serão mostrados aqui."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Depois de adicionar contactos, estes serão mostrados aqui."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Adicionar aos Favoritos"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Endereço"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Contas"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN bloqueado."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 incorrecto."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Código PIN1 incorrecto."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Adicionar contacto existente"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Sem contactos primários"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Contactos primários"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Criar contacto primário"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Adicionar contactos primários"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Definir data"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "O novo PIN e o PIN de confirmação não correspondem."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Depois de criar contactos primários, estes serão mostrados aqui."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Impossível selec. mais itens"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Inserir cartão SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "O fornecedor de serviços do contacto para o qual está a ligar é %1$s. Toque em OK para fazer esta chamada utilizando o seu cartão SIM %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Utilizar cartão SIM %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "SIM actual"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Telefone pré-pago"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Carácter inválido."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telef."
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Chamada efectuada"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Chamada recebida"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Apresentados apenas os %d primeiros contactos."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "O meu perfil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Tocar aqui para adicionar atalho"
+
diff --git a/main-app/res/po/ro.po b/main-app/res/po/ro.po
new file mode 100644
index 0000000..e673b41
--- /dev/null
+++ b/main-app/res/po/ro.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Apeluri efectuate"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Ultimul apel"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Apeluri primite"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Selectare jurnale"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Vizualizare după"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Acasă 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Mutare finalizată"
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Mutare"
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 verificat"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 verificat"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN deblocat"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 deblocat"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 schimbat"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 blocat"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Codul PIN1 a fost modificat."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Codul PIN1 a fost blocat."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2 incorect"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Codul PIN2 nou şi confirmarea codului PIN2 nu se potrivesc"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Codul PUK1 este incorect"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Cod PUK1 incorect. Au mai rămas %d încercări."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Cod PUK2 incorect. Au mai rămas %d încercări."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN schimbat"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Contacte"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Adăugare cont"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Adăugare la marcaje"
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Se caută dispozitive..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PIN greşit"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "EFECTUAT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANULARE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ŞTERGERE"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problemă de conexiune sau cod MMI nevalid"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Număr privat"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "TRIMITERE"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 blocat. Contactaţi furnizorul (PUK2 SIM necesar)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Nu există jurnale"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "După ce efectuaţi/primiţi un apel sau trimiteţi/primiţi un mesaj, vor fi afişate jurnalele."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "Cartelă SIM ocupată. Încercaţi mai târziu"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Cartela SIM/RUIM este blocată."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Nu s-a găsit nicio cartelă SIM. Introduceţi o cartelă SIM în telefon."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Eroare de reţea sau de cartelă SIM"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Feedbackul prin vibraţie a fost activat."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Feedbackul prin vibraţie a fost dezactivat."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Numărul nu poate fi apelat. %d nu este un număr de urgenţă."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Numărul de apelare rapidă %d a fost eliminat."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Număr de apelare rapidă atribuit."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Introduceţi un număr."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Codul PIN trebuie să includă între %1$d şi %2$d cifre. Încercaţi din nou."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Codul PIN2 trebuie să includă între %1$d şi %2$d cifre. Încercaţi din nou."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Acest număr de apelare rapidă nu are niciun contact asociat. Atingeţi OK pentru a-i asocia unul acum."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "Codul PIN a fost dezactivat. Înainte de modificare, activaţi codul PIN."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Msg voc."
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Actual. contact"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Setări apelare rap."
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Eliminare"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Creare contact"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Setări apeluri"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Adăugare aşteptare"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Adăugare pauză de 2 secunde"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Tastatură"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Nu se poate con. la reţea"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Selectare cartelă SIM pt. apel"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Rezultatele căutării (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Apel de urgenţă"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Alocare ca nr. de apelare rap."
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Setare număr"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Trimit. mes."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Anulare"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Adăugare la Contacte"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Parolele nu se potrivesc."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN blocat. Introduceţi codul PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "Cartelă SIM blocată"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Nesalvat"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Salvat"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Pierdut"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Nereuşit"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Anulat"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Vor fi şterse %d elemente de jurnal."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Vor fi şterse toate elementele din jurnal."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 element din jurnal va fi şters."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Vizualizare detalii contact"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Trimitere număr"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Apeluri pierdute"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Ştergere"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Durate apeluri"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Apeluri pierdute"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Nu mai afişa"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Nr. necunoscut"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Necunoscut"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Select. totală"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Jurnale"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Ieri"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Azi"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d selectate"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Ştergere %d jurnale"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Ştergeţi elementele de jurnal"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Ştergere jurnal"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Ştergeţi"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Actual. contact"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Ştergere"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Creare contact"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Anulare"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Apeluri vocale"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Apeluri video"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Card SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Toate apelurile"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "După ce efectuaţi sau primiţi apeluri, acestea vor fi afişate aici."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "După ce efectuaţi sau primiţi apeluri, elementele de jurnal vor fi afişate aici."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "EDITARE"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Introducere text"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Anumite contacte par să fie dubluri."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d contacte au fost importate."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Contactele au fost asociate."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 număr a fost eliminat de pe Lista de respingere automată."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 contact a fost importat."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Numere servicii"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Format nume"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Asociere contacte"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Contacte de afişat"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Afiş."
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Creare"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Ad. câmp."
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Se importă contactele..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importul a fost anulat"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Se exportă contactele..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exportul a fost anulat"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Contacte importate"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Contacte exportate"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Toate contactele"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Nu puteţi şterge contactele din conturile doar în citire, dar le puteţi ascunde în contacte."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "La activarea opţiunii Sincronizare, acest contact va fi şters din toate conturile sincronizate în care este salvat."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "La activarea opţiunii Sincronizare, acest contact şi toate contactele asociate acestuia vor fi şterse sau ascunse dacă informaţiile provin dintr-un cont cu drept numai de citire."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "La activarea opţiunii Sincronizare, acest contact şi toate contactele asociate acestuia din alte conturi sincronizate vor fi şterse."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Se actualizează informaţiile despre furnizorul de servicii..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Contactul nu poate fi adăugat. A fost atins numărul maxim de contacte (%d) care se pot asocia."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Nu se pot adăuga contacte. A fost atins numărul maxim de contacte (%d) care se pot asocia."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Acest contact va fi şters."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Acest contact şi toate contactele asociate acestuia vor fi şterse."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "S-a depăşit numărul maxim de elemente care pot fi selectate (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "S-a depăşit numărul maxim de contacte care pot fi partajate simultan (%1$d). Vor fi partajate doar primele %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Caracteristica Chamada Certa poate fi utilizată pentru a identifica furnizorii de servicii ai persoanelor de contact şi a-i afişa în lista de contacte. Puteţi face acest lucru ulterior apăsând butonul meniu şi selectând Actualizare informaţii furnizor de servicii. Atingeţi OK pentru a identifica acum furnizorii de servicii ai contactelor."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Atingeţi OK pentru a nu mai importa contactele de pe cartela SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Atingeţi OK pentru a nu mai exporta contactele în %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Atingeţi Export pentru a selecta contactele pe care doriţi să le exportaţi. Este posibil ca unele informaţii de contact să se piardă."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Este posibil ca o parte din sau toate contactele să nu se fi actualizat."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Este posibil ca unele informaţii de contact să se piardă."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Memorie SIM plină"
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Eliminare..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d numere de telefon au fost actualizate."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d contacte vor fi şterse."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d contacte au fost exportate în %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d contacte au fost exportate în Dispozitiv/Contacte/Importate/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Memorie plină"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Contactele noi vor fi salvate în Contacte pe dispozitiv."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Mod FDN activat"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Nereuşit"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Renunţare la modificări?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Se şterg contactele..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Ştergerea contactelor a fost anulată. Este posibil ca anumite contacte să fi fost deja şterse."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Contactele nu vor mai fi importate din %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Există deja."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Toate contactele conectate vor fi şterse."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Toate contactele vor fi şterse."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Toate modificările vor fi eliminate."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Se adaugă..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "A fost actualizat 1 număr de telefon."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 contact va fi şters."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 contact eliminat"
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Serviciu"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Apel"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Apel video"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Actualizare informaţii furnizor de servicii"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Deconectare contact"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Anulare asociere contacte"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Fotografiere"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Fotografiere"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Soţ/Soţie"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Soră"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Card SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Partajare prin"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Partajaţi"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Setări"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Selectare din contacte"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Cartelă SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Salvare contact în"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Reordonare"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Eliminare"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Rudă"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relaţie"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Trimis de"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partener"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Părinte"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pager"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Alte"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organizaţie"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mamă"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Mesaj"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Gestionare preferate"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Manager"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Principal"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Mai întâi numele"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Prenume"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Acasă"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Ecran de pornire"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Din Galerie"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Prieten"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Mai întâi prenumele"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Nume"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Contact FDN"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (birou)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (domiciliu)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Tată"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Editare"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Nu mai afişa"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Partener intern"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Dispozitiv"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Particularizat"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Creare"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Copil"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Frate"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Zi de naştere"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Asistent"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Aniversare"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Adăugare câmp"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Adăugare"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Cont"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Căutare"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Niciun număr de serviciu"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nu au fost găsite rezultate"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Nu există niciun contact de urgenţă"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Niciun contact"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sortare după"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Setare profil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Configuraţi profilul meu"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Trimitere împreună"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Trimiteţi individual"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Trimitere informaţii de contact"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Select. totală"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d contacte"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Numai contacte cu telef."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Import"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Eveniment"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Afişare contacte cu numere"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 contact"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Contacte"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Spaţiu stocare USB indisponibil"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Nu se poate adăuga"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Imposibil de adăugat"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Contacte sugerate"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Partajaţi prin"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Setare imagine contact"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Setări"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Furnizor de servicii"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Trimitere inform. contact"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Selectaţi cartela SIM pentru apel"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Selectare cartelă SIM de apelat"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Selectare cartelă SIM pt. apel"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Selectare contact"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Selectare"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Salvaţi contactele în"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Reordonare"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Eliminare"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Contacte principale (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Contacte princ. (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Contacte personale"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d selectate"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d selectate"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Format nume"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Cele mai frecvente contacte"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Eu"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Gestionare preferate"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Listă contacte"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Contacte asociate"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Import contacte"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Import"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favorite"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Export contacte pe cartela SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Export contacte"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Export"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Introd. etichetă personaliz."
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Servicii de urgenţă"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Contacte de urgenţă"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Editare"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Afişare nume după"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Ecran"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Anulaţi modificările"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Ştergeţi elementul"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Creare"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Imagine contact"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Contacte de afişat"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Contacte"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Contacte exportate"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Schimbaţi locaţia de salvare"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Anulare import"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Anulare export"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Reîncercare"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Salvare"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Note"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Mai multe"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exportaţi"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Email"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Efectuat"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Renunţare"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Ştergere"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Creare"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Schimbare"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Anulare"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Adăug. cont"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Site web"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Se actualizează lista de contacte..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Imposibil de salvat din cauza unei erori de SIM"
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Titlu"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Acest contact va fi şters."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Informaţiile despre furnizorul de servicii pentru contactele selectate vor fi actualizate. Această funcţie necesită o conexiune la reţea şi poate genera costuri suplimentare. Intervalul de timp necesar pentru finalizarea procesului depinde de starea conexiunii la reţea."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Se iniţializează cartela SIM..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Număr serviciu"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Trimiterea individuală a cărţilor de vizită poate necesita mai mult timp, deoarece dispozitivul de destinaţie trebuie să accepte fiecare carte de vizită în parte."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Trimiterea simultană a unui număr de contacte reduce timpul de transmitere. Totuşi, dacă celălalt dispozitiv nu acceptă această funcţie, se va trimite numai un singur contact."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Selectaţi modul de trimitere a informaţiilor despre contact."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Selectat"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Eliminare din Favorite"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Fotografie"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Nr. telefon"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Nume fonetic"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Al doilea nume fonetic"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Nume familie fonetic"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Prenume fonetic"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Alte e-mailuri"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Nici un rezultat al căutării"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Nu există grupuri"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Note"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Pseudonim"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Sufix nume"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Prefix nume"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Nume"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Contactele mele"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Al doilea prenume"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Nume de familie"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Funcţie"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Import de pe cartela SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Import de pe cartela SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Se importă..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Imagine"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Dacă furnizorul de servicii a preîncărcat numere pentru servicii pe cartela SIM, acestea vor fi afişate aici."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galerie"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Prenume"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Export pe cartela SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Export pe cartela SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Export pe cartela SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Ignorare modificări"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Prieteni"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Familie"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Dată"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Colegi de muncă"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Contactele care au fost identificate ca dubluri vor fi sugerate automat."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Contacte"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Firmă"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Buton pentru extinderea listei"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Recomandările automate pot extrage evidenţierile din fişierele de sunete."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "După ce creaţi contacte, acestea se vor afişa aici."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "După ce adăugaţi contacte, acestea se vor afişa aici."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Adăugare la Favorite"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adresă"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Conturi"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "Cod PIN blocat"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Cod PUK2 incorect"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Codul PIN1 este incorect"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Adăugare contact existent"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Niciun contact principal"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Contacte principale"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Creaţi un contact principal"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Adăugare contacte principale"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Setare dată"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Codul PIN nou şi confirmarea codului PIN nu se potrivesc."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "După ce creaţi contacte principale, acestea vor fi afişate aici."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Nu se pot sel. mai multe elem."
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Introduceţi cartela SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Furnizorul de servicii sau contactul pe care îl apelaţi este %1$s. Atingeţi OK pentru a efectua acest apel utilizând cartela SIM %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Utilizare cartelă SIM %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "SIM actual"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Telefon public"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Caracter incorect"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Apel de ieşire"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Apel de intrare"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Sunt afişate numai primele %d contacte."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Profilul meu"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Atingeţi aici pentru a adăuga comanda rapidă"
+
diff --git a/main-app/res/po/ru_RU.po b/main-app/res/po/ru_RU.po
new file mode 100644
index 0000000..e28be25
--- /dev/null
+++ b/main-app/res/po/ru_RU.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Исходящие вызовы"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Последний вызов"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Входящие вызовы"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Выбрать журналы"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Вид"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Домашний 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Перемещение выполнено."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Перемещение..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2-код проверен."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1-код проверен."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN разблокирован."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2-код разблокирован."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2-код изменен."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 заблокирован."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1-код изменен."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1-код заблокирован."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Неправильный PIN2"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Новый PIN2-код и его подтверждение не совпадают."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Неправильный PUK1-код"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Неправильный PUK1-код. Осталось попыток: %d."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Неправильный PUK2-код. Осталось попыток: %d."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN-код изменен."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Контакты"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Добавить учетную запись"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Достигнуто максимальное число символов."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Сканирование устройств..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Неправильный PIN-код"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ОТМЕНА"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "УДАЛИТЬ"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Проблема подключения или недействительный код MMI."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Скрытый номер"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ОТПРАВИТЬ"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "Код PIN2 заблокирован. Обратитесь к поставщику (требуется код SIM PUK2)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Нет записей"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Выполняемые и принимаемые вызовы, а также отправляемые и получаемые сообщения добавляются в журналы."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM-карта занята. Повторите попытку позже"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Карта SIM/RUIM заблокирована."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIM-карта не обнаружена. Вставьте SIM-карту в телефон."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Ошибка сети или SIM-карты."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Обратная связь включена."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Обратная связь отключена."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Невозможно выполнить вызов по номеру. %d не является номером экстренного вызова."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Номер быстрого доступа %d удален."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Номер быстрого набора назначен."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Введение номера."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "В PIN-коде должно быть от %1$d до %2$d символов. Повторите попытку."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "В PIN2-коде должно быть от %1$d до %2$d цифр. Повторите попытку."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Этому номеру быстрого набора не назначен контакт. Нажмите “Дa”, чтобы назначить его сейчас."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN-код отключен. Прежде чем изменять PIN-код, включите его."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Г. почта"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Обнов. контакт"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Настр. быст. набора"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Удалить"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Создать контакт"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Параметры вызовов"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Добавить ожидание"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Добавить 2-сек. паузу"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Клавиатура"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Не удается подключиться к сети"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Выберите SIM-карту для вызова"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Результаты поиска (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Экстренный вызов"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Назначить номер быстр. набора"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Задать номер"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Отпр. сообщ."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Отмена"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Добавить в контакты"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Пароли не совпадают."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN-код заблокирован. Введите PUK-код."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM-карта заблокирована."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Не сохранено"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Сохранено"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Пропущенные"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Сбой"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Отменено"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Элементы журнала (%d) будут удалены."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Все элементы журнала будут удалены."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 элемент журнала будет удален."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Сведения о контакте"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Отправить номер"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Пропущенные вызовы"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Удалить"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Длительность вызовов"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Пропущенные вызовы"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Больше не показывать"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Неизвест. номер"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Неизвестно"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Выбрать все"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Журналы"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Вчера"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Сегодня"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "Выбрано: %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Удалить журналы (%d)"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Удалить элементы журнала"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Удалить журнал"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Удалить"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Обнов. контакт"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Удалить"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Новый контакт"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Отмена"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Голосовые вызовы"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Видеовызовы"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM-карта"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Все вызовы"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Здесь указываются принятые и выполненные вызовы."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Здесь будут показаны элементы журналов выполненных и принятых вызовов."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "Изменить"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Введите текст"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Некоторые контакты повторяются."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "Контакты (%d) импортированы."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Контакты связаны."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 номер удален из черного списка."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 контакт импортирован."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Каталог сервисов"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Формат имени"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Связать контакты"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Показать контакты"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Применить"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Созд."
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Доб. поля"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Импорт контактов..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Импорт отменен"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Экспорт контактов..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Экспорт отменен"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Контакты импортированы"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Контакты экспортированы"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Все контакты"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Нельзя удалить контакты из учетных записей, доступных только для чтения, но можно скрыть их из списка контактов."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "При включенной синхронизации этот контакт будет удален из всех синхронизированных списков контактов, в которых он хранится."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Если синхронизация включена, то этот контакт и все объединенные контакты в других синхронизированных учетных записях будут удалены или спрятаны в случае получения информации от учетной записи, предназначенной только для чтения."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "При включенной синхронизации этот контакт и все объединенные с ним контакты в других синхронизированных учетных записях будут удалены."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Обновление сведений о поставщике услуг..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Невозможно добавить контакт. Достигнуто максимальное число связываемых контактов (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Не удалось добавить контакты. Достигнуто максимальное число связываемых контактов (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Этот контакт будет удален."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Этот контакт и все объединенные с ним контакты будут удалены."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Превышено максимальное количество элементов для выбора (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Превышено максимальное число контактов для одновременной отправки (%1$d). Будут отправлены только первые %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Функция Chamada Certa позволяет определять операторов мобильной связи, используемых вашими контактами, и указывать их в списке контактов. Это можно сделать позже, нажав клавишу меню и выбрав “Обновить сведения о поставщике услуг”. Чтобы определить поставщиков услуг для своих контактов сейчас, нажмите “ОК”"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Нажмите “OK”, чтобы остановить импорт контактов с SIM-карты."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Нажмите “OK”, чтобы остановить экспорт контактов в %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Нажмите “Экспорт”, чтобы выбрать контакты для экспорта. Некоторые контактные данные могут быть потеряны."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Возможно, некоторые или все контакты не были обновлены."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Некоторые контактные данные могут быть потеряны."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Память SIM-карты заполнена."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Удаление..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "Обновлено %d номеров телефона."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "Контакты (%d) будут удалены."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "Контакты (%1$d) экспортированы в %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "Контакты (%1$d) экспортированы в файл Device/Contacts/Imported/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Недостаточно памяти."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Новые контакты будет сохранены в “Контактах” на устройстве."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Режим FDN включен."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Сбой."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Отменить изменения?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Удаление контактов..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Удаление контактов отменено. Возможно, некоторые контакты уже удалены."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Контакты больше не будут импортироваться из %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Уже существует."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Все объединенные контакты будут удалены."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Все контакты будут удалены."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Все изменения будут потеряны."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Добавление..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "Обновлен 1 номер телефона."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 контакт будет удален."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "Удален 1 контакт."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Рабочий"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Голосовой вызов"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Видеовызов"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Обновить сведения о поставщике услуг"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Отменить связь контакта"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Отменить связь контактов"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Выполнить снимок"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Сделать фото"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Супруг(а)"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Сестра"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM-карта"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Отправить через"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Отправить"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Настройки"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Выбрать из контактов"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Карта памяти"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Сохранить контакт в"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Изменить порядок"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Удалить"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Родственник"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Отношения"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Рекомендация"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Деловой партнер"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Родитель"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Пейджер"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Другое"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Организация"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Мать"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Мобильный"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Сообщение"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Управление избранным"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Начальник"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Основной"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Сначала фамилия"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Фамилия"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Домашний"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Домашний"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Из галереи"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Друг, подруга"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Сначала имя"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Имя"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN-контакт"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Факс (рабочий)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Факс (домашний)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Отец"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Изменить"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Больше не показывать"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Партнер"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Устройство"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Создать"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Создать"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Ребенок"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Брат"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "День рождения"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Помощник"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Годовщина"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Добавить поле"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Добавить"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Учетная запись"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Поиск"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Нет каталога сервисов"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Ничего не найдено"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Экстренные контакты отсутствуют"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Нет контактов"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Сортировка"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Задать профиль"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Настроить мой профиль"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Отправить вместе"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Отправить по отдельности"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Отправить контактные сведения"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Выбрать все"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "Контактов: %d"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Только с номером"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Импорт"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Экспорт"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Событие"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Показывать контакты с номерами"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 контакт"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Контакты"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Внутренняя память недоступна"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Не удалось добавить"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Не удалось добавить"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Предложенные контакты"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Отправить через"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Выбор фотографии контакта"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Настройки"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Поставщик услуг"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Отправить контактные свед."
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Выберите SIM-карту для вызова"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Выбор SIM-карты для звонка"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Выберите SIM-карту для вызова"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Выберите контакт"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Выбрать"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Сохранить контакты в"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Изменить порядок"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Удалить"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Основные контакты (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Осн. контакты (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Телефон"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Личные контакты"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "Выбрано: %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "Выбрано: %d"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Формат имени"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Самые частые контакты"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Я"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Управление избранным"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Контакты"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Объединенные контакты"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Импорт контактов"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Импорт"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Избранное"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Экспорт контактов на SIM-карту"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Экспорт контактов"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Экспорт"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Ввод настраиваемой метки"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Экстренные службы"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Экстренные контакты"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Изменить"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Показывать имена по"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Экран"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Отменить изменения"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Удалить элемент"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Создать"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Изображение для контакта"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Показать контакты"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Контакты"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Контакты экспортированы"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Изм. местопол. для сохранения"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Отменить импорт"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Отменить экспорт"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Повторить"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Сохранить"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Телефон"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "Да"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Заметки"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Еще"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Экспорт"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Эл. почта"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Готово"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Удалить"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Удалить"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Создать"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Изменить"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Отмена"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Доб уч. зап."
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Веб-сайт"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Обновление списка контактов..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Сохранение невозможно из-за ошибки SIM."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Название"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Этот контакт будет удален."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Сведения о поставщике услуг выбранных контактов будут обновлены. Для включения этой функции требуется подключение к сети, что может повлечь дополнительные расходы. Скорость выполнения процедуры зависит от состояния сетевого подключения"
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Телефон"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Инициализация SIM-карты..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Служебный номер"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Отправка визиток по отдельности может занять больше времени, поскольку принимающее устройство будет получать их по одной."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Одновременная передача нескольких контактов позволяет сэкономить время. Тем не менее, если другое устройство не поддерживает эту возможность, будет отправлен только один контакт."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Выберите способ отправки контактной информации."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Выбранное"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Удалить из избранного"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Фото"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Номер телефона"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Фонетическое имя"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Второе имя, фонетич."
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Фамилия, фонетическ."
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Сначала фонетическое имя"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Другие адреса эл. почты"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Нет результатов"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Нет групп"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Заметки"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Псевдоним"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Именной суффикс"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Форма обращения"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Имя"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Мои контакты"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Отчество"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Фамилия"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Должность"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Импорт с SIM-карты"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Импорт с SIM2-карты"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Импорт..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Картинка"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "Чат"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Здесь выводится каталог сервисов, загруженный поставщиком услуг на SIM-карту."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Галерея"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Имя"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Факс"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Экспорт на SIM-карту"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Экспорт на SIM2-карту"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Экспорт на карту памяти SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Отменить изменения"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Друзья"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Семья"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Дата"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Коллеги"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Повторяющиеся контакты будут предлагаться автоматически."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Контакты"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Компания"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Кнопка развертывания списка"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "В авторекомендациях можно использовать выдержки из звуковых файлов."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Здесь будут показаны созданные контакты."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Здесь выводятся добавленные контакты."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Добавить в Избранное"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Адрес"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Учетные записи"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN-код заблокирован."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Неверный PUK2-код"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Неправильный PIN1-код"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Добавить существующий контакт"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Нет основных контактов"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Основные контакты"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Создать основной контакт"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Добавить основные контакты"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Установить дату"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Новый PIN-код и его подтверждение не совпадают."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Здесь будут показаны основные созданные контакты."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Невозм. выбрать больше элем."
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Вставьте SIM-карту."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Поставщик услуг вызываемого контакта: %1$s. Нажмите “OK”, чтобы выполнить вызов с помощью SIM-карты %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Использовать SIM-карту %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Текущая SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Таксофон"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Неверный символ"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Телефон"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Исходящий вызов"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Входящий вызов"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Показаны только первые контакты в количестве %d."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Мой профиль"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Нажмите здесь, чтобы добавить ярлык"
+
diff --git a/main-app/res/po/sk.po b/main-app/res/po/sk.po
new file mode 100644
index 0000000..9d0be94
--- /dev/null
+++ b/main-app/res/po/sk.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Odchádzajúce hovory"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Posledný hovor"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Prijaté hovory"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Vybrať denníky"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Zobraziť podľa"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Domov 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Presun bol dokončený."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Presúvanie..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "Kód PUK2 bol overený."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "Kód PUK1 bol overený."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN odblokované."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 odblokovaný."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 bol zmenený."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 zablokovaný."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Kód PIN1 bol zmenený."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Kód PIN1 je zablokovaný."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Nesprávny PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Nový kód PIN2 a potvrdzujúci kód PIN2 sa nezhodujú"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Nesprávny kód PUK1."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Nesprávny PUK1. Zostávajúce pokusy: %d."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Nesprávny PUK2. Zostávajúce pokusy: %d."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN bol zmenený."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Pridať konto"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Bol dosiahnutý maximálny počet znakov."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Hľadajú sa zariadenia..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Nesprávny kód PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ZRUŠIŤ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ODSTRÁNIŤ"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problém s pripojením alebo neplatný kód MMI."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Súkromné číslo"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "ODOSLAŤ"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 je blokovaný. Kontaktujte poskytovateľa (vyžaduje sa SIM PUK2)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Žiadne denníky"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Po uskutočnení/prijatí hovoru alebo odoslaní/prijatí správy sa zobrazia denníky."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM karta je zaneprázdnená. Skúste to neskôr"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Karta SIM/RUIM je uzamknutá."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Nenašla sa žiadna karta SIM. Vložte kartu SIM do telefónu."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Chyba siete alebo karty SIM."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Vibračná odozva je zapnutá."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Vibračná odozva je vypnutá."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Na toto číslo sa nedá volať. %d nie je tiesňové číslo."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Číslo rýchlej voľby %d sa odstránilo."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Číslo rýchlej voľby je priradené."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Zadajte číslo."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Kód PIN musí obsahovať %1$d až %2$d číslic. Skúste to znova."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Kód PIN2 musí obsahovať %1$d až %2$d číslic. Skúste to znova."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "K tomuto číslu rýchlej voľby nie je priradený žiadny kontakt. Ťuknutím na tlačidlo OK ho môžete teraz priradiť."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "Kód PIN bol vypnutý. Pred zmenou zapnite kód PIN."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Odk. sch."
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Aktual. kontakt"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Nast. rýchlej voľby"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Odstrániť"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Vytvor. kontakt"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Nastavenia hovorov"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Pridať pauzu"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Pridať 2-sekundovú pauzu"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Klávesnica"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Nedá sa pripojiť k sieti"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Vyberte kartu SIM pre hovor"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Výsledky vyhľadávania (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Tiesňový hovor"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Priradiť ako číslo rých. voľby"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Nastaviť číslo"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Odos. správu"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Zrušiť"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Pridať do kontaktov"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Heslá sa nezhodujú."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN kód je zablokovaný. Zadajte PUK kód."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM je blokovaná."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Neuložené"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Uložené"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Zmeškané"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Zlyhanie"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Zrušené"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Vykoná sa odstránenie %d položiek denníka."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Všetky položky denníka sa odstránia."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Odstráni sa 1 položka denníka."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Zobraziť kontaktné údaje"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Odoslať číslo"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Zmeškané hovory"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Odstrániť"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Trvania hovorov"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Zmeškané hovory"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Už nezobrazovať"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Neznáme číslo"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Neznáme"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Vybrať všetko"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Denníky"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Včera"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Dnes"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "Vybraté: %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Odstrániť %d denníky"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Odstránenie položiek denníka"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Odstrániť denník"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Odstrániť"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Aktual. kontakt"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Odstrániť"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Vytv. kontakt"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Zrušiť"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Hlasové hovory"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videohovory"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Karta SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Všetky hovory"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Tu sa zaznamenávajú hovory po ich uskutočnení alebo prijatí."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Tu sa zobrazia položky denníka po uskutočnení alebo prijatí hovorov."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "UPRAVIŤ"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Zadaj text"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Niektoré z kontaktov sa zdajú byť duplicitné."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "Vykonalo sa importovanie %d kontaktov."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kontakty sú prepojené."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "Zo zoznamu automaticky odmietaných sa odstránilo 1 číslo."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "Importoval sa 1 kontakt."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Servisné čísla"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Formát mena"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Prepojiť kontakty"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Kontakty na zobrazenie"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Nastaviť"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Vytv."
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Pr. polia"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importujú sa kontakty..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importovanie bolo zrušené"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Exportujú sa kontakty..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exportovanie bolo zrušené"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Kontakty sa importovali"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Kontakty sa exportovali"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Všetky kontakty"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Nemôžete odstrániť kontakty z kont určených iba na čítanie, môžete ich však skryť v kontaktoch."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Keď je zapnutá možnosť Synchronizovať, tento kontakt sa odstráni zo všetkých synchronizovaných kont, v ktorých je uložený."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Keď je zapnutá možnosť Synchronizovať, tento kontakt spolu so všetkými jeho prepojenými kontaktmi v ostatných synchronizovaných kontách sa odstráni, prípadne sa skryje, pokiaľ informácie pochádzajú z konta určeného iba na čítanie."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Keď je zapnutá možnosť Synchronizovať, odstráni sa tento kontakt spolu so všetkými jeho prepojenými kontaktmi v ostatných synchronizovaných kontách."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Aktualizujú sa informácie o operátoroch..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kontakt sa nedá pridať. Dosiahol sa maximálny počet prepojiteľných kontaktov (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kontakty sa nedajú pridať. Dosiahol sa maximálny počet prepojiteľných kontaktov (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Tento kontakt bude vymazaný."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Vykoná sa odstránenie tohto kontaktu a všetkých jeho prepojených kontaktov."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Prekročil sa maximálny počet položiek, ktoré možno vybrať (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Prekročil sa maximálny počet kontaktov, ktoré možno zdieľať súčasne (%1$d). Zdieľať sa bude iba prvých %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Funkciu Chamada Certa môžete použiť na identifikáciu operátorov vašich kontaktov a na ich zobrazenie vo vašom zozname kontaktov. Môžete to urobiť aj neskôr stlačením tlačidla menu a výberom položky Aktualizovať informácie o operátoroch. Ťuknutím na tlačidlo OK môžete teraz identifikovať operátorov vašich kontaktov."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Ťuknutím na tlačidlo OK zastavíte importovanie kontaktov z karty SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Ťuknutím na tlačidlo OK zastavíte exportovanie kontaktov do súboru %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Ťuknite na tlačidlo Exportovať a vyberte kontakty, ktoré chcete exportovať. Niektoré informácie o kontaktoch sa môžu stratiť."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Niektoré alebo všetky kontakty sa možno neaktualizovali."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Niektoré informácie o kontaktoch sa môžu stratiť."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Pamäť SIM karty je plná."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Odstraňovanie..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "Aktualizované telefónne čísla: %d."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d kontakty sa vymažú."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "Vykonalo sa exportovanie %1$d kontaktov do súboru %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "Vykonalo sa exportovanie %1$d kontaktov do súboru Zariadenie/Kontakty/Importované/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Nedostatok pamäte."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Nové kontakty sa uložia do zoznamu Kontakty v zariadení."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Režim FDN aktivovaný."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Nepodarilo sa."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Zrušiť zmeny?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Odstraňujú sa kontakty..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Odstránenie kontaktov bolo zrušené. Niektoré kontakty mohli byť už odstránené."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Zastaví sa importovanie kontaktov zo súboru %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Už existuje."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Všetky prepojené kontakty sa vymažú."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Všetky kontakty sa vymažú."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Všetky zmeny sa zrušia."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Pridávanie..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 telefónne číslo sa aktualizovalo."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 kontakt sa odstráni."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 kontakt bol odstránený."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Práca"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Hlasový hovor"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videohovor"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Aktualizovať informácie o operátoroch"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Zrušiť prepojen. kontaktu"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Zrušiť prepojenie kontaktov"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Odfotografovať"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Fotografovať"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Manžel(ka)"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Sestra"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Karta SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Zdieľať cez"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Zdieľať"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Nastavenia"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Vybrať z kontaktov"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Karta SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Uložiť kontakt do"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Zmeniť poradie"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Odstrániť"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Príbuzný"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Vzťah"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Odporučil"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Rodič"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pager"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Ďalšie"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organizácia"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Matka"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobilné"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Správa"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Spravovať obľúbené"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Manažér"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Hlavný"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Najprv priezvisko"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Priezvisko"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Domov"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Domov"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Z aplikácie Galéria"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Priateľ"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Najprv krstné meno"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Meno"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Kontakt z pevného telefónneho zoznamu"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (práca)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (domov)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Otec"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Upraviť"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Už nezobrazovať"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Domáci partner"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Zariadenie"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Vlastné"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Vytvoriť"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Dieťa"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Brat"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Narodeniny"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Asistent"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Výročie"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Pridať pole"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Pridať"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Konto"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Vyhľadávanie"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Žiadne servisné čísla"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nenašli sa žiadne výsledky."
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Žiadne tiesňové kontakty"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Žiadne kontakty"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Zoradiť podľa"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Nastavte profil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Nastaviť môj profil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Odoslať spolu"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Odoslať individuálne"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Odoslať kontaktné údaje"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Vybrať všetko"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "Kontakty: %d"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Iba kontakty s číslami"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importovať"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Exportovať"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Udalosť"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Zobraziť kontakty s číslami"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 kontakt"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Ukladací priestor USB nie je k dispozícii"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Nedá sa pridať"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Nedá sa pridať"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Odporúčané kontakty"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Zdieľať cez"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Nastavenie fotografie kontaktu"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Nastavenia"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Poskytovateľ služieb"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Odoslanie kontakt. údajov"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Vyberte kartu SIM pre hovor"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Vyberte kartu SIM na telefonovanie"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Vyberte kartu SIM pre hovor"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Vyberte kontakt"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Vybrať"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Uložiť kontakty do"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Zmeniť poradie"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Odstrániť"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Hlavné kontakty (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Hlavné kontakty (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefón"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Osobné kontakty"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "Vybraté: %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "Vybraté: %d"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Formát mena"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Najčastejšie kontakty"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Ja"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Spravovanie obľúbených"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Zoznam kontaktov"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Prepojené kontakty"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Import kontaktov"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importovanie"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Obľúbené"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Export kontaktov na kartu SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Export kontaktov"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Exportovanie"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Zadajte vlastnú menovku"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Tiesňové služby"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Tiesňové kontakty"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Upraviť"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Zobraziť mená podľa"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Zobrazenie"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Zahodiť zmeny"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Odstrániť položku"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Vytvoriť"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Fotografia kontaktu"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Kontakty na zobrazenie"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kontakty"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Kontakty sa exportovali"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Zmeniť miesto ukladania"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Zrušenie importovania"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Zrušenie exportovania"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Skúste to znova"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Uložiť"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefón"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Poznámky"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Ďalšie"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exportovať"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-mail"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Hotovo"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Zrušiť"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Odstrániť"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Vytvoriť"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Zmeniť"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Zrušiť"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Pridať konto"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Webová lokalita"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Aktualizuje sa zoznam kontaktov..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Nedá sa uložiť z dôvodu chyby SIM karty."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Názov"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Tento kontakt bude vymazaný."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Informácie o operátoroch vybratých kontaktov sa aktualizujú. Táto funkcia vyžaduje sieťové pripojenie a môže mať za následok ďalšie poplatky. Čas potrebný na dokončenie tohto procesu bude závisieť od stavu sieťového pripojenia."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefón"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Inicializuje sa karta SIM..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Číslo služby"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Individuálne odosielanie vizitiek môže trvať dlhšie, pretože prijímajúce zariadenie ich musí akceptovať po jednej."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Odosielanie viacerých kontaktov naraz skracuje čas prenosu. Ak to však druhé zariadenie nepodporuje, odošle sa iba jeden kontakt."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Vyberte, ako sa majú odoslať kontaktné údaje."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Vybrané"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Odstrániť z obľúbených položiek"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Fotografia"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Telef. číslo"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Výslovnosť mena"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Výsl. 2. krst. mena"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Výslov. priezviska"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Krstné meno foneticky"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Ďalšie e-maily"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Žiadny výsledok hľadania"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Žiadne skupiny"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Poznámky"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Prezývka"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Titul za menom"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Titul pred menom"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Meno"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Moje kontakty"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Druhé krstné meno"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Priezvisko"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Pracov. funkcia"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importovať z karty SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importovať z karty SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importuje sa..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Obrázok"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "Komunikátor"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ak operátor prednastavil servisné čísla na karte SIM, zobrazia sa tu."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galéria"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Krstné meno"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Exportovať na kartu SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Exportovať na kartu SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Exportovať na kartu SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-mail"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Zahodiť zmeny"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Priatelia"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Rodina"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Dátum"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Spolupracovníci"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Kontakty, ktoré boli identifikované ako duplikáty, sa odporučia automaticky."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Spoločnosť"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Tlačidlo na rozbalenie zoznamu"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatické odporúčania môžu extrahovať najlepšie pasáže zo zvukových súborov."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tu sa zobrazia kontakty po ich vytvorení."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tu sa zobrazia kontakty po ich pridaní."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Pridať do obľúbených"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adresa"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Kontá"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN zablokovaný."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Chybný PUK2 kód."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Nesprávny kód PIN1."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Pridať existujúci kontakt"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Žiadne hlavné kontakty"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Hlavné kontakty"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Vytvorenie hlavného kontaktu"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Pridanie hlavných kontaktov"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Nastaviť dátum"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Nový kód PIN a potvrdzujúci kód PIN sa nezhodujú."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Tu sa zobrazia hlavné kontakty po ich vytvorení."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Nedá sa vybrať viac položiek"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Vložte kartu SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Operátorom kontaktu, ktorému voláte, je %1$s. Ťuknutím na tlačidlo OK uskutočníte tento hovor pomocou karty SIM %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Použiť kartu SIM %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Aktuálna SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Telef. automat"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Chybný znak."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefón"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Odchádzajúci hovor"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Prichádzajúci hovor"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Zobrazuje sa iba prvých %d kontaktov."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Môj profil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Ťuknutím sem môžete pridať odkaz"
+
diff --git a/main-app/res/po/sl.po b/main-app/res/po/sl.po
new file mode 100644
index 0000000..cc4f7d2
--- /dev/null
+++ b/main-app/res/po/sl.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Klicane številke"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Zadnji klic"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Prejeti klici"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Izberi dnevnike"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Pregled po"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Doma 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Premik je končan."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Premikam"
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "Koda PUK2 preverjena."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "Koda PUK1 preverjena."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN sproščen."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 sproščen."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 je spremenjen."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 blokiran."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Koda PIN1 je spremenjena."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Koda PIN1 je blokirana."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Napačen PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Nova koda PIN2 in potrditvena koda PIN2 se ne ujemata"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Napačna koda PUK1."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Napačna koda PUK1. Še %d poskusov."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Napačna koda PUK2. Še %d poskusov."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN je spremenjen."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Imenik"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Dodaj račun"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Doseženo je največje dovoljeno število znakov."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Iskanje naprav ..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Napačna koda PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "KONČANO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "PREKLIČI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "IZBRIŠI"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Težave s povezavo ali neveljavna koda MMI."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Zasebna številka"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "POŠLJI"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "Koda PIN2 je blokirana. Obrni se na ponudnika (zahtevana je koda PUK 2 za SIM)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Ni dnevnikov"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Ko opravite/prejmete klic ali pošljete/prejmete sporočilo, bodo prikazani dnevniki."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "Kartica SIM je zasedena. Poskusite pozneje"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "Kartica SIM/RUIM je zaklenjena."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Ne najdem kartice SIM. V telefon vstavite kartico SIM."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Napaka omrežja ali kartice SIM."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Povratne informacije z vibriranjem so omogočene."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Povratne informacije z vibriranjem so onemogočene."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Številke ni mogoče klicati. %d ni številka za klic v sili."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Številka za hitro izbiranje %d je odstranjena."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Številka za hitro izbiranje je določena."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Vnesite številko."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Koda PIN mora imeti od %1$d do %2$d številk. Poskusite znova."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Koda PIN2 mora imeti od %1$d do %2$d številk. Poskusite znova."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Za to številko za hitro izbiranje ni določen noben stik. Pritisnite V redu, da ga določite."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "Koda PIN je onemogočena. Pred spreminjanjem omogočite kodo PIN."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Odzivnik"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Posodobite stik"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Nast. hitr. izbir."
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Odstrani"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Ustvarite stik"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Klicne nastavitve"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Dodaj čakanje"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Dodaj 2-sekundni premor"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Številčn."
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Z omrež. se ni mogoče povezati"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Izberite kart. SIM za klicanje"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Rezultati iskanja (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Klic v sili"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Določ. kot št. za hitro izbir."
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Nast. številko"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Pošlji spor."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Prekliči"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Dodaj med stike"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Gesli se ne ujemata."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "Koda PIN je blokirana. Vnesite kodo PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "Kartica SIM je blokirana."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Neshranjeno"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Shranjeno"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Zamujeno"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Ni uspelo"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Preklicano"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Izbrisanih bo toliko elementov dnevnika: %d."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Vsi elementi dnevnika bodo izbrisani."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 element dnevnika bo izbrisan."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Prikaz podrobnosti stika"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Pošlji številko"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Zgrešeni klici"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Izbriši"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Trajanje klicev"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Zgrešeni klici"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Ne pokaži znova"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Nezn. številka"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Neznano"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Izberi vse"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Dnevniki"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Včeraj"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Danes"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "Št. izbranih: %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Izbriši %d dnevnikov"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Izbrišite dnevniške elemente"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Izbriši dnevnik"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Izbriši"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Posodobi stik"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Izbrišite"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Ustvarite stik"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Prekliči"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Glasovni klici"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Video klici"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "Kartica SIM"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Vsi klici"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Po klicu ali prejemu klica bodo dnevniki prikazani tukaj."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Po klicu ali prejemu klica bodo tukaj prikazani elementi dnevnika."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "UREDI"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Vnesite besedilo"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Nekateri vaši stiki so videti podvojeni."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "Število uvoženih stikov: %d."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Stiki so povezani."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "S seznama za samodejno zavrnitev je bila odstranjena 1 številka."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "Uvožen je bil 1 stik."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Servisne številke"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Zapis imena"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Poveži stike"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Stiki za prikaz"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Nastavi"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Ustvari"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Dod.polja"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Uvažanje stikov ..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Uvažanje je preklicano"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Izvažanje stikov ..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Izvažanje je preklicano"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Stiki so uvoženi"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Stiki so izvoženi"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Vsi stiki"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Iz računov, ki so samo za branje, ne morete brisati stikov, lahko pa jih skrijete v stikih."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Ko je omogočena funkcija Sinhronizacija, bo ta stik izbrisan iz vseh sinhroniziranih računov, v katerih je shranjen."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Ko je omogočena funkcija Sinhronizacija, bodo ta stik in vsi z njim povezani stiki v drugih sinhroniziranih računih izbrisani ali skriti, če so podatki iz računa, ki je samo za branje."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Ko je omogočena funkcija Sinhronizacija, bo izbrisan ta stik in vsi njegovi povezani stiki v drugih sinhroniziranih računih."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Posodabljanje podatkov o ponudniku storitev ..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Stika ni mogoče dodati. Doseženo je največje dovoljeno število stikov (%d), ki jih lahko povežete."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Stikov ni mogoče dodati. Doseženo je največje dovoljeno število stikov (%d), ki jih lahko povežete."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Ta stik bo izbrisan."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Izbrisan bo ta stik in vsi njegovi povezani stiki."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Največje dovoljeno število elementov, ki jih je mogoče izbrati (%d), je preseženo."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Preseženo je največje dovoljeno število stikov (%1$d), ki jih lahko hkrati delite z drugimi. Deljenih bo samo prvih toliko stikov: %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Uporabite funkcijo Chamada Certa, da identificirate ponudnike storitev vaših stikov in jih prikažete na seznamu stikov. To lahko storite tudi pozneje, tako da pritisnete menijsko tipko in izberete Posodobi podatke ponudnikov storitev. Pritisnite V redu, če želite ponudnike storitev vaših stikov identificirati zdaj."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Pritisnite V redu, da ustavite uvažanje stikov s kartice SIM."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Pritisnite V redu, da ustavite izvažanje stikov v datoteko %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Pritisnite Izvoz, da izberete stike, ki jih želite izvoziti. Nekateri podatki o stikih se lahko izgubijo."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Nekaj stikov ali vsi stiki morda niso bili posodobljeni."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Nekateri podatki o stiku se lahko izgubijo."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Pomnilnik kartice SIM je poln."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Odstranjujem ..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d telefonskih številk je posodobljenih."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d stikov bo izbrisanih."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "V datoteko %2$s je bilo izvoženih toliko stikov: %1$d."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "V datoteko Naprava/Stiki/Uvoženo/%2$s.vcf je bilo izvoženih toliko stikov: %1$d."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Ni dovolj pomnilnika."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Novi stiki bodo shranjeni med stike v napravi."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN način vključen."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Ni uspelo."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Želite zavreči spremembe?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Brisanje stikov ..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Brisanje stikov je preklicano. Nekateri stiki so morda že bili izbrisani."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Uvažanje stikov iz datoteke %s bo ustavljeno."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Že obstaja."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Vsi povezani stiki bodo izbrisani."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Vsi stiki bodo izbrisani."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Vse spremembe bodo zavržene."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Dodajam..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 telefonska številka je posodobljena."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 stik bo izbrisan."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 stik odstranjen."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Službeni"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Glasovni klic"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Video klic"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Posodobitev podatkov o ponudniku storitev"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Preklic povezave stika"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Prekliči povezavo stikov"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Slikaj"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Naredi fotografijo"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Zakonec"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Sestra"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "Kartica SIM"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Deli z drugimi prek"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Skupna raba"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Nastavitve"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Izberi iz stikov"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "Kartica SD"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Shrani stik v"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Prerazporeditev"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Odstrani"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Sorodnik"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Stan"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Priporočil"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Starš"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pozivnik"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Drugo"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organizacija"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mati"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobilni"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Sporočilo"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Upravljanje priljubljenih"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Upravitelj"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Glavni"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Najprej priimek"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Priimek"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Domači"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Domov"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Iz aplikacije Galerija"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Prijatelj"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Najprej ime"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Ime"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Stik za predpisano klicanje"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Faks (služba)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Faks (doma)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Oče"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Uredi"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ne pokaži znova"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Domači partner"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Naprava"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Po meri"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Ustvari"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Otrok"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Brat"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Rojstni dan"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Pomočnik"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Obletnica"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Dodaj polje"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Dodaj"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Račun"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Iskanje"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Ni številk storitve"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Ni najdenih rezultatov"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Ni stikov v sili"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Ni stikov"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Razvrsti po"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Nastavite profil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Nastavi moj profil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Pošlji skupaj"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Pošlji posamezne"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Pošlji podatke o stiku"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Izberi vse"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "Število stikov: %d"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Samo stiki s tel. št."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Uvoz"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Izvoz"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Dogodek"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Prikaz stikov s številkami"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 stik"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Stiki"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Pomnilnik USB ni na voljo"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Ni mogoče dodati"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Ni mogoče dodati."
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Predlagani stiki"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Deljenje prek"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Nastavite sliko stika"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Nastavitve"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Ponudnik storitev"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Pošlji podatke o stiku"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Izberite kartico SIM za klicanje"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Izberite kartico SIM za klicanje"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Izberite kart. SIM za klicanje"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Izberite stik"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Izberi"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Shrani stike v"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Prerazporedite"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Odstrani"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Prednostni stiki (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Prednostni stiki (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Osebni stiki"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "Št. izbranih: %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d izbranih"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Zapis imena"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Najpogostejši stiki"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Jaz"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Upravljanje priljubljenih"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Seznam vizitk"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Povezani stiki"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Uvoz stikov"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Uvažanje"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Priljubljene"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Izvozite stike na kartico SIM"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Izvozite stike"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Izvažanje"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Vnesite oznako po meri"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Storitve v sili"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Stiki v sili"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Uredi"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Prikaz imen po"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Prikaz"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Zavrzite spremembe"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Izbrišite element"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Ustvari"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Slika stika"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Stiki za prikaz"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Stiki"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Stiki so izvoženi"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Spremenite mesto shranjevanja"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Prekličite uvažanje"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Prekličite izvažanje"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Poskusite znova"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Shrani"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "V redu"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Opombe"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Več"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Izvoz"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-pošta"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Končano"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Zavrzi"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Izbrišite"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Ustvari"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Spremenite"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Prekliči"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Dodaj račun"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Spletno mesto"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Posodabljanje seznama stikov ..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Ni mogoče shraniti zaradi napake SIM."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Naslov"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Ta stik bo izbrisan."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Podatki o ponudniku storitev za izbrane stike bodo posodobljeni. Ta funkcija zahteva omrežno povezavo in lahko povzroči dodatne stroške. Hitrost postopka je odvisna od stanja omrežne povezave."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Inicializacija kartice SIM ..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Številka storitve"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Pošiljanje posameznih vizitk lahko traja dlje, ker mora naprava prejemnika sprejeti vsakega posebej."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Pošiljanje več stikov hkrati skrajša čas prenosa. Toda, če druga naprava ne podpira te funkcije, se bo prenesel samo en stik."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Izberite način pošiljanja podatkov o stiku."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Izbrano"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Odstrani iz priljubljenih"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Fotografija"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Tel. št."
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Fonetično ime"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Fonetično sred. ime"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Fonetični priimek"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Fonetično ime"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Druge e-pošte"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Ni rezultatov iskanja"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Ni skupin"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Zapiski"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Vzdevek"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Pripona imena"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Predpona imena"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Ime"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Moji stiki"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Srednje ime"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Priimek"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Službeni naziv"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Uvozi iz kartice SIM"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Uvozi iz kartice SIM2"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Uvažam ..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Slika"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Če je vaš ponudnik storitev na kartico SIM vnaprej naložil številke storitev, bodo prikazane tukaj."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Ime"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Faks"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Izvozi na kartico SIM"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Izvozi na kartico SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Izvozi na kartico SD"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-pošta"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Zavrzi spremembe"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Prijatelji"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Družina"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Sodelavci"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Stiki, prepoznani kot podvojeni, bodo samodejno predlagani."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Imenik"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Podjetje"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Gumb za razširitev seznama"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Samodejna priporočila lahko napravijo povzetek iz zvočnih datotek."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ko ustvarite stike, bodo prikazani tukaj."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ko dodate stike, bodo prikazani tukaj."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Dodaj med priljubljene"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Naslov"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Računi"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN je blokiran."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Napačna koda PUK2."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Napačna koda PIN1."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Dodajte obstoječi stik"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Ni prednostnih stikov"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Prednostni stiki"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Ustvarite prednostni stik"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Dodajte prednostne stike"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Nastavi datum"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Novi PIN in potrditveni PIN se ne ujemata."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ko ustvarite prednostne stike, bodo prikazani tukaj."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Ni mogoče izbr. več elementov"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Vstavite kartico SIM."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Ponudnik storitev stika, ki ga kličete, je %1$s. Pritisnite V redu, če želite klicati s kartico SIM %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Uporabite kartico SIM %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Trenutna SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Javni telefon"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Neveljaven znak."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Odhodni klic"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Dohodni klic"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Prikazanih je samo prvih %d stikov."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Moj profil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Pritisnite tukaj, da dodate bližnjico"
+
diff --git a/main-app/res/po/sr.po b/main-app/res/po/sr.po
new file mode 100644
index 0000000..6f60f2b
--- /dev/null
+++ b/main-app/res/po/sr.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Birani brojevi"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Zadnji poziv"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Primljeni pozivi"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Izaberi dnevnike"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Prikaži po"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Kuća 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Premeštanje završeno."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Premeštanje"
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 potvrđen."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 potvrđen."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN kod deblokiran."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 kod deblokiran."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 kod promenjen."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 kod blokiran."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 kod promenjen."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 kod blokiran."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Pogrešan PIN2 kod."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Novi PIN2 kod i PIN2 kod za potvrdu se ne slažu"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Neispravan PUK1 kod."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Neispravan PUK1 kod. %d pokušaja preostalo."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Neispravan PUK2 kod. %d pokušaja preostalo."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN kod promenjen."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Kontakti"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Dodaj nalog"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Dostignut maksimalan broj karaktera."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Skeniranje uređaja..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Neispravan PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "OTKAŽI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "IZBRIŠI"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Problem pri povezivanju ili neispravan MMI kod."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Privatni broj"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "POŠALJI"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 kod blokiran. Kontaktiraj provajdera (neophodno imati PUK2 za SIM)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Nema dnevnika"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Nakon što uputiš/primiš poziv ili pošalješ/primiš poruku, prikazaće se dnevnici."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM kartica zauzeta. Pokušaj kasnije"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM kartica zaključana."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Nema SIM kartice. Ubaci SIM karticu u telefon."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Greška mreže ili SIM kartice."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Eho vibracije je omogućen."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Eho vibracije je onemogućen."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Nije moguće pozvati broj. %d nije broj za hitne pozive."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Broj za brzo biranje %d je uklonjen."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Broj za brzo biranje je dodeljen."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Unesi broj."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Tvoj PIN mora da ima između %1$d i %2$d cifara. Pokušaj ponovo."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Tvoj PIN2 mora da ima od %1$d do %2$d cifara. Pokušaj ponovo."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Nema kontakta koji je dodeljen ovom broju za brzo biranje. Kucni na OK da bi odmah dodelio/la jedan."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN je onemogućen. Omogući PIN pre promene."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Gov. poš."
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Ažurir. kontakt"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Podeš. brz. biranja"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Ukloni"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Kreiraj kontakt"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Podešavanja poziva"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Dodaj one na čekanju"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Dodaj pauzu od 2 s"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Tastatura"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Nemoguće povezivanje na mrežu"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Izaberi SIM karticu za poziv"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Rezultati pretrage (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Pozivi u hit. slučajevima"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Dodeli kao br. za brzo biranje"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Podesi broj"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Pošalji por."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Otkaži"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Dodaj u kontakte"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Lozinke se ne slažu."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN kod blokiran. Unesi PUK kod."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM kartica blokirana."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Nije sačuvan"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Sačuvano"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Propušteni"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Neuspešno"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Otkazano"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Biće izbrisane/o %d stavke/i dnevnika."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Sve stavke dnevnika će se izbrisati."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "Biće izbrisana 1 stavka dnevnika."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Podaci o kontaktu"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Pošalji broj"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Propušteni pozivi"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Izbriši"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Trajanje poziva"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Propušteni pozivi"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Ne prikazuj ponovo"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Nepoznati broj"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Nepoznato"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Izaberi sve"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Dnevnici"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Juče"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Danas"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "Izabrano: %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Izbriši %d dnevnika"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Izbrisati stavke dnevnika"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Izbriši dnevnik"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Izbriši"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Ažurir. kontakt"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Izbriši"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Kreiraj kont."
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Otkaži"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Glasovni pozivi"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Video pozivi"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM kartica"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Svi pozivi"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Nakon što uputiš ili primiš pozive, oni će se evidentirati ovde."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što uputiš ili primiš pozive, stavke dnevnika će se prikazati ovde."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "IZMENI"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Unesi tekst"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Izgleda da su neki od tvojih kontakata duplikati."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "Uvezen je sledeći broj kontakata: %d."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kontakti su povezani."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "Jedan broj je uklonjen sa Liste za automatsko odbijanje."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "Jedan kontakt je uvezen."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Uslužni brojevi"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Naziv formata"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Poveži kontakte"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Kontakti za prikazivanje"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Podesi"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Kreiraj"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Dod.polja"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Uvoz kontakata..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Uvoz je otkazan"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Izvoz kontakata..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Izvoz je otkazan"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Kontakti su uvezeni"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Kontakti su izvezeni"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Svi kontakti"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Ne možeš da izbrišeš kontakte iz naloga samo za čitanje, već ih možeš sakriti u kontaktima."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Kada je Sinhronizacija omogućena, ovaj kontakt će biti izbrisan sa svih sinhronizovanih naloga na kojima je sačuvan."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Kada je Sinhronizacija omogućena, ovaj kontakt i svi njegovi povezani kontakti na drugim sinhronizovanim nalozima će biti izbrisani ili sakriveni ako informacije potiču sa naloga koji je samo za čitanje."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Kada je Sinhronizacija omogućena, ovaj kontakt i svi njihovi povezani kontakti na drugim sinhronizovanim nalozima će biti izbrisani."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Ažuriranje informacija o provajderu..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Nije moguće dodati kontakt. Dostignut je maksimalan broj kontakata (%d) koji se mogu povezati."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Nije moguće dodati kontakte. Dostignut je maksimalan broj kontakata (%d) koji se mogu povezati."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Ovaj kontakt će biti izbrisan."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Ovaj kontakt i svi njihovi povezani kontakti će biti izbrisani."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Prekoračen je maksimalan broj stavki koji može da se izabere (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Prekoračen je maksimalan broj kontakata (%1$d) koji mogu da se odjednom dele. Samo prvih %2$d kontakata će biti deljeno."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Funkcija Chamada Certa može da se koristi za identifikaciju provajdera tvojih kontakata i njihovo prikazivanje u listi kontakata. To možeš učiniti kasnije pritiskom na taster menija i odabirom opcije Ažuriraj informacije o provajderu. Kucni na OK da sada identifikuješ provajdera tvojih kontakata."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Kucni na OK da bi prekinuo/la uvoz kontakata sa SIM kartice."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Kucni na OK da bi prekinuo/la izvoz kontakata u %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Kucni na opciju Izvezi da bi izabrao/la kontakte koje želiš da izvezeš. Neke informacije o kontaktima se mogu izgubiti."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Neki od kontakata ili svi kontakti možda nisu ažurirani."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Neke informacije o kontaktu mogu nestati."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Memorija SIM kartice puna."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Uklanjanje..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d brojeva telefona je ažurirano."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "Biće obrisan/o %d kontakt/a."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "Izvezen je sledeći broj kontakata: %1$d na karticu %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "Izvezen je sledeći broj kontakata: %1$d u Uređaj/Kontakti/Uvezeni/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Nedovoljna memorija."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Novi kontakti će biti sačuvani u Kontaktima na uređaju."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Režim fiksnog biranja uključen."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Neuspešno."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Odbaciti promene?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Brisanje kontakata..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Brisanje kontakata je otkazano. Neki kontakti su možda već izbrisani."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Kontakti će prestati da se uvoze iz fajla %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Već postoji."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Biće izbrisani svi povezani kontakti."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Biće obrisani svi kontakti."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Sve promene će biti odbačene."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Dodavanje..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 broj telefona je ažuriran."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 kontakt će biti izbrisan."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 kontakt uklonjen."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Posao"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Glasovni poziv"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Video poziv"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Ažuriraj informacije o provajderu"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Prekini vezu sa kontaktom"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Prekini vezu sa kontaktima"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Slikaj"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Snimi fotografiju"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Supružnik"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Sestra"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM kartica"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Podeli putem"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Podeli"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Podešavanja"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Izaberi iz kontakata"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD kartica"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Sačuvaj kontakt u"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Preuredi"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Ukloni"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Rođak/a"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Veza"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Preporučen/a od strane"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Roditelj"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Pejdžer"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Ostalo"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organizacija"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Majka"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobilni"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Poruka"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Organizuj omiljene"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Menadžer"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Glavni"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Prvo ide prezime"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Prezime"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Početna strana"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Početna strana"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Iz galerije"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Prijatelj"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Prvo ide ime"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Ime"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Kontakt za fiksno biranje"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Faks (posao)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Faks (kuća)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Otac"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Izmeni"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Ne prikazuj ponovo"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Nevenčani supružnik"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Uređaj"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Prilagođeno"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Kreiraj"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Dete"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Brat"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Rođendan"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Pomoćni"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Godišnjica"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Dodaj polje"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Dodaj"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Nalog"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Pretraga"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Nema uslužnih brojeva"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Nema rezultata"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Nema kontakata za hitne slučajeve"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Nema kontakata"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sortiraj po"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Podesi profil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Podesi moj profil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Pošalji zajedno"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Pošalji pojedinačno"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Slanje informacija o kontaktima"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Izaberi sve"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d kontak(a)ta"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Samo kontakti sa tel."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Uvoz"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Izvoz"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Događaj"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Prikaži kontakte sa brojevima"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 kontakt"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kontakti"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB memorija nije dostupna"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Nemoguće dodati"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Nemoguće dodati"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Predloženi kontakti"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Podeli putem"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Postavi sliku kontakta"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Podešavanja"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Provajder usluga"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Slanje infor. o kontaktima"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Izaberi SIM karticu za poziv"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Izaberi SIM karticu za pozivanje"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Izaberi SIM karticu za poziv"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Izaberi kontakt"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Izaberi"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Sačuvaj kontakte u"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Preuredi"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Ukloni"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Primarni kontakti (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Primar. kontakti (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Lični kontakti"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "Izabrano: %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "Izabrano je %d"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Naziv formata"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Najčešći kontakti"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Ja"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Organizuj omiljene"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Lista kontakata"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Povezani kontakti"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Uvezi kontakte"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Uvoz"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Omiljeni"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Izvezi kontakte na SIM karticu"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Izvezi kontakte"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Izvoz"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Unesi prilagođenu oznaku"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Hitna služba"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Kont. za hit. sluč."
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Izmeni"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Prikaži imena po"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Ekran"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Odbaci promene"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Izbriši stavku"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Kreiraj"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Slika kontakta"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Kontakti za prikazivanje"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kontakti"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Kontakti su izvezeni"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Promeni lokaciju čuvanja"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Otkaži uvoz"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Otkaži izvoz"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Probaj opet"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Sačuvaj"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Beleške"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Još"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Izvezi"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-pošta"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Gotovo"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Odbaci"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Izbriši"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Kreiraj"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Promeni"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Otkaži"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Dodaj nalog"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Sajt"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Ažuriranje liste kontakata..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Nemoguće sačuvati usled greške SIM kartice."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Naslov"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Ovaj kontakt će biti obrisan."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Informacije o provajderu za izabrane kontakte biće ažurirane. Ova funkcija zahteva mrežnu vezu i može dovesti do dodatnih troškova. Vreme potrebno za završavanje ovog procesa zavisiće od statusa mrežne veze."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Inicijalizacija SIM kartice..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Uslužni broj"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Pojedinačno slanje vizitkarti može da traje duže jer uređaj koji ih prima mora da prihvati jednu po jednu vizitkartu."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Slanje određenog broja kontakata zajedno skraćuje vreme prenosa. Međutim, ako drugi uređaj ovo ne podržava, biće poslat samo jedan kontakt."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Izaberi način slanja informacija o kontaktima."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Označeno"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Ukloni iz omiljenih"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Fotografija"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Broj tel."
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Fonetsko ime"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Fonetsko srednje ime"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Fonetsko prezime"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Fonetsko ime"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Druge adrese e-pošte"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Nema rezultata pretrage"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Nema grupa"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Beleške"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Nadimak"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Sufiks imena"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Prefiks imena"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Ime"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Moji kontakti"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Srednje ime"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Prezime"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Radno mesto"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Uvezi sa SIM kartice"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Uvezi sa SIM2 kartice"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Uvoz..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Slika"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ako je tvoj provajder unapred učitao servisne brojeve na tvoju SIM karticu, oni će se prikazati ovde."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galerija"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Ime"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Faks"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Izvezi na SIM karticu"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Izvezi na SIM2 karticu"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Izvezi na SD karticu"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-pošta"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Odbaci izmene"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Prijatelji"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Porodica"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Kolege"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Kontakti koji su identifikovani kao duplikati automatski će biti predloženi."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Kontakti"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Kompanija"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Dugme za proširivanje liste"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatske preporuke mogu da prošire isticanja iz zvučnih fajlova."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što kreiraš kontakte, oni će se prikazati ovde."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što dodaš kontakte, oni će se prikazati ovde."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Dodaj u omiljene"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adresa"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Nalozi"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN kod blokiran."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Neispravan PUK2 kod."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Neispravan PIN1 kod."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Dodaj postojeći kontakt"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Nema primarnih kontakata"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Primarni kontakti"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Kreiraj primarni kontakt"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Dodaj primarne kontakte"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Podesi datum"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Novi PIN kod i PIN kod za potvrdu se ne slažu."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Nakon što kreiraš primarne kontakte, oni će se prikazati ovde."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Nemoguće izabrati više stavki"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Ubaci SIM karticu."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Provajder kontakta kojeg pozivaš je %1$s. Kucni na OK da ni se za upućivanje ovog poziva koristila %2$s SIM kartica."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Koristi %s SIM karticu"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Trenutni SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Govornica"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Neispravan karakter."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Odlazni poziv"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Dolazni poziv"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Samo prvih %d kontakata je prikazano."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Moj profil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Kucni ovde da bi dodao/la prečicu"
+
diff --git a/main-app/res/po/sv.po b/main-app/res/po/sv.po
new file mode 100644
index 0000000..67288f2
--- /dev/null
+++ b/main-app/res/po/sv.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Ringda samtal"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Sista samtal"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Mottagna samtal"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Välj loggar"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Vy"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Hemma 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Överföringen genomförd."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Flyttar..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 har verifierats."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 har verifierats."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN upplåst."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 upplåst."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 ändrad."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 låst."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1-koden har ändrats."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1-koden har blockerats."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Fel PIN2-kod."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Ny PIN2-kod och bekräftad PIN2-kod stämmer inte överens."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Felaktig PUK1-kod."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Felaktig PUK1. %d försök kvar."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Felaktig PUK2. %d försök kvar."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN ändrad."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Lägg till konto"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maximalt antal tecken har använts."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Söker igenom enhet..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Felaktig PIN-kod"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "KLAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "AVBRYT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "TA BORT"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Anslutningsproblem eller ogiltig MMI-kod."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Hemligt nummer"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "SKICKA"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 blockerad. Kontakta leverantören (PUK2-kod till SIM-kort krävs)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Inga loggar"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "När du har ringt/tagit emot ett samtal eller skickat/tagit emot ett meddelande visas loggarna."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM-kortet upptaget. Försök igen senare"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM-kortet är låst."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "Inget SIM-kort hittades. Sätt i ett SIM-kort i telefonen."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Nätverks- eller SIM-kortfel."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Vibrationsfeedback har aktiverats."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Vibrationsfeedback har inaktiverats."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Det går inte att ringa numret. %d är inget nödnummer."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Kortnummer %d har tagits bort."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Kortnummer har tilldelats."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Ange nummer."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "Din PIN-kod måste vara mellan %1$d och %2$d siffror lång. Försök igen."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "Din PIN2-kod måste vara mellan %1$d och %2$d siffror. Försök igen."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Det finns ingen kontakt som tilldelats till det här kortnumret. Tryck på OK för att tilldela ett nu."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN-koden har inaktiverats. Aktivera PIN-koden innan ändringar."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Röstbrevl"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Uppd. kontakt"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Kortnummerinställn."
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Ta bort"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Skapa kontakt"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Samtalsinställn."
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Lägg till väntetid"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Lägg till 2-sekund. paus"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Knappsats"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Kan inte ansluta till nät"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Välj SIM-kort för samtal"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Sökresultat (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Nödsamtal"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Tilldela som kortnummer"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Ange nummer"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Sänd medd."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Avbryt"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Lägg till i kontakter"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Lösenorden matchar inte."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "Blockerad PIN-kod. Ange PUK-kod."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM har blockerats."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Inte sparad"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Sparat"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Missat"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Misslyckades"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Avbruten"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d loggobjekt kommer att tas bort."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Alla loggobjekt kommer att tas bort."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 loggobjekt kommer att tas bort."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Visa kontaktinformation"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Skicka nummer"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Missade samtal"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Ta bort"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Samtalslängder"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Missade samtal"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Visa inte igen"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Okänt nummer"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Okänd"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Välj alla"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Loggar"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Igår"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Idag"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d valda"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Ta bort %d loggar"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Ta bort loggobjekt"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Ta bort logg"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Ta bort"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Uppd. kontakt"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Ta bort"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Skapa kontakt"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Avbryt"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Röstsamtal"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Videosamtal"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM-kort"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Alla samtal"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "När du har ringt eller tagit emot samtal loggas de här."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "När du har ringt eller tagit emot samtal visas loggposterna här."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "REDIGERA"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Ange text"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Vissa av dina kontakter verkar vara dubbletter."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d kontakter har importerats."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kontakter har länkats."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 nummer har tagits bort från listan för automatisk avvisning."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 kontakt har importerats."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Servicenummer"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Namnformat"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Länka kontakter"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Kontakter som ska visas"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Ange"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Skapa"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Lägg till fält"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Importerar kontakter ..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Importen avbröts"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Exporterar kontakter ..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Exporten avbröts"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Importerade kontakter"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Exporterade kontakter"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Alla kontakter"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Du kan inte ta bort kontakter från skrivskyddade konton men du kan dölja dem i kontakter."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "När Synkronisera aktiveras tas den här kontakten bort från alla synkroniserade konton där kontakten har sparats."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "När Synkronisera aktiveras tas den här kontakten och dess länkade kontakter i andra synkroniserade konton bort eller också döljs de om informationen kommer från ett skrivskyddat konto."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "När Synkronisera aktiveras tas den här kontakten och alla länkade kontakter i andra synkroniserade konton bort."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Uppdaterar information om tjänsteleverantör ..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Det går inte att lägga till kontakt. Högsta antalet kontakter som kan länkas (%d) har uppnåtts."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Det går inte att lägga till kontakter. Högsta antalet kontakter som kan länkas (%d) har uppnåtts."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Denna kontakt kommer att tas bort."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Den här kontakten och alla länkade kontakter tas bort."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Det högsta antalet objekt som kan väljas (%d) har överskridits."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Max antal kontakter som kan delas samtidigt (%1$d) har överskridits. Endast de %2$d första kommer att delas."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Funktionen Chamada Certa kan användas för att identifiera kontaktens tjänsteleverantör och visa dem i din kontaktlista. Du kan göra detta senare genom att trycka på menyknappen och välja Uppdatera information om tjänsteleverantören. Tryck på OK för att identifiera din kontakts tjänsteleverantör nu."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Tryck på OK om du vill stoppa importen av kontakter från SIM-kortet."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Tryck på OK om du vill stoppa exporten av kontakter till %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Tryck på Exportera om du vill välja vilka kontakter som ska exporteras. Viss kontaktinformation kan gå förlorad."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Vissa eller alla kontakter har eventuellt inte uppdaterats."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Viss kontaktinformation kan förloras."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM-minnet fullt."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Tar bort..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d telefonnummer har uppdaterats."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d kontakter kommer att raderas."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d kontakter har exporterats till %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d kontakter har exporterats till Enhet/Kontakter/Importerad/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Minnet fullt."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Nya kontakter sparas i Kontakter på enheten."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN-läge aktiverat."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Misslyckades."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Ta bort ändringar?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Raderar kontakter..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Borttagning av kontakter avbröts. Vissa kontakter kan redan ha tagits bort."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Kontakter slutar importeras från %s."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Finns redan."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Alla länkade kontakter tas bort."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Alla kontakter kommer att raderas."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Alla ändringar kommer att ignoreras."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Lägger till..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 telefonnummer har uppdaterats."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 kontakt kommer att raderas."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 kontakt har tagits bort."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Arbete"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Röstsamtal"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Videosamtal"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Uppdatera information om tjänsteleverantören"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Ta bort länk för kontakt"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Ta bort länk för kontakter"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Ta foto"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Ta ett foto"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Make/maka"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Syster"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM-kort"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Dela via"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Dela"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Inställningar"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Välj från kontakter"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD-kort"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Spara kontakt i"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Ändra ordning"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Ta bort"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Släkting"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Relation"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Refererad av"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Partner"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Förälder"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Personsökare"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Annat"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organisation"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Mamma"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Meddelande"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Hantera favoriter"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Chef"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Huvud"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Efternamn först"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Efternamn"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Hem"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Hem"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Från Galleri"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Vän"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Förnamn först"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Förnamn"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN-kontakt"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Fax (arbete)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Fax (hem)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Pappa"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Redigera"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Visa inte igen"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Sambo"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Enhet"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Egen"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Skapa"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Barn"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Bror"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Födelsedag"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Assistent"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Årsdag"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Lägg till fält"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Lägg till"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Konto"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Sök"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Inga tjänstnummer"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Inga resultat hittades"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Inga nödkontakter"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Inga kontakter"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sortera efter"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Ange profil"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Ställ in min profil"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Skicka tillsammans"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Skicka individuellt"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Skicka kontaktinformation"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Välj alla"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d kontakter"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "End. kontakter m. telef."
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Importera"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Exportera"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Händelse"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Visa kontakter med nummer"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 kontakt"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB-lagringen är ej tillgänglig"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Kan inte lägga till"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Det går inte att lägga till"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Föreslagna kontakter"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Dela via"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Ange kontaktbild"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Inställningar"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Tjänsteleverantör"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Skicka kontaktinformation"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Välj SIM för samtal"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Välj SIM-kort att ringa upp med"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Välj SIM-kort för samtal"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Välj kontakt"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Välj"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Spara kontakter i"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Ordna om"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Ta bort"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Primära kontakter (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Prim. kontakter (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Privata kontakter"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d valda"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d valda"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Namnformat"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Oftast använda kontakter"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Mig"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Hantera favoriter"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Kontaktlista"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Länkade kontakter"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Importera kontakter"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Importera"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favoriter"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Exp. kontakter till SIM-kort"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Exportera kontakter"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Exportera"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Ange anpassad etikett"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Nödtjänster"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Nödkontakter"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Redigera"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Visa namn efter"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Visning"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Ignorera ändringar"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Ta bort objekt"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Skapa"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Bild på kontakt"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Kontakter som ska visas"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kontakter"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Exporterade kontakter"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Ändra lagringsplats"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Avbryt import"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Avbryt export"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Försök igen"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Spara"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Anteckn."
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Mer"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Exportera"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-post"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Klar"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Ignorera"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Ta bort"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Skapa"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Ändra"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Avbryt"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Lägg t konto"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Webbplats"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Uppdaterar kontaktlista..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Kan inte spara p.g.a. SIM-kortsfel."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Titel"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Denna kontakt kommer att raderas."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Informationen om tjänsteleverantören för vald kontakt kommer att uppdateras. Den här funktionen kräver en nätverksanslutning och kan medföra extra avgifter. Hur lång tid det tar att slutföra åtgärden beror på nätverksanslutningens status."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Initierar SIM-kort..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Tjänstnummer"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Det kan ta lång tid att överföra kontakter en och en eftersom de måste accepteras enskilt på den andra enheten"
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Du kan minska överföringstiden genom att sända flera kontakter samtidigt. Men om den andra enheten inte stöder detta skickas endast en kontakt."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Välj hur du ska skicka kontaktinformation."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Markerade"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Ta bort från Favoriter"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Foto"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Tel.nummer"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Fonetiskt namn"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Fonetiskt mellannamn"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Fonetiskt efternamn"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Fonetiskt förnamn"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Övrig e-post"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Inget sökresultat"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Inga grupper"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Anteckningar"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Smeknamn"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Namnsuffix"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Namnprefix"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Namn"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Mina kontakter"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Mellannamn"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Efternamn"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Befattning"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Importera från SIM-kort"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Importera från SIM2-kort"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Importerar..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Bild"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "Chatt"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Om din operatör har förinstallerat servicenummer på SIM-kortet visas de här."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galleri"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Förnamn"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Fax"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Exportera till SIM-kort"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Exportera till SIM2-kort"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Exportera till SD-kort"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-post"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Kassera ändringar"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Vänner"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Familj"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Datum"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Kollegor"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Kontakter som har identifierats som dubbletter kommer att föreslås automatiskt."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Företag"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Knapp för att utöka listan"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Automatiska rekommendationer kan extrahera höjdpunkter från ljudfiler."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "När du har skapat kontakter visas de här."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "När du har lagt till kontakter visas de här."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Lägg till i Favoriter"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adress"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Konton"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN låst."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Fel PUK2-kod."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Felaktig PIN1-kod."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Lägg till befintlig kontakt"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Det finns inga primära kontakter"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Primära kontakter"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Skapa primär nödkontakt"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Lägg till primära kontakter"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Ställ in datum"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Ny PIN-kod och bekräftad PIN-kod stämmer inte överens."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "När du har skapat primära kontakter visas de här."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Kan inte välja fler objekt"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Sätt i SIM-kortet."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Kontakten som du ringer använder operatören %1$s. Tryck på OK om du vill ringa samtalet med ditt SIM-kort från %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Använd SIM-kort från %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Aktuellt SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Betaltelefon"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Ogiltigt tecken."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Utgående samtal"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Inkommande samtal"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Endast de %d första kontakterna visas."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Min profil"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Tryck här om du vill lägga till en genväg"
+
diff --git a/main-app/res/po/tr_TR.po b/main-app/res/po/tr_TR.po
new file mode 100644
index 0000000..4d910bb
--- /dev/null
+++ b/main-app/res/po/tr_TR.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Yapılan aramalar"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Son arama"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Gelen aramalar"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Kayıtları seç"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Göster"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Ev 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Taşıma tamamlandı."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Taşıyor..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 doğrulandı."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 doğrulandı."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN kilidi kaldırıldı."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 kilidi kaldırıldı."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 kodu değişti."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 kilitlendi."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 kodu değişti."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 kodu bloke oldu."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2 yanlış."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Yeni PIN2 ve onaylanan PIN2 eşleşmiyor"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "PUK1 kodu yanlış."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Hatalı PUK1. %d deneme hakkı kaldı."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Hatalı PUK2. %d deneme hakkı kaldı."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN kodu değişti."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Rehber"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Hesap ekle"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Maksimum karakter sayısına ulaşıldı."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Cihazlar taranıyor..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Yanlış PIN"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "BİTTİ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "İPTAL"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "SİL"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Bağlantı sorunlu veya MMI kodu geçersiz."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Özel numara"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "GÖNDER"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 bloke oldu. Sağlayıcıyla iletişim kurun (SIM PUK2 gerekli)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Kayıt yok"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Bir arama yapar/alırsanız veya mesaj gönderir/alırsanız, kayıtlar gösterilir."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM kart meşgul. Dana sonra deneyin"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM kartı kilitli."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIM kart bulunamadı. Lütfen telefona bir SIM kart takın."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Ağ veya SIM kart hatası var."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Titreşimli geri bildirim etkin."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Titreşimli geri bildirim devre dışı."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Numara aranamıyor. %d acil durum numarası değil."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Hızlı arama numarası %d kaldırıldı."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Hızlı arama numarası atandı."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Numara girin."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "PIN %1$d ila %2$d karakter uzunluğunda olmalıdır. Tekrar deneyin."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2 kodunuz %1$d ila %2$d haneli olmalıdır. Tekrar deneyin."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Bu hızlı arama numarasına atanmış kişi yok. Şimdi atamak için Tamam öğesine dokunun."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN devre dışı bırakıldı. Değiştirmeden önce PIN kodunu etkinleştirin."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Sesli msj"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Kişiyi güncelle"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Hzlı arama ayarları"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Kaldır"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Kişi oluştur"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Arama ayarları"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Bekleme ekle"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "2 saniyelik duraklama ekle"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Tuş takımı"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Ağa bağlanılamadı"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Arama için SIM kart seçin"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Arama sonuçları (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Acil arama"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Hızlı arama numarsı olarak ata"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Numara belirle"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Mesaj gönder"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "İptal"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Kişilere ekle"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Şifreler uyuşmuyor."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN bloke oldu. PUK kodunu girin."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM bloke edildi."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Kaydedilmemiş"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Kaydedildi"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Cevapsız"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Başarısız"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "İptal edildi"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d günlük öğesi silinecek."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Tüm günlük öğeleri silinecek."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 günlük öğesi silinecek."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Kişi ayrıntılarını görüntüle"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Numarayı gönder"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Cevapsız arama"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Sil"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Arama süreleri"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Cevapsız aramalar"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Tekrar gösterme"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Bilinmyn numara"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Bilinmeyen"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Tümünü seç"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Arama kaydı"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Dün"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Bugün"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seçildi"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "%d kaydı sil"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Kayıt öğelerini sil"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Kaydı sil"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Sil"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Kişiyi güncelle"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Sil"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Kişi oluştur"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "İptal et"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Sesli aramalar"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Görüntülü aramalar"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM kartı"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Tüm aramalar"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Yaptığınız veya aldığınız aramaların kaydı burada tutulur."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Arama yaptığınızda ya da aldığınızda kayıt öğeleri burada gösterilecektir."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "DÜZENLE"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Giriş metni"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Kişilerinizden bazılarının yinelendiği belirlendi."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d kişi içe aktarıldı."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kişiler bağlandı."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 numara Otomatik reddetme listesinden kaldırıldı."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 kişi içe aktarıldı."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Servis numaraları"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "İsim biçimi"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Kişileri bağla"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Görüntülenecek kişiler"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Ayarla"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Oluştur"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Alan ekle"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Kişiler içe aktarılıyr..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "İçe aktarma iptal edildi"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Kişiler dışa aktarılyr..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Dışa aktarma iptal edildi"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Kişiler içe aktarıldı"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Kişiler dışa aktarıldı"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Tüm kişiler"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Salt okunur hesaplardan kişileri silemezsiniz fakat kişilerinizde gizleyebilirsiniz."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Eşitleme etkinleştirildiğinde, bu kişi kaydedildiği tüm eşitlenmiş hesaplardan silinecek."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Eşitleme etkinleştirildiğinde, bu kişi ve eşitlenen diğer hesaplardaki tüm bağlı kişileri silinir veya bilgiler salt okunur bir hesaptansa gizlenir."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Eşitleme etkinleştirildiğinde, bu kişi ve eşitlenen diğer hesaplardaki tüm bağlı kişileri silinecek."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Hizmet sağlayıcı bilgisi güncelleniyor..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kişi eklenemiyor. Maksimum bağlanılabilir kişi (%d) sayısına ulaşıldı."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kişiler eklenemiyor. Maksimum bağlanılabilir kişi (%d) sayısına ulaşıldı."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Bu kişi silinecek."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Bu kişi ve tüm bağlantılı kişileri silinecek."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Seçilebilecek maksimum öğe sayısı (%d) aşıldı."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Tek seferde paylaşılabilecek maksimum kişi sayısı (%1$d) aşıldı. Yalnızca ilk %2$d kişi paylaşılacak."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa özelliği kişilerinizin servis sağlayıcılarını tanımlamak ve kişi listenizde görüntülemek için kullanılabilir. Bunu daha sonra menü tuşuna basmak ve Servis sağlayıcısı bilgisini güncelle'yi seçerek yapabilirsiniz. Kişilerinizin servis sağlayıcılarını tanımlamak için Tamam'a dokunun."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Kişilerin SIM karttan içe aktarılmasını durdurmak için Tamam öğesine dokunun."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Kişilerin %s hedefine aktarılmasını durdurmak için Tamam öğesine dokunun."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Dışa aktarılacak kişileri seçmek için Dışa aktar öğesine dokunun. Bazı kişi bilgileri kaybolabilir."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Bazı veya tüm kişiler güncellenmemiş olabilir"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Bazı kişi bilgileri kaybolabilir."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM\nbelleği dolu."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Çıkartılıyor..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d telefon numarası güncellendi"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d kişi silinecek."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d kişi, %2$s konumuna aktarıldı."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d kişi, Cihaz/Kişiler/Dışa Aktarılan/%2$s.vcf dizinine aktarıldı."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Yeterli hafıza yok."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Yeni kişiler, cihazınızdaki Kişiler bölümüne kaydedilecek."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN modu etkinleştirildi."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Başarısız oldu."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Değişiklikler iptal edilsin mi?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Kişiler siliniyor..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Kişileri silme iptal edildi. Bazı kişiler zaten silinmiş olabilir."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Kişilerin %s konumundan içe aktarılması durdurulur."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Zaten var."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Tüm bağlantılı kişiler silinecek."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Tüm kişiler silinecek."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Tüm değişiklikler iptal edilecek."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Ekleniyor..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 telefon numarası güncellendi"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 kişi silinecek."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 kişi çıkarıldı."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "İş"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Sesli arama"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Video arama"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Servis sağlayıcı bilgisini güncelle"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Kişinin bağlantısını kes"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Kişilerin bağlantısını kes"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Resim çek"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Fotoğraf çek"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Eşi"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Kız kardeş"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM kartı"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Paylaşma şekli"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Paylaş"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Ayarlar"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Kişilerden seç"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD kart"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Kişinin kaydedileceği yer"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Yeniden düzenle"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Kaldır"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Akraba"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "İlişki"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Öneren"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Ortak"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Ebeveyn"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Çağrı cihazı"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Diğer"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Organizasyon"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Anne"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Cep Telefonu"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Mesaj"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Favorileri yönet"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Yönetici"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Ana"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Önce soyisim"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Soyad"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Ev"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Anasayfa"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Galeriden"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Arkadaş"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Önce isim"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Ad"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN kişisi"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Faks (iş)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Faks (ev)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Baba"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Düzenle"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Tekrar gösterme"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Hayat arkadaşı"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Cihaz"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Özel"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Oluştur"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Çocuk"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Erkek kardeş"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Doğum günü"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Asistan"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Yıldönümü"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Alan ekle"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Ekle"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Hesap"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Ara"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Servis numarası yok"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Sonuç bulunamadı"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Acil durum kişisi yok"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Kişi yok"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Sıralama ölçütü"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Profil ayarla"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Profilimi ayarla"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Birlikte gönder"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Ayrı ayrı gönder"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Kişi bilgilerini gönder"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Tümünü seç"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d kişi"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Sadece telefonu olan kşlr"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "İçe aktar"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Dışa aktar"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Etkinlik"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Kişileri numaralarla görüntüle"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 kişi"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kişiler"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB bellek kullanılamıyor"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Eklenemiyor"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Eklenemiyor"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Önerilen kişiler"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Paylaşma şekli"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Kişi resmini ayarla"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Ayarlar"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Hizmet sağlayıcı"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Kişi bilgilerini gönder"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Arama için SIM seç"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Aramak için SIM kart seçin"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Arama için SIM kart seçin"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Kişi seç"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Seç"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Kişileri şuraya kaydet"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Yeniden sırala"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Kaldır"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Birincil kişiler (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Birincl kişilr (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Özel kişiler"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d seçildi"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d seçildi"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "İsim biçimi"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "En sık görüşülen kişiler"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Ben"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Favorileri yönet"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Kişi listesi"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Bağlantılı kişiler"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Kişileri içe aktar"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "İçeri aktar"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Favorilerim"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Kişileri SIM karta dışa aktar"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Kişileri dışa aktarma"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Dışarı ver"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Özel etiket gir"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Acil durum servisleri"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Acil durum kişileri"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Düzenle"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Adları görüntüleme kriteri"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Ekran"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Değişiklikleri iptal et"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Öğeyi sil"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Oluştur"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Kişi resmi"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Görüntülenecek kişiler"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kişiler"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Kişiler dışa aktarıldı"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Kayıt konumunu değiştir"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "İçe aktarmayı iptal et"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Dışa aktarmayı iptal et"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Tekrar dene"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Kaydet"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "Tamam"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Notlar"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Daha fazla"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Dışarı ver"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-posta"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Bitti"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Sil"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Sil"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Oluştur"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Değiştir"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "İptal"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Hesap ekle"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Web sitesi"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Kişi listesi güncelleniyor..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "SIM hatası nedeniyle kaydedilemiyor."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Başlık"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Bu kişi silinecek:."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Seçili kişilerin servis sağlayıcı bilgileri güncellenecek. Bu özellik ağ bağlantısı gerektirir ve ek ücretlere neden olabilir. İşlemin tamamlanması için gerekli süre ağ bağlantısı durumuna bağlı olacaktır."
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM kart başlatılıyor..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Servis numarası"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Kartvizitlerin birer birer gönderilmesi daha uzun sürebilir çünkü kartvizitleri alan cihazın her birini teker teker kabul etmesi gerekir."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Çok sayıda kişiyi birlikte göndermek, iletim süresini azaltır. Ancak diğer cihazın bu durumu desteklememesi halinde yalnızca tek bir kişi gönderilir."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Kişi bilgilerinin nasıl gönderileceğini seçin."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Seçili"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Favorilerden kaldır"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Fotoğraf"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Telefon no"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Fonetik isim"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Fonetik ikinci isim"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Fonetik soyisim"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Fonetik ad"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Diğer e-postalar"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Arama sonucu yok"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Hiç grup yok"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Notlar"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Takma isim"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "İsim soneki"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Ad öneki"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "İsim"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Kişilerim"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "İkinci isim"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Soyisim"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Unvan"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "SIM kartından al"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "SIM2 kartından al"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Dışarıdan alınıyor..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Görüntü"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "SIM kartınızda servis sağlayıcınızın önceden yüklenmiş servis numaraları varsa burada gösterilir."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galeri"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "İsim"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Faks"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "SIM karta aktar"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "SIM2 karta aktar"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "SD karta çıkar"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-posta"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Değişiklikleri at"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Arkadaşlar"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Aile"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Tarih"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Meslektaşlar"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Yinelendiği belirlenen kişiler otomatik olarak önerilir."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Kişiler"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Şirket"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Listeyi genişletme düğmesi"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Otomatik öneriler ses dosyalarındaki vurguları ortaya çıkarabilir."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kişileri oluşturduğunuzda burada gösterilirler."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Eklediğiniz kişiler burada gösterilir."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Favorilere ekle"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Adres"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Hesaplar"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN bloke edildi."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 yanlış."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "PIN1 kodu yanlış."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Mevcut kişi ekle"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Birincil kişi yok"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Birincil kişiler"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Birincil kişi oluştur"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Birincil kişileri ekle"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Tarihi ayarla"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Yeni PIN ve onaylama PIN numarası eşleşmiyor."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Oluşturduğunuz birincil kişiler burada gösterilir."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Daha fazla öğe seçilemiyor"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "SIM kartı takın."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Aradığınız kişinin servis sağlayıcısı: %1$s. Bu aramayı %2$s SIM kartınızı kullanarak yapmak için Tamam öğesine dokunun."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "%s SIM kartı kullan"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Geçerli SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Ankesörlü telefon"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Karakter geçersiz."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Yapılan arama"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Gelen arama"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Sadece ilk %d kişi görüntülendi."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Profilim"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Kısayol eklemek için buraya dokunun"
+
diff --git a/main-app/res/po/uk.po b/main-app/res/po/uk.po
new file mode 100644
index 0000000..9be2779
--- /dev/null
+++ b/main-app/res/po/uk.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Вихідні виклики"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Останній виклик"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Вхідні виклики"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Вибір журналів"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Вигляд"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Домашній 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Переміщення завершено."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Переміщення..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 перевірено."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 перевірено."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN розблоковано."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 розблоковано."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 змінено."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 заблоковано."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "Код PIN1 змінено."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "Код PIN1 заблоковано."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Хибний PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Новий PIN2-код і PIN2-код для підтвердження не збігаються"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Хибний код PUK1."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Хибний PUK1. Залишилося %d спроб."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Хибний PUK2. Залишилося %d спроб."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN-код змінено."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Контакти"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Додати обліковий запис"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Досягнуто максимальної кількості символів."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Сканування пристроїв..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Хибний PIN-код"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "СКАСУВАТИ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "ВИДАЛИТИ"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Проблема з’єднання, або хибний код MMI."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Приватний номер"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "НАДІСЛАТИ"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 заблоковано. Зверніться до оператора (потрібен код PUK2)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Записи відсутні"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Щоразу після здійснення/отримання виклику або надсилання/отримання повідомлення відображається вікно журналу."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM-картка зайнята. Спробуйте пізніше"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM-картку заблоковано."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIM-карту не знайдено. Вставте SIM-карту в телефон."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Помилка мережі або SIM-картки."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Вібраційний зворотний зв’язок увімкнено."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Вібраційний зворотний зв’язок вимкнено."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Неможливо здійснити виклик за набраним номером. %d не є номером екстреного виклику."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "Номер швидкого набору %d видалено."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Номер швидкого набору призначено."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Введення номера."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "PIN-код має містити від %1$d до %2$d цифр. Cпробуйте ще раз."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2 має містити від %1$d до %2$d цифр. Cпробуйте ще раз."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Номер швидкого набору не призначено жодному контакту. Торкніться «OK», щоб призначити його."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN вимкнено. Увімкніть PIN перед зміненням."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Гол.пошта"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Оновити контакт"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Налашт. швид. набору"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Видалити"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Створ. контакт"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Налаштув. викликів"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Додати паузу"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "Додати 2-секунду паузу"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Клавіатура"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Неможл. підключитися до мережі"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Вибір SIM-карти для виклику"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Результати пошуку (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Екстрений виклик"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Признач. як номер швид. набору"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Установ. номер"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Надісл. пов."
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Скасувати"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Додати до контактів"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Пароль не співпадає."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN заблоковано. Введіть PUK."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM-картку заблоковано."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Незбережені"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Збережені"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "Пропущені"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Збій"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Скасовано"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d об’єктів журналу буде видалено."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Усі об’єкти журналу буде видалено."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 об’єкт журналу буде видалено."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Переглянути контактні дані"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Надіслати номер"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "Пропущені виклики"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Видалити"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Тривалість викликів"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "Пропущені виклики"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Більше не показувати"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Невідомий номер"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Невідомо"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Вибрати всі"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Журнали"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Вчора"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Сьогодні"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "Вибрано: %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "Видалення журналів: %d"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Видалити об’єкти журналу"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Видалення журналу"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Видалити"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Оновити контакт"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Видалити"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Новий контакт"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Скасувати"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Голосові виклики"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Відеовиклики"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM-картка"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Всі виклики"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Після здійснення або отримання викликів їх буде записано до цього журналу."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Після здійснення або отримання викликів об’єкти журналу буде відображено тут."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "ЗМІНИТИ"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Введіть текст"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Деякі з ваших контактів повторюються."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "Імпортовано контактів: %d."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Зв’язані контакти."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 номер видалено зі списку автовідхилення."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "Імпортовано 1 контакт."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Сервісні номери"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Формат відображення ім’я"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Зв’язати контакти"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Контакти для відображення"
+
+msgid "IDS_PB_SK_SET"
+msgstr "Установити"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Створити"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Додати поля"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Імпорт контактів..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Імпорт скасовано"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Експорт контактів..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Експорт скасовано"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Контакти імпортовано"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Контакти експортовано"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Усі контакти"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Не можна видалити контакти з облікових записів лише для читання, але їх можна приховати у списку контактів."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "У разі ввімкнення синхронізації цей контакт буде видалено з усіх синхронізованих облікових записів, у яких його збережено."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "У разі ввімкнення синхронізації цей контакт та всі зв’язані з ним контакти в інших синхронізованих облікових записах буде видалено або приховано, якщо інформацію отримано з облікового запису, що має право лише на читання."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "У разі ввімкнення синхронізації цей контакт і всі зв’язані з ним контакти в інших синхронізованих облікових записах буде видалено."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Оновлення відомостей оператора зв’язку..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Неможливо додати контакт. Досягнуто максимальної кількості контактів, які можна зв’язати (%d)."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Неможливо додати контакти. Досягнуто максимальної кількості контактів, які можна зв’язати (%d)."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Цей контакт буде видалено."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Цей контакт і всі зв’язані з ним контакти буде видалено."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Перевищено максимальну кількість об’єктів, які можна вибрати (%d)."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Перевищено максимальну кількість контактів, до яких можна одночасно надати спільний доступ (%1$d). Спільний доступ буде надано лише до перших %2$d."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Функцію Chamada Certa можна використати для визначення операторів зв’язку контактів та їх відображення у списку контактів. Це також можна зробити пізніше, натиснувши клавішу меню та вибравши пункт «Оновити відомості про оператора зв’язку». Натисніть «OK», щоб визначити операторів зв’язку контактів зараз"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "Натисніть «OK», щоб зупинити імпорт контактів із SIM-карти."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Торкніться «OK», щоб зупинити експорт контактів на %s."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Торкніться опції «Експорт» для вибору контактів, які потрібно експортувати. Деякі контактні дані можуть бути втрачені."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Можливо, деякі або всі контакти не оновлено."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Деякі контактні дані можуть бути втрачені."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "Пам'ять SIM заповнено."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Видалення..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d номерів телефону оновлено."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d контактів буде видалено."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d контактів експортовано до %2$s."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d контактів експортовано до Device/Contacts/Imported/%2$s.vcf."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Недостатньо пам'яті."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Нові контакти буде збережено у розділі «Контакти» на пристрої."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "Режим FDN активовано."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Збій."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "Скасувати зміни?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Видалення контактів..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Видалення контактів скасовано. Можливо, деякі контакти вже видалено."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Імпорт контактів з %s буде зупинено."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Вже існує."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Усі зв’язані контакти буде видалено."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Усі контакти буде видалено."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Усі зміни буде скасовано."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Додавання..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "Оновлено 1 номер телефону."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 контакт буде видалено."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 контакт видалено."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Робота"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Голосовий виклик"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Відеовиклик"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Оновіть відомості про оператора зв’язку"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Скас. зв’язок контактів"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Скасувати зв’язування контактів"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Зробити знімок"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Зробити фото"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Подружжя"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Сестра"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM-картка"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Надіслати через"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Поділитися"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Налаштування"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Вибрати з контактів"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD-карта"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Зберегти контакт до"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Упорядкувати"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Видалити"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Родич"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Відносини"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Має відношення до"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Партнер"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Батьки"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Пейджер"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Інша"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Організація"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Мати"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Мобільний"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Повідом."
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Керування обраним"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Керівник"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Основна"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Спочатку прізвище"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Прізвище"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Домашній"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Домашня сторінка"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "З галереї"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Друг"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Спочатку ім’я"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Ім'я"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "Контакт FDN"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Факс (робочий)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Факс (домашній)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Батько"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Редагувати"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Більше не показувати"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Локальний партнер"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Пристрій"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Свій список"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Створити"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Дитина"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Брат"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "День народження"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Помічник"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Річниця"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Додати поле"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Додати"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Обліковий запис"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Пошук"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Немає сервісних номерів"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Результів не знайдено"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Немає екстрених контактів"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Немає контактів"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Сортувати за"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Установити профіль"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Мої контактні дані"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Надіслати всі разом"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Надіслати по одному"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Надіслати контактні дані"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Вибрати всі"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "Контактів: %d"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Лише з номерами"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Імпорт"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Експорт"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Подія"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Відображати контакти з номерами"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 контакт"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Контакти"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "Внутрішня пам’ять недоступна"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Неможливо додати"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Неможливо додати"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Запропоновані контакти"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Надіслати через"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Установка фотографії контакту"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Налаштування"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Постачальник послуг"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Надіслати контактні дані"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Вибрати SIM-карту для здійснення виклику"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Виберіть SIM-карту для здійснення виклику"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Вибір SIM-карти для виклику"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Вибір контакту"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Вибрати"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Збереження контактів на"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Упорядкування"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Видалити"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Основні контакти (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Основ.контакти (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Телефон"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Особисті контакти"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "Вибрано: %d"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "Вибрано: %d"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Формат відображення ім’я"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Найчастіше використовувані контакти"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Я"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Керування улюбленими"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Список контактів"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Зв’язані контакти"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Імпорт контактів"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Імпорт"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Улюблені"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Експорт контактів на SIM-карту"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Експорт контактів"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Експорт"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Введення власного надпису"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Екстрені служби"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Екстрені контакти"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Ред."
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Відображення імен за"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Відображення"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "Скасувати внесені зміни"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Видалити об’єкт"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Створити"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Зображення контакту"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Контакти для відображення"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Контакти"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Контакти експортовано"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Змінення місця збереження"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Скасування імпорту"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Скасування експорту"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Спробуйте ще раз"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Зберегти"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Телефон"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Примітки"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Додатково"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Експортувати"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "Email"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Готово"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Відхилити"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Видалити"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Створити"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "Змінити"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Скасувати"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "Дод.обл.зап."
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Веб-сайт"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Оновлення списку контактів..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "Неможливо зберегти через помилку SIM."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Назва"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Цей контакт буде видалено."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Відомості про операторів зв'язку вибраних контактів буде оновлено. Для використання цієї функції потрібне підключення до мережі, що може призвести до додаткових витрат. Кількість часу на завершення процесу буде залежати від стану підключення до мережі"
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Телефон"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "Ініціалізація SIM-картки..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Сервісний номер"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Надсилання візитівок по одній може тривати довше, оскільки пристрій-приймач має приймати їх відповідно."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "У разі передавання одночасно декількох контактів час передачі зменшується. Однак, якщо ця функція не підтримується на іншому пристрої, буде надіслано лише один контакт."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Виберіть спосіб надсилання контактних даних."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Вибране"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Видалити з улюблених"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Фото"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Номер телефону"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Фонетичне ім’я"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Фонет.ім’я по батьк."
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Фонетика по батькові"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Фонетика імені"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Інші адреси Email"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Немає результату"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Немає груп"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Примітки"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Псевдонім"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Суфікс імені"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Префікс імені"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Iм'я"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Мої контакти"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Друге ім’я"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Прізвище"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Посада"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "Імпортувати із SIM-карти"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "Імпортувати з SIM2-картки"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Імпортування..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Зображення"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Оператор зв’язку попередньо завантажив на SIM-карту сервісні номери, які буде відображено тут."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Галерея"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Ім’я"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Факс"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "Експортувати на SIM-карту"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "Експортувати на SIM2-картку"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "Експортувати на карту пам’яті"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "Email"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "Скасувати зміни"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Друзі"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Сім'я"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Дата"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Співробітники"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Контакти, які визначено як повторювані, буде автоматично запропоновано."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Контакти"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Компанія"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Кнопка розгорнення списку"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Пристрій автоматично вибере фрагмент музичного файлу, який найкраще підходить для вибраної дії."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Після створення контактів їх буде відображено тут."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Після додавання контактів їх буде відображено тут."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Додати до улюбленого"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Адреса"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Облікові записи"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "АB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN блоковано."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Хибний код PUK2."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Хибний код PIN1."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Додати існуючий контакт"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Немає основних контактів"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Основні контакти"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Створення основного контакту"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Додавання основних контактів"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Установити дату"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Новий PIN-код і PIN-код підтвердження не збігаються."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Після створення основних контактів їх буде відображено тут."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Неможливо вибрати інші дані"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "Вставте SIM-карту."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Оператором зв’язку контакту, якому ви телефонуєте, є %1$s. Торкніться «ОК», щоб здійснити цей виклик за допомогою SIM-карти %2$s."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "Використання SIM-карти %s"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Поточна SIM"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Таксофон"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Некоректний символ."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Телефон"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Вихідний виклик"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Вхідний виклик"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Відображаються лише перші %d контактів."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Мій профіль"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Торкніться тут, щоб додати ярлик"
+
diff --git a/main-app/res/po/uz.po b/main-app/res/po/uz.po
new file mode 100644
index 0000000..5a7f9da
--- /dev/null
+++ b/main-app/res/po/uz.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "Terilgan qo‘ng‘iroqlar"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "Oxirgi qo‘ng‘iroq"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "Qabul qilingan qo‘ng‘iroqlar"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "Jurnallarni tanlash"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "Quyidagi bo‘yicha ko‘rib chiqish"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "Uy 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "Ko‘chirish yakunlandi."
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "Ko‘chirilmoqda..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 tasdiqlandi."
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 tasdiqlandi."
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN-kod blokdan chiqarildi."
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 blokdan chiqarildi."
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 o‘zgartirildi."
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 bloklandi."
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 o‘zgartirilgan."
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 bloklangan."
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "Noto‘g‘ri PIN2."
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "Yangi PIN2 va tasdiqlash PIN2 mos kelmayapti"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "Incorrect PUK1."
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "Noto‘g‘ri PUK1. %d urinish qoldi."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "Noto‘g‘ri PUK2. %d urinish qoldi."
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN-kod o‘zgartirildi."
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "Kontaktlar"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "Hisob qaydnoma qo‘shish"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "Belgilar soni ruxsat etilgan maksimal miqdorga yetdi."
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "Qurilmalar skanerlash..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "Noto‘g‘ri PIN-kod"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "BAJARILDI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "BEKOR QILISH"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "O‘CHIRISH"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "Ulanish muammosi yoki noto‘g‘ri MMI kodi."
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "Maxfiy raqam"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "YUBORISH"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 blocked. Contact provider (SIM PUK2 required)."
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "Jurnallar yo‘q"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "Qo‘ng‘iroq qilish/qabul qilish yoki xabar yuborish/olishdan so‘ng, jurnallar ko‘rsatiladi."
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM-karta band. Keyinroq urinib ko‘ring"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM-karta bloklangan."
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "SIM-karta topilmadi. Iltimos, SIM-kartani telefonga joylashtiring."
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "Tarmoq yoki SIM-karta xatosi."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "Vibratsiyali signal yoqildi."
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "Vibratsiyali signal o‘chirildi."
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "Raqamga qo‘ng‘iroq qilib bo‘lmaydi. %d favqulodda raqam emas."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "%d tezkor terish raqami olib tashlandi."
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "Tez terish raqami tayinlandi."
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "Raqam kiriting."
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "PIN-kodingiz %1$d va %2$d belgidan tashkil topishi lozim. Qayta urinib ko‘ring."
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "PIN2-kodingiz %1$d-%2$d xonali bo‘lishi lozim. Qayta urinib ko‘ring."
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "Ushbu tez terish raqamiga kontakt tayinlanmagan. Birorta kontaktni tayinlash uchun OKga teging."
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN-kod o‘chirildi. O‘zgartirishdan oldin PIN-kodni yoqing."
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "Ov-li pch"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "Kontakt yangila"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "Tez trsh parametri"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "Olib tashlash"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "Kontakt yarat"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "Qnrq parametrlari"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "Kutish qo‘shish"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "2 soniyali to‘xtalish qo‘shish"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "Klaviatura"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "Tarmoqqa ulanib bo‘lmaydi"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Qo‘ng‘iroq u-n SIM-karta tanla"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "Qidiruv natijalari (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "Favqulodda qo‘ng‘iroq"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "Tez trsh rqm sif. tayinlash"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "Raqam o‘rnat"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "Xabar yubor"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "Bekor qilish"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "Kontaktlarga qo‘shish"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "Parollar mos kelmayapti."
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN-kod bloklandi. PUK-kodni kiriting."
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM-karta bloklangan."
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "Saqlanmagan"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "Saqlandi"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "O‘tkazib yuborilgan"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "Xato"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "Bekor qilindi"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%dta jurnal elementi yo‘q qilinadi."
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "Barcha jurnal elementlari yo‘q qilinadi."
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1ta jurnal elementi yo‘q qilinadi."
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Kontakt tafsilotini ko‘rish"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "Raqam yuborish"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "O‘tkazib yuborilgan qo‘ng‘iroqlar"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "Yo‘q qilish"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "Qo‘ng‘iroq davomliligi"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "O‘tkazilgan qo‘ng‘iroqlar"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "Boshqa ko‘rsatilmasin"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "Noma’lum raqam"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "Noma’lum"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "Hammasini belgilash"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "Jurnallar"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "Kecha"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "Bugun"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "%d tanlandi"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "%dta jurnalni o‘ch. tashla"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "Jurnal elementlarini yo‘q qil"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "Jurnalni o‘chirib tashla"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "Yo‘q qilish"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "Kontakt yangila"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "Yo‘q qilish"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "Kontakt yarat"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "Bekor qilish"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "Ovozli qo‘ng‘iroqlar"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "Video qo‘ng‘iroqlar"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM-karta"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "Barcha qo‘ng‘iroqlar"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "Qo‘ng‘iroq qilganingizdan yoki olganingizdan so‘ng, ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "Qo‘ng‘iroqni amalga oshirganingizdan yoki qabul qilganingizdan so‘ng, jurnal elementlari bu yerda ko‘rsatiladi."
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "TAHRIRLA"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "Matn kiritish"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "Kontaktlaringizning ba’zilari dublikatga o‘xshayapti."
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d ta kontakt import qilindi."
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "Kontaktlar bog‘landi."
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 ta raqam Avtomatik rad etish ro‘yxatidan olib tashlandi."
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 ta kontakt import qilindi."
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "Xizmat raqamlari"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "Ism formati"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "Kontaktlarni bog‘lash"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "Ko‘rsatiladigan kontaktlar"
+
+msgid "IDS_PB_SK_SET"
+msgstr "O‘rnatish"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "Yarat"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "Mayd/qo‘sh"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "Kontaktlar importi..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Import bekor qilindi"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "Kontaktlar eksporti..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "Eksport bekor qilindi"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "Kontaktlar import qilindi"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "Kontaktlar eksp. qilindi"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "Barcha kontaktlar"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "Faqat o‘qish uchun mo‘ljallangan hisob qaydnomalaridan kontaktlarni yo‘q qila olmaysiz, lekin ularni kontaktlarda yashirishingiz mumkin."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "Sinxronlash yoqilganda, ushbu kontakt u saqlangan barcha sinxronlangan hisob qaydnomalardan o‘chirib tashlanadi."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "Sinxronlash yoqilganda ushbu kontakt va boshqa hisob qaydnomalarda unga bog‘langan barcha kontaktlar yo‘q qilinadi, yoki faqat o‘qish ruxsat berilgan hisob qaydnomadan olingan ma’lumotlar yashiriladi."
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "Sinxronlash yoqilganda, ushbu kontakt va uning boshqa sinxronlangan hisob qaydnomalardagi bog‘langan kontaktlari o‘chirib tashlanadi."
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "Xizmat ta’minotchisi ma’lumoti yangilanmoqda..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kontakt qo‘shib bo‘lmaydi. Bog‘lanish mumkin bo‘lgan kontaktlar soni maksimal miqdorga (%d) yetdi."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "Kontaktlarni qo‘shib bo‘lmaydi. Bog‘lanish mumkin bo‘lgan kontaktlar soni maksimal miqdorga (%d) yetdi."
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Ushbu kontakt yo‘q qilinadi."
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Ushbu kontakt va uning barcha bog‘langan kontaktlari o‘chirib tashlanadi."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "Elementlar soni tanlanishi mumkin bo‘lgan maksimal miqdorga (%d) yetdi."
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "Kontaktlar soni bir vaqtda ulashish mumkin bo‘lgan kontaktlarning maksimal miqdoridan (%1$d) oshib ketdi. Faqat birinchi %2$d tasi ulashiladi."
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa funksiyasi kontaktlaringizning xizmat ta’minotchilarini aniqlash va ularni kontaktlaringiz ro‘yxatida ko‘rsatish uchun ishlatilishi mumkin. Buni keyinroq menyu tugmasini bosish va Xizmat ta’minotchisi ma’lumotlarini yangilashni tanlash orqali ham bajarishingiz mumkin. Kontaktlaringiz xizmat ta’minotchisini hozir aniqlash uchun OKni bosing"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "SIM-kartadan kontaktlarni import qilish uchun OKga teging."
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "Kontaktlarni %sga eksport qilishni to‘xtatish uchun OKga teging."
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Eksport qilinadigan kontaktlarni tanlash uchun Eksportga teging. Ba’zi kontakt ma’lumotlari yo‘qotilishi mumkin."
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "Kontaktlarning ba’zilari yoki barchasi yangilanmasligi mumkin."
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "Ba'zi kontakt ma'lumotlari yo'qolishi mumkin."
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM-karta xotirasi to‘la."
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "Olib tashlanmoqda..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%dta telefon raqami yangilandi."
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d kontakt o'chiriladi."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d ta kontakt %2$s ga eksport qilindi."
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d ta kontakt Device/Contacts/Imported/%2$s.vcf ga eksport qilindi."
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "Xotira yetarli emas."
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "Yangi kontaktlar qurilmangizdagi Kontaktlarda saqlanadi."
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "FDN rejim faollashtirildi."
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "Xato."
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "O‘zgartirishlar rad etilsinmi?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "Kontaktlar o‘chirilmoqda..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "Kontaktlarni o'chirish bekor qilindi. Ba’zi kontaktlar avvalroq o'chirilgan bo‘lishi mumkin."
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "Kontaktlarni %s-dan import qilish to‘xtatiladi."
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "Avvaldan mavjud."
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "Barcha bog‘langan kontaktlar o'chirib tashlanadi."
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "Barcha kontaktlar o'chiriladi."
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "Barcha o‘zgartirishlar rad etiladi."
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "Qo‘shilmoqda..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1ta telefon raqami yangilandi."
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 kontakt o'chiriladi."
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1ta kontakt olib tashlandi."
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "Ish"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "Ovozli qo‘ng‘iroq"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "Video qo‘ng‘iroq"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "Xizmat ta’minotchisi ma’lumotini yangilash"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "Kontakt aloqasini uzish"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "Kontaktlarni ajratish"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "Rasmga olish"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "Suratga olish"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "Turmush o'rtog‘i"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "Singil"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM-karta"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "Quyidagi orqali ulashish"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "Ulashish"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "Parametrlar"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "Kontaktlardan tanlash"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD-karta"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "Kontaktni quyidagiga saqlash"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "Qayta saralash"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "Olib tashlash"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "Qarindosh"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "Aloqadorlik"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "Quyidagi taqdim etgan"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "Hamkor"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "Ota-ona"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "Peyjer"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "Boshqa"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "Tashkilot"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "Ona"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "Mobil"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "Xabar"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "Tanlanganlarni boshqarish"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "Menejer"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "Asosiy"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "Avval familiya"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "Familiya"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "Uy"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Home"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "Galereyadan"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "Do‘st"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "Avval ism"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "Ismi"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN kontakt"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "Faks (ish)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "Faks (uy)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "Ota"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "Tahrirlash"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "Boshqa ko‘rsatilmasin"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "Mahalliy hamkor"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "Qurilma"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "Maxsus"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "Yaratish"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "Bola"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "Aka"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "Tug‘ilgan kun"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "Yordamchi"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "Yubiley"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "Maydon qo‘shish"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "Qo‘shish"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "Hisob qaydnomasi"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "Qidirish"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "Xizmat raqamlari yo‘q"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "Natijalar topilmadi"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "Favqulodda kontaktlar yo‘q"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "Kontaktlar yo‘q"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "Quyid. bo‘yicha saralash"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "Profilni o‘rnatish"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "Profilimni o‘rnatish"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "Birgalikda yuborish"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "Alohida yuborish"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Kontakt ma’lumotini yuborish"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "Hammasini belgilash"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d ta kontakt"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "Tel. ega hamma kontaktlar"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "Import"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "Eksport"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "Hodisa"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "Kont-ni raqam b-n ko‘rsatish"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 ta kontakt"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "Kontaktlar"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB-ichki xotira yo‘q"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "Qo‘shib bo‘lmaydi"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "Qo‘shib bo‘lmaydi"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "Tavsiya etilgan kontaktlar"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "Quyidagi orqali ulashish"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "Kontakt rasmini o‘rnatish"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "Parametrlar"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "Xizmat ta‘minotchisi"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "Kontakt ma’lum-ni yuborish"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "Qo‘ng‘iroq qilish uchun SIM-karta tanlash"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "Qo‘ng‘iroq qilish uchun SIM-kartani tanlang"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "Qo‘ng‘iroq u-n SIM-karta tanla"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "Kontaktni tanlash"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "Tanlash"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "Kontaktlarni quyidagiga saqla"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "Qayta saralash"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "Olib tashlash"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "Asosiy kontaktlar (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "Asos. knkt-lar (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "Shaxsiy kontaktlar"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "%d tanlandi"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d tanlandi"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "Ism formati"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "Eng ommabop kontaktlar"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "Men"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "Tanlanganlarni boshqarish"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "Kontaktlar ro‘yxati"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "Bog‘lngn kontaktlar"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "Kontaktlar importi"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "Import qilish"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "Tanlanganlar"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "Kntkt-ni SIM-kartaga eksport"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "Kontaktlarni eksport qilish"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "Eksport qilish"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "Maxsus yorliqni kiriting"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "Favqulodda xizmatlar"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "Favqulodda kontaktlar"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "Tahrirlash"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "Nomlarni quyidagi bo‘yicha ko‘rsatish:"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "Displey"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "O‘zgartirishlarni rad etish"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "Elementni yo‘q qil"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "Yaratish"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "Kontakt rasmi"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "Ko‘rsatiladigan kontaktlar"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "Kontaktlar"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "Kontaktlar eksport qilindi"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "Saqlash joyini o‘zgartirish"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "Importni bekor qilish"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "Eksportni bekor qilish"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "Qayta urining"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "Saqlash"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "OK"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "Eslatma"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "Yana"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "Eksport qilish"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "E-pochta"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "Bajarildi"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "Rad etish"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "Yo‘q qilish"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "Yaratish"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "O‘zgartirish"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "Bekor qilish"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "H/qyd. qo‘sh"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "Veb-sayt"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "Kontaktlar ro‘yxatini yangilash..."
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "SIM-karta xatosi."
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "Sarlavha"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "Ushbu kontakt yo‘q qilinadi."
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "Tanlangan kontaktlarning xizmat ta’minotchilari ma’lumoti yangilanadi. Ushbu funksiya tarmoq ulanishini talab qiladi va qo‘shimcha xarajatlarga olib kelishi mumkin. Jarayonni amalga oshirish uchun ketadigan vaqt tarmoq ulanishingiz holatiga bog‘liq"
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "Telefon"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM-karta initsializatsiyalanmoqda..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "Xizmat raqami"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "Tashrif qog‘ozlarini alohida yuborish ko‘proq vaqtni olishi mumkin, chunki oluvchi qurilma ularni birma-bir qabul qilishi lozim."
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "Bir nechta kontaktlarni birgalikda yuborish uzatish vaqtini qisqartiradi. Vaholanki, agar boshqa qurilma buni qo‘llab-quvvatlamasa, faqat bitta kontakt yuboriladi."
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "Kontakt ma’lumotlarini yuborish usulini tanlang."
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "Tanlangan"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "Tanlanganlardan olib tashlash"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "Fotosurat"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "Tel. raqami"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "Fonetik nomi"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "Fonetik otasi ismi"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "Fonetik familiya"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "Fonetik ism"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Boshqa e-pochtalar"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "Qidiruv natijalari yo‘q"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "Guruhlar yo‘q"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "Eslatmalar"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "Nik"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "Ism suffiksi"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "Ismning old qo‘shimchasi"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "Ism"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "Mening kontaktlarim"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "Otasining ismi"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "Familiya"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "Lavozim nomi"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "SIM-kartadan import qilish"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "SIM2-kartadan import qilish"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "Import qilinmoqda..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "Tasvir"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Agar xizmat ta’minotchingiz xizmat raqamlarini SIM-kartangizga oldindan yuklagan bo‘lsa, ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "Galereya"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "Ism"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "Faks"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "SIM-kartaga eksport qilish"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "SIM2-kartaga eksport qilish"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "SD-kartaga eksport qilish"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "E-pochta"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "O‘zgartirishlarni tashlash"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "Do‘stlar"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "Oila"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "Sana"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "Hamkasblar"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "Dublikat sifatida aniqlangan kontaktlar avtomatik ravishda tavsiya etiladi."
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "Kontaktlar"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "Kompaniya"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "Ro‘yxatni kengaytirish tugmasi"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "Avtomatik tavsiyanomalar ohang fayllaridagi belgilarni chiqarib olishi mumkin."
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kontaktlarni yaratganingizdan so‘ng, ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Kontaktlarni qo‘shganingizdan so‘ng, ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "Tanlanganlarga qo‘shish"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "Manzil"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "Hisob qaydnomalari"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN-kod bloklandi."
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "Noto‘g‘ri PUK2."
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "Incorrect PIN1."
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "Mavjud kontaktni qo‘shish"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "Asosiy kontaktlar yo‘q"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "Asosiy kontaktlar"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "Asosiy kontaktni yaratish"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "Ustun kontaktlarni qo‘shish"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "Sanani o‘rnating"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "Yangi PIN-kod va tasdiqlash PIN-kodi mos kelmayapti."
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "Ustun kontaktlarni yaratganingizdan so‘ng, ular bu yerda ko‘rsatiladi."
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "Ko‘proq elm. tanlab bo‘lmaydi."
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "SIM-kartani kiriting."
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "Siz qo‘ng‘iroq qilayotgan kontaktning xizmat ta’minotchisi %1$s. Ushbu qo‘ng‘iroqni %2$s SIM-kartangiz yordamida amalga oshirish uchun OKga teging."
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "%s SIM-kartadan foydalanish"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "Joriy SIM-krt"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "Taksofon"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "Noto‘g‘ri belgi."
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "Telefon"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "Chiquvchi qo‘ng‘iroq"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Kiruvchi qo‘ng‘iroq"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "Faqat birinchi %dta kontakt aks ettiriladi."
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "Mening profilim"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "Yorliq qo‘shish uchun bu yerga teging"
+
diff --git a/main-app/res/po/zh_CN.po b/main-app/res/po/zh_CN.po
new file mode 100644
index 0000000..02fd1b7
--- /dev/null
+++ b/main-app/res/po/zh_CN.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "已拨电话"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "最近呼叫"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "已接电话"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "选择记录"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "查看方式"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "本地2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "移动已完成"
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "移动中..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 已验证。"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 已验证。"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN 码解锁"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 码解锁"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2码已更改"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2码锁定"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1码已更改。"
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1码已锁定。"
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "错误的PIN2码"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "新 PIN2 码与确认 PIN2 码不匹配"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "PUK1 码错误。"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1 错误。剩余 %d 次机会。"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 错误。剩余 %d 次机会。"
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN 码已更改"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "联系人"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "添加账户"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "已达到最大字符限制"
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "正在搜索设备…"
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "PIN 码不正确"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完成"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "删除"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "连接问题或无效MMI代码。"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "私人号码"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "发送"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 码被锁定。联系提供商(需要 SIM 卡 PUK2 码)。"
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "无记录"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "在您呼叫/被叫或发送/接收信息后,将显示记录。"
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM 卡忙。请稍后再试"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "已锁定SIM/RUIM卡。"
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "未找到 SIM 卡。 请在手机中插入 SIM 卡。"
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "网络或SIM卡故障。"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "振动反馈已启用"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "振动反馈已禁用"
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "无法拨打号码。%d 不是紧急号码。"
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "快速拨号号码 %d 已移除"
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "快速拨号号码已指定"
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "输入号码"
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "您 PIN 码的长度必须介于 %1$d 至 %2$d 位数之间。请重试。"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "您的 PIN2 码必须为 %1$d 至 %2$d 位数。请重试。"
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "未为该快速拨号号码指定联系人。点击确定以立即指定联系人。"
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "PIN 码已禁用。更改前启用 PIN 码。"
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "语音邮件"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "更新联系人"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "快速拨号设定"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "移除"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "新建联系人"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "通话设定"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "添加等待"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "添加 2 秒暂停"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "键盘"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "无法连接至网络"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "选择用于通话的 SIM 卡"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "搜索结果 (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "紧急呼叫"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "指定为快速拨号号码"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "设置号码"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "发送信息"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "添加至联系人"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "密码不匹配"
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN 码被锁定。 输入 PUK 码。"
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM 卡已锁定。"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "未保存"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "已保存"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "未接"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "失败"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "已取消"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "将删除 %d 个记录项目。"
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "将删除所有记录项目。"
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "将删除 1 个记录项目。"
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "查看联系人详情"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "发送号码"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "未接来电"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "删除"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "通话持续时间"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "未接来电"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "不再显示"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "未知号码"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "未知"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "全选"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "记录"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "昨天"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "今天"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "已选中 %d 个"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "删除 %d 个记录"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "删除记录项目"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "删除记录"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "删除"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "更新联系人"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "删除"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "新建联系人"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "取消"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "语音通话"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "视频通话"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM卡"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "全部通话"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "拨打或接听来电后,它们将记录在此处。"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "拨打或接听来电后,记录项目将显示在此处。"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "编辑"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "输入文本"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "您的部分联系人显示为重复"
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d 个联系人已导入"
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "联系人已链接。"
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 个号码已从自动拒绝列表中移除"
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 位联系人已导入"
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "服务号码"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "姓名格式"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "链接联系人"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "要显示的联系人"
+
+msgid "IDS_PB_SK_SET"
+msgstr "设定"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "创建"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "添加字段"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "正在导入联系人..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "导入已取消"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "正在导出联系人..."
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "导出已取消"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "联系人已导入"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "联系人已导出"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "全部联系人"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "您无法从只读账户删除联系人,但是您可以在联系人中隐藏他们。"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "同步启用时,该联系人将会从其保存至的任何已同步账户中删除。"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "同步启用时,如果信息来自只读账户,将删除或隐藏该联系人以及已在其他同步账户中与其链接的所有联系人。"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "同步启用时,该联系人和其他已同步账户中所有与其链接的联系人均会被删除。"
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "正在更新服务提供商信息…"
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "无法添加联系人。已达到最大可链接联系人数 (%d)。"
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "无法添加联系人。已达到最大可链接联系人数 (%d)。"
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "此联系人将被删除。"
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "将删除该联系人和所有与其链接的联系人。"
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "已超过可选择的最大项目数 (%d)。"
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "已超过一次可共享的最大联系人数量 (%1$d)。仅会共享前 %2$d 位。"
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa 功能可用于识别您联系人的服务提供商,并在您的联系人列表中进行显示。您可通过按菜单键并选择更新服务提供商信息以执行此操作。现在点击确定以识别您联系人的服务提供商。"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "点击确定以停止从 SIM 卡中导入联系人。"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "点击确定以停止将联系人导出至 %s。"
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "点击导出以选择要导出的联系人。部分联系人信息可能丢失。"
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "部分或全部联系人可能未更新。"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "部分联系人信息可能丢失。"
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM卡内存已满。"
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "正在移除..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "%d 个手机号码已更新。"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d个联系人将被删除。"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d 个联系人已导出至 %2$s。"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d 个联系人已导出至设备/联系人/已导入/%2$s.vcf。"
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "没有足够内存。"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "新联系人将保存至设备上的联系人。"
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "固定拨号模式已启动"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "失败"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "放弃变更?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "正在删除联系人…"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "删除联系人已取消。一些联系人可能已被删除。"
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "联系人将停止从 %s 导入。"
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "已存在。"
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "全部链接的联系人将被删除。"
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "全部联系人将被删除。"
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "将丢弃全部更改"
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "添加中..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "1 个手机号码已更新。"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1个联系人将被删除。"
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "1 位联系人已移除。"
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "雅虎"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "工作"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "语音呼叫"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "视频呼叫"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "更新服务提供商信息"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "取消联系人链接"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "取消联系人链接"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "拍照"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "拍照"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "配偶"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "姐妹"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM卡"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "共享通过"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "共享"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "设定"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "从联系人选择"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD 卡"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "将联系人保存至"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "重新排序"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "移除"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "亲戚"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "关系"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "介绍人"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "合作伙伴"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "父母"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "寻呼机"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "其它"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "组织"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "母亲"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "手机"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "信息"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "管理收藏"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "经理"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "主号"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "姓氏在前"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "姓"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "家庭"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Home"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "谷歌环聊"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "从相册"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "朋友"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "名字在前"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "名字"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "指定拨号联系人"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "传真(工作)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "传真(家庭)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "父亲"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "编辑"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "不再显示"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "同居伴侣"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "设备"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "自定义"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "创建"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "子女"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "兄弟"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "生日"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "助手"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "周年纪念日"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "添加字段"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "添加"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "账户"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "搜索"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "无服务号码"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "未找到结果"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "无紧急联系人"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "无联系人"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "排序方式"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "设置个人资料"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "设置我的个人资料"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "一起发送"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "逐个发送"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "发送联系人信息"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "全选"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d 位联系人"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "仅显示有电话号码的联系人"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "导入"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "导出"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "事件"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "显示含有号码的联系人"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 位联系人"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "联系人"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB 存储不可用"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "无法添加"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "无法添加"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "建议的联系人"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "共享通过"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "设置联系人头像"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "设定"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "服务提供商"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "发送联系人信息"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "选择用于通话的 SIM 卡"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "选择用于通话的 SIM 卡"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "选择用于通话的 SIM 卡"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "选择联系人"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "选择"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "保存联系人至"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "重新排序"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "移除"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "主要联系人 (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "主要联系人 (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "手机"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "个人联系人"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "已选中 %d 个"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "%d 已选择"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "姓名格式"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "最常用联系人"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "我"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "管理收藏"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "联系人列表"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "已链接联系人"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "导入联系人"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "导入"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "我的收藏"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "导出联系人至 SIM 卡"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "导出联系人"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "导出"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "输入自定义标签"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "紧急通话服务"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "紧急联系人"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "编辑"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "显示名称方式"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "显示"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "放弃更改"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "删除项目"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "新建"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "联系人图像"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "要显示的联系人"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "联系人"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "联系人已导出"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "更改保存位置"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "取消导入"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "取消导出"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "重试"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "保存"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "手机"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "确定"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "笔记"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "更多"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "导出"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "电子邮件"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "完成"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "放弃"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "删除"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "创建"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "更改"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "取消"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "添加账户"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "网站"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "正在更新联系人列表…"
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "因为发生 SIM 错误而无法保存。"
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "标题"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "此联系人将被删除。"
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "选中联系人的服务提供商信息将更新。该功能需要网络连接且可能产生额外费用。完成该过程所需的时间将取决于您的网络连接状态。"
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "电话"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM卡初始化中…"
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "服务号码"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "逐个发送名片可能需要更长时间,因为接收设备必须一次接收一个名片。"
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "一起发送联系人号码以减少传输时间。但是,如果其他设备不支持该功能,则仅会发送一个联系人。"
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "选择如何发送联系人信息。"
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "已选定"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "从收藏中移除"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "照片"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "电话号码"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "拼音姓名"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "拼音中间名"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "拼音姓氏"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "音译名"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "其他电子邮件"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "无搜索结果"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "无群组"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "注释"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "昵称"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "名称后缀"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "姓名前缀"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "名称"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "我的联系人"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "中间名"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "姓"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "职位名称"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "从 SIM 卡导入"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "从 SIM2 导入"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "导入中…"
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "图片"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "即时信息"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "如果您的服务提供商已在 SIM 卡上预先载入服务号码,其将显示在此处。"
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "相册"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "名"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "传真"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "导出到 SIM 卡"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "导出至 SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "导出到SD卡"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "电子邮件"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "放弃更改"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "好友"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "家人"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "日期"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "同事"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "将自动建议已标识为重复的联系人。"
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "联系人"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "公司"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "展开列表的按钮"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "自动建议可从声音文件中提取最精彩的部分。"
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "创建联系人后,其将显示在此处。"
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "添加联系人后,其将显示在此处。"
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "添加到收藏"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "地址"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "账户"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN 码锁定"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 码错误"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "PIN1码错误。"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "添加现有联系人"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "无主要联系人"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "主要联系人"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "创建主要联系人"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "添加主要联系人"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "设置日期"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "新 PIN 与确认 PIN 不匹配。"
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "创建主要联系人后,其将显示在此处。"
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "无法选择更多项目"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "插入 SIM 卡"
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "您呼叫联系人的服务提供商为 %1$s。点击确定以使用 %2$s SIM 卡拨打该通话。"
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "使用 %s SIM 卡"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "当前 SIM 卡"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "投币式公用电话"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "字符无效"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "手机"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "已拨"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "来电"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "仅显示前 %d 个联系人"
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "我的信息"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "点击此处以添加快捷方式"
+
diff --git a/main-app/res/po/zh_HK.po b/main-app/res/po/zh_HK.po
new file mode 100644
index 0000000..d4b5e75
--- /dev/null
+++ b/main-app/res/po/zh_HK.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "已撥電話"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "最近通話"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "已接電話"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "選擇記錄"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "檢視方式"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "住家 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "移動已完成"
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "正在移動..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 已驗證。"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 已驗證。"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "PIN 碼已解鎖"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "PIN2 碼已解鎖"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "PIN2 碼已更改"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "PIN2 碼已封鎖"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 碼已更改。"
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 碼已封鎖。"
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2 碼錯誤"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "新 PIN2 碼與確認 PIN2 碼不相符。"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "PUK1 碼不正確。"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1 碼不正確。剩餘 %d 次機會。"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 碼不正確。剩餘 %d 次機會。"
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "PIN 碼已更改"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "聯絡人"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "加入帳戶"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "字元數目已達上限。"
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "正在搜尋裝置..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "錯誤的 PIN 碼"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完成"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "刪除"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "連接問題或MMI密碼無效。"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "私人號碼"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "發送"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "PIN2 碼已封鎖。請聯絡供應商(需要 SIM PUK2)。"
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "無記錄"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "撥打/接聽電話或發送/接收訊息後,將會顯示記錄。"
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM 卡忙碌。請稍後再試"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM 卡已鎖定。"
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "找不到 SIM 卡。請將 SIM 卡插入手機中。"
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "網絡或SIM卡錯誤。"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "震動回饋已啟用。"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "震動回饋已停用。"
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "無法撥打號碼。%d 不是緊急號碼。"
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "快速撥號號碼 %d 已移除。"
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "快速撥號號碼已指定。"
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "輸入號碼。"
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "您 PIN 碼的長度必須介於 %1$d 到 %2$d 位數之間。請重試。"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "您的 PIN2 碼必須為 %1$d 至 %2$d 位數。請重試。"
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "沒有指定給此快速撥號號碼的聯絡人。輕觸確定以立即指定聯絡人。"
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "已停用 PIN 碼。變更前啟用 PIN 碼。"
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "留言信箱"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "更新聯絡人"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "快速撥號設定"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "移除"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "建立聯絡人"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "通話設定"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "加入等待"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "加入 2 秒暫停"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "鍵盤"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "無法連接至網絡"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "選擇用於通話的 SIM 卡"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "搜尋結果 (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "緊急電話"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "指定為快速撥號號碼"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "設定號碼"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "發送訊息"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "加入至聯絡人"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "密碼不符。"
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN 碼已封鎖。輸入 PUK 碼。"
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM 卡已封鎖。"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "未儲存"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "已儲存"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "未接"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "失敗"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "已取消"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "%d 個記錄項目將被刪除。"
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "所有記錄項目將被刪除。"
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "1 個記錄項目將被刪除。"
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "檢視聯絡人詳細資料"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "發送號碼"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "未接來電"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "刪除"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "通話持續時間"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "未接來電"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "不要再顯示"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "未知號碼"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "未知"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "選擇全部"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "記錄"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "昨天"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "今天"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "已選擇 %d 個"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "刪除 %d 個記錄"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "刪除記錄項目"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "刪除記錄"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "刪除"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "更新聯絡人"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "刪除"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "建立聯絡人"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "取消"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "語音通話"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "視像通話"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM 卡"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "全部通話"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "撥打或接聽來電後,將記錄於此。"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "撥打或接聽來電後,記錄項目將顯示於此。"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "編輯"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "輸入文字"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "您的部分聯絡人顯示為重複。"
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "%d 個聯絡人已匯入。"
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "聯絡人已連結。"
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "1 個號碼已從自動拒絕清單中移除。"
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "1 位聯絡人已匯入。"
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "服務號碼"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "姓名格式"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "連結聯絡人"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "要顯示的聯絡人"
+
+msgid "IDS_PB_SK_SET"
+msgstr "設定"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "建立"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "加入欄位"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "正在匯入聯絡人..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "匯入已取消"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "正在匯出聯絡人…"
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "匯出已取消"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "聯絡人已匯入"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "聯絡人已匯出"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "所有聯絡人"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "無法刪除唯讀帳戶中的聯絡人,但可以將其隱藏於聯絡人中。"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "同步已啟用時,此聯絡人將會從其所儲存的任何已同步帳戶中刪除。"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "同步已啟用時,若資訊來自唯讀帳戶,此聯絡人及其他已同步帳戶中與其連結的所有聯絡人均將被刪除或隱藏。"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "同步已啟用時,此聯絡人及其他已同步帳戶中所有其連結聯絡人均會被刪除。"
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "正在更新服務供應商資訊..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "無法加入聯絡人。已達可連結聯絡人數目上限 (%d)。"
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "無法加入聯絡人。已達可連結聯絡人數目上限 (%d)。"
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "此聯絡人將被刪除。"
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "此聯絡人及所有其連結聯絡人將被刪除。"
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "已超過可選擇的項目數量上限 (%d)。"
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "已超過一次可共享的聯絡人數量上限 (%1$d)。僅會共享前 %2$d 位。"
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa 功能可用於識別聯絡人的服務供應商並顯示於聯絡人清單中。可於之後按下功能表鍵並選擇更新服務供應商資訊來執行此動作。輕觸確定以立即識別聯絡人的服務供應商。"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "輕觸確定以停止從 SIM 卡中匯入聯絡人。"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "輕觸確定以停止將聯絡人匯出至 %s。"
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "輕觸匯出以選擇要匯出的聯絡人。部分聯絡人資訊可能遺失。"
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "部分或所有聯絡人可能皆尚未更新。"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "部分聯絡人資訊可能遺失。"
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM 卡記憶體已滿。"
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "正在移除..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "已更新 %d 個電話號碼。"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d 個聯絡人將被刪除。"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "%1$d 個聯絡人已匯出至 %2$s。"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "%1$d 位聯絡人已匯出至裝置/聯絡人/已匯入/%2$s.vcf。"
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "記憶體不足。"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "新聯絡人將儲存至裝置上的聯絡人。"
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "固定撥號模式已啟動"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "失敗。"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "捨棄更改嗎?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "正在刪除聯絡人..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "已取消刪除聯絡人。部分聯絡人可能已被刪除。"
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "聯絡人將停止從 %s 中匯入。"
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "已存在。"
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "所有已連結的聯絡人將會被刪除。"
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "所有聯絡人將被刪除。"
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "將捨棄所有變更。"
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "正在加入..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "已更新 1 個電話號碼。"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "1 個聯絡人將被刪除。"
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "已移除 1 個聯絡人。"
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "工作"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "語音通話"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "視像通話"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "更新服務供應商資訊"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "取消連結聯絡人"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "取消連結聯絡人"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "拍照"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "拍照"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "配偶"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "姊妹"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM 卡"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "分享透過"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "分享"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "從聯絡人中選擇"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "SD 卡"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "將聯絡人儲存至"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "重新排序"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "移除"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "親戚"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "關係"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "介紹人"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "夥伴"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "父母"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "傳呼機"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "其他"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "組織"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "母親"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "手機"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "訊息"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "管理我的最愛"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "經理"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "主號"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "姓氏在前"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "姓氏"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "住家"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Home"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "從媒體瀏覽器"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "朋友"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "名字在前"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "名字"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "固定撥號聯絡人"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "傳真(工作)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "傳真(住家)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "父親"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "編輯"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "不要再顯示"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "同居伴侶"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "裝置"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "自訂"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "建立"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "子女"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "兄弟"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "生日"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "助理"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "紀念日"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "加入欄位"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "加入"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "帳戶"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "搜尋"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "無服務號碼"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "無搜尋結果"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "無緊急聯絡人"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "無聯絡人"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "排序方式"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "設定個人資料"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "設定我的個人資料"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "同時發送"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "個別發送"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "發送聯絡人資訊"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "選擇全部"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d 位聯絡人"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "僅顯示有電話的聯絡人"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "匯入"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "匯出"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "事件"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "顯示包含號碼的聯絡人"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 位聯絡人"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "聯絡人"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "USB 儲存裝置不可用"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "無法加入"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "無法加入"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "建議的聯絡人"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "分享途徑"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "設定聯絡人圖片"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "服務供應商"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "發送聯絡人資訊"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "選擇用於通話的 SIM 卡"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "選擇用於通話的 SIM 卡"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "選擇用於通話的 SIM 卡"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "選擇聯絡人"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "選擇"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "儲存聯絡人至"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "重新排序"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "移除"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "主要聯絡人 (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "主要聯絡人 (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "電話"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "個人聯絡人"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "已選擇 %d 個"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "已選擇 %d"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "姓名格式"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "最常用的聯絡人"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "我"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "管理我的最愛"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "聯絡人清單"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "已連結聯絡人"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "匯入聯絡人"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "匯入"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "我的最愛"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "匯出聯絡人至 SIM 卡"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "匯出聯絡人"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "匯出"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "輸入自訂標籤"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "緊急通話服務"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "緊急聯絡人"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "編輯"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "顯示名稱按"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "顯示"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "捨棄變更"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "刪除項目"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "建立"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "聯絡人圖像"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "要顯示的聯絡人"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "聯絡人"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "聯絡人已匯出"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "變更儲存位置"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "取消匯入"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "取消匯出"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "請重試"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "儲存"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "電話"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "確定"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "筆記"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "更多"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "匯出"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "電子郵件"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "完成"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "捨棄"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "刪除"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "建立"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "變更"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "取消"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "加入帳戶"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "網站"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "正在更新聯絡人清單…"
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "因為 SIM 卡錯誤而無法儲存。"
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "標題"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "此聯絡人將被刪除。"
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "選擇的聯絡人之服務供應商資訊將更新。此功能需要網絡連線且可能產生額外費用。完成程序所需的時間可能視乎您的網絡連線狀態而不同。"
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "電話"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM 卡正在初始化..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "服務號碼"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "由於接收裝置必須一次接收一個名片,因此個別發送名片可能需要更長時間。"
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "同時發送多位聯絡人可節省傳輸時間。但是,若其他裝置不支援此功能,則僅會發送一個聯絡人。"
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "選擇如何發送聯絡人資訊。"
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "已選擇"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "從我的最愛中移除"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "相片"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "電話號碼"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "拼音姓名"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "拼音中間名"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "拼音姓氏"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "名字語音"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "其他電子郵件"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "無搜尋結果"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "無群組"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "備註"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "暱稱"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "名稱後綴"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "前置稱謂"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "名稱"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "我的聯絡人"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "中間名"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "姓氏"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "職位名稱"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "從 SIM 卡匯入"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "從SIM卡 2 匯入"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "正在匯入..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "圖像"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "即時訊息"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "若您的服務供應商已於 SIM 卡上預先載入服務號碼,將顯示於此。"
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "媒體瀏覽器"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "名字"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "傳真"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "匯出至 SIM 卡"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "匯出到 SIM 2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "匯出至SD卡"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "電子郵件"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "捨棄更改"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "朋友"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "家人"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "日期"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "同事"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "已識別為重複的聯絡人將被自動建議。"
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "聯絡人"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "公司"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "清單展開按鈕"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "自動建議可從聲音檔案提取精彩部分。"
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "建立聯絡人後,將顯示於此。"
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "加入聯絡人後,將顯示於此。"
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "加到我的最愛"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "地址"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "帳戶"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN 碼已封鎖"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 碼不正確"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "PIN1 碼不正確。"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "加入現有聯絡人"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "無主要聯絡人"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "主要聯絡人"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "建立主要聯絡人"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "加入主要聯絡人"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "設定日期"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "新 PIN 碼並確認 PIN 碼不匹配。"
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "建立主要聯絡人後,將顯示於此。"
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "無法選擇更多項目"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "插入 SIM 卡。"
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "您撥打中聯絡人的服務供應商為 %1$s。輕觸確定以使用 %2$s SIM 卡撥打此通話。"
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "使用 %s SIM 卡"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "目前 SIM 卡"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "公用電話"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "字元無效。"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "電話"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "撥出電話"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "來電"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "僅顯示前 %d 位聯絡人。"
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "我的設定"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "輕觸此處以加入捷徑"
+
diff --git a/main-app/res/po/zh_TW.po b/main-app/res/po/zh_TW.po
new file mode 100644
index 0000000..9149e9f
--- /dev/null
+++ b/main-app/res/po/zh_TW.po
@@ -0,0 +1,1221 @@
+msgid "IDS_CLOG_BODY_DIALLED_CALLS"
+msgstr "已撥電話"
+
+msgid "IDS_CLOG_BODY_LAST_CALL"
+msgstr "上次通話"
+
+msgid "IDS_CLOG_BODY_RECEIVED_CALLS"
+msgstr "已接電話"
+
+msgid "IDS_CLOG_HEADER_SELECT_LOGS"
+msgstr "選擇記錄"
+
+msgid "IDS_CLOG_OPT_VIEW_BY"
+msgstr "檢視方式"
+
+msgid "IDS_PB_BODY_HOME_2"
+msgstr "住家 2"
+
+msgid "IDS_PB_POP_MOVE_COMPLETED"
+msgstr "移動已完成"
+
+msgid "IDS_PB_BODY_MOVING_ING"
+msgstr "正在移動..."
+
+msgid "IDS_ST_POP_PUK2_VERIFIED"
+msgstr "PUK2 已驗證。"
+
+msgid "IDS_ST_POP_PUK1_VERIFIED"
+msgstr "PUK1 已驗證。"
+
+msgid "IDS_ST_POP_PIN_UNBLOCKED"
+msgstr "已解除 PIN"
+
+msgid "IDS_ST_POP_PIN2_UNBLOCKED"
+msgstr "未封鎖 PIN2"
+
+msgid "IDS_ST_POP_PIN2_CHANGED"
+msgstr "已變更 PIN2"
+
+msgid "IDS_ST_POP_PIN2_BLOCKED"
+msgstr "已封鎖 PIN2"
+
+msgid "IDS_ST_POP_PIN1_CHANGED"
+msgstr "PIN1 碼已更改。"
+
+msgid "IDS_ST_POP_PIN1_BLOCKED"
+msgstr "PIN1 碼已封鎖。"
+
+msgid "IDS_ST_POP_INCORRECT_PIN2"
+msgstr "PIN2 不正確"
+
+msgid "IDS_ST_BODY_NEW_PIN2_AND_CONFIRM_PIN2_DO_NOT_MATCH"
+msgstr "新的 PIN2 碼並確認 PIN2 碼無法配對"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_CODE"
+msgstr "PUK1 不正確。"
+
+msgid "IDS_ST_POP_INCORRECT_PUK1_PD_ATTEMPTS_LEFT"
+msgstr "PUK1 不正確。還可嘗試 %d 次。"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_PD_ATTEMPTS_LEFT"
+msgstr "PUK2 不正確。還可嘗試 %d 次。"
+
+msgid "IDS_ST_POP_PIN_CHANGED"
+msgstr "已更改 PIN"
+
+msgid "IDS_PB_TAB_CONTACTS"
+msgstr "聯絡人"
+
+msgid "IDS_PB_BODY_ADD_ACCOUNT"
+msgstr "新增帳號"
+
+msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+msgstr "已達字元數上限。"
+
+msgid "IDS_PB_MBODY_SCANNING_DEVICES_ING"
+msgstr "正在掃描裝置..."
+
+msgid "IDS_LCKSCN_HEADER_INCORRECT_PIN_ABB"
+msgstr "不正確的 PIN 碼"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完成"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DELETE_ABB"
+msgstr "刪除"
+
+msgid "IDS_COM_POP_CONNECTION_PROBLEM_OR_INVALID_MMI_CODE"
+msgstr "連接問題或無效的MMI代碼。"
+
+msgid "IDS_COM_BODY_PRIVATE_NUMBER"
+msgstr "私人號碼"
+
+msgid "IDS_TPLATFORM_ACBUTTON_SEND_ABB"
+msgstr "傳送"
+
+msgid "IDS_CLOG_BODY_PIN2_BLOCKED_CONTACT_PROVIDER_HSIM_PUK2_REQUIRED"
+msgstr "已封鎖 PIN2。請聯絡提供商(需要 SIM PUK2)。"
+
+msgid "IDS_CLOG_BODY_NO_LOGS"
+msgstr "無記錄"
+
+msgid "IDS_CLOG_BODY_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
+msgstr "撥打/接聽電話或發送/接收訊息後,將會顯示記錄。"
+
+msgid "IDS_COM_OPT_SIM_CARD_BUSY_TRY_LATER_VODA"
+msgstr "SIM 卡忙碌。請稍後再試"
+
+msgid "IDS_COM_BODY_SIM_RUIM_CARD_LOCKED"
+msgstr "SIM/RUIM卡已鎖住。"
+
+msgid "IDS_COM_BODY_NO_SIM_CARD_FOUND_PLEASE_INSERT_A_SIM_CARD_INTO_THE_PHONE"
+msgstr "找不到 SIM 卡。請在手機中插入 SIM 卡。"
+
+msgid "IDS_COM_BODY_NETWORK_OR_SIM_CARD_ERROR"
+msgstr "網路或SIM卡錯誤。"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_ENABLED"
+msgstr "震動回饋已啟用。"
+
+msgid "IDS_KPD_TPOP_VIBRATION_FEEDBACK_DISABLED"
+msgstr "震動回饋已停用。"
+
+msgid "IDS_KPD_TPOP_UNABLE_TO_CALL_NUMBER_PD_NOT_EMERGENCY_NUMBER"
+msgstr "無法撥打號碼。%d 非緊急號碼。"
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_PD_REMOVED"
+msgstr "快速撥號 %d 已移除。"
+
+msgid "IDS_KPD_TPOP_SPEED_DIAL_NUMBER_ASSIGNED"
+msgstr "已指定快速撥號號碼。"
+
+msgid "IDS_KPD_TPOP_ENTER_NUMBER"
+msgstr "輸入號碼。"
+
+msgid "IDS_KPD_POP_YOUR_PIN_MUST_BE_BETWEEN_P1SD_AND_P2SD_DIGITS_LONG_TRY_AGAIN"
+msgstr "您的 PIN 碼長度必須介於 %1$d 至 %2$d 位數。請重試。"
+
+msgid "IDS_KPD_POP_YOUR_PIN2_MUST_BE_P1SD_TO_P2SD_DIGITS_TRY_AGAIN"
+msgstr "您的 PIN2 碼長度需介於 %1$d 至 %2$d 位數。請重試。"
+
+msgid "IDS_KPD_POP_THERE_IS_NO_CONTACT_ASSIGNED_TO_THIS_SPEED_DIAL_NUMBER_TAP_OK_TO_ASSIGN_ONE_NOW"
+msgstr "未指定聯絡人給此快速撥號。輕觸確定以立即指定。"
+
+msgid "IDS_KPD_POP_PIN_HAS_BEEN_DISABLED_ENABLE_PIN_BEFORE_CHANGING"
+msgstr "已停用 PIN 。充電前啟用 PIN。"
+
+msgid "IDS_KPD_OPT_VOICEMAIL_ABB"
+msgstr "語音信箱"
+
+msgid "IDS_KPD_OPT_UPDATE_CONTACT_ABB"
+msgstr "更新聯絡人"
+
+msgid "IDS_KPD_OPT_SPEED_DIAL_SETTINGS_ABB2"
+msgstr "快速撥號設定"
+
+msgid "IDS_KPD_OPT_REMOVE"
+msgstr "移除"
+
+msgid "IDS_KPD_OPT_CREATE_CONTACT_ABB2"
+msgstr "建立聯絡人"
+
+msgid "IDS_KPD_OPT_CALL_SETTINGS_ABB"
+msgstr "通話設定"
+
+msgid "IDS_KPD_OPT_ADD_WAIT_ABB"
+msgstr "新增插撥"
+
+msgid "IDS_KPD_OPT_ADD_2_SECOND_PAUSE_ABB"
+msgstr "新增 2 秒暫停"
+
+msgid "IDS_KPD_ITAB3_KEYPAD"
+msgstr "鍵盤"
+
+msgid "IDS_KPD_HEADER_UNABLE_TO_CONNECT_TO_NETWORK_ABB"
+msgstr "無法連接至網路"
+
+msgid "IDS_KPD_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "選取通話的 SIM 卡"
+
+msgid "IDS_KPD_HEADER_SEARCH_RESULTS_HPD_ABB"
+msgstr "搜尋結果 (%d)"
+
+msgid "IDS_KPD_HEADER_EMERGENCY_CALL_ABB2"
+msgstr "緊急電話"
+
+msgid "IDS_KPD_HEADER_ASSIGN_AS_SPEED_DIAL_NUMBER_ABB"
+msgstr "指定為快速撥號鍵"
+
+msgid "IDS_KPD_BUTTON_SET_NUMBER_ABB"
+msgstr "設定號碼"
+
+msgid "IDS_KPD_BUTTON_SEND_MESSAGE"
+msgstr "傳送訊息"
+
+msgid "IDS_KPD_BUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_KPD_BUTTON_ADD_TO_CONTACTS_ABB2"
+msgstr "新增至聯絡人"
+
+msgid "IDS_CST_POP_PASSWORDS_DO_NOT_MATCH"
+msgstr "密碼不符。"
+
+msgid "IDS_STU_POP_PIN_BLOCKED_ENTER_PUK_CODE"
+msgstr "PIN 已封鎖。輸入 PUK。"
+
+msgid "IDS_IDLE_BODY_SIM_BLOCKED"
+msgstr "SIM 卡已封鎖。"
+
+msgid "IDS_LOGS_SBODY_UNSAVED_M_STATUS"
+msgstr "未儲存"
+
+msgid "IDS_LOGS_SBODY_SAVED_M_STATUS"
+msgstr "已儲存"
+
+msgid "IDS_LOGS_SBODY_MISSEDM_CALL_STATUS"
+msgstr "未接"
+
+msgid "IDS_LOGS_SBODY_FAILED_M_STATUS"
+msgstr "失敗"
+
+msgid "IDS_LOGS_SBODY_CANCELLED_M_STATUS"
+msgstr "已取消"
+
+msgid "IDS_LOGS_POP_PD_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "將刪除 %d 個記錄項目。"
+
+msgid "IDS_LOGS_POP_ALL_LOG_ITEMS_WILL_BE_DELETED"
+msgstr "所有記錄項目將被刪除。"
+
+msgid "IDS_LOGS_POP_1_LOG_ITEM_WILL_BE_DELETED"
+msgstr "將刪除 1 個記錄項目。"
+
+msgid "IDS_LOGS_OPT_VIEW_CONTACT_DETAILS_ABB"
+msgstr "檢視聯絡人詳細資訊"
+
+msgid "IDS_LOGS_OPT_SEND_NUMBER"
+msgstr "傳送號碼"
+
+msgid "IDS_LOGS_OPT_MISSED_CALLS"
+msgstr "未接來電"
+
+msgid "IDS_LOGS_OPT_DELETE"
+msgstr "刪除"
+
+msgid "IDS_LOGS_OPT_CALL_DURATIONS_ABB"
+msgstr "通話時間"
+
+msgid "IDS_LOGS_NPBODY_MISSED_CALLS_ABB"
+msgstr "未接來電"
+
+msgid "IDS_LOGS_NPBODY_DO_NOT_SHOW_AGAIN_ABB"
+msgstr "不再顯示"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN_NUMBER_ABB"
+msgstr "未知號碼"
+
+msgid "IDS_LOGS_MBODY_UNKNOWN"
+msgstr "未知"
+
+msgid "IDS_LOGS_MBODY_SELECT_ALL"
+msgstr "全選"
+
+msgid "IDS_LOGS_ITAB3_LOGS"
+msgstr "記錄"
+
+msgid "IDS_LOGS_HEADER_YESTERDAY"
+msgstr "昨天"
+
+msgid "IDS_LOGS_HEADER_TODAY"
+msgstr "今天"
+
+msgid "IDS_LOGS_HEADER_PD_SELECTED_ABB3"
+msgstr "已選擇 %d 個"
+
+msgid "IDS_LOGS_HEADER_DELETE_PD_LOGS_ABB"
+msgstr "刪除 %d 個記錄"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ITEMS_ABB"
+msgstr "刪除記錄項目"
+
+msgid "IDS_LOGS_HEADER_DELETE_LOG_ABB"
+msgstr "刪除記錄"
+
+msgid "IDS_LOGS_HEADER_DELETE"
+msgstr "刪除"
+
+msgid "IDS_LOGS_BUTTON_UPDATE_CONTACT_ABB2"
+msgstr "更新聯絡人"
+
+msgid "IDS_LOGS_BUTTON_DELETE_ABB4"
+msgstr "刪除"
+
+msgid "IDS_LOGS_BUTTON_CREATE_CONTACT_ABB"
+msgstr "建立聯絡人"
+
+msgid "IDS_LOGS_BUTTON_CANCEL_ABB3"
+msgstr "取消"
+
+msgid "IDS_LOGS_BODY_VOICE_CALLS_ABB"
+msgstr "語音通話"
+
+msgid "IDS_LOGS_BODY_VIDEO_CALLS_ABB"
+msgstr "視訊通話"
+
+msgid "IDS_LOGS_BODY_SIM_CARD"
+msgstr "SIM 卡"
+
+msgid "IDS_LOGS_BODY_ALL_CALLS"
+msgstr "全部通話"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_THEY_WILL_BE_LOGGED_HERE"
+msgstr "撥打或接聽電話後,記錄將顯示於此。"
+
+msgid "IDS_LOGS_BODY_AFTER_YOU_MAKE_OR_RECEIVE_CALLS_LOG_ITEMS_WILL_BE_SHOWN_HERE"
+msgstr "撥打或接聽電話後,記錄項目將顯示於此。"
+
+msgid "IDS_QP_ACBUTTON_EDIT_ABB"
+msgstr "編輯"
+
+msgid "IDS_MF_POP_INPUT_TEXT"
+msgstr "輸入文字"
+
+msgid "IDS_PB_TPOP_SOME_OF_YOUR_CONTACTS_APPEAR_TO_BE_DUPLICATES"
+msgstr "部分聯絡人似乎有重複。"
+
+msgid "IDS_PB_TPOP_PD_CONTACTS_IMPORTED"
+msgstr "已匯入 %d 位聯絡人。"
+
+msgid "IDS_PB_TPOP_CONTACTS_LINKED"
+msgstr "聯絡人已連結。"
+
+msgid "IDS_PB_TPOP_1_NUMBER_REMOVED_FROM_AUTO_REJECT_LIST"
+msgstr "已從自動拒接名單移除 1 個號碼。"
+
+msgid "IDS_PB_TPOP_1_CONTACT_IMPORTED"
+msgstr "已匯入 1 位聯絡人。"
+
+msgid "IDS_PB_TMBODY_SERVICE_NUMBERS"
+msgstr "服務號碼"
+
+msgid "IDS_PB_TMBODY_NAME_FORMAT"
+msgstr "姓名格式"
+
+msgid "IDS_PB_TMBODY_LINK_CONTACTS"
+msgstr "連結聯絡人"
+
+msgid "IDS_PB_TMBODY_CONTACTS_TO_DISPLAY"
+msgstr "要顯示的聯絡人"
+
+msgid "IDS_PB_SK_SET"
+msgstr "設定"
+
+msgid "IDS_PB_SK_CREATE_ABB"
+msgstr "建立"
+
+msgid "IDS_PB_SK_ADD_FIELDS"
+msgstr "加入欄位"
+
+msgid "IDS_PB_SBODY_IMPORTING_CONTACTS_ING_ABB"
+msgstr "正在匯入聯絡人..."
+
+msgid "IDS_PB_SBODY_IMPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "已取消匯入"
+
+msgid "IDS_PB_SBODY_EXPORTING_CONTACTS_ING_ABB"
+msgstr "正在匯出聯絡人…"
+
+msgid "IDS_PB_SBODY_EXPORTING_CANCELLED_M_STATUS_ABB"
+msgstr "已取消匯出"
+
+msgid "IDS_PB_SBODY_CONTACTS_IMPORTED_M_STATUS_ABB"
+msgstr "聯絡人已匯入"
+
+msgid "IDS_PB_SBODY_CONTACTS_EXPORTED_M_STATUS_ABB"
+msgstr "聯絡人已匯出"
+
+msgid "IDS_PB_SBODY_ALL_CONTACTS"
+msgstr "所有聯絡人"
+
+msgid "IDS_PB_POP_YOU_CANNOT_DELETE_CONTACTS_FROM_READ_ONLY_ACCOUNTS_BUT_YOU_CAN_HIDE_THEM_IN_CONTACTS"
+msgstr "您無法從唯讀帳號刪除聯絡人,但是可以隱藏於聯絡人中。"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_WILL_BE_DELETED_FROM_ANY_SYNCED_ACCOUNTS_IT_IS_SAVED_IN"
+msgstr "當 Sync 啟用時,將自任何已同步帳號中刪除此儲存的聯絡人。"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED_OR_HIDDEN_IF_THE_INFORMATION_MSG"
+msgstr "啟用同步時,此聯絡人及其所有在其他同步帳號中連結的聯絡人皆將刪除,若資訊來自唯讀帳號則會將其隱藏。"
+
+msgid "IDS_PB_POP_WHEN_SYNC_IS_ENABLED_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_IN_OTHER_SYNCED_ACCOUNTS_WILL_BE_DELETED"
+msgstr "當 Sync 啟用時,將刪除此聯絡人及所有在其他同步的帳號中與其連結的聯絡人。"
+
+msgid "IDS_PB_POP_UPDATING_SERVICE_PROVIDER_INFO_ING"
+msgstr "正在更新電信業者資訊..."
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "無法新增聯絡人。已達可連結的聯絡人數量上限 (%d)。"
+
+msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACTS_MAXIMUM_NUMBER_OF_LINKABLE_CONTACTS_HPD_REACHED"
+msgstr "無法新增聯絡人。已達可連結的聯絡人數量上限 (%d)。"
+
+msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "將刪除此聯絡人。"
+
+msgid "IDS_PB_POP_THIS_CONTACT_AND_ALL_ITS_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "將刪除此聯絡人與所有與其連結的聯絡人。"
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HPD_HAS_BEEN_EXCEEDED"
+msgstr "已超過可選擇的項目數量上限 (%d)。"
+
+msgid "IDS_PB_POP_THE_MAXIMUM_NUMBER_OF_CONTACTS_THAT_CAN_BE_SHARED_AT_ONE_TIME_HP1SD_HAS_BEEN_EXCEEDED_ONLY_THE_FIRST_P2SD_WILL_BE_SHARED"
+msgstr "已超過可同時共享的聯絡人數量上限 (%1$d)。只會共享前 %2$d 個。"
+
+msgid "IDS_PB_POP_THE_CHAMADA_CERTA_FEATURE_CAN_BE_USED_TO_IDENTIFY_YOUR_CONTACTS_SERVICE_PROVIDERS_AND_DISPLAY_THEM_IN_YOUR_CONTACT_LIST_MSG"
+msgstr "Chamada Certa 功能可用於辨識聯絡人的系統業者並顯示於聯絡人清單中。可於之後按下功能表鍵並選擇更新系統業者資訊來執行此動作。輕觸確定以立即辨識聯絡人的系統業者。"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_IMPORTING_CONTACTS_FROM_SIM_CARD"
+msgstr "輕觸確定以停止自 SIM 卡匯入聯絡人。"
+
+msgid "IDS_PB_POP_TAP_OK_TO_STOP_EXPORTING_CONTACTS_TO_PS"
+msgstr "輕觸確定以停止將聯絡人匯出至 %s。"
+
+msgid "IDS_PB_POP_TAP_EXPORT_TO_SELECT_WHICH_CONTACTS_TO_EXPORT_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "輕觸匯出以選擇要匯出的聯絡人。可能遺失部份聯絡人資訊。"
+
+msgid "IDS_PB_POP_SOME_OR_ALL_CONTACTS_MAY_NOT_HAVE_BEEN_UPDATED"
+msgstr "部分或所有聯絡人可能皆尚未更新。"
+
+msgid "IDS_PB_POP_SOME_CONTACT_INFORMATION_MAY_BE_LOST"
+msgstr "可能遺失部份聯絡人資訊。"
+
+msgid "IDS_PB_POP_SIM_MEMROY_FULL"
+msgstr "SIM 卡記憶體已滿。"
+
+msgid "IDS_PB_POP_REMOVING"
+msgstr "正在移除..."
+
+msgid "IDS_PB_POP_PD_PHONE_NUMBERS_HAVE_BEEN_UPDATED"
+msgstr "已更新 %d 個電話號碼。"
+
+msgid "IDS_PB_POP_PD_CONTACTS_WILL_BE_DELETED"
+msgstr "%d個聯絡人將被刪除。"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_P2SS"
+msgstr "已將 %1$d 位聯絡人匯出至 %2$s。"
+
+msgid "IDS_PB_POP_P1SD_CONTACTS_HAVE_BEEN_EXPORTED_TO_DEVICE_CONTACTS_IMPORTED_P2SSVCF"
+msgstr "已將 %1$d 位聯絡人匯出至裝置/聯絡人/已匯入 /%2$s.vcf。"
+
+msgid "IDS_PB_POP_NOT_ENOUGH_MEMORY"
+msgstr "記憶體不足。"
+
+msgid "IDS_PB_POP_NEW_CONTACTS_WILL_BE_SAVED_IN_CONTACTS_ON_YOUR_DEVICE"
+msgstr "新聯絡人將儲存於裝置的聯絡人中。"
+
+msgid "IDS_PB_POP_FDN_MODE_ACTIVATED"
+msgstr "已啟動固定撥號模式。"
+
+msgid "IDS_PB_POP_FAILED"
+msgstr "失敗。"
+
+msgid "IDS_PB_POP_DISCARD_CHANGES_Q"
+msgstr "捨棄變更嗎?"
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
+msgstr "正在刪除聯絡人..."
+
+msgid "IDS_PB_POP_DELETING_CONTACTS_CANCELLED_SOME_CONTACTS_MAY_ALREADY_HAVE_BEEN_DELETED"
+msgstr "已取消刪除聯絡人。部分聯絡人可能已被刪除。"
+
+msgid "IDS_PB_POP_CONTACTS_WILL_STOP_BEING_IMPORTED_FROM_PS"
+msgstr "將停止從 %s 匯入聯絡人。"
+
+msgid "IDS_PB_POP_ALREADY_EXISTS_LC"
+msgstr "已存在。"
+
+msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
+msgstr "所有相關的聯絡人將被刪除。"
+
+msgid "IDS_PB_POP_ALL_CONTACTS_WILL_BE_DELETED"
+msgstr "所有聯絡人都將被刪除。"
+
+msgid "IDS_PB_POP_ALL_CHANGES_WILL_BE_DISCARDED"
+msgstr "將捨棄所有變更。"
+
+msgid "IDS_PB_POP_ADDING_ING"
+msgstr "正在加入..."
+
+msgid "IDS_PB_POP_1_PHONE_NUMBER_HAS_BEEN_UPDATED"
+msgstr "已更新 1 個電話號碼。"
+
+msgid "IDS_PB_POP_1_CONTACT_WILL_BE_DELETED"
+msgstr "將刪除 1 個聯絡人。"
+
+msgid "IDS_PB_POP_1_CONTACT_REMOVED"
+msgstr "已移除 1 個聯絡人。"
+
+msgid "IDS_PB_OPT_YAHOO_E"
+msgstr "Yahoo!"
+
+msgid "IDS_PB_OPT_WORK"
+msgstr "公司"
+
+msgid "IDS_PB_OPT_VOICE_CALL"
+msgstr "語音通話"
+
+msgid "IDS_PB_OPT_VIDEO_CALL"
+msgstr "視訊通話"
+
+msgid "IDS_PB_OPT_UPDATE_SERVICE_PROVIDER_INFO"
+msgstr "更新系統業者資訊"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACT_ABB"
+msgstr "取消連結聯絡人"
+
+msgid "IDS_PB_OPT_UNLINK_CONTACTS"
+msgstr "取消連結聯絡人"
+
+msgid "IDS_PB_OPT_TAKE_PICTURE_ABB"
+msgstr "拍照"
+
+msgid "IDS_PB_OPT_TAKE_A_PHOTO"
+msgstr "拍照"
+
+msgid "IDS_PB_OPT_SPOUSE"
+msgstr "配偶"
+
+msgid "IDS_PB_OPT_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_OPT_SISTER"
+msgstr "姊妹"
+
+msgid "IDS_PB_OPT_SIM_CARD"
+msgstr "SIM 卡"
+
+msgid "IDS_PB_OPT_SHARE_VIA"
+msgstr "分享方式"
+
+msgid "IDS_PB_OPT_SHARE"
+msgstr "分享"
+
+msgid "IDS_PB_OPT_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_PB_OPT_SELECT_FROM_CONTACTS_ABB"
+msgstr "從聯絡人選擇"
+
+msgid "IDS_PB_OPT_SD_CARD"
+msgstr "記憶卡"
+
+msgid "IDS_PB_OPT_SAVE_CONTACT_TO"
+msgstr "將聯絡人儲存至"
+
+msgid "IDS_PB_OPT_REORDER"
+msgstr "重新排序"
+
+msgid "IDS_PB_OPT_REMOVE"
+msgstr "移除"
+
+msgid "IDS_PB_OPT_RELATIVE"
+msgstr "親戚"
+
+msgid "IDS_PB_OPT_RELATIONSHIP_ABB2"
+msgstr "關係"
+
+msgid "IDS_PB_OPT_REFERRED_BY_ABB"
+msgstr "介紹人"
+
+msgid "IDS_PB_OPT_QQ"
+msgstr "QQ"
+
+msgid "IDS_PB_OPT_PARTNER"
+msgstr "夥伴"
+
+msgid "IDS_PB_OPT_PARENT"
+msgstr "父母"
+
+msgid "IDS_PB_OPT_PAGER"
+msgstr "呼叫器"
+
+msgid "IDS_PB_OPT_OTHER"
+msgstr "其他"
+
+msgid "IDS_PB_OPT_ORGANISATION_ABB"
+msgstr "組織"
+
+msgid "IDS_PB_OPT_MOTHER"
+msgstr "母親"
+
+msgid "IDS_PB_OPT_MOBILE"
+msgstr "行動裝置"
+
+msgid "IDS_PB_OPT_MESSAGE"
+msgstr "訊息"
+
+msgid "IDS_PB_OPT_MANAGE_FAVOURITES_ABB"
+msgstr "管理我的最愛"
+
+msgid "IDS_PB_OPT_MANAGER"
+msgstr "經理"
+
+msgid "IDS_PB_OPT_MAIN"
+msgstr "主號"
+
+msgid "IDS_PB_OPT_LAST_NAME_FIRST_ABB"
+msgstr "姓氏在前"
+
+msgid "IDS_PB_OPT_LAST_NAME"
+msgstr "姓氏"
+
+msgid "IDS_PB_OPT_JABBER"
+msgstr "Jabber"
+
+msgid "IDS_PB_OPT_ICQ"
+msgstr "ICQ"
+
+msgid "IDS_PB_OPT_HOME_ABB"
+msgstr "住家"
+
+msgid "IDS_PB_OPT_HOME"
+msgstr "Home"
+
+msgid "IDS_PB_OPT_HANGOUTS"
+msgstr "Hangouts"
+
+msgid "IDS_PB_OPT_FROM_GALLERY_ABB2"
+msgstr "從媒體瀏覽器"
+
+msgid "IDS_PB_OPT_FRIEND"
+msgstr "好友"
+
+msgid "IDS_PB_OPT_FIRST_NAME_FIRST_ABB"
+msgstr "名字在前"
+
+msgid "IDS_PB_OPT_FIRST_NAME"
+msgstr "名字"
+
+msgid "IDS_PB_OPT_FDN_CONTACT"
+msgstr "FDN 聯絡人"
+
+msgid "IDS_PB_OPT_FAX_HWORK_ABB"
+msgstr "傳真(公司)"
+
+msgid "IDS_PB_OPT_FAX_HHOME_ABB"
+msgstr "傳真(住家)"
+
+msgid "IDS_PB_OPT_FATHER"
+msgstr "父親"
+
+msgid "IDS_PB_OPT_EDIT"
+msgstr "編輯"
+
+msgid "IDS_PB_OPT_DO_NOT_SHOW_AGAIN_ABB2"
+msgstr "不再顯示"
+
+msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB2"
+msgstr "同居伴侶"
+
+msgid "IDS_PB_OPT_DEVICE"
+msgstr "裝置"
+
+msgid "IDS_PB_OPT_CUSTOM"
+msgstr "自訂"
+
+msgid "IDS_PB_OPT_CREATE"
+msgstr "建立"
+
+msgid "IDS_PB_OPT_CHILD"
+msgstr "子女"
+
+msgid "IDS_PB_OPT_BROTHER"
+msgstr "兄弟"
+
+msgid "IDS_PB_OPT_BIRTHDAY"
+msgstr "生日"
+
+msgid "IDS_PB_OPT_ASSISTANT_M_CONTACTS"
+msgstr "助理"
+
+msgid "IDS_PB_OPT_ANNIVERSARY_ABB"
+msgstr "紀念日"
+
+msgid "IDS_PB_OPT_AIM"
+msgstr "AIM"
+
+msgid "IDS_PB_OPT_ADD_FIELD"
+msgstr "增加欄"
+
+msgid "IDS_PB_OPT_ADD"
+msgstr "新增"
+
+msgid "IDS_PB_OPT_ACCOUNT"
+msgstr "帳號"
+
+msgid "IDS_PB_NPBODY_SEARCH"
+msgstr "搜尋"
+
+msgid "IDS_PB_NPBODY_NO_SERVICE_NUMBERS"
+msgstr "無服務號碼"
+
+msgid "IDS_PB_NPBODY_NO_RESULTS_FOUND_ABB"
+msgstr "找不到結果"
+
+msgid "IDS_PB_NPBODY_NO_EMERGENCY_CONTACTS"
+msgstr "無緊急聯絡人"
+
+msgid "IDS_PB_NPBODY_NO_CONTACTS"
+msgstr "無聯絡人"
+
+msgid "IDS_PB_MBODY_SORT_BY"
+msgstr "排序依據"
+
+msgid "IDS_PB_MBODY_SET_PROFILE"
+msgstr "設置設定檔"
+
+msgid "IDS_PB_MBODY_SET_MY_PROFILE"
+msgstr "設定我的個人檔案"
+
+msgid "IDS_PB_MBODY_SEND_TOGETHER_ABB"
+msgstr "同時傳送"
+
+msgid "IDS_PB_MBODY_SEND_INDIVIDUALLY_ABB"
+msgstr "個別傳送"
+
+msgid "IDS_PB_MBODY_SEND_CONTACT_INFORMATION_ABB"
+msgstr "傳送聯絡人資訊"
+
+msgid "IDS_PB_MBODY_SELECT_ALL"
+msgstr "全選"
+
+msgid "IDS_PB_MBODY_PD_CONTACTS_ABB"
+msgstr "%d 位聯絡人"
+
+msgid "IDS_PB_MBODY_ONLY_CONTACTS_WITH_PHONES"
+msgstr "僅顯示有電話的聯絡人"
+
+msgid "IDS_PB_MBODY_IMPORT"
+msgstr "匯入"
+
+msgid "IDS_PB_MBODY_EXPORT"
+msgstr "匯出"
+
+msgid "IDS_PB_MBODY_EVENT"
+msgstr "活動"
+
+msgid "IDS_PB_MBODY_DISPLAY_CONTACTS_WITH_NUMBERS_ABB"
+msgstr "同時顯示聯絡人與號碼"
+
+msgid "IDS_PB_MBODY_1_CONTACT_ABB"
+msgstr "1 位聯絡人"
+
+msgid "IDS_PB_ITAB3_CONTACTS"
+msgstr "聯絡人"
+
+msgid "IDS_PB_HEADER_USB_STORAGE_NOT_AVAILABLE"
+msgstr "無法取得 USB 儲存裝置"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD_ABB"
+msgstr "無法新增"
+
+msgid "IDS_PB_HEADER_UNABLE_TO_ADD"
+msgstr "無法加入"
+
+msgid "IDS_PB_HEADER_SUGGESTED_CONTACTS_ABB"
+msgstr "建議的聯絡人"
+
+msgid "IDS_PB_HEADER_SHARE_VIA"
+msgstr "分享途徑"
+
+msgid "IDS_PB_HEADER_SET_CONTACT_PICTURE_ABB"
+msgstr "設定聯絡人相片"
+
+msgid "IDS_PB_HEADER_SETTINGS"
+msgstr "設定"
+
+msgid "IDS_PB_HEADER_SERVICE_PROVIDER"
+msgstr "系統業者"
+
+msgid "IDS_PB_HEADER_SEND_CONTACT_INFORMATION_ABB"
+msgstr "傳送聯絡人資訊"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_FOR_CALL"
+msgstr "選擇通話 SIM 卡"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_TO_CALL"
+msgstr "選取要撥打的 SIM 卡"
+
+msgid "IDS_PB_HEADER_SELECT_SIM_CARD_FOR_CALL_ABB"
+msgstr "選取通話的 SIM 卡"
+
+msgid "IDS_PB_HEADER_SELECT_CONTACT_ABB2"
+msgstr "選擇聯絡人"
+
+msgid "IDS_PB_HEADER_SELECT"
+msgstr "選擇"
+
+msgid "IDS_PB_HEADER_SAVE_CONTACTS_TO_ABB"
+msgstr "將聯絡人儲存至"
+
+msgid "IDS_PB_HEADER_REORDER"
+msgstr "重新排序"
+
+msgid "IDS_PB_HEADER_REMOVE"
+msgstr "移除"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HPD_ABB"
+msgstr "主要聯絡人 (%d)"
+
+msgid "IDS_PB_HEADER_PRIMARY_CONTACTS_HP1SD_P2SD_ABB"
+msgstr "主要聯絡人 (%1$d/%2$d)"
+
+msgid "IDS_PB_HEADER_PHONE_M_CALL"
+msgstr "電話"
+
+msgid "IDS_PB_HEADER_PERSONAL_CONTACTS_ABB"
+msgstr "個人聯絡人"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB3"
+msgstr "已選擇 %d 個"
+
+msgid "IDS_PB_HEADER_PD_SELECTED_ABB"
+msgstr "已選擇 %d"
+
+msgid "IDS_PB_HEADER_NAME_FORMAT_ABB"
+msgstr "姓名格式"
+
+msgid "IDS_PB_HEADER_MOST_FREQUENT_CONTACTS_ABB2"
+msgstr "常用聯絡人"
+
+msgid "IDS_PB_HEADER_ME"
+msgstr "我"
+
+msgid "IDS_PB_HEADER_MANAGE_FAVOURITES_ABB"
+msgstr "管理我的最愛"
+
+msgid "IDS_PB_HEADER_MAINLIST"
+msgstr "聯絡人清單"
+
+msgid "IDS_PB_HEADER_LINKED_CONTACTS_ABB"
+msgstr "已連結聯絡人"
+
+msgid "IDS_PB_HEADER_IMPORT_CONTACTS_ABB2"
+msgstr "匯入聯絡人"
+
+msgid "IDS_PB_HEADER_IMPORT"
+msgstr "匯入"
+
+msgid "IDS_PB_HEADER_FAVOURITES"
+msgstr "我的最愛"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_TO_SIM_CARD_ABB"
+msgstr "將聯絡人匯出至 SIM 卡"
+
+msgid "IDS_PB_HEADER_EXPORT_CONTACTS_ABB"
+msgstr "匯出聯絡人"
+
+msgid "IDS_PB_HEADER_EXPORT"
+msgstr "匯出"
+
+msgid "IDS_PB_HEADER_ENTER_CUSTOM_LABEL_ABB"
+msgstr "輸入自訂標籤"
+
+msgid "IDS_PB_HEADER_EMERGENCY_SERVICES_ABB"
+msgstr "緊急通話服務"
+
+msgid "IDS_PB_HEADER_EMERGENCY_CONTACTS_ABB2"
+msgstr "緊急聯絡人"
+
+msgid "IDS_PB_HEADER_EDIT"
+msgstr "編輯"
+
+msgid "IDS_PB_HEADER_DISPLAY_NAMES_BY"
+msgstr "顯示名稱依"
+
+msgid "IDS_PB_HEADER_DISPLAY"
+msgstr "顯示"
+
+msgid "IDS_PB_HEADER_DISCARD_CHANGES_ABB"
+msgstr "放棄變更"
+
+msgid "IDS_PB_HEADER_DELETE_ITEM"
+msgstr "刪除項目"
+
+msgid "IDS_PB_HEADER_CREATE"
+msgstr "建立"
+
+msgid "IDS_PB_HEADER_CONTACT_IMAGE"
+msgstr "聯絡人圖像"
+
+msgid "IDS_PB_HEADER_CONTACTS_TO_DISPLAY_ABB"
+msgstr "要顯示的聯絡人"
+
+msgid "IDS_PB_HEADER_CONTACTS_M_APPLICATION"
+msgstr "聯絡人"
+
+msgid "IDS_PB_HEADER_CONTACTS_EXPORTED_ABB"
+msgstr "聯絡人已匯出"
+
+msgid "IDS_PB_HEADER_CHANGE_SAVE_LOCATION_ABB"
+msgstr "變更儲存位置"
+
+msgid "IDS_PB_HEADER_CANCEL_IMPORTING_ABB"
+msgstr "取消匯入"
+
+msgid "IDS_PB_HEADER_CANCEL_EXPORTING_ABB"
+msgstr "取消匯出"
+
+msgid "IDS_PB_BUTTON_TRY_AGAIN"
+msgstr "重試一次"
+
+msgid "IDS_PB_BUTTON_SAVE"
+msgstr "儲存"
+
+msgid "IDS_PB_BUTTON_PHONE"
+msgstr "電話"
+
+msgid "IDS_PB_BUTTON_OK_ABB2"
+msgstr "確定"
+
+msgid "IDS_PB_BUTTON_NOTES"
+msgstr "筆記"
+
+msgid "IDS_PB_BUTTON_MORE"
+msgstr "更多"
+
+msgid "IDS_PB_BUTTON_EXPORT"
+msgstr "匯出"
+
+msgid "IDS_PB_BUTTON_EMAIL_ABB3"
+msgstr "電子郵件"
+
+msgid "IDS_PB_BUTTON_DONE_ABB3"
+msgstr "完成"
+
+msgid "IDS_PB_BUTTON_DISCARD_ABB"
+msgstr "放棄"
+
+msgid "IDS_PB_BUTTON_DELETE_ABB4"
+msgstr "刪除"
+
+msgid "IDS_PB_BUTTON_CREATE_ABB2"
+msgstr "建立"
+
+msgid "IDS_PB_BUTTON_CHANGE_ABB"
+msgstr "變更"
+
+msgid "IDS_PB_BUTTON_CANCEL"
+msgstr "取消"
+
+msgid "IDS_PB_BUTTON_ADD_ACCOUNT_ABB2"
+msgstr "新增帳號"
+
+msgid "IDS_PB_BODY_WINDOWS_LIVE_UC"
+msgstr "Windows Live"
+
+msgid "IDS_PB_BODY_WEBSITE_ABB"
+msgstr "網站"
+
+msgid "IDS_PB_BODY_UPDATING_CONTACT_LIST_ING"
+msgstr "正在更新聯絡人清單…"
+
+msgid "IDS_PB_BODY_UNABLE_TO_SAVE_DUE_TO_SIM_ERROR"
+msgstr "因為發生 SIM 卡錯誤而無法儲存。"
+
+msgid "IDS_PB_BODY_TITLE_M_NAMEPREFIX"
+msgstr "稱謂"
+
+msgid "IDS_PB_BODY_THIS_CONTACT_WILL_BE_DELETED"
+msgstr "將刪除此聯絡人。"
+
+msgid "IDS_PB_BODY_THE_SERVICE_PROVIDER_INFORMATION_OF_THE_SELECTED_CONTACTS_WILL_BE_UPDATED_MSG"
+msgstr "選擇的聯絡人之系統業者資訊將更新。此功能需要網路連線且可能產生額外費用。完成程序所需的時間可能視您的網路連線狀態而不同。"
+
+msgid "IDS_PB_BODY_TELEPHONE"
+msgstr "電話"
+
+msgid "IDS_PB_BODY_SKYPE"
+msgstr "Skype"
+
+msgid "IDS_PB_BODY_SIM_CARD_INITIALISING_ING"
+msgstr "SIM卡正在初始化..."
+
+msgid "IDS_PB_BODY_SERVICE_NUMBER"
+msgstr "服務號碼"
+
+msgid "IDS_PB_BODY_SENDING_NAME_CARDS_INDIVIDUALLY_MAY_TAKE_LONGER_BECAUSE_THE_RECEIVING_DEVICE_MUST_ACCEPT_THEM_ONE_AT_A_TIME"
+msgstr "個別傳送名片可能需要較長的時間,因為接收的裝置必須一次全部接受。"
+
+msgid "IDS_PB_BODY_SENDING_A_NUMBER_OF_CONTACTS_TOGETHER_REDUCES_TRANSMISSION_TIME_HOWEVER_IF_THE_OTHER_DEVICE_DOES_NOT_SUPPORT_THIS_ONLY_ONE_CONTACT_WILL_BE_SENT"
+msgstr "同時傳送多位聯絡人可節省傳輸時間。但是,若其他裝置不支援此功能,僅會傳送一位聯絡人。"
+
+msgid "IDS_PB_BODY_SELECT_HOW_TO_SEND_CONTACT_INFORMATION"
+msgstr "選擇傳送聯絡人資訊的方式。"
+
+msgid "IDS_PB_BODY_SELECTED_MADJ"
+msgstr "已選擇"
+
+msgid "IDS_PB_BODY_REMOVE_FROM_FAVOURITES"
+msgstr "從我的最愛中移除"
+
+msgid "IDS_PB_BODY_PHOTO"
+msgstr "相片"
+
+msgid "IDS_PB_BODY_PHONE_NUMBER_ABB"
+msgstr "電話號碼"
+
+msgid "IDS_PB_BODY_PHONETIC_NAME_ABB"
+msgstr "姓名拼音"
+
+msgid "IDS_PB_BODY_PHONETIC_MIDDLE_NAME_ABB"
+msgstr "中間名拼音"
+
+msgid "IDS_PB_BODY_PHONETIC_LAST_NAME_ABB"
+msgstr "語音姓氏"
+
+msgid "IDS_PB_BODY_PHONETIC_FIRST_NAME_ABB"
+msgstr "語音名字"
+
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "其他電子郵件"
+
+msgid "IDS_PB_BODY_NO_SEARCH_RESULT"
+msgstr "無搜尋結果"
+
+msgid "IDS_PB_BODY_NO_GROUPS"
+msgstr "無群組"
+
+msgid "IDS_PB_BODY_NOTES"
+msgstr "備註"
+
+msgid "IDS_PB_BODY_NICKNAME_ABB"
+msgstr "暱稱"
+
+msgid "IDS_PB_BODY_NAME_SUFFIX_ABB"
+msgstr "姓名綴稱"
+
+msgid "IDS_PB_BODY_NAME_PREFIX"
+msgstr "名字的字首"
+
+msgid "IDS_PB_BODY_NAME"
+msgstr "名稱"
+
+msgid "IDS_PB_BODY_MY_CONTACTS"
+msgstr "我的聯絡人"
+
+msgid "IDS_PB_BODY_MIDDLE_NAME_ABB"
+msgstr "中間名"
+
+msgid "IDS_PB_BODY_LAST_NAME_ABB"
+msgstr "姓"
+
+msgid "IDS_PB_BODY_JOB_TITLE_ABB"
+msgstr "工作職稱"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM_CARD"
+msgstr "從 SIM卡匯入"
+
+msgid "IDS_PB_BODY_IMPORT_FROM_SIM2_CARD"
+msgstr "從 SIM2 匯入"
+
+msgid "IDS_PB_BODY_IMPORTING_ING"
+msgstr "正在匯入..."
+
+msgid "IDS_PB_BODY_IMAGE"
+msgstr "圖像"
+
+msgid "IDS_PB_BODY_IM"
+msgstr "IM"
+
+msgid "IDS_PB_BODY_IF_YOUR_SERVICE_PROVIDER_HAS_PRELOADED_SERVICE_NUMBERS_ON_YOUR_SIM_CARD_THEY_WILL_BE_SHOWN_HERE"
+msgstr "若您的電信業者已將服務號碼預載於您的 SIM 卡上,號碼將顯示於此。"
+
+msgid "IDS_PB_BODY_GALLERY"
+msgstr "媒體瀏覽器"
+
+msgid "IDS_PB_BODY_FIRST_NAME_ABB"
+msgstr "名"
+
+msgid "IDS_PB_BODY_FAX"
+msgstr "傳真"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM_CARD"
+msgstr "匯出至 SIM 卡"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SIM2_CARD"
+msgstr "匯出到 SIM2"
+
+msgid "IDS_PB_BODY_EXPORT_TO_SD_CARD"
+msgstr "匯出到SD卡"
+
+msgid "IDS_PB_BODY_EMAIL"
+msgstr "電子郵件"
+
+msgid "IDS_PB_BODY_DISCARD_CHANGES"
+msgstr "捨棄更改"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
+msgstr "朋友"
+
+msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
+msgstr "家庭"
+
+msgid "IDS_PB_BODY_DATE"
+msgstr "日期"
+
+msgid "IDS_PB_BODY_CO_WORKERS"
+msgstr "同事"
+
+msgid "IDS_PB_BODY_CONTACTS_THAT_HAVE_BEEN_IDENTIFIED_AS_BEING_DUPLICATES_WILL_BE_SUGGESTED_AUTOMATICALLY"
+msgstr "裝置將自動建議被重複辨識的聯絡人。"
+
+msgid "IDS_PB_BODY_CONTACTS"
+msgstr "聯絡人"
+
+msgid "IDS_PB_BODY_COMPANY_ABB"
+msgstr "公司"
+
+msgid "IDS_PB_BODY_CHAMADA_CERTA_APPLICATION_IDENTIFIES_THE_SERVICE_PROVIDER_OF_YOUR_CONTACTS_AND_CHOOSES_A_SIM_CARD_OF_THE_SAME_SERVICE_PROVIDER_TO_MAKE_A_CALL_MSG_LAX"
+msgstr "Chamada Certa application identifies the service provider of your contacts and chooses a SIM card of the same service provider to make a call.\n\nA data connection is required for Chamada Certa feature which may result in additional charges.\n\nThis application will read the contact list phone numbers and will assign each number with its current service provider, saving this information alongside with the other details.\n\nWhen making a call, Chamada Certa can suggest, based on the current SIM cards and the contact's service provider, the best SIM card for this. If the application is not able to suggest another SIM card, the call will proceed with the current SIM card.\n\nChamada Certa uses informations from National Telecommunications Agency - ANATEL and Administrator of Number Portability in Brazil, entitled Brazilian Association of Telecommunications - ABR Telecom. ANATEL and ABR Telecom are responsible for the accuracy and update of the information provided."
+
+msgid "IDS_PB_BODY_BUTTON_FOR_EXPANDING_THE_LIST_T_TTS"
+msgstr "清單展開按鈕"
+
+msgid "IDS_PB_BODY_AUTO_RECOMMENDATIONS_CAN_EXTRACT_THE_HIGHLIGHTS_FROM_SOUND_FILES"
+msgstr "自動推薦可從聲音檔案擷取精采部分。"
+
+msgid "IDS_PB_BODY_AFTER_YOU_CREATE_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "建立聯絡人後,將顯示於此。"
+
+msgid "IDS_PB_BODY_AFTER_YOU_ADD_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "新增聯絡人後,將顯示於此。"
+
+msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
+msgstr "加到我的最愛"
+
+msgid "IDS_PB_BODY_ADDRESS_ABB2"
+msgstr "地址"
+
+msgid "IDS_PB_BODY_ACCOUNTS"
+msgstr "帳號"
+
+msgid "IDS_PB_BODY_AB_M_BLOOD"
+msgstr "AB"
+
+msgid "IDS_ST_POP_PIN_BLOCKED"
+msgstr "PIN 已封鎖"
+
+msgid "IDS_ST_POP_INCORRECT_PUK2_CODE"
+msgstr "PUK2 不正確"
+
+msgid "IDS_ST_POP_INCORRECT_PIN1"
+msgstr "PIN1 碼不正確。"
+
+msgid "IDS_ST_OPT_ADD_EXISTING_CONTACT_ABB"
+msgstr "新增現有聯絡人"
+
+msgid "IDS_ST_NPBODY_NO_PRIMARY_CONTACTS"
+msgstr "無主要聯絡人"
+
+msgid "IDS_ST_HEADER_PRIMARY_CONTACTS_ABB"
+msgstr "主要聯絡人"
+
+msgid "IDS_ST_HEADER_CREATE_PRIMARY_CONTACT_ABB"
+msgstr "建立主要聯絡人"
+
+msgid "IDS_ST_HEADER_ADD_PRIMARY_CONTACTS_ABB2"
+msgstr "新增主要聯絡人"
+
+msgid "IDS_ST_BODY_SET_DATE"
+msgstr "設定日期"
+
+msgid "IDS_ST_BODY_NEW_PIN_AND_CONFIRM_PIN_DO_NOT_MATCH"
+msgstr "新 PIN 碼與確認 PIN 碼無法配對。"
+
+msgid "IDS_ST_BODY_AFTER_YOU_CREATE_PRIMARY_CONTACTS_THEY_WILL_BE_SHOWN_HERE"
+msgstr "建立主要聯絡人後,將顯示於此。"
+
+msgid "IDS_WMGR_HEADER_UNABLE_TO_SELECT_MORE_ITEMS_ABB"
+msgstr "無法選擇更多項目"
+
+msgid "IDS_CALL_TPOP_INSERT_SIM_CARD"
+msgstr "插入 SIM 卡。"
+
+msgid "IDS_CALL_POP_THE_SERVICE_PROVIDER_OF_THE_CONTACT_YOU_ARE_CALLING_IS_P1SS_TAP_OK_TO_MAKE_THIS_CALL_USING_YOUR_P2SS_SIM_CARD"
+msgstr "您正在撥打的聯絡人之電信業者為 %1$s。請輕觸確定來使用 %2$s SIM 卡撥打此通話。"
+
+msgid "IDS_CALL_HEADER_USE_PS_SIM_CARD_ABB"
+msgstr "使用 %s SIM 卡"
+
+msgid "IDS_CALL_BUTTON_CURRENT_SIM_ABB"
+msgstr "目前 SIM 卡"
+
+msgid "IDS_CALL_BODY_PAYPHONE"
+msgstr "公用電話"
+
+msgid "IDS_MUSIC_POP_INVALID_CHARACTER"
+msgstr "字元無效。"
+
+msgid "IDS_HS_BUTTON_PHONE_M_CALL"
+msgstr "電話"
+
+msgid "IDS_ST_BODY_OUTGOING_CALL"
+msgstr "撥出電話"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "來電"
+
+msgid "IDS_PB_TPOP_ONLY_FIRST_PD_CONTACTS_DISPLAYED"
+msgstr "僅會顯示前 %d 位聯絡人。"
+
+msgid "IDS_PB_BODY_MY_PROFILE"
+msgstr "我的設定"
+
+msgid "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT"
+msgstr "輕觸此處以新增捷徑"
+
diff --git a/lib/details/base_addrbook b/main-app/res/temp
index e69de29..e69de29 100644..100755
--- a/lib/details/base_addrbook
+++ b/main-app/res/temp
diff --git a/main-app/src/CMakeLists.txt b/main-app/src/CMakeLists.txt
new file mode 100755
index 0000000..0976817
--- /dev/null
+++ b/main-app/src/CMakeLists.txt
@@ -0,0 +1,47 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+FILE(GLOB SRCS "*.cpp")
+
+SET(CMAKE_INSTALL_RPATH ${CMAKE_APP_LIB_DIR})
+SET(COMMON_LIB common)
+
+IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
+ SET(CMAKE_BUILD_TYPE "Release")
+ENDIF()
+MESSAGE(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
+
+IF("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
+ ADD_DEFINITIONS("-DCLD_DEBUG")
+ ADD_DEFINITIONS("-DCLD_FILE_LOGGING")
+ENDIF()
+
+FIND_PROGRAM(UNAME NAMES uname)
+EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
+IF("${ARCH}" STREQUAL "arm")
+ ADD_DEFINITIONS("-DTARGET")
+ MESSAGE(STATUS "add -DTARGET")
+ENDIF()
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-phone/ph-common/inc
+ ${CMAKE_SOURCE_DIR}/lib-phone/ph-loglist/inc
+ ${CMAKE_SOURCE_DIR}/lib-phone/ph-dialer/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-list/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-tab/inc
+ ${CMAKE_SOURCE_DIR}/lib-contact/ct-common/inc
+)
+
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "ph-loglist"
+ "ph-dialer"
+ "ct-tab"
+ "ct-list"
+ "-pie"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_BIN_DIR})
diff --git a/main-app/src/ContactsApp.cpp b/main-app/src/ContactsApp.cpp
new file mode 100755
index 0000000..b94ee57
--- /dev/null
+++ b/main-app/src/ContactsApp.cpp
@@ -0,0 +1,329 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+
+#include <memory>
+#include <vector>
+#include <app_preference.h>
+#include <contacts.h>
+#include <bundle.h>
+#include <system_settings.h>
+
+#include "ContactsApp.h"
+
+#include "WAppWindow.h"
+#include "WNaviframe.h"
+
+#include "ContactsAppData.h"
+#include "ContactsDebug.h"
+#include "ContactsCommon.h"
+
+#include "PhLogMainListView.h"
+#include "CtListView.h"
+#include "CtTabView.h"
+#include "badge.h"
+#include "ContactsAppControlLauncher.h"
+
+#define CT_AUL_INTERNAL_APPID "__AUL_INTERNAL_APPID__"
+#define V_(str) dgettext("contacts", str)
+
+ContactsApp::ContactsApp()
+{
+ WHIT();
+ __tabView = NULL;
+ __contactsData = NULL;
+
+ __selectedView = TAB_VIEW_NONE;
+ __logsLaunchingTimer = NULL;
+ __dialerView = NULL;
+ contacts_connect();
+}
+
+ContactsApp::~ContactsApp()
+{
+ WHIT();
+ if(__logsLaunchingTimer) {
+ ecore_timer_del(__logsLaunchingTimer);
+ __logsLaunchingTimer = NULL;
+ }
+ contacts_disconnect();
+
+}
+
+void ContactsApp::onPause()
+{
+ WHIT();
+}
+
+void ContactsApp::onResume()
+{
+ WHIT();
+ ContactsAppControlLauncher::getInstance().unblockUi();
+}
+
+bool ContactsApp::onCreate()
+{
+ WENTER();
+
+ char *locale = NULL;
+ system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale);
+ if (locale) {
+ elm_language_set(locale);
+ free(locale);
+ }
+
+ __languageChangedHandler.addEventHandler( APP_EVENT_LANGUAGE_CHANGED, [](app_event_info_h eventInfo, void* userData ) {
+ WHIT();
+ char* lang = NULL;
+ app_event_get_language( eventInfo, &lang );
+
+ if( lang )
+ elm_language_set( lang );
+ free(lang);
+ }, this );
+
+ WWindow* p = new WAppWindow("Phone-Contacts", ELM_WIN_BASIC);
+ attachWindow(p);
+
+ elm_app_base_scale_set(2.6);
+
+ getWindow()->attachBaseUiObject(new WNaviframe());
+
+ WLEAVE();
+
+ return true;
+}
+
+void ContactsApp::onTerminate()
+{
+ WHIT();
+
+ if( __contactsData ) {
+ free(__contactsData->calleeId);
+ free( __contactsData );
+ }
+ __contactsData = NULL;
+}
+
+void ContactsApp::__pushJob(void* data)
+{
+ WDEBUG("push");
+ ContactsApp* app = (ContactsApp*)data;
+ WNaviframe* frame = (WNaviframe*)app->getWindow()->getBaseUiObject();
+
+ std::shared_ptr<std::vector<CtTabSubView>> subView(new std::vector<CtTabSubView>);
+ subView->push_back(TAB_VIEW_DIALER);
+ subView->push_back(TAB_VIEW_LOGS);
+ subView->push_back(TAB_VIEW_CONTACTS);
+
+ app->__tabView = new CtTabView(app->__selectedView, false, app->__contactsData);
+
+ std::string number = app->__getAppControlPhoneNumber(app->__contactsData->appControl);
+ IContactsTabPageView* view = new PhDialerView;
+ view->setName("Dialer");
+ app->__tabView->insert(TAB_VIEW_DIALER, view);
+ app->__dialerView = (PhDialerView*)view;
+ app->__dialerView->setNumber(number);
+ view = new PhLogMainListView(app->__contactsData);
+ view->setName("Logs");
+ app->__tabView->insert(TAB_VIEW_LOGS, view);
+
+ view = new CtListView(LIST_VIEW_DEFAULT, LIST_DATA_DEFAULT, LIST_CTRL_DEFAULT);
+ view->setName("Contacts");
+ app->__tabView->insert(TAB_VIEW_CONTACTS, view);
+
+ frame->push(app->__tabView);
+ WDEBUG("pushed");
+ return;
+}
+
+void ContactsApp::__firstResetJob(void* data)
+{
+ WDEBUG("reset on first launch");
+ ContactsApp* app = (ContactsApp*)data;
+ app->__tabView->reset(app->__selectedView);
+ app->__selectedView = TAB_VIEW_NONE;
+ if (app->__contactsData->appControl) {
+ app_control_destroy(app->__contactsData->appControl);
+ app->__contactsData->appControl = NULL;
+ }
+ WDEBUG("reseted");
+ return;
+}
+
+void ContactsApp::__secondResetJob(void* data)
+{
+ WDEBUG("reset on second launch");
+ ContactsApp* app = (ContactsApp*)data;
+ app->__tabView->reset(app->__selectedView);
+
+ if (app->__contactsData->appControl) {
+ char *operation = NULL;
+ app_control_get_operation(app->__contactsData->appControl, &operation);
+ if (operation && (strcmp(operation, APP_CONTROL_OPERATION_DIAL) == 0)) {
+ std::string number = app->__getAppControlPhoneNumber(app->__contactsData->appControl);
+ app->__dialerView->setNumber(number);
+ }
+ free(operation);
+
+ app_control_destroy(app->__contactsData->appControl);
+ app->__contactsData->appControl = NULL;
+ }
+ WDEBUG("reseted");
+ return;
+}
+
+void ContactsApp::onAppControl(app_control_h request, bool firstLaunch)
+{
+ WENTER();
+
+ WDEBUG("app_control_h %p", request);
+ CtTabSubView selectedView = TAB_VIEW_DIALER;
+
+ if(firstLaunch) {
+ WINFO("it is first launch!");
+ WASSERT(__tabView == NULL);
+
+ __contactsData = (ContactsData*)calloc(1, sizeof(ContactsData));
+ WPRET_M(!__contactsData, "calloc() failed");
+ app_control_clone(&__contactsData->appControl, request);
+ app_control_get_app_id(__contactsData->appControl, &__contactsData->calleeId);
+ WINFO("calleeId %s", __contactsData->calleeId);
+
+ ContactsCommon::loadLocalization();
+ if(__contactsData->calleeId && strcmp(__contactsData->calleeId, CONTACTS_PKG) == 0) {
+ selectedView = TAB_VIEW_CONTACTS;
+ }
+ else if((__contactsData->calleeId && strcmp(__contactsData->calleeId, PHONE_PKG) == 0 ) ||
+ ContactsCommon::getAppControlData(request, CONTACTS_APPCONTROL_KEY_OPERATION).compare(APP_CONTROL_OPERATION_DIAL) == 0) {
+ selectedView = __decideTabforPhone(__contactsData->appControl);
+
+ if (selectedView == TAB_VIEW_LOGS
+ || selectedView == TAB_VIEW_LOGS_CHECK) {
+ ecore_thread_run([](void *data, Ecore_Thread *thread) {
+ //ContactsCommon::addNumberDashes("1");
+ }, NULL, NULL, NULL);
+ }
+ } else if(!__contactsData->calleeId) {
+ selectedView = TAB_VIEW_CONTACTS;
+ } else {
+ WERROR("wrong package %s", __contactsData->calleeId);
+ }
+
+ __selectedView = selectedView;
+
+ ecore_job_add(__pushJob, this);
+ ecore_job_add(__firstResetJob, this);
+ }
+ else {
+ WDEBUG("it is not first launch!");
+ free(__contactsData->calleeId);
+ app_control_clone(&__contactsData->appControl, request);
+ app_control_get_app_id(__contactsData->appControl, &__contactsData->calleeId);
+ WINFO("calleeId %s", __contactsData->calleeId);
+ if((__contactsData->calleeId && 0 == strcmp(__contactsData->calleeId, PHONE_PKG)) ||
+ ContactsCommon::getAppControlData(request, CONTACTS_APPCONTROL_KEY_OPERATION).compare(APP_CONTROL_OPERATION_DIAL) == 0) {
+ selectedView = __decideTabforPhone(__contactsData->appControl);
+ }
+ else if(__contactsData->calleeId && 0 == strcmp(__contactsData->calleeId, CONTACTS_PKG)) {
+ selectedView = TAB_VIEW_CONTACTS;
+ }
+ else {
+ WERROR("no callee id");
+ }
+
+ __selectedView = selectedView;
+
+ ecore_job_add(__secondResetJob, this);
+ }
+
+ //important, this line should be exist actually. but in case contact app, it does not need.
+ //becasue, in some part, already handled by other operations
+ //especially this is for launch performance
+ //WApp::onAppControl(request, firstLaunch);
+ WLEAVE();
+}
+
+CtTabSubView ContactsApp::__decideTabforPhone(app_control_h appControl)
+{
+ CtTabSubView app = TAB_VIEW_NONE;
+
+ if (ContactsCommon::getAppControlData(appControl, CONTACTS_APPCONTROL_KEY_OPERATION).compare(APP_CONTROL_OPERATION_DIAL) == 0)
+ app = TAB_VIEW_DIALER;
+ else if (ContactsCommon::getAppControlData(appControl, "MMICHECK_SEND").compare("1") == 0)
+ app = TAB_VIEW_DIALER;
+ else if (__isMissedCallExist())
+ {
+ if (ContactsCommon::getAppControlData(appControl, "CALLER").compare("lock_screen") == 0)
+ {
+ __logsLaunchingTimer = ecore_timer_add(0.3, [](void* data)->Eina_Bool {
+ ContactsApp *p = (ContactsApp *)data;
+ app_control_h reply;
+ app_control_create(&reply);
+ app_control_add_extra_data(reply, "destroy_request", "true");
+ app_control_reply_to_launch_request(reply, p->__contactsData->appControl, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(reply);
+ p->__logsLaunchingTimer = NULL;
+ return ECORE_CALLBACK_CANCEL;
+ }, this);
+ }
+ app = TAB_VIEW_LOGS;
+ }
+ else if (ContactsCommon::getAppControlData(appControl, "launch_type").compare("log") == 0)
+ app = TAB_VIEW_LOGS;
+ else if (ContactsCommon::getAppControlData(appControl, "logs").compare("missed_call") == 0)
+ app = TAB_VIEW_LOGS;
+ else {//(app == TAB_VIEW_NONE)
+ int error = preference_get_int(CT_KEY_LAST_SELECTED_TAB_INDEX_FOR_PHONE, (int*)&app);
+ if (error != PREFERENCE_ERROR_NONE)
+ app = TAB_VIEW_DIALER;
+ }
+
+ preference_set_int(CT_KEY_LAST_SELECTED_TAB_INDEX_FOR_PHONE, (int)app);
+ WDEBUG("last selectedView saved as %d", app);
+
+ return app;
+}
+
+bool ContactsApp::__isMissedCallExist()
+{
+ unsigned int count = 0;
+ badge_get_count(PHONE_PKG, &count);
+ return count > 0;
+}
+
+std::string ContactsApp::__getAppControlPhoneNumber(app_control_h appControl)
+{
+ std::string number;
+ do {
+ std::string number_with_prefix = ContactsCommon::getAppControlData(appControl, CONTACTS_APPCONTROL_KEY_URI);
+ if(number_with_prefix.empty()) {
+ break;
+ }
+
+ const char *prefix = "tel:";
+ size_t pos = number_with_prefix.find(prefix);
+ if(0 != pos) {
+ WERROR("phone number format is invalid (%s)", number_with_prefix.c_str());
+ break;
+ }
+ number = number_with_prefix.replace(number_with_prefix.begin(), number_with_prefix.begin() + strlen(prefix), "");
+
+ } while (false);
+
+ return number;
+}
diff --git a/main-app/src/ContactsApp.h b/main-app/src/ContactsApp.h
new file mode 100755
index 0000000..8f67e15
--- /dev/null
+++ b/main-app/src/ContactsApp.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CONTACTS_APP_H_
+#define _CONTACTS_APP_H_
+
+#include "WApp.h"
+#include "WAppEventHandler.h"
+#include "CtTabView.h"
+#include "ContactsCommon.h"
+#include "PhDialerView.h"
+
+typedef enum
+{
+ PH_LAUNCH_DIALER = 0,
+ PH_LAUNCH_LOG
+} PhLaunchApp;
+
+class ContactsApp : public WApp
+{
+public:
+ ContactsApp();
+ virtual ~ContactsApp();
+private:
+ virtual bool onCreate();
+ virtual void onTerminate();
+ virtual void onAppControl(app_control_h request, bool firstLaunch);
+ virtual void onPause();
+ virtual void onResume();
+
+private:
+ CtTabSubView __decideTabforPhone(app_control_h appControl);
+ std::string __getAppControlPhoneNumber(app_control_h appControl);
+ bool __isMissedCallExist();
+
+ static void __pushJob(void* data);
+ static void __firstResetJob(void* data);
+ static void __secondResetJob(void* data);
+
+private:
+ WAppEventHandler __languageChangedHandler;
+ CtTabView *__tabView;
+ ContactsData *__contactsData;
+ CtTabSubView __selectedView;
+
+ Ecore_Timer *__logsLaunchingTimer;
+ PhDialerView* __dialerView;
+
+};
+
+#endif // _CONTACTS_APP_H_
diff --git a/main-app/src/ContactsAppData.cpp b/main-app/src/ContactsAppData.cpp
new file mode 100755
index 0000000..373aafd
--- /dev/null
+++ b/main-app/src/ContactsAppData.cpp
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ContactsAppData.h"
+#include <app.h>
+
+ContactsAppData* ContactsAppData::__instance = NULL;
+
+ContactsAppData::ContactsAppData()
+{
+
+}
+
+ContactsAppData::~ContactsAppData()
+{
+
+}
+
+ContactsAppData* ContactsAppData::getInstance()
+{
+ if (__instance == NULL)
+ __instance = new ContactsAppData();
+ return __instance;
+}
+
+
+void ContactsAppData::destroy()
+{
+ if( __instance )
+ {
+ delete __instance;
+ __instance = NULL;
+ }
+}
diff --git a/main-app/src/ContactsAppData.h b/main-app/src/ContactsAppData.h
new file mode 100755
index 0000000..8dda883
--- /dev/null
+++ b/main-app/src/ContactsAppData.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _CONTACTS_APP_DATA_H_
+#define _CONTACTS_APP_DATA_H_
+
+#include "WDefine.h"
+
+#define ad ContactsAppData::getInstance()
+
+
+class ContactsAppData
+{
+public:
+ static ContactsAppData* getInstance();
+ static void destroy();
+
+public:
+
+private:
+ ContactsAppData();
+ ~ContactsAppData();
+ WDISABLE_COPY_AND_ASSIGN(ContactsAppData);
+private:
+ static ContactsAppData* __instance;
+
+};
+
+#endif // _CONTACTS_APP_DATA_H_
diff --git a/main-app/src/PreferenceInitializer.cpp b/main-app/src/PreferenceInitializer.cpp
new file mode 100644
index 0000000..91fe806
--- /dev/null
+++ b/main-app/src/PreferenceInitializer.cpp
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <app_preference.h>
+
+#include "WDebugBase.h"
+#include "CtType.h"
+
+class PreferenceInitializer
+{
+private:
+ static void initializeString(const char *key, const char *defaultValue)
+ {
+ bool keyExists = false;
+
+ preference_is_existing(key, &keyExists);
+ if(!keyExists)
+ {
+ preference_set_string(key, defaultValue);
+ }
+ }
+
+ static void initializeInt(const char *key, int defaultValue)
+ {
+ bool keyExists = false;
+
+ preference_is_existing(key, &keyExists);
+ if(!keyExists)
+ {
+ preference_set_int(key, defaultValue);
+ }
+ }
+
+ static void initializeBool(const char *key, bool defaultValue)
+ {
+ bool keyExists = false;
+
+ preference_is_existing(key, &keyExists);
+ if(!keyExists)
+ {
+ preference_set_boolean(key, defaultValue);
+ }
+ }
+
+ static bool preferenceInitialization();
+
+ static bool initializationVariable;
+};
+
+bool PreferenceInitializer::initializationVariable = PreferenceInitializer::preferenceInitialization();
+
+bool PreferenceInitializer::preferenceInitialization()
+{
+ WHIT();
+
+ initializeString(CT_KEY_LIST_DISPLAY_ADDRESSBOOK, "");
+ initializeString(CT_KEY_LIST_MFC_PERSON_IDS, "");
+ initializeString(CT_KEY_INPUT_BASE_ADDRESSBOOK, "http://tizen.org/addressbook/phone");
+
+ initializeInt(CT_KEY_DISPLAY_WITH_NUMBER, 0);
+ initializeInt(CT_KEY_LAST_SELECTED_TAB_INDEX_FOR_PHONE, 0);
+ initializeInt(CT_KEY_NUM_OF_LINKABLE_CONTACTS, 0);
+ initializeInt(CT_KEY_SETTING_CONTACT_SHARING_SETTINGS, 0);
+
+ initializeBool(CT_KEY_CONTACT_CREATE_FIRST, true);
+ initializeBool(CT_KEY_MYPROFILE_CREATE_FIRST, true);
+ initializeBool(CT_KEY_SHOW_LINK_CONTACTS_TOAST_POPUP, false);
+
+ return true;
+}
+
diff --git a/main-app/src/main.cpp b/main-app/src/main.cpp
new file mode 100755
index 0000000..41bbd0f
--- /dev/null
+++ b/main-app/src/main.cpp
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "ContactsDebug.h"
+#include "ContactsApp.h"
+
+WAPP_ASSIST_EXPORT int main(int argc, char *argv[])
+{
+ WENTER();
+
+ ContactsApp app;
+ int ret = app.start( argc, argv );
+
+ WDEBUG("app return=%d", ret);
+ WLEAVE();
+}
diff --git a/main-app/tizen-manifest.xml b/main-app/tizen-manifest.xml
new file mode 100644
index 0000000..46710cc
--- /dev/null
+++ b/main-app/tizen-manifest.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.4" package="org.tizen.contacts" version="1.0.0">
+ <ui-application appid="org.tizen.contacts" exec="contacts" multiple="false" nodisplay="false" taskmanage="true" type="capp">
+ <label>Contacts</label>
+ <icon>org.tizen.contacts.png</icon>
+ </ui-application>
+ <privileges>
+ <privilege>http://tizen.org/privilege/callhistory.read</privilege>
+ <privilege>http://tizen.org/privilege/contact.write</privilege>
+ <privilege>http://tizen.org/privilege/telephony</privilege>
+ <privilege>http://tizen.org/privilege/callhistory.write</privilege>
+ <privilege>http://tizen.org/privilege/call</privilege>
+ <privilege>http://tizen.org/privilege/contact.read</privilege>
+ </privileges>
+</manifest>
diff --git a/org.tizen.contacts-appservice.manifest b/org.tizen.contacts-appservice.manifest
deleted file mode 100644
index 7b27910..0000000
--- a/org.tizen.contacts-appservice.manifest
+++ /dev/null
@@ -1,12 +0,0 @@
-<manifest>
- <define>
- <domain name="org.tizen.contacts-appservice" policy="restricted"/>
- </define>
- <assign>
- <filesystem path="/usr/share/packages/org.tizen.contacts-appservice.xml" label="_" />
- <filesystem path="/usr/share/icons/default/small/org.tizen.contacts-appservice.png" label="_" />
- </assign>
- <request>
- <domain name="org.tizen.contacts-appservice"/>
- </request>
-</manifest>
diff --git a/org.tizen.contacts-appservice.rule b/org.tizen.contacts-appservice.rule
deleted file mode 100644
index e59228f..0000000
--- a/org.tizen.contacts-appservice.rule
+++ /dev/null
@@ -1,215 +0,0 @@
-org.tizen.contacts-appservice libaccounts-svc rw---
-org.tizen.contacts-appservice ail::db rw---
-org.tizen.contacts-appservice system::vconf rwxat
-org.tizen.contacts-appservice system::homedir rwxat
-org.tizen.contacts-appservice net-config r-x--
-org.tizen.contacts-appservice xorg rwx--
-org.tizen.contacts-appservice contacts-service rwx--
-org.tizen.contacts-appservice isf rwx--
-org.tizen.contacts-appservice media-data::db rw---
-org.tizen.contacts-appservice sound_server rwx--
-org.tizen.contacts-appservice pkgmgr r----
-org.tizen.contacts-appservice efreet r-x--
-org.tizen.contacts-appservice dbus rwxat
-org.tizen.contacts-appservice pulseaudio rwxat
-org.tizen.contacts-appservice appsvc::db rw---
-org.tizen.contacts-appservice msg-service rwx--
-org.tizen.contacts-appservice syspopup::db rwx--
-org.tizen.contacts-appservice contacts-service::db rwx--
-org.tizen.contacts-appservice contacts-service::svc rw---
-org.tizen.contacts-appservice contacts-service::phonelog rw---
-org.tizen.contacts-appservice libug-phone::data rwx--
-org.tizen.contacts-appservice ug_bluetooth r-x--
-org.tizen.contacts-appservice system::use_internet rwxat
-org.tizen.contacts-appservice org.tizen.phone r-x--
-org.tizen.contacts-appservice libaccounts-svc::db rw---
-org.tizen.contacts-appservice phone-misc::db rw---
-org.tizen.contacts-appservice app-svc::db rw---
-org.tizen.contacts-appservice org.tizen.message rwx--
-org.tizen.contacts-appservice org.tizen.indicator rwx--
-org.tizen.contacts-appservice org.tizen.facebook rwx--
-org.tizen.contacts-appservice org.tizen.setting rwx--
-org.tizen.contacts-appservice immvibed rwx--
-org.tizen.contacts-appservice org.tizen.contacts rwxat
-org.tizen.contacts-appservice org.tizen.contacts-viewer rwxat
-org.tizen.contacts-appservice ui-gadget::client rwx--
-org.tizen.contacts-appservice org.tizen.camera-app rw---
-org.tizen.contacts-appservice media-server rwx--
-org.tizen.contacts-appservice thumb-server r----
-org.tizen.contacts-appservice ug-image-viewer-efl rwxat
-org.tizen.contacts-appservice system::media rwxat
-org.tizen.contacts-appservice system::share rwxat
-org.tizen.contacts-appservice sys-assert::core rwxat
-org.tizen.contacts-appservice org.tizen.gallery-service rwx--
-org.tizen.contacts-appservice csc-manager rwx--
-org.tizen.contacts-appservice org.tizen.email rwx--
-org.tizen.contacts-appservice org.tizen.dropbox r-x--
-org.tizen.contacts-appservice pkgmgr::db rw---
-org.tizen.contacts-appservice org.tizen.cluster-home rwx--
-org.tizen.contacts-appservice org.tizen.easy-home -w---
-org.tizen.contacts-appservice org.tizen.gallery rwxa-
-org.tizen.contacts-appservice system::app_logging -w---
-org.tizen.contacts-appservice mdm-server rwx--
-org.tizen.contacts-appservice nfc-share-service --x--
-org.tizen.contacts-appservice stest-service -w---
-org.tizen.contacts-appservice sdbd rwx--
-org.tizen.contacts-appservice data-provider-master::shortcut rw---
-org.tizen.contacts-appservice data-provider-master::shortcut.shortcut -w---
-org.tizen.contacts-appservice data-provider-master::shortcut.livebox -w---
-org.tizen.app-tray org.tizen.contacts-appservice rwx--
-e17 org.tizen.contacts-appservice rw---
-system::use_internet org.tizen.contacts-appservice rw---
-isf org.tizen.contacts-appservice r-x--
-org.tizen.quickpanel org.tizen.contacts-appservice r-x--
-org.tizen.cluster-home org.tizen.contacts-appservice r-x--
-org.tizen.easy-home org.tizen.contacts-appservice r-x--
-org.tizen.gallery-service org.tizen.contacts-appservice rwx--
-ui-gadget::client org.tizen.contacts-appservice rwxa-
-org.tizen.facebook org.tizen.contacts-appservice --x--
-org.tizen.lockscreen org.tizen.contacts-appservice r-x--
-org.tizen.dailybriefing-agent org.tizen.contacts-appservice --x--
-org.tizen.volume org.tizen.contacts-appservice --x--
-activesync-ui::eas-appsvc org.tizen.contacts-appservice rwx--
-org.tizen.setting org.tizen.contacts-appservice rwx--
-nfc-share-service org.tizen.contacts-appservice r-x--
-stest-service org.tizen.contacts-appservice r-x--
-crash-viewer org.tizen.contacts-appservice --x--
-obexd org.tizen.contacts-appservice r-x--
-org.tizen.data-provider-slave email-service::db rw---
-org.tizen.data-provider-slave org.tizen.contacts-appservice r-x--
-org.tizen.data-provider-slave org.tizen.contacts r-x--
-org.tizen.data-provider-slave contacts-service rwx--
-org.tizen.data-provider-slave contacts-service::svc rw---
-org.tizen.data-provider-slave email-service::db rw---
-org.tizen.data-provider-slave org.tizen.contacts-appservice r-x--
-org.tizen.data-provider-slave org.tizen.contacts r-x--
-org.tizen.data-provider-slave contacts-service rwx--
-org.tizen.data-provider-slave contacts-service::svc rw---
-org.tizen.contacts-appservice xorg::screencapture r----
-org.tizen.contacts-appservice device::app_logging -w---
-org.tizen.contacts-appservice org.tizen.smemo rwx--
-org.tizen.contacts-appservice ims-service::db rw---
-org.tizen.contacts-appservice system::vconf_inhouse rwxat
-org.tizen.contacts-appservice system::vconf_setting rwxat
-org.tizen.contacts-appservice system::vconf_system rw---
-media-server org.tizen.contacts-appservice -w---
-org.tizen.contacts-appservice msg-service::read rw---
-org.tizen.contacts-appservice msg-service::write rw---
-org.tizen.contacts-appservice msg-service::wappush rw---
-org.tizen.contacts-appservice telephony_framework::api_manager r----
-org.tizen.contacts-appservice telephony_framework::api_modem -w---
-org.tizen.contacts-appservice system::home rwxat
-org.tizen.contacts-appservice org.tizen.gallery::web-media.db rwx--
-org.tizen.contacts-appservice org.tizen.gallery::gallery-media.db rwx--
-org.tizen.contacts-appservice download-provider rw---
-org.tizen.contacts-appservice drmfw rw---
-org.tizen.contacts-appservice cbhm rwx--
-org.tizen.contacts-appservice data-provider-master rw---
-org.tizen.contacts-appservice data-provider-master::utility rw---
-org.tizen.contacts-appservice data-provider-master::notification rw---
-org.tizen.contacts-appservice allshare::svc rwx--
-org.tizen.contacts-appservice system-server rwxa-
-org.tizen.contacts-appservice deviced rwxa-
-org.tizen.contacts-appservice org.tizen.myfile rw---
-org.tizen.contacts-appservice dali rwxat
-org.tizen.contacts-appservice crash-worker --x--
-org.tizen.contacts-appservice cloud-content-sync::db rw---
-org.tizen.contacts-appservice cloud-content-sync rwx--
-org.tizen.contacts-appservice device::video rw---
-org.tizen.contacts-appservice device::hwcodec rw---
-org.tizen.contacts-appservice org.tizen.gallery::face-svc.db rwx--
-org.tizen.contacts-appservice ug-email-viewer-efl rwx--
-org.tizen.contacts-appservice email-service rwx--
-org.tizen.contacts-appservice ug-email-docsearch-efl --x--
-org.tizen.contacts-appservice camera-external-engine rw---
-org.tizen.contacts-appservice system::vconf_inouse r----
-org.tizen.contacts-appservice system::vconf_privacy r----
-org.tizen.contacts-appservice system::vconf_multimedia rw---
-org.tizen.contacts-appservice system::vconf_network rw---
-org.tizen.contacts-appservice system::vconf_misc r----
-aul org.tizen.contacts-appservice rwx--
-org.tizen.cluster-home ug-image-viewer-efl r-x--
-org.tizen.lockscreen ug-image-viewer-efl r-x--
-org.tizen.contacts-appservice smemo::db rw---
-org.tizen.contacts-appservice org.tizen.browser rw---
-org.tizen.contacts-appservice org.tizen.image-editor r----
-org.tizen.contacts-appservice org.tizen.calendar rwx--
-org.tizen.contacts-appservice calendar-service rwx--
-org.tizen.contacts-appservice device::sys_logging -w---
-org.tizen.contacts-appservice email-service::db rw---
-org.tizen.contacts-appservice webkit2-efl r-x--
-org.tizen.contacts-appservice data-provider-master::badge rw---
-org.tizen.contacts-appservice resman::db rw---
-org.tizen.contacts-appservice map-efl rwxat
-org.tizen.contacts-appservice ug-email-composer-efl rwxat
-org.tizen.contacts-appservice secure-storage::pkcs12 r----
-org.tizen.contacts-appservice email-service::write rw---
-org.tizen.contacts-appservice calendar-service::svc rw---
-org.tizen.contacts-appservice bt-service::admin -w---
-org.tizen.contacts-appservice bt-service::gap -w---
-org.tizen.contacts-appservice bt-service::manager -w---
-org.tizen.contacts-appservice svi-data rwxat
-org.tizen.contacts-appservice org.tizen.volume rwx--
-org.tizen.contacts-appservice org.tizen.setting::default-resources r-x--
-org.tizen.contacts-appservice device::camera rw---
-org.tizen.contacts-appservice device::mdnie rw---
-org.tizen.contacts-appservice location_fw::client rwx--
-org.tizen.contacts-appservice pkgmer::db r----
-org.tizen.contacts-appservice power_manager rwx--
-org.tizen.contacts-appservice stt-server rwx--
-org.tizen.contacts-appservice tts-server rwx--
-org.tizen.contacts-appservice ug-camera-efl rwxat
-org.tizen.contacts-appservice vcs-server rwx--
-org.tizen.contacts-appservice image-filter-d::db rw---
-org.tizen.contacts-appservice location_fw::db rw---
-org.tizen.contacts-appservice org.tizen.svoice rwx--
-org.tizen.contacts-appservice oma-ds-agent rwx--
-oma-ds-agent org.tizen.contacts-appservice rwx--
-org.tizen.contacts-appservice oma-ds-agent::cfg rwxat
-org.tizen.setting oma-ds-agent::cfg rwx--
-system::use_internet oma-ds-agent rwx--
-oma-ds-agent system::use_internet rwx--
-org.tizen.contacts-appservice syslogd rwx--
-org.tizen.contacts-appservice e17 r----
-org.tizen.contacts-appservice dlogutil r-x--
-org.tizen.contacts-appservice telephony_framework r-x--
-org.tizen.contacts-appservice aul r-x--
-org.tizen.contacts-appservice ode r-x--
-org.tizen.contacts-appservice sensor-framework r-x--
-org.tizen.contacts-appservice secure-storage r-x--
-org.tizen.contacts-appservice starter r-x--
-org.tizen.contacts-appservice osp-app-service r-x--
-org.tizen.contacts-appservice osp-security-service r-x--
-org.tizen.contacts-appservice osp-channel-service r-x--
-org.tizen.contacts-appservice org.tizen.app-tray r-x--
-org.tizen.contacts-appservice org.tizen.quickpanel r-x--
-org.tizen.contacts-appservice connman rwx--
-org.tizen.contacts-appservice mobicore-daemon r-x--
-org.tizen.contacts-appservice alarm-server rwx--
-org.tizen.contacts-appservice brcm_daemon r-x--
-org.tizen.contacts-appservice resman r-x--
-org.tizen.contacts-appservice osp-connectivity-service rwx--
-org.tizen.contacts-appservice push-service rwx--
-org.tizen.contacts-appservice eas-engine rwx--
-org.tizen.contacts-appservice org.tizen.data-provider-slave rwx--
-org.tizen.contacts-appservice org.tizen.data-provider-slave rwx--
-org.tizen.contacts-appservice usb-server rwx--
-org.tizen.contacts-appservice mtp-responder rwx--
-ui-gadget::client oma-ds-agent::svc rw---
-org.tizen.contacts-appservice data-provider-master::notification.client -w---
-org.tizen.contacts-appservice samsung-account-front r-x--
-org.tizen.contacts-appservice worldclock::db rw---
-context-service org.tizen.contacts-appservice r-x--
-org.tizen.contacts-appservice org.tizen.smartsearch --x--
-org.tizen.contacts-appservice ug-map-efl rwxat
-org.tizen.contacts-appservice obexd r-x--
-org.tizen.contacts-appservice org.tizen.fileshare-service rwxat
-org.tizen.contacts-appservice wifi_direct_manager rw---
-org.tizen.fileshare-service org.tizen.contacts-appservice r-x--
-org.tizen.contacts-appservice nfc-manager rwx--
-org.tizen.contacts-appservice nfc-manager::p2p rwx--
-org.tizen.contacts-appservice nfc-manager::admin rwx--
-org.tizen.contacts-appservice ug-setting-gallery-efl rwxat
-org.tizen.contacts-appservice org.tizen.music-player --x--
-org.tizen.contacts-appservice msg-service::db rw---
-
diff --git a/org.tizen.contacts-viewer.manifest b/org.tizen.contacts-viewer.manifest
deleted file mode 100644
index 8b5dea3..0000000
--- a/org.tizen.contacts-viewer.manifest
+++ /dev/null
@@ -1,13 +0,0 @@
-<manifest>
- <define>
- <domain name="org.tizen.contacts-viewer" policy="restricted"/>
- </define>
- <assign>
- <filesystem path="/usr/share/packages/org.tizen.contacts-viewer.xml" label="_" />
- <filesystem path="/usr/share/applications/org.tizen.contacts-viewer.desktop" label="_" />
- <filesystem path="/usr/share/icons/default/small/org.tizen.contacts-viewer.png" label="_" />
- </assign>
- <request>
- <domain name="org.tizen.contacts-viewer"/>
- </request>
-</manifest>
diff --git a/org.tizen.contacts-viewer.rule b/org.tizen.contacts-viewer.rule
deleted file mode 100644
index 79ae3d1..0000000
--- a/org.tizen.contacts-viewer.rule
+++ /dev/null
@@ -1,215 +0,0 @@
-org.tizen.contacts-viewer libaccounts-svc rw---
-org.tizen.contacts-viewer ail::db rw---
-org.tizen.contacts-viewer system::vconf rwxat
-org.tizen.contacts-viewer system::homedir rwxat
-org.tizen.contacts-viewer net-config r-x--
-org.tizen.contacts-viewer xorg rwx--
-org.tizen.contacts-viewer contacts-service rwx--
-org.tizen.contacts-viewer isf rwx--
-org.tizen.contacts-viewer media-data::db rw---
-org.tizen.contacts-viewer sound_server rwx--
-org.tizen.contacts-viewer pkgmgr r----
-org.tizen.contacts-viewer efreet r-x--
-org.tizen.contacts-viewer dbus rwxat
-org.tizen.contacts-viewer pulseaudio rwxat
-org.tizen.contacts-viewer appsvc::db rw---
-org.tizen.contacts-viewer msg-service rwx--
-org.tizen.contacts-viewer syspopup::db rwx--
-org.tizen.contacts-viewer contacts-service::db rwx--
-org.tizen.contacts-viewer contacts-service::svc rw---
-org.tizen.contacts-viewer libug-phone::data rwx--
-org.tizen.contacts-viewer ug_bluetooth r-x--
-org.tizen.contacts-viewer system::use_internet rwxat
-org.tizen.contacts-viewer org.tizen.phone r-x--
-org.tizen.contacts-viewer libaccounts-svc::db rw---
-org.tizen.contacts-viewer phone-misc::db rw---
-org.tizen.contacts-viewer app-svc::db rw---
-org.tizen.contacts-viewer org.tizen.message rwx--
-org.tizen.contacts-viewer org.tizen.indicator rwx--
-org.tizen.contacts-viewer org.tizen.facebook rwx--
-org.tizen.contacts-viewer org.tizen.setting rwx--
-org.tizen.contacts-viewer immvibed rwx--
-org.tizen.contacts-viewer org.tizen.contacts rwx--
-org.tizen.contacts-viewer ui-gadget::client rwx--
-org.tizen.contacts-viewer org.tizen.camera-app rw---
-org.tizen.contacts-viewer media-server rwx--
-org.tizen.contacts-viewer thumb-server r----
-org.tizen.contacts-viewer ug-image-viewer-efl rwxat
-org.tizen.contacts-viewer system::media rwxat
-org.tizen.contacts-viewer system::share rwxat
-org.tizen.contacts-viewer sys-assert::core rwxat
-org.tizen.contacts-viewer org.tizen.gallery-service rwx--
-org.tizen.contacts-viewer csc-manager rwx--
-org.tizen.contacts-viewer org.tizen.email rwx--
-org.tizen.contacts-viewer org.tizen.dropbox r-x--
-org.tizen.contacts-viewer pkgmgr::db rw---
-org.tizen.contacts-viewer org.tizen.cluster-home rwx--
-org.tizen.contacts-viewer org.tizen.easy-home -w---
-org.tizen.contacts-viewer mdm-server rwx--
-org.tizen.contacts-viewer nfc-share-service --x--
-org.tizen.contacts-viewer stest-service -w---
-org.tizen.contacts-viewer obexd r-x--
-org.tizen.contacts-viewer sdbd rwx--
-org.tizen.contacts-viewer data-provider-master::shortcut rw---
-org.tizen.contacts-viewer data-provider-master::shortcut.shortcut -w---
-org.tizen.contacts-viewer data-provider-master::shortcut.livebox -w---
-org.tizen.app-tray org.tizen.contacts-viewer rwx--
-e17 org.tizen.contacts-viewer rw---
-system::use_internet org.tizen.contacts-viewer rw---
-isf org.tizen.contacts-viewer r-x--
-org.tizen.quickpanel org.tizen.contacts-viewer r-x--
-org.tizen.cluster-home org.tizen.contacts-viewer r-x--
-org.tizen.easy-hone org.tizen.contacts-viewer r-x--
-org.tizen.gallery-service org.tizen.contacts rw---
-ui-gadget::client org.tizen.contacts-viewer rwxa-
-org.tizen.facebook org.tizen.contacts-viewer rwx--
-org.tizen.lockscreen org.tizen.contacts-viewer r-x--
-org.tizen.dailybriefing-agent org.tizen.contacts-viewer --x--
-org.tizen.volume org.tizen.contacts-viewer --x--
-activesync-ui::eas-appsvc org.tizen.contacts-viewer rwx--
-org.tizen.setting org.tizen.contacts-viewer rwx--
-nfc-share-service org.tizen.contacts-viewer r-x--
-stest-service org.tizen.contacts-viewer r-x--
-crash-viewer org.tizen.contacts-viewer --x--
-obexd org.tizen.contacts-viewer r-x--
-sdbd org.tizen.contacts-viewer r-x--
-org.tizen.data-provider-slave email-service::db rw---
-org.tizen.data-provider-slave org.tizen.contacts-viewer r-x--
-org.tizen.data-provider-slave org.tizen.contacts r-x--
-org.tizen.data-provider-slave contacts-service rwx--
-org.tizen.data-provider-slave contacts-service::svc rw---
-org.tizen.data-provider-slave email-service::db rw---
-org.tizen.data-provider-slave org.tizen.contacts-viewer r-x--
-org.tizen.data-provider-slave org.tizen.contacts r-x--
-org.tizen.data-provider-slave contacts-service rwx--
-org.tizen.data-provider-slave contacts-service::svc rw---
-org.tizen.contacts-viewer xorg::screencapture r----
-org.tizen.contacts-viewer device::app_logging -w---
-org.tizen.contacts-viewer org.tizen.smemo rwx--
-org.tizen.contacts-viewer org.tizen.gallery rwxa-
-org.tizen.contacts-viewer ims-service::db rw---
-org.tizen.contacts-viewer system::vconf_inhouse rwxat
-org.tizen.contacts-viewer system::vconf_setting rwxat
-org.tizen.contacts-viewer system::vconf_system rw---
-media-server org.tizen.contacts-viewer -w---
-org.tizen.contacts-viewer contacts-service::phonelog rw---
-org.tizen.contacts-viewer msg-service::read rw---
-org.tizen.contacts-viewer msg-service::write rw---
-org.tizen.contacts-viewer msg-service::wappush rw---
-org.tizen.contacts-viewer telephony_framework::api_manager r----
-org.tizen.contacts-viewer telephony_framework::api_modem -w---
-org.tizen.contacts-viewer system::home rwxat
-org.tizen.contacts-viewer org.tizen.gallery::web-media.db rwx--
-org.tizen.contacts-viewer org.tizen.gallery::gallery-media.db rwx--
-org.tizen.contacts-viewer download-provider rw---
-org.tizen.contacts-viewer drmfw rw---
-org.tizen.contacts-viewer cbhm rwx--
-org.tizen.contacts-viewer data-provider-master rw---
-org.tizen.contacts-viewer data-provider-master::utility rw---
-org.tizen.contacts-viewer data-provider-master::notification rw---
-org.tizen.contacts-viewer allshare::svc rwx--
-org.tizen.contacts-viewer system-server rwxa-
-org.tizen.contacts-viewer deviced rwxa-
-org.tizen.contacts-viewer org.tizen.myfile rw---
-org.tizen.contacts-viewer dali rwxat
-org.tizen.contacts-viewer crash-worker --x--
-org.tizen.contacts-viewer cloud-content-sync::db rw---
-org.tizen.contacts-viewer cloud-content-sync rwx--
-org.tizen.contacts-viewer device::video rw---
-org.tizen.contacts-viewer device::hwcodec rw---
-org.tizen.contacts-viewer org.tizen.gallery::face-svc.db rwx--
-org.tizen.contacts-viewer ug-email-viewer-efl rwx--
-org.tizen.contacts-viewer email-service rwx--
-org.tizen.contacts-viewer ug-email-docsearch-efl --x--
-org.tizen.contacts-viewer camera-external-engine rw---
-org.tizen.contacts-viewer system::vconf_inouse r----
-org.tizen.contacts-viewer system::vconf_privacy r----
-org.tizen.contacts-viewer system::vconf_multimedia rw---
-org.tizen.contacts-viewer system::vconf_network rw---
-org.tizen.contacts-viewer system::vconf_misc r----
-aul org.tizen.contacts-viewer rwx--
-org.tizen.gallery-service org.tizen.contacts-viewer rwx--
-org.tizen.cluster-home ug-image-viewer-efl r-x--
-org.tizen.lockscreen ug-image-viewer-efl r-x--
-org.tizen.contacts-viewer smemo::db rw---
-org.tizen.contacts-viewer org.tizen.browser rw---
-org.tizen.contacts-viewer org.tizen.image-editor r----
-org.tizen.contacts-viewer org.tizen.calendar rwx--
-org.tizen.contacts-viewer calendar-service rwx--
-org.tizen.contacts-viewer device::sys_logging -w---
-org.tizen.contacts-viewer email-service::db rw---
-org.tizen.contacts-viewer webkit2-efl r-x--
-org.tizen.contacts-viewer data-provider-master::badge rw---
-org.tizen.contacts-viewer resman::db rw---
-org.tizen.contacts-viewer map-efl rwxat
-org.tizen.contacts-viewer ug-email-composer-efl rwxat
-org.tizen.contacts-viewer secure-storage::pkcs12 r----
-org.tizen.contacts-viewer email-service::write rw---
-org.tizen.contacts-viewer calendar-service::svc rw---
-org.tizen.contacts-viewer bt-service::admin -w---
-org.tizen.contacts-viewer bt-service::gap -w---
-org.tizen.contacts-viewer bt-service::manager -w---
-org.tizen.contacts-viewer system::app_logging -w---
-org.tizen.contacts-viewer svi-data rwxat
-org.tizen.contacts-viewer org.tizen.volume rwx--
-org.tizen.contacts-viewer org.tizen.setting::default-resources r-x--
-org.tizen.contacts-viewer device::camera rw---
-org.tizen.contacts-viewer device::mdnie rw---
-org.tizen.contacts-viewer location_fw::client rwx--
-org.tizen.contacts-viewer pkgmer::db r----
-org.tizen.contacts-viewer power_manager rwx--
-org.tizen.contacts-viewer stt-server rwx--
-org.tizen.contacts-viewer tts-server rwx--
-org.tizen.contacts-viewer ug-camera-efl rwxat
-org.tizen.contacts-viewer vcs-server rwx--
-org.tizen.contacts-viewer image-filter-d::db rw---
-org.tizen.contacts-viewer location_fw::db rw---
-org.tizen.contacts-viewer org.tizen.svoice rwx--
-org.tizen.contacts-viewer oma-ds-agent rwx--
-oma-ds-agent org.tizen.contacts-viewer rwx--
-org.tizen.contacts-viewer oma-ds-agent::cfg rwxat
-org.tizen.setting oma-ds-agent::cfg rwx--
-system::use_internet oma-ds-agent rwx--
-oma-ds-agent system::use_internet rwx--
-org.tizen.contacts-viewer syslogd rwx--
-org.tizen.contacts-viewer e17 r----
-org.tizen.contacts-viewer dlogutil r-x--
-org.tizen.contacts-viewer telephony_framework r-x--
-org.tizen.contacts-viewer aul r-x--
-org.tizen.contacts-viewer ode r-x--
-org.tizen.contacts-viewer sensor-framework r-x--
-org.tizen.contacts-viewer secure-storage r-x--
-org.tizen.contacts-viewer starter r-x--
-org.tizen.contacts-viewer osp-app-service r-x--
-org.tizen.contacts-viewer osp-security-service r-x--
-org.tizen.contacts-viewer osp-channel-service r-x--
-org.tizen.contacts-viewer org.tizen.app-tray r-x--
-org.tizen.contacts-viewer org.tizen.quickpanel r-x--
-org.tizen.contacts-viewer connman rwx--
-org.tizen.contacts-viewer mobicore-daemon r-x--
-org.tizen.contacts-viewer alarm-server rwx--
-org.tizen.contacts-viewer brcm_daemon r-x--
-org.tizen.contacts-viewer resman r-x--
-org.tizen.contacts-viewer osp-connectivity-service rwx--
-org.tizen.contacts-viewer push-service rwx--
-org.tizen.contacts-viewer eas-engine rwx--
-org.tizen.contacts-viewer org.tizen.data-provider-slave rwx--
-org.tizen.contacts-viewer org.tizen.data-provider-slave rwx--
-org.tizen.contacts-viewer usb-server rwx--
-org.tizen.contacts-viewer mtp-responder rwx--
-ui-gadget::client oma-ds-agent::svc rw---
-org.tizen.contacts-viewer data-provider-master::notification.client -w---
-org.tizen.contacts-viewer samsung-account-front r-x--
-org.tizen.contacts-viewer worldclock::db rw---
-context-service org.tizen.contacts-viewer r-x--
-org.tizen.contacts-viewer org.tizen.smartsearch --x--
-org.tizen.contacts-viewer ug-map-efl rwxat
-org.tizen.contacts-viewer org.tizen.fileshare-service rwxat
-org.tizen.contacts-viewer wifi_direct_manager rw---
-org.tizen.fileshare-service org.tizen.contacts-viewer r-x--
-org.tizen.contacts-viewer nfc-manager rwx--
-org.tizen.contacts-viewer nfc-manager::p2p rwx--
-org.tizen.contacts-viewer nfc-manager::admin rwx--
-org.tizen.contacts-viewer ug-setting-gallery-efl rwxat
-org.tizen.contacts-viewer org.tizen.music-player --x--
-org.tizen.contacts-viewer msg-service::db rw---
diff --git a/org.tizen.contacts.manifest b/org.tizen.contacts.manifest
deleted file mode 100644
index b8ebc35..0000000
--- a/org.tizen.contacts.manifest
+++ /dev/null
@@ -1,14 +0,0 @@
-<manifest>
- <define>
- <domain name="org.tizen.contacts"/>
- </define>
- <assign>
- <filesystem path="/usr/share/packages/org.tizen.contacts.xml" label="_" />
- <filesystem path="/usr/share/applications/org.tizen.contacts.desktop" label="_" />
- <filesystem path="/usr/share/icons/default/small/org.tizen.contacts.png" label="_" />
- <filesystem path="/opt/usr/ug/data/ug-phone" label="org.tizen.contacts" type="transmutable" />
- </assign>
- <request>
- <domain name="org.tizen.contacts"/>
- </request>
-</manifest> \ No newline at end of file
diff --git a/org.tizen.contacts.rule b/org.tizen.contacts.rule
deleted file mode 100644
index 5e567eb..0000000
--- a/org.tizen.contacts.rule
+++ /dev/null
@@ -1,217 +0,0 @@
-org.tizen.contacts libaccounts-svc rw---
-org.tizen.contacts ail::db rw---
-org.tizen.contacts system::vconf rwxat
-org.tizen.contacts system::vconf_setting rwxat
-org.tizen.contacts system::vconf_inhouse rwxat
-org.tizen.contacts system::homedir rwxat
-org.tizen.contacts net-config r-x--
-org.tizen.contacts xorg rwx--
-org.tizen.contacts contacts-service rwx--
-org.tizen.contacts isf rwx--
-org.tizen.contacts media-data::db rw---
-org.tizen.contacts sound_server rwx--
-org.tizen.contacts pkgmgr r----
-org.tizen.contacts efreet r-x--
-org.tizen.contacts dbus rwxat
-org.tizen.contacts pulseaudio rwxat
-org.tizen.contacts appsvc::db rw---
-org.tizen.contacts msg-service rwx--
-org.tizen.contacts syspopup::db rwx--
-org.tizen.contacts contacts-service::db rwx--
-org.tizen.contacts contacts-service::svc rwx--
-org.tizen.contacts contacts-service::phonelog rw---
-org.tizen.contacts libug-phone::data rwx--
-org.tizen.contacts ug_bluetooth r-x--
-org.tizen.contacts system::use_internet rwxat
-org.tizen.contacts org.tizen.phone r-x--
-org.tizen.contacts libaccounts-svc::db rw---
-org.tizen.contacts phone-misc::db rw---
-org.tizen.contacts app-svc::db rw---
-org.tizen.contacts org.tizen.message rwx--
-org.tizen.contacts org.tizen.indicator rwx--
-org.tizen.contacts org.tizen.facebook rwx--
-org.tizen.contacts org.tizen.setting rwx--
-org.tizen.contacts immvibed rwx--
-org.tizen.contacts org.tizen.contacts-viewer r-x--
-org.tizen.contacts ui-gadget::client rwx--
-org.tizen.contacts org.tizen.contacts-group-viewer --x--
-org.tizen.contacts org.tizen.camera-app rw---
-org.tizen.contacts media-server rwx--
-org.tizen.contacts thumb-server r----
-org.tizen.contacts ug-image-viewer-efl rwxat
-org.tizen.contacts system::media rwxat
-org.tizen.contacts system::share rwxat
-org.tizen.contacts sys-assert::core rwxat
-org.tizen.contacts org.tizen.gallery-service rwx--
-org.tizen.contacts csc-manager rwx--
-org.tizen.contacts org.tizen.email rwx--
-org.tizen.contacts org.tizen.dropbox r-x--
-org.tizen.contacts pkgmgr::db rw---
-org.tizen.contacts org.tizen.cluster-home rwx--
-org.tizen.contacts org.tizen.easy-home -w---
-org.tizen.contacts mdm-server rwx--
-org.tizen.contacts nfc-share-service --x--
-org.tizen.contacts stest-service -w---
-org.tizen.contacts data-provider-master rw---
-org.tizen.contacts sdbd rwx--
-org.tizen.contacts data-provider-master::shortcut rw---
-org.tizen.contacts data-provider-master::shortcut.shortcut -w---
-org.tizen.contacts data-provider-master::shortcut.livebox -w---
-org.tizen.app-tray org.tizen.contacts rwx--
-org.tizen.setting org.tizen.contacts rwx--
-e17 org.tizen.contacts rw---
-system::use_internet org.tizen.contacts rw---
-isf org.tizen.contacts r-x--
-org.tizen.quickpanel org.tizen.contacts r-x--
-org.tizen.cluster-home org.tizen.contacts r-x--
-org.tizen.easy-home org.tizen.contacts r-x--
-org.tizen.gallery-service org.tizen.contacts rwx--
-ui-gadget::client org.tizen.contacts rwxa-
-org.tizen.facebook org.tizen.contacts rwx--
-org.tizen.lockscreen org.tizen.contacts rwx--
-org.tizen.dailybriefing-agent org.tizen.contacts --x--
-org.tizen.volume org.tizen.contacts --x--
-activesync-ui::eas-appsvc org.tizen.contacts rwx--
-nfc-share-service org.tizen.contacts r-x--
-stest-service org.tizen.contacts r-x--
-crash-viewer org.tizen.contacts --x--
-obexd org.tizen.contacts r-x--
-system::use_internet org.tizen.contact rw---
-org.tizen.data-provider-slave org.tizen.contacts r-x--
-org.tizen.data-provider-slave org.tizen.contacts-viewer r-x--
-org.tizen.data-provider-slave contacts-service rwx--
-org.tizen.data-provider-slave contacts-service::svc rw---
-org.tizen.data-provider-slave org.tizen.contacts r-x--
-org.tizen.data-provider-slave org.tizen.contacts-viewer r-x--
-org.tizen.data-provider-slave contacts-service rwx--
-org.tizen.data-provider-slave contacts-service::svc rw---
-aul::launch org.tizen.data-provider-slave r-x--
-aul::launch org.tizen.data-provider-slave r-x--
-org.tizen.contacts system::app_logging -w---
-org.tizen.contacts svi-data rwxat
-aul org.tizen.contacts rwx--
-context-service org.tizen.contacts r-x--
-org.tizen.contacts xorg::screencapture r----
-org.tizen.contacts device::app_logging -w---
-org.tizen.contacts org.tizen.smemo rwx--
-org.tizen.contacts org.tizen.gallery rwxa-
-org.tizen.contacts ims-service::db rw---
-org.tizen.contacts system::vconf_system rw---
-media-server org.tizen.contacts -w---
-org.tizen.contacts msg-service::read rw---
-org.tizen.contacts msg-service::write rw---
-org.tizen.contacts msg-service::wappush rw---
-org.tizen.contacts telephony_framework::api_manager r----
-org.tizen.contacts telephony_framework::api_modem -w---
-org.tizen.contacts system::home rwxat
-org.tizen.contacts org.tizen.gallery::web-media.db rwx--
-org.tizen.contacts org.tizen.gallery::gallery-media.db rwx--
-org.tizen.contacts org.tizen.contacts rwx--
-org.tizen.contacts download-provider rw---
-org.tizen.contacts drmfw rw---
-org.tizen.contacts cbhm rwx--
-org.tizen.contacts data-provider-master::utility rw---
-org.tizen.contacts data-provider-master::notification rw---
-org.tizen.contacts allshare::svc rwx--
-org.tizen.contacts system-server rwxa-
-org.tizen.contacts deviced rwxa-
-org.tizen.contacts org.tizen.myfile rw---
-org.tizen.contacts dali rwxat
-org.tizen.contacts crash-worker --x--
-org.tizen.contacts cloud-content-sync::db rw---
-org.tizen.contacts cloud-content-sync rwx--
-org.tizen.contacts device::video rw---
-org.tizen.contacts device::hwcodec rw---
-org.tizen.contacts org.tizen.gallery::face-svc.db rwx--
-org.tizen.contacts ug-email-viewer-efl rwx--
-org.tizen.contacts email-service rwx--
-org.tizen.contacts ug-email-docsearch-efl --x--
-org.tizen.contacts camera-external-engine rw---
-org.tizen.contacts system::vconf_inouse r----
-org.tizen.contacts system::vconf_privacy r----
-org.tizen.contacts system::vconf_multimedia rw---
-org.tizen.contacts system::vconf_network rw---
-org.tizen.contacts system::vconf_misc r----
-org.tizen.cluster-home ug-image-viewer-efl r-x--
-org.tizen.lockscreen ug-image-viewer-efl r-x--
-org.tizen.contacts smemo::db rw---
-org.tizen.contacts org.tizen.browser rw---
-org.tizen.contacts org.tizen.image-editor r----
-org.tizen.contacts org.tizen.calendar rwx--
-org.tizen.contacts calendar-service rwx--
-org.tizen.contacts device::sys_logging -w---
-org.tizen.contacts email-service::db rw---
-org.tizen.contacts webkit2-efl r-x--
-org.tizen.contacts data-provider-master::badge rw---
-org.tizen.contacts resman::db rw---
-org.tizen.contacts map-efl rwxat
-org.tizen.contacts ug-email-composer-efl rwxat
-org.tizen.contacts secure-storage::pkcs12 r----
-org.tizen.contacts email-service::write rw---
-org.tizen.contacts calendar-service::svc rw---
-org.tizen.contacts bt-service::admin -w---
-org.tizen.contacts bt-service::gap -w---
-org.tizen.contacts bt-service::manager -w---
-org.tizen.contacts org.tizen.volume rwx--
-org.tizen.contacts org.tizen.setting::default-resources r-x--
-org.tizen.contacts device::camera rw---
-org.tizen.contacts device::mdnie rw---
-org.tizen.contacts location_fw::client rwx--
-org.tizen.contacts pkgmer::db r----
-org.tizen.contacts power_manager rwx--
-org.tizen.contacts stt-server rwx--
-org.tizen.contacts tts-server rwx--
-org.tizen.contacts ug-camera-efl rwxat
-org.tizen.contacts vcs-server rwx--
-org.tizen.contacts image-filter-d::db rw---
-org.tizen.contacts location_fw::db rw---
-org.tizen.contacts org.tizen.svoice rwx--
-org.tizen.contacts oma-ds-agent rwx--
-oma-ds-agent org.tizen.contacts rwx--
-org.tizen.contacts oma-ds-agent::cfg rwxat
-org.tizen.setting oma-ds-agent::cfg rwx--
-system::use_internet oma-ds-agent rwx--
-oma-ds-agent system::use_internet rwx--
-org.tizen.contacts syslogd rwx--
-org.tizen.contacts e17 r----
-org.tizen.contacts dlogutil r-x--
-org.tizen.contacts telephony_framework r-x--
-org.tizen.contacts aul r-x--
-org.tizen.contacts ode r-x--
-org.tizen.contacts sensor-framework r-x--
-org.tizen.contacts secure-storage r-x--
-org.tizen.contacts starter r-x--
-org.tizen.contacts osp-app-service r-x--
-org.tizen.contacts osp-security-service r-x--
-org.tizen.contacts osp-channel-service r-x--
-org.tizen.contacts org.tizen.app-tray r-x--
-org.tizen.contacts org.tizen.quickpanel r-x--
-org.tizen.contacts connman rwx--
-org.tizen.contacts mobicore-daemon r-x--
-org.tizen.contacts alarm-server rwx--
-org.tizen.contacts brcm_daemon r-x--
-org.tizen.contacts resman r-x--
-org.tizen.contacts osp-connectivity-service rwx--
-org.tizen.contacts push-service rwx--
-org.tizen.contacts eas-engine rwx--
-org.tizen.contacts org.tizen.data-provider-slave rwx--
-org.tizen.contacts org.tizen.data-provider-slave rwx--
-org.tizen.contacts usb-server rwx--
-org.tizen.contacts mtp-responder rwx--
-ui-gadget::client oma-ds-agent::svc rw---
-org.tizen.contacts data-provider-master::notification.client -w---
-org.tizen.contacts samsung-account-front r-x--
-org.tizen.contacts worldclock::db rw---
-org.tizen.contacts org.tizen.smartsearch --x--
-org.tizen.contacts ug-map-efl rwxat
-org.tizen.contacts obexd r-x--
-org.tizen.contacts org.tizen.fileshare-service rwxat
-org.tizen.contacts wifi_direct_manager rw---
-org.tizen.fileshare-service org.tizen.contacts r-x--
-org.tizen.contacts nfc-manager rwx--
-org.tizen.contacts nfc-manager::p2p rwx--
-org.tizen.contacts nfc-manager::admin rwx--
-org.tizen.contacts ug-setting-gallery-efl rwxat
-org.tizen.contacts org.tizen.music-player --x--
-org.tizen.contacts msg-service::db rw---
-
diff --git a/org.tizen.dialer.manifest b/org.tizen.dialer.manifest
deleted file mode 100644
index 59b6f4f..0000000
--- a/org.tizen.dialer.manifest
+++ /dev/null
@@ -1,12 +0,0 @@
-<manifest>
- <define>
- <domain name = "org.tizen.dialer"/>
- </define>
- <assign>
- <filesystem path="/usr/share/packages/dialer-efl.xml" label="_" />
- <filesystem path="/usr/share/applications/dialer-efl.desktop" label="_" />
- </assign>
- <request>
- <domain name = "org.tizen.dialer"/>
- </request>
-</manifest>
diff --git a/org.tizen.phone.manifest b/org.tizen.phone.manifest
deleted file mode 100644
index 0e253c5..0000000
--- a/org.tizen.phone.manifest
+++ /dev/null
@@ -1,13 +0,0 @@
-<manifest>
- <define>
- <domain name="org.tizen.phone"/>
- </define>
- <assign>
- <filesystem path="/usr/share/packages/org.tizen.phone.xml" label="_" />
- <filesystem path="/usr/share/applications/org.tizen.phone.desktop" label="_" />
- <filesystem path="/usr/share/icons/default/small/org.tizen.phone.png" label="_" />
- </assign>
- <request>
- <domain name="org.tizen.phone"/>
- </request>
-</manifest>
diff --git a/org.tizen.phone.rule b/org.tizen.phone.rule
deleted file mode 100644
index d2d9928..0000000
--- a/org.tizen.phone.rule
+++ /dev/null
@@ -1,222 +0,0 @@
-org.tizen.phone ail::db rw---
-org.tizen.phone system::vconf rwxat
-org.tizen.phone system::homedir rwxat
-org.tizen.phone net-config r-x--
-org.tizen.phone xorg rwx--
-org.tizen.phone contacts-service rwx--
-org.tizen.phone isf rwx--
-org.tizen.phone pkgmgr r----
-org.tizen.phone efreet r-x--
-org.tizen.phone msg-service rwx--
-org.tizen.phone org.tizen.message rwx--
-org.tizen.phone notification::db rw---
-org.tizen.phone dbus rwxat
-org.tizen.phone app-svc::db rw---
-org.tizen.phone contacts-service::db rwx--
-org.tizen.phone contacts-service::svc rwx--
-org.tizen.phone contacts-service::phonelog rw---
-org.tizen.phone libug-phone::data rwx--
-org.tizen.phone sound_server rwx--
-org.tizen.phone syspopup::db rwx--
-org.tizen.phone system::use_internet rwxat
-org.tizen.phone immvibed rwx--
-org.tizen.phone org.tizen.indicator rwx--
-org.tizen.phone pulseaudio rwxat
-org.tizen.phone phone-misc::db rw---
-org.tizen.phone org.tizen.call r-x--
-org.tizen.phone system-server rwxa-
-org.tizen.phone cbhm rwx--
-org.tizen.phone mdm-server rwx--
-org.tizen.phone org.tizen.contacts rwx--
-org.tizen.phone libaccounts-svc::db rw---
-org.tizen.phone org.tizen.contacts-viewer r-x--
-org.tizen.phone org.tizen.contacts-group-viewer --x--
-org.tizen.phone csc-manager rwx--
-org.tizen.phone svi-data rwxat
-org.tizen.phone ui-gadget::client rwx--
-org.tizen.phone badge::db rw---
-org.tizen.phone system::media rwxat
-org.tizen.phone ug-launcher r-x--
-org.tizen.phone org.tizen.phone rwxat
-org.tizen.phone system::share rwxat
-org.tizen.phone sys-assert::core rwxat
-org.tizen.phone stest-service -w---
-org.tizen.phone testmode r-x--
-org.tizen.phone intl-dial::db rw---
-org.tizen.phone sdbd rwx--
-stest-service org.tizen.phone r-x--
-e17 org.tizen.phone rwx--
-org.tizen.data-provider-slave org.tizen.phone rwx--
-org.tizen.data-provider-slave contacts-service rwx--
-org.tizen.data-provider-slave contacts-service::svc rw---
-org.tizen.data-provider-slave contacts-service::db rw---
-org.tizen.data-provider-slave contacts-service::phonelog rwx--
-org.tizen.data-provider-slave org.tizen.phone rwx--
-org.tizen.data-provider-slave contacts-service rwx--
-org.tizen.data-provider-slave contacts-service::svc rw---
-org.tizen.data-provider-slave contacts-service::db rw---
-org.tizen.data-provider-slave contacts-service::phonelog rwx--
-org.tizen.app-tray org.tizen.phone r-x--
-org.tizen.quickpanel org.tizen.phone r-x--
-org.tizen.indicator org.tizen.phone rwx--
-org.tizen.lockscreen org.tizen.phone r-x--
-org.tizen.setting org.tizen.phone r-x--
-org.tizen.phone system::app_logging -w---
-aul org.tizen.phone rwx--
-org.tizen.gallery org.tizen.phone r-x--
-org.tizen.phone ug-setting-call-efl rwxat
-org.tizen.phone system::camera rw-at
-org.tizen.phone org.tizen.add-viewer r-x--
-org.tizen.phone org.tizen.call-eq-analyzer rwx--
-org.tizen.phone intl-dial --x--
-org.tizen.phone org.tizen.vtmain --x--
-org.tizen.phone telephony_framework::api_manager r----
-org.tizen.phone telephony_framework::api_sim r-x--
-org.tizen.phone telephony_framework::api_phonebook rwx--
-org.tizen.phone telephony_framework::api_ss rwx--
-org.tizen.phone telephony_framework::vconf rwx--
-org.tizen.phone xorg::screencapture r----
-org.tizen.phone device::app_logging -w---
-org.tizen.phone media-data::db rw---
-org.tizen.phone org.tizen.smemo rwx--
-org.tizen.phone org.tizen.gallery rwxa-
-org.tizen.phone media-server rwx--
-org.tizen.phone ims-service::db rw---
-org.tizen.phone system::vconf_inhouse rwxat
-org.tizen.phone system::vconf_setting rwxat
-org.tizen.phone system::vconf_system rw---
-media-server org.tizen.phone -w---
-org.tizen.phone msg-service::read rw---
-org.tizen.phone msg-service::write rw---
-org.tizen.phone msg-service::wappush rw---
-org.tizen.phone telephony_framework::api_modem -w---
-org.tizen.phone system::home rwxat
-org.tizen.phone org.tizen.gallery::web-media.db rwx--
-org.tizen.phone org.tizen.gallery::gallery-media.db rwx--
-org.tizen.phone org.tizen.gallery-service rwx--
-org.tizen.phone org.tizen.cluster-home rwx--
-org.tizen.phone ug-image-viewer-efl rwxat
-org.tizen.phone download-provider rw---
-org.tizen.phone drmfw rw---
-org.tizen.phone data-provider-master rw---
-org.tizen.phone data-provider-master::shortcut rw---
-org.tizen.phone data-provider-master::utility rw---
-org.tizen.phone data-provider-master::notification rw---
-org.tizen.phone allshare::svc rwx--
-org.tizen.phone deviced rwxa-
-org.tizen.phone org.tizen.setting rwx--
-org.tizen.phone org.tizen.myfile rw---
-org.tizen.phone dali rwxat
-org.tizen.phone crash-worker --x--
-org.tizen.phone cloud-content-sync::db rw---
-org.tizen.phone cloud-content-sync rwx--
-org.tizen.phone device::video rw---
-org.tizen.phone device::hwcodec rw---
-org.tizen.phone org.tizen.gallery::face-svc.db rwx--
-org.tizen.phone ug-email-viewer-efl rwx--
-org.tizen.phone email-service rwx--
-org.tizen.phone ug-email-docsearch-efl --x--
-org.tizen.phone camera-external-engine rw---
-org.tizen.phone system::vconf_inouse r----
-org.tizen.phone system::vconf_privacy r----
-org.tizen.phone system::vconf_multimedia rw---
-org.tizen.phone system::vconf_network rw---
-org.tizen.phone system::vconf_misc r----
-isf org.tizen.phone r----
-org.tizen.gallery-service org.tizen.phone rwx--
-org.tizen.cluster-home ug-image-viewer-efl r-x--
-org.tizen.lockscreen ug-image-viewer-efl r-x--
-org.tizen.phone smemo::db rw---
-org.tizen.phone org.tizen.browser rw---
-org.tizen.phone org.tizen.image-editor r----
-org.tizen.phone org.tizen.email rwx--
-org.tizen.phone org.tizen.calendar rwx--
-org.tizen.phone calendar-service rwx--
-org.tizen.phone device::sys_logging -w---
-org.tizen.phone email-service::db rw---
-org.tizen.phone webkit2-efl r-x--
-org.tizen.phone data-provider-master::badge rw---
-org.tizen.phone resman::db rw---
-org.tizen.phone map-efl rwxat
-org.tizen.phone ug-email-composer-efl rwxat
-org.tizen.phone secure-storage::pkcs12 r----
-org.tizen.phone email-service::write rw---
-org.tizen.phone calendar-service::svc rw---
-org.tizen.phone ug_bluetooth r-x--
-org.tizen.phone bt-service::admin -w---
-org.tizen.phone bt-service::gap -w---
-org.tizen.phone bt-service::manager -w---
-org.tizen.phone device::camera rw---
-org.tizen.phone device::mdnie rw---
-org.tizen.phone location_fw::client rwx--
-org.tizen.phone pkgmer::db r----
-org.tizen.phone power_manager rwx--
-org.tizen.phone stt-server rwx--
-org.tizen.phone tts-server rwx--
-org.tizen.phone ug-camera-efl rwxat
-org.tizen.phone vcs-server rwx--
-org.tizen.phone image-filter-d::db rw---
-org.tizen.phone location_fw::db rw---
-org.tizen.phone pkgmgr::db rw---
-org.tizen.phone org.tizen.svoice rwx--
-org.tizen.phone org.tizen.dropbox r-x--
-org.tizen.phone org.tizen.facebook r-x--
-org.tizen.phone oma-ds-agent rwx--
-oma-ds-agent org.tizen.phone rwx--
-org.tizen.phone oma-ds-agent::cfg rwxat
-org.tizen.setting oma-ds-agent::cfg rwx--
-system::use_internet oma-ds-agent rwx--
-oma-ds-agent system::use_internet rwx--
-org.tizen.phone syslogd rwx--
-org.tizen.phone e17 r----
-org.tizen.phone dlogutil r-x--
-org.tizen.phone telephony_framework r-x--
-org.tizen.phone aul r-x--
-org.tizen.phone ode r-x--
-org.tizen.phone sensor-framework r-x--
-org.tizen.phone secure-storage r-x--
-org.tizen.phone starter r-x--
-org.tizen.phone osp-app-service r-x--
-org.tizen.phone osp-security-service r-x--
-org.tizen.phone osp-channel-service r-x--
-org.tizen.phone org.tizen.app-tray r-x--
-org.tizen.phone org.tizen.quickpanel r-x--
-org.tizen.phone connman rwx--
-org.tizen.phone mobicore-daemon r-x--
-org.tizen.phone alarm-server rwx--
-org.tizen.phone brcm_daemon r-x--
-org.tizen.phone resman r-x--
-org.tizen.phone osp-connectivity-service rwx--
-org.tizen.phone push-service rwx--
-org.tizen.phone eas-engine rwx--
-org.tizen.phone org.tizen.data-provider-slave rwx--
-org.tizen.phone org.tizen.data-provider-slave rwx--
-org.tizen.phone usb-server rwx--
-org.tizen.phone mtp-responder rwx--
-org.tizen.phone org.tizen.volume rwx--
-ui-gadget::client oma-ds-agent::svc rw---
-org.tizen.phone data-provider-master::notification.client -w---
-org.tizen.phone samsung-account-front r-x--
-org.tizen.phone worldclock::db rw---
-org.tizen.phone thumb-server r----
-org.tizen.phone data-provider-master::shortcut.shortcut -w---
-context-service org.tizen.phone r-x--
-org.tizen.phone org.tizen.smartsearch --x--
-org.tizen.phone ug-map-efl rwxat
-system::use_internet org.tizen.phone -w---
-org.tizen.phone org.tizen.setting::default-resources r-x--
-org.tizen.phone obexd r-x--
-org.tizen.phone org.tizen.fileshare-service rwxat
-org.tizen.phone wifi_direct_manager rw---
-org.tizen.fileshare-service org.tizen.phone r-x--
-org.tizen.phone nfc-manager rwx--
-org.tizen.phone nfc-manager::p2p rwx--
-org.tizen.phone nfc-manager::admin rwx--
-org.tizen.phone ug-setting-gallery-efl rwxat
-org.tizen.phone org.tizen.music-player --x--
-org.tizen.cluster-home org.tizen.phone r-x--
-org.tizen.phone msg-service::db rw---
-org.tizen.phone ug-setting-call-efl::vconf rw---
-org.tizen.phone org.tizen.emergency-message r-x--
-ui-gadget::client org.tizen.phone r-x--
-
diff --git a/packaging/phone-contacts.spec b/packaging/phone-contacts.spec
new file mode 100755
index 0000000..465594e
--- /dev/null
+++ b/packaging/phone-contacts.spec
@@ -0,0 +1,139 @@
+Name: org.tizen.contacts
+Summary: Phone Application and gadgets
+Version: 0.1.189
+Release: 1
+Group: devel
+License: Apache-2.0
+Source0: %{name}-%{version}.tar.gz
+
+%if "%{?tizen_profile_name}" == "wearable" || "%{?tizen_profile_name}" == "tv"
+ExcludeArch: %{arm} %ix86 x86_64
+%endif
+
+Requires(post): /sbin/ldconfig
+Requires(post): /bin/chown
+#Requires(post): signing-client
+
+BuildRequires: cmake
+BuildRequires: edje-bin
+BuildRequires: embryo-bin
+BuildRequires: gettext-devel
+BuildRequires: hash-signer
+BuildRequires: sqlite
+
+BuildRequires: pkgconfig(accounts-svc)
+BuildRequires: pkgconfig(badge)
+BuildRequires: pkgconfig(capi-appfw-application)
+BuildRequires: pkgconfig(capi-appfw-preference)
+BuildRequires: pkgconfig(capi-appfw-widget-application)
+BuildRequires: pkgconfig(capi-base-utils-i18n)
+BuildRequires: pkgconfig(capi-media-metadata-extractor)
+BuildRequires: pkgconfig(capi-telephony)
+BuildRequires: pkgconfig(capi-system-system-settings)
+BuildRequires: pkgconfig(capi-system-info)
+BuildRequires: pkgconfig(capi-ui-efl-util)
+BuildRequires: pkgconfig(contacts-service2)
+BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(efl-extension)
+BuildRequires: pkgconfig(elementary)
+BuildRequires: pkgconfig(feedback)
+BuildRequires: pkgconfig(libxml-2.0)
+BuildRequires: pkgconfig(msg-service)
+BuildRequires: pkgconfig(notification)
+BuildRequires: pkgconfig(sqlite3)
+BuildRequires: pkgconfig(storage)
+BuildRequires: pkgconfig(ui-gadget-1)
+BuildRequires: pkgconfig(widget_service)
+
+%description
+Phone application.
+
+#package -n org.tizen.vcard-importer-lite
+#Summary: vcard importer
+#Group: Development/Libraries
+
+#%description -n org.tizen.vcard-importer-lite
+#vcard importer
+
+%prep
+%setup -q
+
+%build
+%define _app_home_dir /usr/apps/%{name}
+%define _app_icon_dir /usr/share/icons/default/small
+
+LDFLAGS+="-Wl,--rpath=%{_app_home_dir}/lib"; export LDFLAGS
+cmake . -DPKGNAME=%{name} \
+ -DCMAKE_APP_HOME_DIR=%{_app_home_dir} \
+ -DCMAKE_APP_ICON_DIR=%{_app_icon_dir} \
+%if "%{?sec_product_feature_display_resolution}" == "480x800"
+-D_ENABLE_WVGA:BOOL=ON \
+-D_ENABLE_HD:BOOL=OFF \
+%else
+-D_ENABLE_HD:BOOL=ON \
+-D_ENABLE_WVGA:BOOL=OFF \
+%endif
+
+
+make %{?jobs:-j%jobs} \
+2>&1 | sed \
+-e 's%^.*: error: .*$%\x1b[37;41m&\x1b[m%' \
+-e 's%^.*: warning: .*$%\x1b[30;43m&\x1b[m%'
+
+%install
+rm -rf %{buildroot}
+
+%make_install
+
+###### for package signing step ######
+%define tizen_sign 1
+#%define tizen_sign_base /usr/apps/%{name};/usr/apps/org.tizen.vcard-importer
+%define tizen_sign_base /usr/apps/%{name}
+%define tizen_sign_level platform
+%define tizen_author_sign 1
+%define tizen_dist_sign 1
+
+mkdir -p %{buildroot}/usr/share/license
+cp LICENSE %{buildroot}/usr/share/license/org.tizen.contacts
+
+#%post -n org.tizen.vcard-importer-lite
+#/usr/bin/signing-client/hash-signer-client.sh -a -d -p platform /usr/apps/org.tizen.vcard-importer
+
+
+%post
+#/usr/bin/signing-client/hash-signer-client.sh -a -d -p platform /usr/apps/%{name}
+# Automatically added by dh_makeshlibs
+if [ "$1" = "configure" ]; then
+ ldconfig
+fi
+# End automatically added section
+
+# 5000 is inhouse user id
+# do not use relative path
+
+mkdir -p /opt/usr/apps/%{name}/data
+mkdir -p /opt/usr/apps/%{name}/shared/data
+
+chown -R 5000:5000 /opt/usr/apps/%{name}/data
+chown -R 5000:5000 /opt/usr/apps/%{name}/shared/data
+
+#/sbin/ldconfig
+
+%files
+%manifest main-app/%{name}.manifest
+%defattr(-,root,root,-)
+%{_app_home_dir}/*
+%{_app_icon_dir}/%{name}.png
+%{_app_icon_dir}/org.tizen.phone.png
+/usr/share/packages/%{name}.xml
+/usr/share/license/%{name}
+/etc/smack/accesses.d/%{name}.efl
+/usr/ug/res/images/*
+
+#%files -n org.tizen.vcard-importer-lite
+#%manifest main-app/org.tizen.vcard-importer.manifest
+#%defattr(-,root,root,-)
+#/usr/apps/org.tizen.vcard-importer/*
+#/usr/share/packages/org.tizen.vcard-importer.xml
+#/etc/smack/accesses2.d/org.tizen.vcard-importer.rule
+
diff --git a/packaging/phone.changes b/packaging/phone.changes
deleted file mode 100644
index 1021fa3..0000000
--- a/packaging/phone.changes
+++ /dev/null
@@ -1,3 +0,0 @@
-* Tue Apr 23 2013 Ilkka Aulomaa <ilkkax.aulomaa@intel.com> submit/tizen_2.1/20130423.053952@ccb290b
-- Fix for TDIS-5481. This fixes bug that grouped log items are attempted to be deleted two times, which causes failure of the delete procedure.
-
diff --git a/packaging/phone.spec b/packaging/phone.spec
deleted file mode 100755
index 56bcdc3..0000000
--- a/packaging/phone.spec
+++ /dev/null
@@ -1,212 +0,0 @@
-Name: phone
-Summary: Phone Application and gadgets
-Version: 0.6.63.29
-Release: 1
-Group: devel
-License: Flora Software License
-URL: N/A
-Source0: %{name}-%{version}.tar.gz
-BuildRequires: pkgconfig(appcore-efl)
-BuildRequires: pkgconfig(contacts-service2)
-BuildRequires: pkgconfig(dlog)
-BuildRequires: pkgconfig(badge)
-BuildRequires: pkgconfig(heynoti)
-BuildRequires: pkgconfig(ui-gadget-1)
-BuildRequires: pkgconfig(tapi)
-BuildRequires: pkgconfig(icu-i18n)
-BuildRequires: pkgconfig(notification)
-BuildRequires: pkgconfig(ecore-x)
-BuildRequires: pkgconfig(ecore-input)
-BuildRequires: pkgconfig(ecore)
-BuildRequires: pkgconfig(evas)
-BuildRequires: pkgconfig(eina)
-BuildRequires: pkgconfig(libprivilege-control)
-BuildRequires: pkgconfig(accounts-svc)
-BuildRequires: pkgconfig(msg-service)
-BuildRequires: pkgconfig(syspopup-caller)
-BuildRequires: pkgconfig(capi-appfw-application)
-BuildRequires: pkgconfig(capi-system-runtime-info)
-#BuildRequires: pkgconfig(capi-uix-feedback)
-BuildRequires: pkgconfig(feedback)
-BuildRequires: pkgconfig(cert-svc)
-BuildRequires: pkgconfig(cert-svc-vcore)
-BuildRequires: pkgconfig(capi-appfw-app-manager)
-BuildRequires: pkgconfig(capi-system-info)
-BuildRequires: pkgconfig(capi-content-media-content)
-BuildRequires: pkgconfig(utilX)
-BuildRequires: pkgconfig(efl-assist)
-#BuildRequires: gtest-devel
-BuildRequires: cmake
-BuildRequires: edje-bin
-BuildRequires: embryo-bin
-BuildRequires: gettext-devel
-
-%description
-Phone application.
-
-%package -n org.tizen.phone
-Summary: Phone application
-Group: Development/Libraries
-
-%description -n org.tizen.phone
-Phone application.
-
-%package -n org.tizen.contacts
-Summary: Contacts launcher
-Group: Development/Libraries
-Requires: libmm-sound
-Requires: ug-bluetooth-efl
-
-%description -n org.tizen.contacts
-Contacts launcher
-
-%package -n org.tizen.contacts-appservice
-Summary: Contacts appservice
-Group: Development/Libraries
-
-%description -n org.tizen.contacts-appservice
-Contacts appservice
-
-%package -n org.tizen.contacts-viewer
-Summary: Contacts viewer application
-Group: Development/Libraries
-
-%description -n org.tizen.contacts-viewer
-Contacts viewer application
-
-%package -n libug-phone-efl
-Summary: Phone UI gadget library
-Group: devel
-
-%description -n libug-phone-efl
-Phone UI gadget library.
-
-%package -n libug-contacts-devel
-Summary: Phone UI gadget Header
-Group: devel
-Requires: libug-phone-efl = %{version}-%{release}
-
-%description -n libug-contacts-devel
-Phone UI gadget Header.
-
-%package -n libug-phone-devel
-Summary: Phone UI gadget Header
-Group: devel
-Requires: libug-phone-efl = %{version}-%{release}
-
-%description -n libug-phone-devel
-Phone UI gadget Header.
-
-
-%prep
-%setup -q
-
-%build
-%define PREFIX "/usr/apps/org.tizen.phone"
-cmake . -DCMAKE_INSTALL_PREFIX=%{PREFIX} %{?TEST: -DTEST=ON }
-make %{?jobs:-j%jobs}
-
-%install
-rm -rf %{buildroot}
-%make_install
-mkdir -p %{buildroot}/usr/share/license
-cp LICENSE.flora %{buildroot}/usr/share/license/%{name}
-
-%files
-/usr/share/license/%{name}
-
-
-%post -n libug-phone-efl
-mkdir -p /opt/usr/ug/data
-mkdir -p /opt/usr/ug/data/ug-phone
-chgrp 6005 -R /opt/usr/ug/data/ug-phone
-chmod 770 -R /opt/usr/ug/data/ug-phone
-mkdir -p /usr/ug/bin/
-ln -sf /usr/bin/ug-client /usr/ug/bin/contacts-details-efl
-ln -sf /usr/bin/ug-client /usr/ug/bin/contacts-list-efl
-ln -sf /usr/bin/ug-client /usr/ug/bin/contacts-settings-efl
-ln -sf /usr/bin/ug-client /usr/ug/bin/contacts-tabui-efl
-ln -sf /usr/bin/ug-client /usr/ug/bin/dialer-efl
-ln -sf /usr/bin/ug-client /usr/ug/bin/phone-tabui-efl
-ln -sf /usr/bin/ug-client /usr/ug/bin/speeddial-efl
-
-%post -n org.tizen.phone
-mkdir /opt/usr/apps/org.tizen.phone
-cp -fr /usr/apps/org.tizen.phone/data /opt/usr/apps/org.tizen.phone
-chown -R 5000:5000 /opt/usr/apps/org.tizen.phone/data
-
-%post -n org.tizen.contacts
-mkdir -p /opt/usr/apps/org.tizen.contacts
-cp -fr /usr/apps/org.tizen.contacts/data /opt/usr/apps/org.tizen.contacts
-chown -R 5000:5000 /opt/usr/apps/org.tizen.contacts/data
-
-%post -n org.tizen.contacts-viewer
-mkdir -p /opt/usr/apps/org.tizen.contacts-viewer
-cp -fr /usr/apps/org.tizen.contacts-viewer/data /opt/usr/apps/org.tizen.contacts-viewer
-chown -R 5000:5000 /opt/usr/apps/org.tizen.contacts-viewer/data
-
-
-
-%postun
-
-%files -n org.tizen.phone
-%manifest org.tizen.phone.manifest
-%defattr(-,root,root,-)
-/usr/apps/org.tizen.phone/*
-#/usr/share/packages/org.tizen.phone.xml
-/usr/share/icons/default/small/org.tizen.phone.png
-/usr/ug/lib/libug-speeddial-efl.*
-/usr/ug/lib/libug-dialer-efl.*
-/usr/ug/lib/libug-phone-tabui-efl.*
-#/opt/share/applications/*.desktop
-/usr/share/packages/*.xml
-/opt/etc/smack/accesses.d/org.tizen.phone.rule
-
-
-%files -n org.tizen.contacts
-%manifest org.tizen.contacts.manifest
-%defattr(-,root,root,-)
-/usr/apps/org.tizen.contacts/*
-#/usr/share/packages/org.tizen.contacts.xml
-/usr/share/icons/default/small/org.tizen.contacts.png
-/usr/ug/lib/libug-contacts-tabui-efl.*
-/usr/ug/lib/libug-contacts-settings-efl.*
-#/opt/share/applications/*.desktop
-/usr/share/packages/*.xml
-#/usr/share/locale/*
-/opt/etc/smack/accesses.d/org.tizen.contacts.rule
-
-%files -n org.tizen.contacts-appservice
-%manifest org.tizen.contacts-appservice.manifest
-%defattr(-,root,root,-)
-/usr/apps/org.tizen.contacts-appservice/*
-/usr/share/packages/org.tizen.contacts-appservice.xml
-/usr/share/icons/default/small/org.tizen.contacts-appservice.png
-/opt/etc/smack/accesses.d/org.tizen.contacts-appservice.rule
-
-%files -n org.tizen.contacts-viewer
-%manifest org.tizen.contacts-viewer.manifest
-%defattr(-,root,root,-)
-/usr/apps/org.tizen.contacts-viewer/*
-/usr/share/packages/org.tizen.contacts-viewer.xml
-/usr/share/icons/default/small/org.tizen.contacts-viewer.png
-#/usr/share/locale/*
-/opt/etc/smack/accesses.d/org.tizen.contacts-viewer.rule
-
-%files -n libug-phone-efl
-%manifest libug-phone-efl.manifest
-%defattr(-,root,root,-)
-/usr/ug/res/images/*
-/usr/ug/res/edje/*
-/usr/ug/res/locale/*
-/usr/ug/lib/libug-contacts-list-efl.*
-/usr/ug/lib/libug-contacts-details-efl.*
-/usr/ug/lib/libug-phonelog-efl.*
-
-%files -n libug-contacts-devel
-%defattr(-,root,root,-)
-/usr/include/contacts-ug.h
-
-%files -n libug-phone-devel
-%defattr(-,root,root,-)
-/usr/include/phone-ug.h
diff --git a/phone/CMakeLists.txt b/phone/CMakeLists.txt
deleted file mode 100644
index a6657ad..0000000
--- a/phone/CMakeLists.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-SET(SRCS phone.cpp)
-
-ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
-SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS} -fpie")
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib/ph-front/include)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib/common/include)
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib/common/Utils/include)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} common ug-phone-tabui-efl "-pie")
-
-INSTALL(FILES ${CMAKE_BINARY_DIR}/phone/org.tizen.phone.xml DESTINATION "/usr/share/packages")
-INSTALL(FILES icon_${PROJECT_NAME}.png DESTINATION "/usr/share/icons/default/small" RENAME "${PKGNAME}.png")
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
-
diff --git a/phone/icon_phone.png b/phone/icon_phone.png
deleted file mode 100644
index 6370d07..0000000
--- a/phone/icon_phone.png
+++ /dev/null
Binary files differ
diff --git a/phone/org.tizen.phone.xml b/phone/org.tizen.phone.xml
deleted file mode 100755
index dfd9ed8..0000000
--- a/phone/org.tizen.phone.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.phone" version="0.1.1" install-location="internal-only">
- <label>Phone</label>
- <author email="ps.jeong@samsung.com" href="www.samsung.com">bongsu Jeong</author>
- <description>Phone Application</description>
- <ui-application appid="org.tizen.phone" exec="/usr/apps/org.tizen.phone/bin/phone tab dialer" nodisplay="false" multiple="false" type="capp" taskmanage="true">
- <icon>org.tizen.phone.png</icon>
- <label>Phone</label>
- <label xml:lang="ko-kr">전화</label>
- <label xml:lang="de-de">Telefon</label>
- <label xml:lang="en-gb">Phone</label>
- <label xml:lang="en-us">Phone</label>
- <label xml:lang="es-es">Phone</label>
- <label xml:lang="fr-fr">Phone</label>
- <label xml:lang="it-it">Telef.</label>
- <label xml:lang="ja-jp">電話</label>
- <label xml:lang="nl-nl">Telefoon</label>
- <label xml:lang="pt-pt">Telef.</label>
- <label xml:lang="ru-ru">Телефон</label>
- <label xml:lang="tr-tr">Telefon</label>
- <label xml:lang="zh-cn">手机</label>
- <label xml:lang="zh-hk">電話</label>
- <label xml:lang="zh-tw">電話</label>
- <label xml:lang="ar-ae">الهاتف</label>
- <label xml:lang="hy-am">Հեռախոս</label>
- <label xml:lang="az-az">Telefon</label>
- <label xml:lang="eu-es">Telefonoa</label>
- <label xml:lang="bg-bg">Телефон</label>
- <label xml:lang="ca-es">Telèfon</label>
- <label xml:lang="hr-hr">Telefon</label>
- <label xml:lang="cs-cz">Telefon</label>
- <label xml:lang="da-dk">Telefon</label>
- <label xml:lang="nl-nl">Telefoon</label>
- <label xml:lang="et-ee">Telefon</label>
- <label xml:lang="fi-fi">Puhelin</label>
- <label xml:lang="gl-es">Teléfono</label>
- <label xml:lang="ka-ge">ტელეფონი</label>
- <label xml:lang="el-gr">Τηλέφωνο</label>
- <label xml:lang="hu-hu">Telefon</label>
- <label xml:lang="is-is">Sími</label>
- <label xml:lang="ga-ie">Teileafón</label>
- <label xml:lang="it-it">Telefono</label>
- <label xml:lang="kk-kz">Телефон</label>
- <label xml:lang="lv-lv">Tālrunis</label>
- <label xml:lang="lt-lt">Telefonas</label>
- <label xml:lang="mk-mk">Телефон</label>
- <label xml:lang="nb-no">Telefon</label>
- <label xml:lang="pl-pl">Telefon</label>
- <label xml:lang="pt-br">Telefone</label>
- <label xml:lang="ro-ro">Telefon</label>
- <label xml:lang="sr-rs">Telefon</label>
- <label xml:lang="sk-sk">Telefón</label>
- <label xml:lang="sl-si">Telefon</label>
- <label xml:lang="es-us">Teléfono</label>
- <label xml:lang="sv-se">Telefon</label>
- <label xml:lang="uk-ua">Телефон</label>
- <label xml:lang="uz-uz">Telefon</label>
- <label xml:lang="zh-sg">电话</label>
- <label xml:lang="hi-in">टेलीफोन</label>
- <label xml:lang="en-ph">Telephone</label>
- <label xml:lang="fr-ca">Téléphone</label>
-
- <application-service>
- <operation name="http://tizen.org/appcontrol/operation/dial" />
- <uri name="tel" />
- </application-service>
-
- </ui-application>
-</manifest>
diff --git a/phone/phone.cpp b/phone/phone.cpp
deleted file mode 100755
index 7c9c54f..0000000
--- a/phone/phone.cpp
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <Ecore_X.h>
-#include "phone.h"
-#include "phone-common.h"
-#include "ph-front.h"
-
-#include <system_info.h>
-
-struct phone_data
-{
- Evas_Object *win;
- ph_phoneui_data *phoneui_d;
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
- Evas_Object *prev_btn;
-#endif
- /* add more variables here */
-};
-
-static void phapp_win_del(void *data, Evas_Object *obj, void *event)
-{
- PH_TRACE;
- elm_exit();
-}
-
-static Evas_Object* phapp_create_win(const char *name)
-{
- PH_TRACE;
- Evas_Object *eo;
- int w, h;
-
- eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
- if (eo)
- {
- elm_win_title_set(eo, name);
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
-#else
- elm_win_borderless_set(eo, EINA_TRUE);
-#endif
- evas_object_smart_callback_add(eo, "delete,request", phapp_win_del,
- NULL);
- ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
- evas_object_resize(eo, w, h);
- elm_win_indicator_mode_set(eo, ELM_WIN_INDICATOR_SHOW);
- }
- elm_win_conformant_set(eo, EINA_TRUE);
- return eo;
-}
-
-static void phapp_region_changed(void *data)
-{
- PH_TRACE;
- ph_phoneui_data *phoneui_d = (ph_phoneui_data *) data;
- phone_front_view_region_changed(phoneui_d);
- ug_send_event (UG_EVENT_REGION_CHANGE);
- return;
-}
-
-static void phapp_language_changed(void *data)
-{
- PH_TRACE;
- struct phone_data *ad = (phone_data *) data;
- ph_phoneui_data *phoneui_d = ad->phoneui_d;
- phone_front_view_language_changed(phoneui_d);
- ug_send_event (UG_EVENT_LANG_CHANGE);
-}
-
-static int phapp_open(void *data)
-{
- PH_TRACE;
- struct phone_data *ad = (phone_data *) data;
- ph_phoneui_data *phoneui_d = ad->phoneui_d;
- bool shouldRemoveBadge(hasBadge());
-
- if (shouldRemoveBadge && (PH_VIEW_LOG != phoneui_d->select_tab)) // no need to return on log-tab if we are already on it
- {
- phone_front_view_reset(phoneui_d, PH_VIEW_LOG, PH_FRONT_LOG_MISSED, NULL);
- }
-
- if (TRUE == phone_front_view_show_call_app(phoneui_d))
- return -1;
- return 0;
-}
-
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
-static Evas_Object* _set_win_icon(struct phone_data *ad)
-{
- PH_TRACE;
- Evas_Object *image = evas_object_image_add(evas_object_evas_get(ad->win));
- evas_object_image_file_set(image, "/usr/share/icons/default/small/org.tizen.phone.png", NULL);
- elm_win_icon_object_set(ad->win, image);
-
- return image;
-}
-
-static void __win_profile_changed_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- struct phone_data *ad = (phone_data *) data;
- p_retm_if(NULL == ad || NULL == ad->phoneui_d, "data is null");
-
- const char *profile = elm_config_profile_get();
-
- if(!strcmp(profile, "desktop"))
- {
- Elm_Object_Item *navi_item = elm_naviframe_bottom_item_get(ad->phoneui_d->navi);
- ad->prev_btn = elm_object_item_part_content_unset(navi_item, "prev_btn");
- ad->phoneui_d->is_desktop_mode = true;
- elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_HIDE);
- if(!ad->phoneui_d->icon)
- ad->phoneui_d->icon = _set_win_icon(ad);
- }
- else
- {
- Elm_Object_Item *selected_it = elm_toolbar_selected_item_get(ad->phoneui_d->tabbar);
- ad->phoneui_d->is_desktop_mode = false;
-
- if (selected_it != ad->phoneui_d->item[PH_VIEW_DIALER])
- {
- Elm_Object_Item *navi_item = elm_naviframe_bottom_item_get(ad->phoneui_d->navi);
- if (ad->prev_btn)
- {
- elm_object_item_part_content_set(navi_item, "prev_btn", ad->prev_btn);
- ad->prev_btn = NULL;
- }
- }
-
- elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_SHOW);
- }
-}
-#endif
-
-static bool phapp_create(void *data)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- Evas_Object *win;
- struct phone_data *ad = (phone_data *) data;
-
- /* create window */
- win = phapp_create_win(PACKAGE);
- p_retvm_if(NULL == win, -1, "phapp_create_win() Failed");
- ad->win = win;
-
- elm_win_wm_rotation_available_rotations_set(ad->win, NULL, 0);
- elm_win_wm_rotation_preferred_rotation_set(ad->win, 0);
-
- evas_object_show(win);
-#ifdef _PHONE_CONTACTS_DESKTOP_MODE_
- evas_object_smart_callback_add(ad->win, "profile,changed", __win_profile_changed_cb, ad);
-#endif
- bindtextdomain(PACKAGE, LOCALEDIR);
-
- err = contacts_connect2();
- if (CONTACTS_ERROR_NONE != err)
- {
- Evas_Object *popup;
- ERR("contacts_connect2() Failed(%d)", err);
- popup = elm_popup_add(win);
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_show(popup);
- elm_object_text_set(popup, T_(PH_GET_TEXT_BASIC, PHTEXT_INITIALIZING));
- elm_popup_timeout_set(popup, 1.5);
- evas_object_smart_callback_add(popup, "timeout", phapp_win_del, NULL);
- return true;
- }
- if(!has_emergency_contacts())
- {
- create_emergency_contacts_group();
- }
- UG_INIT_EFL(ad->win, UG_OPT_INDICATOR_ENABLE);
- ad->phoneui_d = phone_front_view_create(ad->win);
-
- appcore_set_open_cb(phapp_open, data);
-
- return true;
-}
-
-void phapp_terminate(void *data)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- struct phone_data *ad = (phone_data *) data;
-
- //ug_destroy_all();
- if (NULL != ad->win)
- evas_object_del(ad->win);
- err = contacts_disconnect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_disconnect2() Failed(%d)",
- err);
- return;
-}
-
-static void phapp_pause(void *data)
-{
- PH_TRACE;
- struct phone_data *ad = (phone_data *) data;
- phone_front_view_pause(ad->phoneui_d);
- ug_pause();
- return;
-}
-
-static void phapp_resume(void *data)
-{
- PH_TRACE;
- // update missed log info
- struct phone_data *ad = (phone_data *) data;
- phone_front_view_resume(ad->phoneui_d);
- ug_resume();
-}
-
-static void phapp_service(service_h service, void *data)
-{
- PH_TRACE;
- struct phone_data *ad = (phone_data *) data;
- ph_phoneui_data *phoneui_d;
- char* val = NULL;
- int ret;
-
- p_retm_if(NULL == ad || NULL == ad->phoneui_d, "data is null");
- phoneui_d = ad->phoneui_d;
-
- ret = service_get_operation(service, &val);
- p_warn_if(SERVICE_ERROR_NONE != ret, "service_get_operation is failed(%d)",
- ret);
-
- if (val)
- {
- PH_DBG("operation : %s", val);
- if (0 == strcmp(val, SERVICE_OPERATION_DIAL))
- {
- free(val);
- val = NULL;
- ret = service_get_uri(service, &val);
- p_warn_if(SERVICE_ERROR_NONE != ret,
- "service_get_uri is failed(%d)", ret);
- if (val && 0 == strncmp(val, "tel:", 4))
- {
- phone_front_view_reset(phoneui_d, PH_VIEW_DIALER,
- PH_FRONT_DIALER_WITH_NUM, service);
- free(val);
- }
- return;
- }
- else
- {
- free(val);
- val = NULL;
- }
- }
- else
- {
- PH_DBG("no operation.");
- }
-
- ret = service_get_extra_data(service, "MMICHECK_SEND", &val);
- p_warn_if(SERVICE_ERROR_NONE != ret, "service_get_extra_data is failed(%d)", ret);
- if (val && 0 == strcmp(val, "1"))
- {
- PH_DBG("MMICHECK_SEND detected");
- phone_front_view_reset(phoneui_d, PH_VIEW_DIALER,
- PH_FRONT_DIALER_WITH_SEND_KEY, NULL);
- free(val);
- return;
- }
-
- // missed_call : show log main view, from idle_lock, quickpanel
- if (hasBadge())
- {
- phone_front_view_reset(phoneui_d, PH_VIEW_LOG, PH_FRONT_LOG_MISSED, NULL);
- removeBadge();
- free(val);
- return;
- }
-
- ret = service_get_extra_data(service, "launch_type", &val);
- p_warn_if(SERVICE_ERROR_NONE != ret, "service_get_extra_data is failed(%d)",
- ret);
- PH_DBG("launch_type : %s", SAFE_STR(val));
- if (val && *val)
- {
- if (0 == strcmp(val, "log"))
- phone_front_view_reset(phoneui_d, PH_VIEW_LOG, -1, NULL);
- else if (0 == strcmp(val, "favorite"))
- phone_front_view_reset(phoneui_d, PH_VIEW_FAVORITE, -1, NULL);
- else if (0 == strcmp(val, "dialer"))
- {
- if (phone_front_view_show_call_app(phoneui_d))
- {
- if (phoneui_d->select_tab < PH_VIEW_DIALER)
- elm_exit();
- }
- else
- phone_front_view_reset(phoneui_d, PH_VIEW_DIALER, -1, NULL);
- }
- else
- phone_front_view_reset(phoneui_d, PH_VIEW_DIALER, -1, NULL);
- free(val);
- return;
- }
-
- ret = service_get_extra_data(service, "tab", &val);
- p_warn_if(SERVICE_ERROR_NONE != ret, "service_get_extra_data is failed(%d)",
- ret);
- PH_DBG("tab : %s", SAFE_STR(val));
- if (val && *val)
- {
- if (!strcmp(val, "dialer"))
- {
- phone_front_view_reset(phoneui_d, PH_VIEW_DIALER, -1, NULL);
- free(val);
- return;
- }
- }
-
- elm_win_lower(phoneui_d->win);
- return;
-}
-
-API int main(int argc, char *argv[])
-{
- PH_TRACE;
- struct phone_data ad = { 0 };
- app_event_callback_s event_callback = { 0, };
-
- event_callback.create = phapp_create;
- event_callback.terminate = phapp_terminate;
- event_callback.pause = phapp_pause;
- event_callback.resume = phapp_resume;
- event_callback.service = phapp_service;
- event_callback.low_memory = NULL;
- event_callback.low_battery = NULL;
- event_callback.region_format_changed = phapp_region_changed;
- event_callback.language_changed = phapp_language_changed;
- event_callback.device_orientation = NULL;
-
- return app_efl_main(&argc, &argv, &event_callback, &ad);
-}
-
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
deleted file mode 100755
index db67854..0000000
--- a/po/CMakeLists.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-# for i18n
-
-SET(POFILES ar.po az.po bg.po ca.po cs.po da.po de_DE.po el_GR.po en.po en_PH.po en_US.po es_ES.po es_US.po et.po eu.po fi.po fr_CA.po fr_FR.po ga.po gl.po hi.po hr.po hu.po hy.po is.po it_IT.po ja_JP.po ka.po kk.po ko_KR.po lt.po lv.po mk.po nb.po nl_NL.po pl.po pt_BR.po pt_PT.po ro.po ru_RU.po sk.po sl.po sr.po sv.po tr_TR.po uk.po uz.po zh_CN.po zh_HK.po zh_SG.po zh_TW.po)
-SET(MSGFMT "/usr/bin/msgfmt")
-
-FOREACH(pofile ${POFILES})
- SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
- MESSAGE("PO: ${pofile}")
- GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
- GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
- SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
- ADD_CUSTOM_COMMAND(
- OUTPUT ${moFile}
- COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
- DEPENDS ${absPofile}
- )
- INSTALL(FILES ${moFile}
- DESTINATION ${LOCALEDIR}/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
- SET(moFiles ${moFiles} ${moFile})
-ENDFOREACH(pofile)
-
-MESSAGE(".mo files: ${moFiles}")
-ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
diff --git a/po/POTFILES.in b/po/POTFILES.in
deleted file mode 100755
index c6dd628..0000000
--- a/po/POTFILES.in
+++ /dev/null
@@ -1,2 +0,0 @@
-# List of source files containing translatable strings.
-lib/common/ph-text.cpp
diff --git a/po/ar.po b/po/ar.po
deleted file mode 100644
index 85b497c..0000000
--- a/po/ar.po
+++ /dev/null
@@ -1,1769 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "لوحة المفاتيح"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "المفضلة"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "الاتصال السريع"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "البريد الصوتي"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "السجلات"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "لا يوجد اتصال سريع. هل تريد تخصيص واحد؟"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "فشل الطلب"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "نجح الطلب"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "مكالمة طوارئ"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "لا يوجد سجلات"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "لا توجد مفضلة"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "تم مسح الرسالة"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "تم تجاوز الحد الأقصى لطول رقم الهاتف"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "جار حذف السجلات..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "جار حذف المفضلة..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "جار التهيئة. حاول لاحقا..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "إيقاف الصوت"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "تشغيل الصوت"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "الشاشة السابقة"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "الرجوع إلى المكالمة"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "مكالمة واردة"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "اتصال صادر"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "مكالمة فائتة"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "رسالة مرسلة"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "الرسالة المستلمة"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "مكالمة مرفوضة"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "مكالمة محظورة"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "تعديل الرقم قبل الاتصال"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "إرسال بريد إلكتروني"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "تحديد السجلات"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "تحديد جهات اتصال الاتصال السريع"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "إلغاء حظر"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "تغيير جهة الاتصال"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "إضافة توقف مؤقت لمدة %d ثانية"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "إضافة مهلة انتظار"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "الفائتة"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "خروج"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "ضبط مخصص"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "الجوال"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "منزل"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "العمل"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "الفاكس (المنزل)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "فاكس (العمل)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "رقم المساعد"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "جهاز المناداة"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "آخر"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "الهاتف"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "الفاكس"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "هاتف السيارة"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "المنزل 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "الرئيسي الخاص بالشركة"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "كل الأسماء"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "غير محددة"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "رقم الخدمة"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "الهاتف"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "مجموعات"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "إفتراضي"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "نغمة الرنين"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "موقع الويب"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "بريد إلكتروني"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "الرقم"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "ملاحظة"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "العنوان البريدي"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "التفاصيل"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "الشركة"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "ترتيب عرض الاسم"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "أرقامي"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "الاسم الأول"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "اسم العائلة"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "الاسم الأوسط"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "اللاحقة"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "اللقب"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "تصدير جهات الاتصال"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "تحديد جهات الاتصال"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "الرمز البريدي"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "الدولة"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "إقليم"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "المدينة"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "الشارع"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "تم الحفظ في %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "يكثر الاتصال بها"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "تم النسخ"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "تم التصدير"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "جار حذف جهات الاتصال..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "جاري النقل..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "جاري النسخ..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "استيراد أسماء SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "جاري استيراد جهات الاتصال من vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "جاري تصدير جهات الاتصال إلى %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "بطاقة vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "جار قراءة vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "تم الاستيراد"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "غير متاح"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "كل جهات الاتصال المرتبطة"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "الأسماء المرتبطة"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "الوظيفة"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "القسم"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "اسم المجموعة"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "إضافة حساب"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "جار إضافة أعضاء للمجموعة..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "عرض"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d جهات اتصال"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "تغيير الاسم"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "العلاقة"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "لا توجد محفوظات"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "لا توجد أنشطة"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "جاري الإضافة..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "معلومات إضافية"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "صندوق PO"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "ولاية"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "الأصدقاء"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "العائلة"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "زملاء العمل"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "العمل"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "نموذج الاهتزاز"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "تعيين الافتراضية"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "حدث"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "مشاركة معلومات جهة الاتصال"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "جهة اتصال واحدة"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "التصدير إلى بطاقة SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "معلومات"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "المحفوظات"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "الأنشطة"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "رسالة مجموعة"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "بريد إلكتروني لمجموعة"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "لا يوجد اسم"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "عنوان البريد الإلكتروني غير صالح"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "أكمل الاسم وكذلك حقلا واحدا على الأقل"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "فشل في الوصول إلى قاعدة البيانات"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "تمت إضافته بالفعل"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "اسم المجموعة مستخدم مسبقا"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "لا توجد مجموعة"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "لا يوجد رقم"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "لا يوجد عنوان بريد إلكتروني"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "لايوجد أسماء"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "ذاكرة البطاقة خالية"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "العدد الأعظمي للمدخلات المتوقعة"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "رقم غير صالح"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "ذاكرة البطاقة ممتلئة"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"يمكنك استيراد جهات اتصال من بطاقة SIM إلى الهاتف في الإعدادات > استيراد جهات "
-"اتصال أو المزامنة مع جهات اتصال حساب الويب باستخدام الحسابات في الإعدادات"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"لا توجد سجلات. بعد إجراء/استلام مكالمة أو إرسال/استلام رسالة، سيتم عرض "
-"السجلات"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "يتعذر إرسال بطاقات الأسماء"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "تحديد كرقم افتراضي"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "تحديد كبريد إلكتروني افتراضي"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "صورة"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "التقاط صورة"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "إزالة صورة"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "إضافة إلى الشاشة الرئيسية"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "حفظ الاسم في"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "حفظ في"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "استيراد جهات اتصال SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "الاسم الأول أولا"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "اسم العائلة أولا"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "عرض"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "إخفاء"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "إرسال بطاقة اسم"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "إنشاء مجموعة"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "تحديد مجموعة"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "استيراد ج اتصال"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "ربط الاسم"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "إلغاء الرابط"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "سيتم حذف جميع الأسماء المرتبطه"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "إضافة إلى المفضلة"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "تعديل مجموعة"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "إضافة عضو"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "إضافة إلى مجموعة"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "تمت الإضافة إلى المفضلة"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "غير معروف"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "عيد ميلاد"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "ذكرى سنوية"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "أحد"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "إثنين"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "ثلاثاء"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "أربعاء"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "خميس"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "جمعة"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "سبت"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "مساعد"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "أخ"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "طفل"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "عشير"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "أب"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "الأصدقاء"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "المدير"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "أم"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "والد"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "الزملاء"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "مشار إليه من قبل"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "قريب"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "أخت"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "الزوج/الزوجة"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "الجوال (المنزل)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "هاتف محمول (العمل)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "الموقع"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "معلومات أخرى"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "تم الحفظ في"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "إستيراد من بطاقة SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "المجموعة وأعضاء المجموعة"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "تم حفظ %s في %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "سيتم حذف جهة الاتصال هذه"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "صورة شخصية"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "المتصل"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "نسخة احتياطية"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "المجموعة فقط"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "مجموعة جديدة"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "تحديد مجموعة"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "جوال2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "تمت الإضافة"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "تم النقل"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "تم التحديد"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "إلغاء"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "الذاكرة لا تكفي"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "تم الحذف"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "بحث"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "إغلاق"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "تم المسح"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "خطأ"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "اتصال"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "لا توجد SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "اختيار الكل"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "فشل"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "نجاح"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "حفظ"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "إضافة اسم"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "اسم المساعد"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "مسح المجموعة"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "اسم المجموعة"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "ن رنين مجموعة"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "تسجيل فيديو"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "استبدال"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "الاتصال السريع"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "رسالة"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "ضبط نغمة الرنين"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "كل الأسماء"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "الشركة"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "تحرير جهات الاتصال"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "الحصول على بريد إلكتروني"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "الحصول على رقم"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "لا توجد مجموعة"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "المشارك"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "تعيين صورة"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "الاتصال السريع‬ غير مستخدم"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "حذف جهات اتصال"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "تحرير مجموعات"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "بريد إلكتروني"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "إضافة إلى المفضلة"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "تعديل مجموعة"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "خالي"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "حفظ الاسم"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "تحديد جهة اتصال"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "إضافة مجموعة"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "الذاكرة ممتلئة"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "جاري الحذف..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "غير قادر على إضافة جهة اتصال إلى المجموعة"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "تحديث"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "إلغاء"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "البلوتوث"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "الأسماء"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "نسخ"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "إنشاء"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "بريد إلكتروني"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "رسالة"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "نقل"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "الهاتف"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "غير معروف"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "مكالمة فيديو"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "مسح"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "تمت"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "تعديل"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "موافق"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "إرسال تفاصيل اسم"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "بحث في خادم Exchange"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "هونج كونج"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "أيسلندا"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "الأرجنتين"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "الأقاليم الأسترالية الخارجية"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "أذربيجان"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "بونير‬ و‏‫سانت أوستاتيوس‬ وسابا"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "جمهورية كوريا الديمقراطية الشعبية"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "خدمة الهاتف المجاني الدولية"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "خدمة السعر المتميز الدولية (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "خدمة التكلفة المشتركة الدولية (ISCS)"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "قرغيزستان"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "سانت هيلانه"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "سلوفاكيا"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "تايوان"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "اتصالات الإغاثة عند الكوارث (TDR)"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "جمهورية مقدونيا اليوغسلافية سابقا"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "المملكة المتحدة بين بريطانيا العظمى وأيرلندا الشمالية"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "الولايات المتحدة الأمريكية"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "جزر فيرجين التابعة للولايات المتحدة"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "خدمة الاتصالات الشخصية العامة (UPT)"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "كوت ديفوار"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "كوراساو"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "المقاطعات الجنوبية الفرنسية"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "الجابون"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "ماكاو"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "الصومال"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "تيمور الشرقية"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "توجو"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "أفغانستان"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "ألبانيا"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "الجزائر"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "ساموا الأمريكية"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "أندورا"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "أنجولا"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "أنجويلا"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "أنتيجوا وباربودا"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "أرمينيا"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "أروبا"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "أستراليا"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "النمسا"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "جزر الباهاما"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "البحرين"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "ينجلاديش"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "باربادوسا"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "بلاروسيا"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "بلجيكا"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "بيليز"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "بنين"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "برمودا"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "بوتان"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "بوليفيا"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "البوسنة والهرسك"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "بوتسوانا"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "البرازيل"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "جزر فيرجين الانجليزية"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "بروناي دار السلام"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "بلغاريا"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "بوركينافاسو"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "بوروندي"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "كمبوديا"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "الكاميرون"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "كندا"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "كاب فردي"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "جزر كيمان"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "جمهورية أفريقيا الوسطى"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "تشاد"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "تشيلي"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "الصين"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "كولومبيا"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "جزر القمر"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "الكونغو"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "جزر كوك"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "كوستاريكا"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "كرواتيا"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "كوبا"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "قبرص"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "جمهورية التشيك"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "جمهورية الكونغو الديموقراطية"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "الدنمارك"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "دياجو جاراسيا"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "جيبوتي"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "دومينيكا"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "جمهورية الدومينيكان"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "الإيكوادور"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "مصر"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "السلفادور"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "غينيا الاستوائية"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "إريتريا"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "إستونيا"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "إثيوبيا"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "جزر فوكلاند"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "جزر فايرو"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "فيجي"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "فنلندا"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "فرنسا"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "غويانا الفرنسية"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "بولينيزيا الفرنسية"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "جامبيا"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "جورجيا"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "ألمانيا"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "غانا"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "جبل طارق"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "اليونان"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "جرينلاند"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "جرينادا"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "جواديلوب"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "غوام"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "جواتيمالا"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "غينيا"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "غينيا بيساو"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "جويانا"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "هاييتي"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "هندوراس"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "المجر"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "الهند"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "إندونيسيا"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "إيران"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "العراق"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "أيرلندا"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "إسرائيل"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "إيطاليا"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "جامايكا"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "اليابان"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "الأردن"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "كازاخستان"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "كينيا"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "كريباتي"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "كوريا"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "الكويت"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "جمهورية لاو الديمقراطية الشعبية"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "لاتفيا"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "لبنان"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "ليسوتو"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "ليبيريا"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "ليبيا"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "ليختنشتين"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "ليتوانيا"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "لكسمبورج"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "مدغشقر"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "مالاوي"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "ماليزيا"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "المالديف"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "مالي"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "مالطا"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "جزر مارشال"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "المارتينيك"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "موريتانيا"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "موريشيوس"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "المكسيك"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "ميكرونيزيا"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "مولدوفا"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "موناكو"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "منغوليا"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "الجبل الأسود"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "مونتسيرات"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "المغرب"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "موزامبيق"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "ميانمار"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "ناميبيا"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "ناورو"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "نيبال"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "هولندا"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "نيوكاليدونيا"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "نيوزيلندا"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "نيكاراجوا"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "النيجر"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "نيجيريا"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "نيوي"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "جزر نورث ماريانا"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "النرويج"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "عمان"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "باكستان"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "بالاو"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "بنما"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "بابوا غينيا الجديدة"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "باراجواي"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "بيرو"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "الفلبين"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "بولندا"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "البرتغال"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "بورتوريكو"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "قطر"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "رومانيا"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "روسيا الاتحادية"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "رواندا"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "سانت كيتس ونيفيس"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "سانت لوتشيا"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "سان بيير وميكويلون"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "سانت فنسنت وجرينادا"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "جزر ساموا"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "سان مارينو"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "ساوتومي وبرنسيب"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "السعودية"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "السنغال"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "صربيا"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "سيشيل"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "سيراليون"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "سنغافورة"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "سانت مارتن"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "سلوفينيا"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "جزر سولومون"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "جنوب أفريقيا"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "أسبانيا"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "سريلانكا"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "السودان"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "سورينام"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "سويسرا"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "السويد"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "سويسرا"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "الجمهورية العربية السورية"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "طاجيكستان"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "تنزانيا"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "تايلاند"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "توكيلاو"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "تونغا"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "ترينداد وتوباجو"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "تونس"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "تركيا"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "تركمانستان"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "جزر توركس وكايكوس"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "توفالو"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "أوغندا"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "أوكرانيا"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "الإمارات العربية المتحدة"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "أورجواي"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "أوزبكستان"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "فانواتو"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "دولة الفاتيكان"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "فنزويلا"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "فيتنام"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "والس وفوتونا"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "اليمن"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "زامبيا"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "زيمبابوي"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "الاسم الأول واسم العائلة"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "اسم العائلة والاسم الأول"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "لمزيد من الحقول، انقر فوق الزر على اليمين"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/az.po b/po/az.po
deleted file mode 100644
index 77c290c..0000000
--- a/po/az.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Klaviatura"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Sevimlilər"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Sürətli yığma"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Səsli poçt"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Tarixçələr"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Sürətli yığma nömrəsi yoxdur. İndi biri təyin edilsin?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Tələb alınmadı"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Sorğu uğurlu oldu"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Təcili zəng"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Jurnal yoxdur"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Sevimli yoxdur"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Mesaj silindi"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Telefon nömrəsi maksimum uzunluğu keçib"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Tarixçələr silinir..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Sevimlilər silinir..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Başladılır. Daha sonra cəhd edin."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Səs sönülüdür"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Səs yanılıdır"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Əvvəlki ekran"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Zəng etmək üçün geri qayıdın"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Gələn zəng"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Gedən zəng"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Buraxılmış zəng"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Göndərilmiş mesaj"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Qəbul edilmiş mesaj"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Rədd edilmiş zəng"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Bloklanmış zəng"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Zəngdən əvvəl nömrəni redaktə edin"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Elektron məktubu göndər"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Tarixçələri seç"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Sürətli yığım kontaktlarını seç"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Blokdan çixart"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Kontaktı dəyiş"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "%d saniyə fasilə əlavə et"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Gözləmə əlavə et"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Buraxılmış"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Çıx"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Adi"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Ev"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "İş"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Faks (Ev)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Faks (İş)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Köməkçinin nömrəsi"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Peycer"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Başqa"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Faks"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Avtomobil telefonu"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Ev 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Şirkətin əsas"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Bütün adlar"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Təyin olunmamışdır"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Servis nömrəsi"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Qruplar"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "İlkin təyin olunan"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Zəng tonu"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Vebsayt"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Elektron poçtlar"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Nömrə"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Qeyd"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Poçt ünvanı"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Təfsilatlar"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Şirkət"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Displey adı sırası"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Şəxsi nömrə"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Ad"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Yekun ad"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "İkinci ad"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Suffiks"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Təxəllüs"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Kontaktları ixrac et"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Kontaktları seç"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Poçt kodu"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Ölkə"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Rayon"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Şəhər"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Küçə"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "%s daxilində saxlanmışdır"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Tez-tez əlaqə saxlanılanlar"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Surəti saxlanıldı"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "İdxal edilmişdir"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Kontaktlar silinir..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Göndərilmə..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Köçürülmə..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "SIM kontaktlar idxal edilir..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Kontaktlar vCard-dan idxal olunur..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Kontaktlar %s-a idxal edilir..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "V-Kart"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "vCard oxunur..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "İdxal edildi"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "M/D"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Bütün əlaqəli kontaktlar"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Əlaqəli kontaktlar"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Məşğuliyyət adı"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Departament"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Qrup adı"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Hesab əlavə edin"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Qrupa üzvlər əlavə edilir..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Bax"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d kontakt"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Adını dəyişdir"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Münasibət"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Tarixçə yoxdur"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Fəaliyyət yoxdur"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Əlavə olunur..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Əlavə məlumat"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Poçt qutusu"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Dövlət"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Dostlar"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Ailə"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Həmkarlar"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "İş"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Vibrasiya nümunəsi"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Susmaya görə təyin et"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Olay"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Kontakt məlumatını paylaş"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 kontakt"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "SIM karta ixrac et"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Məlumat"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Tarix"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Fəaliyyət növləri"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Qrup mesajı"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Qrup epoçtu"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Ad yoxdur"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Yanlış E-poçt ünvanı"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Ən azı bir sahəni, həmçinin adı tamamlayın"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Məlumat bazasına daxil olmaq alınmadı"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Artıq əlavə olunmuşdur"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Qrup adı hazırda istifadə edilir"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Qrup yoxdur"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Nömrə yoxdur"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Epoçt ünvanı yoxdur"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Kontakt yoxdur"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM yaddaşı boşdur"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Qeyd sayı maksimum həddi aşmışdır"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Nömrə səhvdir"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM yaddaşı doludur"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Siz Parametrlər > Kontaktları idxal et vasitəsilə kontaktları SIM kartdan "
-"idxal edə və parametrlərdə hesablardan istifadə edərək veb-hesabın "
-"kontaktları ilə sinxronlaşdıra bilərsiniz"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Jurnal yoxdur. Zəng etdikdən/qəbul etdikdən və ya mesaj aldıqdan/"
-"göndərdikdən sonra jurnal göstəriləcək"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Vizit kartını göndərmək mümkün deyil"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "İlkin təyin edilmiş nömrə kimi işarələ"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Susmaya görə e-poçt kimi qeyd et"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Şəkil"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Foto şəkil çək"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Şəkli sil"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Ana ekrana əlavə et"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Kontaktı ...da saxla"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Yaddaşa yazma yer"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "SIM kontaktları gətirin"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Əvvəlcə ad"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Əvvəlcə soyad"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Show"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Gizlə"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Vizit kartı göndər"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Qrup yarat"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Qrup seç"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Kontaktlrı gətr"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Kontaktı əlaqələndir"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Əlaqəni ləğv et"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Bütün əlaqəli kontaktlar silinəcək"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Sevimlilərə əlavə et"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Qrupu redaktə et"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Üzv əlavə et"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Qrupa əlavə et"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Sevimlilərə əlavə edildi"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Naməlum"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Doğum günü"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "İldönümü"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Bazar günü"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Bazar ertəsi"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Çərşənbə axşamı"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Çərşənbə"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Cümə axşamı"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Cümə"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Şənbə"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Köməkçi"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Qardaş"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Uşaq"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Yerli tərəfdaş"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Ata"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Dost"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Menecer"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Ana"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Valideyn"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Tərəfdaş"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "İstinad edilib"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Qohum"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Bacı"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Həyat yoldaşı"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Daha çox məlumat"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Əfqanıstan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albaniya"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Əlcəzair"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Şərqi Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Anqola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anqvilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antiqua və Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Ermənistan"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Avtraliya"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Avstraliyanın Xarici Əraziləri"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Avstriya"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azərbaycan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Baham"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bəhreyn"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Banqladeş"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Belarusiya"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belçika"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Beliz"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "BENIN"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermud"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Butan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Boliviya"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonear, Sent Yustatius və Seyba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosniya və Herseqovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botsvana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Braziliya"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Britaniyanın Virciniya Adaları"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Bruney Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bolqariya"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kamboca"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Kabo-Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Kaymen Adaları"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Mərkəzi Afrika Respublikası"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "ÇAD"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Çili"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Çin"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kolumbiya"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Komor Adaları"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Konqo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Kuk Adaları"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Kosta Rika"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Kot d'İvuar"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Xorvatiya"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Kurakao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Kipr"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Çex Respublikası"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Koreya Xalq Demokratik Respublikası"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Konqo Demokratik Respublikası"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Şərqi Timor"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danimarka"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diyeqo Qarsiya"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Cibuti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominika"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikan Respublikası"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ekvador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Misir"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Ekvatorial Qvineya"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritreya"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estoniya"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Efiopiya"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Folklend Adaları"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Farer adaları"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlandiya"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Fransa"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Fransanın Cənub Əraziləri"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Fransız Qvianası"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Fransız Polineziya"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Qabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Qambiya"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Gürcüstan"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Almaniya"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Qana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Hibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Yunanıstan"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Qrenlandiya"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Qrenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Qvadelupa"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Quam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Qvatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Qvineya"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Qvineya-Bisau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Qayana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Honkonq"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Macarıstan"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "İslandiya"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Hindistan"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesiya"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Iraq"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "İrlandiya"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "İsrail"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italiya"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Yamayka"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Yaponiya"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "İordaniya"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Qazaxıstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Koreya"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Küveyt"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Qırğızıstan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Laos Xalq Demokratik Respublikası"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Latviya"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Livan"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesoto"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberiya"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Liviya"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Lixtenşteyn"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Litva"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luksemburq"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Makao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "MADAQASKAR"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malavi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malayziya"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldiv adaları"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marşal Adaları"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinika"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAVRİTANİYA"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAVRİKİ"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Meksika"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikroneziya"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldoviya"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monako"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolustan"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Monteneqro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Mərakeş"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambik"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMIBIYA"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Niderland"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Yeni Kaledoniya"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Yeni Zelandiya"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nikaraqua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "NIGER"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeriya"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Şimali Mariana adaları"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norveç"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua- Yeni Qvineya"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraqvay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filippin Adaları"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polşa"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portuqaliya"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Riko"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qətər"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rumıniya"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Rusiya Federasiyası"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rvanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Müqəddəs Yelena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Sent Kitts və Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Müqəddəs Lusia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Sen Piyer və Mikelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Sent Vinsent və Qrenadin adaları"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "San Tome və Prinsipi"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Səudiyyə Ərəbistanı"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Seneqal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbiya"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seyşel adası"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Sinqapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sent Martin"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovakiya"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Sloveniya"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Solomon Adaları"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somali"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Cənubi Afrika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "İspaniya"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Şri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Svazilend"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "İsveç"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "İsveçrə"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Suriya Ərəb Respublikası"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Tayvan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tacigistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzaniya"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tayland"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Keçmiş Yuqoslaviya Respublikası Makedoniya"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Toqo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonqa"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad və Tobaqo"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunis"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Türkiyə"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Türkmənistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Türk və Kaykos Adaları"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uqanda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukrayna"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Birləşmiş Ərəb Əmirliyi"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Böyük Britaniya və Şimali İrlandiya Birləşmiş Krallığı"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Amerika Birləşmiş Ştatları"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Birləşmiş Ştatların Virciniya adaları"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruqvay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Özbəkistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikan şəhər dövləti"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venesuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vyetnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Vallis və Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yəmən"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambiya"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbave"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobil (Ev)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobil (İş)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "...da saxlanıldı"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "SD kartdan idxal et"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Qrup və qrup üzvləri"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s %s-də saxlanmışdır"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Bu kontakt silinəcək"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Foto"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Nömrəyğn"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Nüsxə"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Yalnız qrup"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Yeni qrup"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Qrup seç"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobil 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Əlavə edildi"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Göndərildi"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Seçildi"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Ləğv et"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Yaddaş kifayət etmir"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Silindi"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Axtarış"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Bağla"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Silindi"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Xəta"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Zəng"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "SIM yoxdur"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Hamısını seç"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Mümkün olmadı"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Uğur"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Yaddaşa yaz"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Kontaktları əlavə et"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Köməkçinin adı"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Qrupu sil"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Qrup adı"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Qrup zəng melodiyası"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Video yazı"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Əvəz et"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Sürətli yığma"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Mesaj"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Zəng melodiyası qur"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Bütün adlar"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Şirkət"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Kontaktları redaktə et"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Epoçt əldə edin"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Nömrəni əldə edin"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Qrup yoxdur"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "İştirakçı"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Şəkili qurun"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Sürətli yığma istifadədə deyil"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Kontaktları sil"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Qrupları redaktə et"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Elektron poçtlar"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Sevimlilərə əlavə edin"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Qrupu redaktə et"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Boşdur"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Kontaktı yaddaşa yaz"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Kontakt seç"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Qrup əlavə et"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Yaddaş dolmuşdur"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Silinir..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Qrupa kontakt əlavə etmək mümkün deyil"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Yenilə"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Ləğv et"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Adlar"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Köçür"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Yarat"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Elektron poçtlar"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Mesaj"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Göndər"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Naməlum"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Video zəng"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Sil"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Bitdi"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Redaktə et"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Kontakt detallarını göndər"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Exchange serverini axtar"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Ad Soyad"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Soyad Ad"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Əlavə sahələr üçün sağdakı düyməyə vurun"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/bg.po b/po/bg.po
deleted file mode 100644
index 44d6ec7..0000000
--- a/po/bg.po
+++ /dev/null
@@ -1,1772 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Клавиат."
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Предпочитани"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Бързо набиране"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Гласова поща"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Регистри"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Няма номер за бързо набиране. Задаване на такъв сега?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Неуспешна заявка"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Заявката е успешна"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Спешно повикване"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Няма регистри"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Няма предпочитани"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Съобщението е изтрито"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Надвишена е максималната дължина на телефонния номер"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Изтриване на регистрите..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Изтриване на предпочитаните..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Инициализиране. Опитайте по-късно..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Звук изкл."
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Звук вкл."
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Предишен екран"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Назад към повикването"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Входящо повикване"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Изходящо повикване"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Пропуснат разговор"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Изпратено съобщение"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Получено съобщение"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Отхвърлено повикв."
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Блокирано повикв."
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Редактиране на номера преди повикване"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Изпращане на еmail"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Избери регистри"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Изберете контакти за бързо набиране"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Деблок."
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Промяна на записа"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Добави %d сек. пауза"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Добавяне на изчакване"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Пропуснато"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Изход"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "По избор"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Мобилен"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Дом"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Служебен"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Факс (домашен)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Факс (служебен)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Номер на помощника"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Пейджър"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Друго"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Телефон"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Факс"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Телефон в автомобила"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Домашен 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Основен фирмен"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Радио"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Всички записи"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Незададен"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Номер на услуга"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Телефон"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Групи"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "По подразбиране"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Тон позвъняване"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Уеб сайт"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Email"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Номер"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Бележка"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Пощенски адрес"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Детайли"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Фирма"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Ред за показване на имената"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Собствен номер"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Малко име"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Фамилно име"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Бащино име"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Обръщение"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Псевдоним"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Експортиране на записи"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Избор на записи"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Пощенски код"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Страна"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Област"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Град"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Улица"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Запаметено в %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Често контактувани"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Копирано"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Експортирано"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Изтриване на записи..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Преместване"
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Копиране..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Импортиране на записи от SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Импортиране на записи от vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Експортират се записи в %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "V карта"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Четене на vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Импортирано"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "н.д."
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Всички свързани записи"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Свързани записи"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Длъжност"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Отдел"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Име на група"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Добавяне на акаунт"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Добавяне на членове в група..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Преглед"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d записа"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Преименуване"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Връзка"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Няма хронологии"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Няма дейности"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Добавяне..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Доп. информация"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Пощенска кутия"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Област"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Приятели"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Семейство"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Колеги"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Служебен"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Тип вибриране"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Настройка по подразбиране"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Мероприятие"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Сподели информация за контакт"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 запис"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Експортиране в SIM картата"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Информ."
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Хронология"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Действия"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Съобщение до групата"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Email до групата"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Без име"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Невалиден имейл адрес"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Попълнете поне едно поле, като и име"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Неуспешен достъп до базата данни"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Вече е добавено"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Името на групата вече се използва"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Няма група"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Няма номер"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Няма email адреси"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Няма записи"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Паметта на SIM е празна"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Надхвърлен е максималният брой записи"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Невалиден номер"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM памет пълна"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Можете да импортирате записи от SIM картата в телефона от Настройки > "
-"Импортиране на записи или да синхронизирате със записи за уеб акаунти, като "
-"ползвате акаунтите в настройките"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Няма регистри. След като направите/получите повикване или изпратите/получите "
-"съобщение, ще се появят регистрите"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Визитните картички не могат да се изпратят"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Маркиране като номер по подразбиране"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Маркирай като email по подразбиране"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Изображение"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Направи снимка"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Махни снимката"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Добавяне към началния екран"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Запиши данните в"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Запази в"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Импортирай записи от SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Първо собственото име"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Първо фамилното име"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Показване"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Скриване"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Изпращане на визитка"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Създаване на група"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Изберете група"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Импорт записи"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Свързване на запис"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Премахни връзката"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Всички свързани записи ще бъдат изтрити"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Добави към Предпочитани"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Редакт. група"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Доб. член"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Добавяне към група"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Добавено към Предпочитани"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Няма информация"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Рожден ден"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Годишнина"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Неделя"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Понеделник"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Вторник"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Сряда"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Четвъртък"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Петък"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Събота"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Помощник"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Брат"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Дете"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Домашен партньор"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Баща"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Приятел"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Мениджър"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Майка"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Родител"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Партньор"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Препоръчан от"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Роднина"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Сестра"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Съпруг(а)"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Още информация"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Афганистан"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Албания"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Алжир"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Американски Самоа"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Андора"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Ангола"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Ангила"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Антигуа и Барбуда"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Аржентина"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Армения"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Аруба"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Австралия"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Австралийски външни територии"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Австрия"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Азербайджан"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Бахами"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Бахрейн"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Бангладеш"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Барбадос"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Беларус"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Белгия"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Белиз"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Бенин"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Бермуда"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Бутан"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Боливия"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Бонер, Свети Евстатий и Саба"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Босна и Херцеговина"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Ботсуана"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Бразилия"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Британски Вирджински о-ви"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Бруней Дарусалам"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "България"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Буркина Фасо"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Бурунди"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Камбоджа"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Камерун"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Канада"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Кабо Верде"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Кайманови острови"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Централноафриканска република"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Чад"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Чили"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Китай"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Колумбия"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Комори"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Конго"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "о-ви Кук"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Коста Рика"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Кот д'Ивоар"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Хърватска"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Куба"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Кюрасао"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Кипър"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Чешка република"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Корейска народна демократична република"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Демократична република Конго"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Тимор-Лесте"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Дания"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Диего Гарсия"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Джибути"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Доминика"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Доминиканска република"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Еквадор"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Египет"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Салвадор"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Екваториална Гвинея"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Еритрея"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Естония"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Етиопия"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Фолклендски о-ви"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Фарьорски о-ви"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Фиджи"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Финландия"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Френски Южни територии"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Френска Гвиана"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Френска Полинезия"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Габон"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Гамбия"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Грузия"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Германия"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Гана"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Гибралтар"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Гърция"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Гренландия"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Гренада"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Гваделупа"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Гуам"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Гватемала"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Гвинея"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Гвинея-Бисау"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Гайана"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Хаити"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Хондурас"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Хонконг"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Унгария"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Исландия"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Индия"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Индонезия"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Международна услуга за безплатна телефония"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Международна услуга с преференциални тарифи (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Международна услуга със споделени разходи (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Иран"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Ирак"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Ирландия"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Израел"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Ямайка"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Япония"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Йордания"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Казахстан"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Кения"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Кирибати"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Ю. Корея"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Кувейт"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Киргизстан"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Лаоска народна демократична република"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Латвия"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Ливан"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Лесото"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Либерия"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Либия"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Лихтенщайн"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Литва"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Люксембург"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Макао"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Мадагаскар"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Малави"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Малайзия"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Малдиви"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Мали"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Малта"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Маршалови острови"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Мартиника"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Мавритания"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Мавриций"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Мексико"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Микронезия"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Молдова"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Монако"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Монголия"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Черна гора"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Монсерат"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Мароко"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Мозамбик"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Мианмар"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Намибия"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Науру"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Непал"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Нидерландия"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Нова Каледония"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Нова Зеландия"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Никарагуа"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Нигер"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Нигерия"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Ниу"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Северни Мариански о-ви"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Норвегия"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Оман"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Пакистан"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Палау"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Панама"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Папуа Нова Гвинея"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Парагвай"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Перу"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Филипини"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Полша"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Португалия"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Порто Рико"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Катар"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Румъния"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Руска федерация"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Руанда"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Света Елена"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Сейнт Китс и Невис"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Сейнт Лучия"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Сен Пиер и Микелон"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Сейнт Винсент и Гренадин"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Самоа"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "Сан Марино"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Сао Томе и Принципе"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Саудитска Арабия"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Сенегал"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Сърбия"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Сейшелски о-ви"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Сиера Леоне"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Сингапур"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Синт Маартен"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Словакия"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Словения"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Соломонови о-ви"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Сомалия"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Южна Африка"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Испания"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Шри Ланка"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Судан"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Суринам"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Свазиленд"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Швеция"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Швейцария"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Сирийска арабска република"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Тайван"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Таджикистан"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Танзания"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Телекомуникации за помощ при бедствия (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Тайланд"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Бивша югославска република Македония"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Того"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Токелау"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Тонга"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Тринидад и Тобаго"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Тунис"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Турция"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Туркменистан"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Острови Търкс и Кайкос"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Тувалу"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Уганда"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Украйна"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Обединени арабски емирства"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Обединено кралство Великобритания и Северна Ирландия"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Съединени американски щати"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Вирджински о-ви - САЩ"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Универсална персонална телекомуникационна услуга (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Уругвай"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Узбекистан"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Вануату"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Ватикана"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Венецуела"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Виетнам"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Уолис и Футуна"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Йемен"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Замбия"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Зимбабве"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Мобилен (домашен)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Мобилен (служебен)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Записано в"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Импортиране от SD картата"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Група и членове на групата"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s е запаметен в %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Този номер ще бъде изтрит"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Снимки"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Набиране"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Резервно копие"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Обмяна"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Само групата"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Нова група"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Изберете група"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Мобилен 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Добавен"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Преместено"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Избран"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Отмени"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Няма достатъчно памет"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Премахнат"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Търси"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Затваряне"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Изтрито"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Грешка"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Повикване"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Няма SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Избери всички"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Неуспешно"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Успешно"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Запази"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Добави от указ."
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Име на помощника"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Изтрий група"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Име на група"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Тон звън. група"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Запис на видео"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Замяна"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Бързо набиране"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Съобщ."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Задаване като тон на звънене"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Всички записи"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Фирма"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Редактиране на записи"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Получаване на email"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Изтегляне на номер"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Няма група"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Участник"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Задаване на изображение"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Бързото набиране не се използва"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Изтриване на записи"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr ""
-#~ "Редактиране\n"
-#~ "на групи"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Добавяне в Предпочитани"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Редакт. група"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Празен"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Запази в тел. указ."
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Избор на запис"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Добави група"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Паметта е заета"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Премахване..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Не може да се добави запис в групата"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Актуализация"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Отказ"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Телефонен указател"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Копиране"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Създай"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Съобщение"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Премести"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Телефон"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Няма информация"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Видео разговор"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Изтрий"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Готово"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Редактиране"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Изпрати данни от тел. указател"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Търсене в сървър на Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Собствено име Фамилия"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Фамилия Собствено име"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "За повече полета чукнете бутона отдясно"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/ca.po b/po/ca.po
deleted file mode 100644
index 7fba627..0000000
--- a/po/ca.po
+++ /dev/null
@@ -1,1772 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Teclat"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Preferit"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Marcatge ràpid"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Bústia de veu"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Registre"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Sense números de marcatge abreujat. Assignar-ne un ara?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Error a la petició"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Sol·licitud correcta"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Trucada d'emergència"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "No hi ha registres"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Sense preferits"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Missatge esborrat"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "S'ha excedit la longitud màxim de número de telèfon"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Esborrant registres..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Esborrant preferits..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Inicialitzant. Intenti-ho més tard..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "So desactivat"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "So activat"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Pant anterior"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Torna a la trucada"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Trucada d'entrada"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Trucada de sortida"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Trucada perduda"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Missatge enviat"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Missatge rebut"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Trucada rebutjada"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Trucada bloquejada"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Editar el número abans de trucar"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Enviar correu electrònic"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Seleccionar registres"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Seleccionar contactes de marcatge abreujat"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Desbloq"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Canviar contacte"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Afegir una pausa de %d s"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Afegir espera"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Perdudes"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Sortir"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Personalitzat"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mòbil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Pers."
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Feina"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (Casa)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (Feina)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Número de l'assistent"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Cercapersones"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Altres"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telèfon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Telèfon del cotxe"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Casa 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Telèfon principal de l'empresa"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Ràdio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Tots els contactes"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "No assignat"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Número de servei"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telèfon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grups"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Predeterminat"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Melodia"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Lloc web"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Correu electrònic"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Número"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Nota"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Adreça postal"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Detalls"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Empresa"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Ordre de nom que apareixerà a la pantalla"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Número propi"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Nom"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Cognoms"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Segon nom"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Sufix"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Sobrenom"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Exportar contactes"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Seleccionar contactes"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Codi postal"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "País"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Província"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Ciutat"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Carrer"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Desat a %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Contactats amb freqüència"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Copiat"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exportat"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "S'estan esborrant els contactes..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Movent..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Copiant..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "S'estan important els contactes SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "S'estan important els contactes de la vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Exportant contactes a %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "S'està llegint vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importat"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/D"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Tots cont. enllaçats"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Contactes enllaçats"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Càrrec"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Departament"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Nom grup"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Afegir compte"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "S'estan afegint membres al grup..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Veure"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contactes"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Canviar nom"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relació"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Sense historials"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Sense activitats"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Afegint..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Informació addicional"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Bústia postal"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Estat"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Amics"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Família"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Companys de feina"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Feina"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Patró de la vibració"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Definir predeterminat"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Esdeveniment"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Compartir informació de contacte"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contacte"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Exportar a targeta SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Historial"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Activitats"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Missatge de grup"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Correu electrònic de grup"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Sense nom"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Adreça correu electrònic no vàlida"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Ompli, al menys, un camp i també el nom"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Error en accedir a la base de dades"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Ja s'ha afegit"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Ja s'està utilitzant aquest nom de grup"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Sense Grup"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Sense número"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "No hi ha cap adreça de correu electrònic"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "No hi ha contactes"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Memòria SIM buida"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "S'ha excedit el nombre màxim d'entrades"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Número no vàlid"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Memòria SIM plena"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Pot importar contactes de la targeta SIM al telèfon a Ajustaments > Importar "
-"contactes o sincronitzar-los amb contactes de comptes web utilitzant els "
-"comptes a ajustaments"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"No hi ha registres. Després de fer/rebre una trucada o enviar/rebre un "
-"missatge, es mostraran els registres"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "No es poden enviar targetes de visita"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Marcar com a número predeterminat"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Marcar com a correu electrònic predeterminat"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Imatge"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Fer una foto"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Eliminar foto"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Afegir a la pantalla d'inici"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Desar contacte a"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Desar a"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importar els contactes SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Primer el nom"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Abans el cognom"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Mostrar"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Ocultar"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Enviar targeta de visita"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Crear grup"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Seleccionar grup"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Import contact"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Enllaçar contacte"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Desenllaçar"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "S'esborraran tots els contactes enllaçats"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Afegir a Preferits"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Editar grup"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Af membre"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Afegir a grup"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Afegit a preferits"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Desconegut"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Natalici"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Aniversari"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Diumenge"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Dilluns"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Dimarts"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Dimecres"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Dijous"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Divendres"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Dissabte"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistent"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Germà"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Nen"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Soci local"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Pare"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Amic"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Director"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mare"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Pares"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Parella"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Referit per"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Familiar"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Germana"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Cònjuge"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "MI"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Més informació"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albània"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algèria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Samoa Nord-americana"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua i Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armènia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Austràlia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territoris externs d'Austràlia"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Àustria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaidjan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangla Desh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Bielorússia"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Bèlgica"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benín"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolívia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius i Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bòsnia i Herzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Illes Verges Britàniques"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgària"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Cambodja"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Camerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canadà"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cap Verd"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Illes Caiman"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "República Centreafricana"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Txad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Xile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Xina"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colòmbia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comores"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Illes Cook"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Costa d’Ivori"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croàcia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Xipre"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "República Txeca"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "República Democràtica Popular de Corea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "República Democràtica de Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor Oriental"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Dinamarca"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "República Dominicana"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Equador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egipte"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Guinea Equatorial"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estònia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiòpia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Illes Malvines"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Illes Fèroe"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlàndia"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "França"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territoris francesos del sud"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Guaiana Francesa"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Polinèsia Francesa"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gàmbia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Geòrgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Alemanya"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grècia"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Groenlàndia"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadalupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haití"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Hondures"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Hongria"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islàndia"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Índia"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonèsia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Servei telefònic gratuït internacional"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Servei de tarifa prèmium internacional (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Servei de cost compartit internacional (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Iraq"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlanda"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Itàlia"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japó"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordània"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakhstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Corea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirguizistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "República Democràtica Popular de Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Letònia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Líban"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Libèria"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Líbia"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lituània"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxemburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macau"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malàisia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldives"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Illes Marshall"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinica"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritània"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Maurici"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mèxic"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronèsia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldàvia"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Mònaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongòlia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marroc"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Moçambic"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namíbia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Països Baixos"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nova Caledònia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nova Zelanda"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Níger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigèria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Illes Mariannes Septentrionals"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Noruega"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panamà"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Nova Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguai"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Perú"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipines"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polònia"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Romania"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Federació russa"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Saint Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Christopher i Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre and Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent i les Grenadines"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "São Tomé i Príncipe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Aràbia Saudita"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Sèrbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Eslovàquia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Eslovènia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Illes Salomó"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somàlia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Sud-àfrica"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Espanya"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swazilàndia"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Suècia"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Suïssa"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "República Àrab de Síria"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadjikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzània"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr ""
-#~ "Telecomunicacions per a les operacions de socors en cas de catàstrofe "
-#~ "(TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tailàndia"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "L'antiga República Iugoslava de Macedònia"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad i Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunísia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turquia"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Illes Turks i Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ucraïna"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Unió dels Emirats Àrabs"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Regne Unit de la Gran Bretanya i Irlanda del Nord"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Estats Units d'Amèrica"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Illes Verges Americanes"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Servei de telecomunicacions personals universal (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguai"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Ciutat del Vaticà"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Veneçuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis i Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Iemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zàmbia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mòbil (Casa)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Telèfon (Feina)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Desat a"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importar de la targeta SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grup i membres del grup"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s s'ha desat a %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "S'esborrarà aquest contacte"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Foto"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Pers truc"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Còpia de seguretat"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Només grup"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Nou grup"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Seleccionar grup"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mòbil 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Afegit"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Mogut"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Seleccionat"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Cancel·lar"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "No hi ha prou memòria"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Eliminat"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Cercar"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Tancar"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Esborrat"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Error"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Trucar"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Sense SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Seleccioni-ho tot"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Error"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Correcte"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Desar"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Afegir contactes"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Nom de l'assistent"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Esborrar grup"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Nom grup"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Melodia de grup"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Gravar vídeo"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Substituir"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Marcatge ràpid"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Missat"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Definir melodia"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Tots els contactes"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Empresa"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Editar contactes"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Obtenir correu electrònic"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Obtenir número"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Sense Grup"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Participant"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Definir imatge"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Marcatge abreujat sense utilitzar"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Esborrar contactes"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Editar grups"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Correu electrònic"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Afegir als preferits"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Editar grup"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Buit"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Desar contacte"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Seleccioni contacte"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Afegir grup"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memòria plena"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Eliminant..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "No es pot afegir el contacte al grup"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Actualitzar"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Canc"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Contactes"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Copiar"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Crear"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Correu electrònic"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Missatge"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Moure"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telèfon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Desconegut"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videotrucada"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Esborrar"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Finalit."
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Editar"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "Acceptar"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Enviar dades de contacte"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Cercar Servidor Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Nom Cognoms"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Cognoms Nom"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Per veure més camps, toqui el botó de la dreta"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/cs.po b/po/cs.po
deleted file mode 100644
index bbb8847..0000000
--- a/po/cs.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Klávesn."
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Oblíbené"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Rychlá volba"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Hlasová schránka"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Protok."
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Číslo rychlé volby není přiřazeno. Chcete ho přiřadit?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Požadavek se nezdařil"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Požadavek byl úspěšně dokončen"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Tísňové volání"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Žádné protokoly"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Žádné oblíbené"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Zpráva odstraněna"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Byla překročena maximální délka telefonního čísla"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Odstraňování protokolů..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Odstraňování oblíbených položek..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Probíhá inicializace. Opakujte akci později..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Vypnout zvuk"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Zapnout zvuk"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Předch. obraz."
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Zpět k hovoru"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Příchozí hovor"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Odchozí hovor"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Zmeškaný hovor"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Odeslaná zpráva"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Přijatá zpráva"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Odmítnutý hovor"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Blokovaný hovor"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Upravit číslo před vytočením"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Odeslat e-mail"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Vybrat protokoly"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Vyberte kontakty rychlé volby"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Odblok."
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Změnit kontakt"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Přidat %dsekundovou pauzu"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Přidat čekání"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Zmeškané"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Konec"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Vlastní"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Domů"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Práce"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (domů)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (práce)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Číslo asistenta"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pager"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Další"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Telefon do vozidla"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Domů 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Práce, hlavní"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Rádio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Všechny kontakty"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Nepřiřazeno"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Číslo služby"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Skupiny"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Výchozí"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Zvonění"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Webové stránky"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-mail"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Číslo"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Poznámka"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Poštovní adresa"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Podrobnosti"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Společnost"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Pořadí zobrazení jména"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Vlastní číslo"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Jméno"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Příjmení"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Druhé jméno"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Titul za jménem"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Přezdívka"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Exportovat kontakty"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Vybrat kontakty"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "PSČ"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Země"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Kraj"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Město"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Ulice"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Uloženo do %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Často používané kontakty"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Zkopírováno"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exportováno"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Odstraňování kontaktů..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Probíhá přesouvání"
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopírování..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Probíhá import kontaktů ze SIM karty..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Probíhá import kontaktů z vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Probíhá export kontaktů do %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Čtení vizitky vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importováno"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Nepoužito"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Všechny přip. kontakty"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Připojené kontakty"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Pracovní zařazení"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Oddělení"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Název skupiny"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Přidat účet"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Přidávání členů do skupiny..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Zobrazit"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d kontaktů"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Přejmenovat"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Vztah"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Žádná historie"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Žádné aktivity"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Přidávání..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Další informace"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Poštovní přihrádka"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Stát"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Přátelé"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Rodina"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Spolupracovníci"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Práce"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Typ vibrací"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Nastavit výchozí"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Událost"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Sdílet informace o kontaktu"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 kontakt"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Export na SIM kartu"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Historie"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Aktivity"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Skupinová zpráva"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Skupinový e-mail"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Žádný název"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Neplatná e-mailová adresa"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Vyplňte alespoň jedno pole a jméno"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Nepodařilo se otevřít databázi"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Již přidáno"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Název skupiny již existuje"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Žádná skupina"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Žádné číslo"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Žádné e-mailové adresy"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Žádné kontakty"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Paměť karty SIM je prázdná"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Byl překročen maximální počet položek"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Neplatné číslo"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Paměť karty SIM je plná"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Můžete importovat kontakty ze SIM karty do telefonu pomocí položek Nastavení "
-"> Import kontaktů nebo je synchronizovat s kontakty na webových účtech "
-"pomocí účtů v nastavení"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Žádné protokoly. Pokud zavoláte nebo přijmete hovor, nebo odešlete či "
-"přijmete zprávu, protokoly se objeví"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Vizitky se nepodařilo odeslat"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Označit jako výchozí číslo"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Označit jako výchozí e-mail"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Obrázek"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Fotografovat"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Odstranit fotografii"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Přidat na domovskou obrazovku"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Uložit kontakt do"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Uložit do"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importovat kontakty ze SIM karty"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Napřed křestní jméno"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Napřed příjmení"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Zobrazit"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Skrýt"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Odeslat vizitku"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Vytvořit skupinu"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Vyberte skupinu"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Import kontaktů"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Připojit kontakt"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Zrušit propojení"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Všechny připojené kontakty budou odstraněny"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Přidat k oblíbeným položkám"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Upravit skupinu"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Př. člena"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Přidat do skupiny"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Přidáno k oblíbeným položkám"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Neznámé"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Narozeniny"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Výročí"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Neděle"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Pondělí"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Úterý"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Středa"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Čtvrtek"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Pátek"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Sobota"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Asistent"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Bratr"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Dítě"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Domácí partner"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Otec"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Přítel"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Vedoucí"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Matka"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Rodič"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Odkazuje"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Příbuzný"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Sestra"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Manžel(ka)"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Další informace"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghánistán"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albánie"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Alžírsko"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Americká Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua a Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Arménie"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Austrálie"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Australská externí teritoria"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Rakousko"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Ázerbájdžán"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamy"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrajn"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladéš"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Bělorusko"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgie"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "BENIN"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhútán"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolívie"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius a Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosna a Hercegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazílie"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Britské Panenské ostrovy"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulharsko"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambodža"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Kapverdy"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Kajmanské ostrovy"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Středoafrická republika"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "CHAD"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Čína"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kolumbie"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "COMOROS"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cookovy ostrovy"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Kostarika"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Pobřeží slonoviny"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Chorvatsko"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curacao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Kypr"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Česká republika"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Demokratická lidová republika Kongo"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Demokratická republika Kongo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor-Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Dánsko"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Džibuti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikánská republika"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ekvádor"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egypt"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Rovníková Guinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonsko"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopie"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falklandské ostrovy"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Faerské ostrovy"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidži"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finsko"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Francouzská jižní území"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Francouzská Guayana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Francouzská Polynésie"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabun"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambie"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Gruzie"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Německo"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Řecko"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grónsko"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guayana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hongkong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Maďarsko"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Island"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Indie"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonésie"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Prémiová sazba při mezinárodních hovorech (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Služba sdílených nákladů při mezinárodních hovorech (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Irán"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irák"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irsko"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Izrael"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamajka"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japonsko"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordánsko"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazachstán"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Keňa"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuvajt"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kyrgyzstán"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Demokratická lidová republika Lao"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Lotyšsko"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Libérie"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libye"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Lichtenštejnsko"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Litva"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Lucemburk"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "MADAGASKAR"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malajsie"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maledivy"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshallovy ostrovy"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinik"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURETÁNIE"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURITIUS"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexiko"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronésie"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldávie"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monako"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolsko"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Černá hora"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Maroko"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambik"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMIBIE"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepál"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Nizozemsko"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nová Kaledonie"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nový Zéland"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nikaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "NIGER"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigérie"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Severní Mariany"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norsko"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Omán"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pákistán"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Nová Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipíny"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polsko"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugalsko"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Portoriko"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Katar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rumunsko"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Ruská federace"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Svatá Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Svatý Kitts a Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Svatá Lucie"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre a Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Svatý Vincent a Grenadiny"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Svatý Tomáš a Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saúdská Arábie"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Srbsko"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelly"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Svatý Martin"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovensko"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovinsko"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Šalomounovy ostrovy"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somálsko"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Jihoafrická republika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Španělsko"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Srí Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Súdán"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swazijsko"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Švédsko"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Švýcarsko"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Syrská arabská republika"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Tchaj-wan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tádžikistán"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzánie"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telekomunikace pro pomoc při katastrofách (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thajsko"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Bývalá jugoslávská republika Makedonie"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad a Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunisko"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turecko"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistán"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Ostrovy Turks a Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukrajina"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Spojené arabské emiráty"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Spojené království Velké Británie a Severního Irska"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Spojené státy americké"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Spojené státy - Panenské ostrovy"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Univerzální osobní telekomunikační služba (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistán"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Městský stát Vatikán"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis a Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambie"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobil (domů)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobil (práce)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Uloženo do"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Import z SD karty"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Skupina a členové skupiny"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s byl uložen do %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Kontakt bude odstraněn"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Fotografie"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Číselník"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Zálohování"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Pouze skupiny"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Nová skupina"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Vyberte skupinu"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobil 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Přidáno"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Přesunuto"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Vybráno"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Zrušit"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Nedostatek paměti"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Odstraněno"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Hledat"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Zavřít"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Odstraněno"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Chyba"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Volat"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Žádná SIM karta"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Vybrat vše"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Nezdařilo se"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Dokončeno"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Uložit"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Přidat kontakty"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Jméno asistenta"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Odstranit skupinu"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Název skupiny"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Skup. vyzv. tón"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Nahrát video"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Nahradit"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Rychlá volba"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Zpráva"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Nastavit vyzváněcí tón"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Všechny kontakty"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Společnost"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Upravit kontakty"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Získat e-mail"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Získat číslo"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Žádná skupina"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Účastník"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Nastavit obrázek"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Rychlá volba není používána"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Odstranit kontakty"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Upravit skupiny"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Přidat do oblíbených položek"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Upravit skupinu"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Prázdné"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Uložit kontakt"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Vybrat kontakt"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Přidat skupinu"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Paměť je plná"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Odebírání..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Nelze přidat kontakt do skupiny"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Aktualizovat"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Zruš."
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Kontakty"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopírovat"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Vytvořit"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Zpráva"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Přesunout"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Neznámé"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videohovor"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Odstranit"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Hotovo"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Upravit"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Odeslat kontaktní údaje"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Hledat server Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Křestní jméno Příjmení"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Příjmení Křestní jméno"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Chcete-li zobrazit další pole, klepněte na tlačítko napravo"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/da.po b/po/da.po
deleted file mode 100644
index f5013c6..0000000
--- a/po/da.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Tastatur"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favoritter"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Hurtigopkald"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Telefonsvarer"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Logger"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Intet hurtigopkaldsnummer. Tildel et nu?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Anmodning mislykkedes"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Anmodning gennemført"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Nødopkald"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Ingen logger"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Ingen favoritter"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Meddelelsen er slettet"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Maksimale længde på telefonnummer overskredet"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Sletter opkaldslogger ..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Sletter favoritter ..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Initialiserer. Prøv senere ..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Lyd fra"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Lyd til"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Forrige skærm"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Tilbage til opkald"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Indgående opkald"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Udgående opkald"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Ubesvaret opkald"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Sendt meddelelse"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Modtaget meddelelse"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Afvist opkald"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Blokeret opkald"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Redigér nummer før opkald"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Send e-mail"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Vælg opkaldslogger"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Vælg kontakter med hurtigkald"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Ophæv blokering"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Skift kontakt"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Tilføj pause på %d sek."
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Tilføj vent"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Missede"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Afslut"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Brugerdefineret"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Hjem"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Arbejde"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (privat)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (arbejde)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Assistentens nummer"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Personsøger"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Anden"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Biltelefon"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Hjem 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Hovedfirma"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Alle kontakter"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Ikke tildelt"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Tjenestenummer"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupper"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Standard"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Ringetone"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Websted"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-mail"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Nummer"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Bemærkning"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Postadresse"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Detaljer"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Firma"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Rækkefølge for visningsnavn"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Eget nummer"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Fornavn"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Efternavn"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Mellemnavn"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Titel"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Kaldenavn"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Eksportér kontakter"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Vælg kontakter"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Postnummer"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Land"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Region"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "By"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Vej"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Gemt i %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Hyppigt kontaktede"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Kopieret"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Eksporteret"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Sletter kontakter..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Flytter ..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopierer ..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importerer SIM-kontakter..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importerer kontakter fra vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Eksporterer kontakter til %s ..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vKort"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Læser vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importeret"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Ikke tilgængelig"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Alle kædede kontakter"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Kædede kontakter"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Jobtitel"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Afdeling"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Gruppenavn"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Tilføj konto"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Føjer medlemmer til gruppe..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Vis"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d kontakter"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Omdøb"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Forhold"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Ingen artikler"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Ingen aktiviteter"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Tilføjer..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Yderligere oplysninger"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Postboks"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Stat"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Venner"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Familie"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Kolleger"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Arbejde"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Vibrationsmønster"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Indstil standard"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Begivenhed"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Del kontaktoplysninger"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 kontakt"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Eksportér til SIM-kort"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Oversigt"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Aktiviteter"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Gruppemeddelelse"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Gruppe-e-mail"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Intet navn"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Ugyldig e-mail-adresse"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Udfyld mindst et felt samt navn"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Fik ikke adgang til database"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Allerede tilføjet"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Gruppenavnet bruges allerede"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Ingen gruppe"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Intet nummer"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Ingen e-mail-adresser"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Ingen kontakter"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM-hukommelse tom"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Det maksimale antal poster er overskredet"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Ugyldigt nummer"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM-hukommelsen er fuld"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Du kan importere kontakter fra SIM-kort i din telefon i Indstillinger > "
-"Importér kontakter eller synkronisere med webkontokontakter vha. Konti i "
-"Indstillinger"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Ingen logs. Når du foretager/modtager et opkald eller sender/modtager en "
-"meddelelse, vises logs"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Kan ikke sende visitkort"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Markér som standardnummer"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Markér som standard-e-mail"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Billede"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Tag et billede"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Fjern billede"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Føj til startskærm"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Gem kontakt på"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Gem på"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importér SIM-kontakter"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Først fornavn"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Først efternavn"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Vis"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Skjul"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Send visitkort"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Opret gruppe"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Vælg gruppe"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Importér kont."
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Kæd kontakt"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Fjern kæde"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Alle kædede kontakter bliver slettet"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Føj til favoritter"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Rediger gruppe"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Tilf medl"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Føj til gruppe"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Føjet til Foretrukne"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Ukendt"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Fødselsdag"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Mærkedag"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Søndag"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Mandag"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Tirsdag"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Onsdag"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Torsdag"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Fredag"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Lørdag"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistent"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Bror"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Barn"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Samlever"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Far"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Ven"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Administration"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mor"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Forælder"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Henvist af"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Slægtning"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Søster"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Ægtefælle"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "Chat"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Flere oplysninger"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghanistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albanien"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeriet"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Amerikansk Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua og Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenien"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australien"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Australian External Territories"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Østrig"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Aserbajdsjan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamaøerne"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Hviderusland"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgien"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "BENIN"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius og Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnien-Hercegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasilien"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "De Britiske Jomfruøer"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgarien"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Cambodja"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Cameroun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cape Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Caymanøerne"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Den Centralafrikanske Republik"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "TCHAD"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Kina"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "COMORERNE"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cookøerne"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Elfenbenskysten"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Kroatien"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curacao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Cypern"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Den Tjekkiske Republik"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Nordkorea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Den Demokratiske Republik Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor-Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danmark"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Den Dominikanske Republik"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Ægypten"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Ækvatorial Guinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estland"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopien"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falklandsøerne"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Færøerne"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finland"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Frankrig"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "De franske besiddelser i det sydlige Indiske Ocean og Antarktis"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Fransk Gyana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Fransk Polynesien"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Tyskland"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grækenland"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grønland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Ungarn"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Island"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Indien"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesien"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irland"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italien"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japan"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordan"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakhstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgisistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Den Demokratiske Folkerepublik Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Letland"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libyen"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Litauen"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxembourg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "MADAGASCAR"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaysia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldiverne"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshalløerne"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURETANIEN"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURITIUS"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexico"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronesien"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldova"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongoliet"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marokko"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMIBIA"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Nederlandene"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Ny Kaledonien"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "New Zealand"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Nordmarianerne"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norge"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Ny Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filippinerne"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polen"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rumænien"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Den Russiske Føderation"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Sankt Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts og Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre og Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent og Grenadinerne"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome og Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudi-Arabien"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbien"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychellerne"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapore"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovakiet"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenien"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Salomonøerne"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Sydafrika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Spanien"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Sverige"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Schweiz"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Den Syriske Arabiske Republik"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadsjikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thailand"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Makedonien (tidligere Jugoslavien)"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad og Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunesien"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Tyrkiet"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks- og Caicosøerne"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraine"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "De Forenede Arabiske Emirater"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Storbritannien og Nordirland"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "USA"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "De amerikanske Jomfruøer"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikanstaten"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis og Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobil (privat)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobil (arbejde)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Gemt i"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importér fra SD-kort"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Gruppe og gruppemedlemmer"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s gemt i %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Denne kontakt vil blive slettet"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Billede"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Opkalder"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Sikkerhedskopi"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Kun gruppe"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Ny gruppe"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Vælg gruppe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobil 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Tilføjet"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Flyttet"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Valgte"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Annuller"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Ikke nok hukommelse"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Fjernet"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Søg"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Luk"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Slettet"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Fejl"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Opkald"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Intet SIM-kort"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Vælg alle"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Mislykkedes"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Fuldført"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Gem"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Tilføj kontakter"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Assistentens navn"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Slet gruppe"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Gruppenavn"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Grup. rin.tone"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Optag videoklip"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Erstat"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Hurtigopkald"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Medd."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Angiv ringetone"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Alle kontakter"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Firma"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Rediger kontakter"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Hent e-mail"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Hent nummer"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Ingen gruppe"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Deltager"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Indstil billede"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Hurtigopkald er ikke i brug"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Slet kontakter"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Rediger grupper"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Føj til favoritter"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Rediger gruppe"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Tom"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Gem kontakt"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Vælg kontakt"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Tilføj gruppe"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Hukommelsen er fuld"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Fjerner..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Kunne ikke føje kontakten til gruppen"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Opdatér"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Annuller"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Kontakter"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopiér"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Opret"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Meddelelse"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Flyt"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Ukendt"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videoopkald"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Slet"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Udført"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Rediger"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Send kontaktoplysninger"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Søg Exchange-server"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Fornavn Efternavn"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Efternavn Fornavn"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Tap på knappen til højre for flere felter"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/de_DE.po b/po/de_DE.po
deleted file mode 100644
index 82c773e..0000000
--- a/po/de_DE.po
+++ /dev/null
@@ -1,1772 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Tastenfeld"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favoriten"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Kurzwahl"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Mailbox"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Protok."
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Keine Kurzwahlnummer. Jetzt zuweisen?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Anforderung fehlgeschlagen"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Erfolg anfordern"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Notruf"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Keine Protokolle"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Keine Favoriten"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Nachrichten gelöscht"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Maximale Länge für Telefonnummer überschritten"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Protokolle werden gelöscht..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Favoriten werden gelöscht..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Initialisierung. Später versuchen..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Ton aus"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Ton ein"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Zurück"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Zurück zu Anruf"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Eingehender Anruf"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Ausgehender Anruf"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Anr. in Abwesenheit"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Gesendete Nachricht"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Empfangene Nachricht"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Abgelehnter Anruf"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Anruf gesperrt"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Nummer vor Anruf bearbeiten"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "E-Mail senden"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Protokolle auswählen"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Kontakte für die Kurzwahl auswählen"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Aufheben"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Kontakt ändern"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "%d Sek. Pause hinzufügen"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Pause hinzufügen"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Unbeantwortet"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Beenden"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Benutzerdefiniert"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Privat"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Arbeit"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (Privat)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (Arbeit)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Nummer des Assistenten"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pager"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Andere"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Autotelefon"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Zuhause 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Hauptnummer Unternehmen"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Alle Kontakte"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Nicht zugewiesen"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Dienstnummer"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Gruppen"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Standard"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Klingelton"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Webseite"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-Mail"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Nummer"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Memo"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Postanschrift"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Details"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Firma"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Reihenfolge des Anzeigenamens"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Eigene Rufnummer"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Vorname"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Nachname"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Zweiter Vorname"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Namenszusatz"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Spitzname"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Kontakte exportieren"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Kontakte auswählen"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Postleitzahl"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Land"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Region"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Stadt"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Straße"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Gespeichert in %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Häufig kontaktiert"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Kopiert"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exportiert"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Kontakte werden gelöscht..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Verschiebevorgang aktiv..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Wird kopiert..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "SIM-Kontakte werden importiert..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Kontakte werden von der Visitenkarte importiert..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Kontakte werden nach %s exportiert..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "Visitenkarte"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Visitenkarte wird gelesen..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importiert"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Entfällt"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Alle verknü. Kontakte"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Verknüpfte Kontakte"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Beruf"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Abteilung"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Gruppenname"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Konto hinzufügen"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Mitglieder werden zur Gruppe hinzugefügt..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Anzeigen"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d Kontakte"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Umbenennen"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Beziehung"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Keine Verläufe"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Keine Aktivitäten"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Wird hinzugefügt..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Zusätzliche Informationen"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Postfach"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Bundesland"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Freunde"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Familie"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Arbeitskollege"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Büro"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Vibrationsmuster"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Als Standard festlegen"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Ereignis"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Kontaktinformationen senden"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 Kontakt"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Auf SIM-Karte exportieren"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Verlauf"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Aktivitäten"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Gruppennachricht"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Gruppen-E-Mail"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Kein Name"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Ungültige E-Mail-Adresse"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Füllen Sie mindestens ein Feld und einen Namen aus."
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Auf Datenbank konnte nicht zugegriffen werden"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Bereits hinzugefügt"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Gruppenname wird bereits verwendet"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Keine Gruppe"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Keine Nummer"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Keine E-Mail-Adressen"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Keine Kontakte"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM-Speicher leer"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Maximale Anzahl an Einträgen überschritten"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Ungültige Nummer"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM-Speicher voll"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Sie können Kontakte über “Einstellungen” > “Kontakte importieren” von einer "
-"SIM-Karte auf das Telefon importieren oder die Kontakte in den Einstellungen "
-"mit Webkontokontakten synchronisieren."
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Keine Protokolle. Nach dem Tätigen/Empfangen eines Anrufs oder dem Senden/"
-"Empfangen von Nachrichten werden Protokolle angezeigt"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Visitenkarten konnte nicht gesendet werden"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Als Standardnummer markieren"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Als Standard-E-Mail markieren"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Bild"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Foto aufnehmen"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Foto entfernen"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Elemente hinzufügen"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Kontakt speichern in"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Speichern in"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "SIM-Kontakte importieren"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Vorname zuerst"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Nachname zuerst"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Anzeigen"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Ausblenden"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Visitenkarte senden"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Gruppe erstellen"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Gruppe auswählen"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Kontaktimport"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Kontakt verknüpfen"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Verknüpfung entfernen"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Alle verknüpften Kontakte werden gelöscht."
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Zu Favoriten hinzufügen"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Gruppe bearbeiten"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Mitglied hzfg."
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Zur Gruppe hinzufügen"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Zu Favoriten hinzugefügt"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Unbekannt"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Geburtstag"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Jahrestag"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Sonntag"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Montag"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Dienstag"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Mittwoch"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Donnerstag"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Freitag"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Samstag"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistent"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Bruder"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Kind"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Lebensgefährte"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Vater"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Freund"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Manager"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mutter"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Elternteil"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Bezugnahme von"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Verwandter"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Schwester"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Ehepartner"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "Chat"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Weitere Informationen"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghanistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albanien"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algerien"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Amerikanisch-Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua und Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentinien"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenien"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australien"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Externe Territorien von Australien"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Österreich"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Aserbaidschan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesch"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Weißrussland"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgien"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivien"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius und Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnien und Herzigowina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasilien"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Britische Jungferninseln"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgarien"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambodscha"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Kapverden"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Kaimaninseln"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Zentralafrikanische Republik"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "China"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kolumbien"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comoros"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cookinseln"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Elfenbeinküste"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Kroatien"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Zypern"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Tschechische Republik"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Demokratische Volksrepublik Korea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Demokratische Republik Kongo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Osttimor"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Dänemark"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikanische Republik"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Ägypten"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Äquatorialguinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estland"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Äthiopien"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falklandinseln"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Färöer-Inseln"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidschi"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finnland"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Frankreich"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Französische Südgebiete"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Französisch-Guayana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Französisch-Polynesien"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabun"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Deutschland"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Griechenland"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grönland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hongkong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Ungarn"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Island"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Indien"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesien"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irland"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italien"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaika"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japan"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordanien"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kasachstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenia"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgisistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Demokratische Volksrepublik Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Lettland"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libyen"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Litauen"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxemburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagaskar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaysia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Malediven"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshall-Inseln"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURETANIEN"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURITIUS"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexiko"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronesien"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavien"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolei"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marokko"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mosambik"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Niederlande"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Neukaledonien"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Neuseeland"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Nördliche Marianen"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norwegen"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Neuguinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Philippinen"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polen"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Katar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rumänien"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Russische Föderation"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "St. Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "St. Kitts und Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "St. Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre und Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent und die Grenadinen"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome und Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudi-Arabien"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbien"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychellen"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovakei"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slowenien"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Salomonen"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Südafrika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Spanien"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Schweden"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Schweiz"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Arabische Republik Syrien"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadschikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tansania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thailand"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Die ehemalige jugoslawische Republik Mazedonien"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad und Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunesien"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Türkei"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks- und Caicosinseln"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraine"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Vae"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Vereinigtes Königreich Großbritannien und Nordirland"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "USA"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Amerikanische Jungferninseln"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Usbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Staat Vatikanstadt"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis und Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Sambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobil (Privat)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobil (Arbeit)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Gespeichert unter"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Von SD-Karte importieren"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Gruppen und Gruppenmitglieder"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s gespeichert in %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Dieser Kontakt wird gelöscht."
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Foto"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Datensicherung"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Nur Gruppe"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Neue Gruppe"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Gruppe auswählen"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobile 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Hinzugefügt"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Verschoben"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Ausgewählt"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Abbrechen"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Speicher voll"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Entfernt"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Suche"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Schließen"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Gelöscht"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Fehler"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Anruf"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Keine SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Alle auswählen"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Fehlgeschlagen"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Abgeschlossen"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Speichern"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Kontakte hinzufügen"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Name des Assistenten"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Gruppe löschen"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Gruppenname"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Gru.-Klingelton"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Video aufzeichnen"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Ersetzen"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Kurzwahl"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Nachr."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Klingelton festlegen"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Alle Kontakte"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Firma"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Kontakte bearbeiten"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "E-Mail abrufen"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Nummer abrufen"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Keine Gruppe"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Teilnehmer"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Bild festlegen"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Kurzwahl wird nicht verwendet."
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Kontakte löschen"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr ""
-#~ "Gruppen\n"
-#~ "bearbeiten"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-Mail"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Zu Favoriten hinzufügen"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Gruppe bearbeiten"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Leer"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Kontakt speichern"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Kontakt auswählen"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Gruppe hinzufügen"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Speicher voll"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Entferne..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Kontakt konnte der Gruppe nicht hinzugefügt werden"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Aktualisieren"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Abbrech."
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Kontakte"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopieren"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Erstellen"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-Mail"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Nachricht"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Verschieben"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Unbekannt"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videoanruf"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Löschen"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "OK"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Bearbeiten"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Kontaktdetails senden"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Exchange-Server suchen"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Vorname Nachname"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Nachname Vorname"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Tippen Sie auf die rechte Taste, um weitere Felder anzuzeigen"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/el_GR.po b/po/el_GR.po
deleted file mode 100644
index 4af26dc..0000000
--- a/po/el_GR.po
+++ /dev/null
@@ -1,1773 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Πληκτρ."
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Αγαπημένα"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Ταχεία κλήση"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Τηλεφωνητής"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Αρχεία καταγρ."
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Δεν υπάρχει αριθμός ταχείας κλήσης. Θέλετε να ορίσετε έναν τώρα;"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Αποτυχία αιτήματος"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Επιτυχές αίτημα"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Κλήση έκτακτης ανάγκης"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Δεν υπάρχουν αρχεία καταγραφής"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Δεν υπάρχουν αγαπημένα"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Το μήνυμα διαγράφηκε"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Έγινε υπέρβαση του μέγιστου μήκους αριθμού τηλεφώνου"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Διαγραφή αρχείων κλήσεων..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Διαγραφή αγαπημένων..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Προετοιμασία. Προσπαθήστε αργότερα..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Απενεργοποίηση ήχου"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Ενεργοποίηση ήχου"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Προηγούμ. οθόνη"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Επιστροφή στην κλήση"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Εισερχόμενη κλήση"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Εξερχόμενη κλήση"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Αναπάντητη κλήση"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Απεσταλμένο μήνυμα"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Μήνυμα που έχει ληφθεί"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Απορριμμένη κλήση"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Αποκλεισμένη κλήση"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Επεξεργασία αριθμού πριν από την κλήση"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Αποστολή email"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Επιλογή αρχείων καταγραφής"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Επιλογή επαφών ταχείας κλήσης"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Κατάργ. αποκλ."
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Αλλαγή επαφής"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Προσθήκη παύσης %d δευτ."
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Προσθήκη αναμονής"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Αναπάντητες"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Έξοδος"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Προσαρμοσμένη"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Κινητό"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Σπίτι"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Εργασία"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Φαξ (Οικίας)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Φαξ (Εργασία)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Αριθμός βοηθού"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Συσκευή τηλεειδοποίησης"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Άλλο"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Τηλέφωνο"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Φαξ"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Τηλέφωνο αυτοκινήτου"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Σπίτι 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Εταιρικό βασικό"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Ραδιόφωνο"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Όλες οι επαφές"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Δεν έχει αντιστοιχηθεί"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Αριθμός υπηρεσίας"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Τηλέφωνο"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Ομάδες"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Προεπιλογή"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Ήχος κλήσης"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Ιστοσελίδα"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Email"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Αριθμός"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Σημείωση"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Ταχυδρομική διεύθυνση"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Λεπτομέρειες"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Εταιρεία"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Σειρά εμφανιζόμενου ονόματος"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Ο αριθμός μου"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Όνομα"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Επώνυμο"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Πατρώνυμο"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Επίθημα"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Υποκοριστικό"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Εξαγωγή επαφών"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Επιλογή επαφών"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Ταχυδρομικός κώδικας"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Χώρα"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Επαρχία"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Πόλη"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Οδός"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Αποθηκεύτηκε στο %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Πιο συχνή επικοινωνία"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Αντιγράφηκε"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Έγινε εξαγωγή"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Διαγραφή επαφών..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Μετακίνηση..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Αντιγραφή..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Εισαγωγή επαφών SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Εισαγωγή επαφών από την vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Εξαγωγή επαφών σε %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Ανάγνωση vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Έγινε εισαγωγή"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Μη διαθέσιμο"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Όλες οι συνδεδ. επαφές"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Συνδεδεμένες επαφές"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Τίτλος εργασίας"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Τμήμα"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Όνομα ομάδας"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Προσθήκη λογαριασμού"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Προσθήκη μελών σε ομάδα..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Προβολή"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d επαφές"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Μετονομασία"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Σχέση"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Κανένα ιστορικό"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Δεν υπάρχουν δραστηριότητες"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Προσθήκη..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Πρόσθετες πληροφορίες"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Ταχυδρομική θυρίδα"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Πολιτεία"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Φίλοι"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Οικογένεια"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Συνεργάτες"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Εργασία"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Μοτίβο δονήσεων"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Ορισμός προεπιλεγμένου"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Συμβάν"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Κοινή χρήση πληροφοριών επαφής"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 επαφή"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Εξαγωγή στην κάρτα SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Πληροφορία"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Ιστορικό"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Δραστηριότητες"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Ομαδικό μήνυμα"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Ομαδικό email"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Κανένα όνομα"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Μη έγκυρη διεύθυνση email"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Συμπληρώστε τουλάχιστον ένα πεδίο καθώς και το όνομα"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Αποτυχία πρόσβασης βάσης δεδομένων"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Προστέθηκε ήδη"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Το όνομα ομάδας υπάρχει ήδη"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Καμία ομάδα"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Κανένας αριθμός"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Δεν υπάρχουν διευθύνσεις email"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Καμία επαφή"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Μνήμη SIM κενή"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Ξεπεράστηκε ο μέγιστος αριθμός καταχωρίσεων"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Μη έγκυρος αριθμός"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Μνήμη SIM πλήρης"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Μπορείτε να εισαγάγετε επαφές από την κάρτα SIM στο τηλέφωνό σας από το "
-"μενού “Ρυθμίσεις > Εισαγωγή επαφών” ή να κάνετε συγχρονισμό με τις επαφές "
-"από το λογαριασμό σας web χρησιμοποιώντας την επιλογή “λογαριασμοί” από τις "
-"ρυθμίσεις"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Δεν υπάρχουν αρχεία καταγραφής. Μόλις πραγματοποιήσετε/λάβετε μια κλήση ή "
-"αποστείλετε/λάβετε ένα μήνυμα, τα αρχεία καταγραφής θα εμφανιστούν"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Δεν είναι δυνατή η αποστολή καρτών ονόματος"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Ορισμός ως προεπιλεγμένου αριθμού"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Σήμανση ως προεπιλεγμένης διεύθυνσης ηλεκτρονικού ταχυδρομείου"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Εικόνα"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Λήψη φωτογραφίας"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Κατάργηση φωτογραφίας"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Προσθήκη στην Αρχική οθόνη"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Αποθήκευση επαφής σε"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Αποθήκευση σε"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Εισαγωγή επαφών SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Πρώτα το όνομα"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Πρώτα το επίθετο"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Εμφάνιση"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Απόκρυψη"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Αποστολή επαγγελματικής κάρτας"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Δημιουργία ομάδας"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Επιλογή ομάδας"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Εισαγωγή επαφών"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Σύνδεση επαφής"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Αποσύνδεση"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Όλες οι συνδεδεμένες επαφές θα διαγραφούν"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Προσθήκη στα αγαπημένα"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Επεξεργασία ομάδας"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Πρ.μέλους"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Προσθήκη στην ομάδα"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Προστέθηκε στα αγαπημένα"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Άγνωστο"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Γενέθλια"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Επέτειος"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Κυριακή"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Δευτέρα"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Τρίτη"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Τετάρτη"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Πέμπτη"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Παρασκευή"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Σάββατο"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Βοηθός"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Αδερφός"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Παιδί"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Τοπικός συνεργ."
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Πατέρας"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Φίλος"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Διευθυντής"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Μητέρα"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Γονέας"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Συνεργάτης"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Αναφορά από"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Συγγενής"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Αδερφή"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Σύζυγος"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Περισσότερες πληροφορίες"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Αφγανιστάν"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Αλβανία"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Αλγερία"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Αμερικανική Σαμόα"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Ανδόρα"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Αγκόλα"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Ανγκουίλα"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Αντίγκουα και Μπαρμπούντα"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Αργεντινή"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Αρμενία"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Αρούμπα"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Αυστραλία"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Εξωτερικές επικράτειες της Αυστραλίας"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Αυστρία"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Αζερμπαϊτζάν"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Μπαχάμες"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Μπαχρέιν"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Μπανγκλαντές"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Μπαρμπέιντος"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Λευκορωσία"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Βέλγιο"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Μπελίζ"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "ΜΠΕΝΙΝ"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Βερμούδες"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Μπουτάν"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Βολιβία"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Μπονέρ, Άγιος Ευστάθιος και Σάμπα"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Βοσνία-Ερζεγοβίνη"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Μποτσουάνα"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Βραζιλία"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Βρετανικές Παρθένοι νήσοι"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Μπρουνέι Νταρ-ες-σαλάμ"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Βουλγαρία"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Μπουργκίνα Φάσο"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Μπουρούντι"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Καμπότζη"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Καμερούν"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Καναδάς"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Πράσινο Ακρωτήρι"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Νησιά Κέιμαν"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Κεντροαφρικανική Δημοκρατία"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "ΤΣΑΝΤ"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Χιλή"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Κίνα"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Κολομβία"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "ΚΟΜΟΡΕΣ"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Κονγκό"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Νήσοι Κουκ"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Κόστα Ρίκα"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Ακτή Ελεφαντοστού"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Κροατία"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Κούβα"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Κουρασάο"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Κύπρος"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Δημοκρατία της Τσεχίας"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Λαϊκή Δημοκρατία της Κορέας"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Λαϊκή Δημοκρατία του Κονγκό"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Τιμόρ-Λέστε"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Δανία"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Ντιέγκο Γκαρσία"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Τζιμπουτί"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Ντομίνικα"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Δομινικανή Δημοκρατία"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Εκουαδόρ"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Αίγυπτος"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Ελ Σαλβαδόρ"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Ισημερινή Γουινέα"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Ερυθραία"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Εσθονία"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Αιθιοπία"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Νήσοι Φώλκλαντ"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Νήσοι Φερόε"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Φίτζι"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Φινλανδία"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Γαλλία"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Νότια Γαλλικά Εδάφη"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Γαλλική Γουιάνα"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Γαλλική Πολυνησία"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Γκαμπόν"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Γκάμπια"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Γεωργία"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Γερμανία"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Γκάνα"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Γιβραλτάρ"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Ελλάδα"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Γροιλανδία"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Γρενάδα"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Γουαδελούπη"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Γκουάμ"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Γουατεμάλα"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Γουϊνέα"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Γουινέα Μπισσάου"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Γουιάνα"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Αϊτή"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Ονδούρα"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Χονγκ Κονγκ"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Ουγγαρία"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Ισλανδία"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Ινδία"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Ινδονησία"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Υπηρεσία δωρεάν διεθνούς τηλεφωνικού αριθμού"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Υπηρεσία διεθνούς τηλεφωνικού αριθμού υψηλών χρεώσεων (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Υπηρεσία διεθνούς τηλεφωνικού αριθμού κοινής χρέωσης (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Ιράν"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Ιράκ"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Ιρλανδία"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Ισραήλ"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Ιταλία"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Τζαμάικα"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Ιαπωνία"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Ιορδανία"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Καζακστάν"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Κένυα"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Κιριμπάτι"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Κορέα"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Κουβέιτ"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Κιργκιστάν"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Λαϊκή Δημοκρατία του Λάος"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Λετονία"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Λίβανος"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Λεσόθο"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Λιβερία"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Λιβύη"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Λιχτενστάιν"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Λιθουανία"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Λουξεμβούργο"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Μακάο"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "ΜΑΔΑΓΑΣΚΑΡΗ"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Μαλάουι"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Μαλαισία"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Μαλβίδες"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Μάλι"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Μάλτα"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Νήσοι Μάρσαλ"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Μαρτινίκα"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "ΜΑΥΡΙΤΑΝΙΑ"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "ΜΑΥΡΙΚΙΟΣ"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Μεξικό"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Μικρονησία"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Μολδαβία"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Μονακό"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Μογγολία"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Μαυροβούνιο"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Μονσεράτ"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Μαρόκο"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Μοζαμβίκη"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Μιανμάρ"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "ΝΑΜΙΜΠΙΑ"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Ναούρου"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Νεπάλ"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Ολλανδία"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Νέα Καληδονία"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Νέα Ζηλανδία"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Νικαράγουα"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Νίγηρας"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Νιγηρία"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Νιούε"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Νησιά Βόρειες Μαριάνες"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Νορβηγία"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Ομάν"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Πακιστάν"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Παλάου"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Παναμάς"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Παπούα Νέα Γουινέα"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Παραγουάη"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Περού"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Φιλιππίνες"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Πολωνία"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Πορτογαλία"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Πουέρτο Ρίκο"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Κατάρ"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Ρουμανία"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Ρωσική Ομοσπονδία"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ρουάντα"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Αγία Ελένη"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Σαιντ Κιτς και Νέβις"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Αγία Λουκία"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Σεν Πιερ και Μικελόν"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Άγιος Βικέντιος και Γρεναδίνες"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Σαμόα"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "Άγιος Μαρίνος"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Σάο Τομέ και Πρίνσιπε"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Σαουδική Αραβία"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Σενεγάλη"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Σερβία"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Σεϋχέλλες"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Σιέρρα Λεόνε"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Σιγκαπούρη"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Άγιος Μαρτίνος"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Σλοβακία"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Σλοβενία"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Νήσοι Σολομώντα"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Σομαλία"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Νότια Αφρική"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Ισπανία"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Σρι Λάνκα"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Σουδάν"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Σουρινάμ"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Σουαζιλάνδη"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Σουηδία"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Ελβετία"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Αραβική Δημοκρατία της Συρίας"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Ταϊβάν"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Τατζικιστάν"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Τανζανία"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Γραμμή επικοινωνίας για φυσικές καταστροφές (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Ταϊλάνδη"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Πρώην Γιουγκοσλαβική Δημοκρατία της Μακεδονίας"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Τόγκο"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Τοκελάου"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Τόνγκα"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Τρινιντάντ και Τομπάγκο"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Τυνησία"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Τουρκία"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Τουρκμενιστάν"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Νήσοι Τερκ και Κάικος"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Τουβαλού"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Ουγκάντα"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ουκρανία"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Ηνωμένα Αραβικά Εμιράτα"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Ηνωμένο Βασίλειο, Μεγάλη Βρετανία και Βόρειος Ιρλανδία"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Ηνωμένες Πολιτείες Αμερικής"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Ηνωμένες Πολιτείες Παρθένοι νήσοι"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Υπηρεσία διεθνών προσωπικών αριθμών (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Ουρουγουάη"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Ουζμπεκιστάν"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Βανουάτου"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Κράτος της Πόλης του Βατικανού"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Βενεζουέλα"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Βιετνάμ"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Ουώλλις και Φουτούνα"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Υεμένη"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Ζάμπια"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Ζιμπάμπουε"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Προσωπικό κινητό"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Κινητό (Εργασία)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Αποθηκεύτηκε σε"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Εισαγωγή από κάρτα SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Ομάδα και μέλη ομάδας"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "Το %s αποθηκεύτηκε στο %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Αυτή η επαφή θα διαγραφεί"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Φωτογραφία"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Κλήση"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Αντίγραφο ασφαλείας"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Μόνο ομάδα"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Νέα ομάδα"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Επιλογή ομάδας"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Κινητό 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Προστέθηκε"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Μετακινήθηκε"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Επιλεγμένο"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Άκυρο"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Ανεπαρκής μνήμη"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Αφαιρέθηκε"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Αναζήτηση"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Κλείσιμο"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Διαγράφηκε"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Σφάλμα"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Κλήση"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Δεν βρέθηκε SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Επιλογή όλων"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Αποτυχία"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Ολοκληρώθηκε"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Αποθ/ση"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Προσθήκη επαφών"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Όνομα βοηθού"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Διαγραφή ομάδας"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Όνομα ομάδας"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Ήχος ομάδας"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Εγγραφή βίντεο"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Αντικατάσταση"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Ταχεία κλήση"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Μήνυμα"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Ρύθμιση ήχου κλήσης"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Όλες οι επαφές"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Εταιρεία"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Επεξεργασία επαφών"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Λήψη email"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Λήψη αριθμού"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Καμία ομάδα"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Συμμετέχων"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Ορισμός εικόνας"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Η ταχεία κλήση δεν χρησιμοποιείται"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Διαγραφή επαφών"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr ""
-#~ "Επεξεργασία\n"
-#~ " ομάδων"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Προσθήκη στα αγαπημένα"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Επεξεργασία ομάδας"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Κενό"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Αποθήκευση επαφής"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Επιλογή επαφής"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Προσθήκη ομάδα"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Μνήμη ημερολογίου πλήρης"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Αφαίρεση..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Δεν είναι δυνατή η προσθήκη της επαφής στην ομάδα"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Ενημέρωση"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Ακύρωση"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Επαφές"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Αντιγραφή"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Δημ/ργία"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Μήνυμα"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Μετακίνηση"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Τηλέφωνο"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Άγνωστο"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Κλήση βίντεο"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Διαγραφή"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Ok"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Επεξεργ."
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Αποστολή λεπτομερειών επαφής"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Αναζήτ. στο διακομ. Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Όνομα Επώνυμο"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Επώνυμο Όνομα"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Για περισσότερα πεδία, πατήστε το κουμπί στα δεξιά"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/en.po b/po/en.po
deleted file mode 100644
index 7b9f0ae..0000000
--- a/po/en.po
+++ /dev/null
@@ -1,1766 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Keypad"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favourites"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Speed dial"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Voicemail"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Logs"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "No speed dial number. Assign one now?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Request failed"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Request success"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Emergency call"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "No logs"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "No favourites"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Message deleted"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Maximum phone number length exceeded"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Deleting logs..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Deleting favourites..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Initialising. Try later..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Sound off"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Sound on"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Previous screen"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Back to call"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Incoming call"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Outgoing call"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Missed call"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Sent message"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Received message"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Rejected call"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Blocked call"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Edit number before call"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Send email"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Select logs"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Select speed dial contacts"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Unblock"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Change contact"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Add %d sec pause"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Add wait"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Missed"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Exit"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Custom"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobile"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Home"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Work"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (home)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (work)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Assistant’s number"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pager"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Other"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telephone"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Car telephone"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Home 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Company main"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "All contacts"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Not assigned"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Service number"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Phone"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Groups"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Ringtone"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Website"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Email"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Number"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Note"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Postal address"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Details"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Company"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Order of display name"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Own number"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "First name"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Last name"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Middle name"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Suffix"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Nickname"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Export contacts"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Select contacts"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Postal code"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Country"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Province"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "City"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Street"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Saved in %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Frequently contacted"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Copied"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exported"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Deleting contacts..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Moving..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Copying..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importing SIM contacts..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importing contacts from vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Exporting contacts to %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Reading vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Imported"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/A"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "All linked contacts"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Linked contacts"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Job title"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Department"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Group name"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Add account"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Adding members to group..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "View"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contacts"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Rename"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relationship"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "No histories"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "No activities"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Adding..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Additional information"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "PO box"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "State"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Friends"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Family"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Co-workers"
-
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Work"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Vibration pattern"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Set default"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Event"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Share contact information"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contact"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Export to SIM card"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "History"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Activities"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Group message"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Group email"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "No name"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Invalid email address"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Complete at least one field as well as name"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Failed to access database"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Already added"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Group name already in use"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "No group"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "No number"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "No email addresses"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "No contacts"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM memory empty"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Maximum number of entries exceeded"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Invalid number"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM memory full"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"You can import contacts from SIM card to your phone in Settings > Import "
-"contacts or sync with web account contacts using accounts in settings"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"No logs. After you make/receive a call or send/receive a message, logs will "
-"be shown"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Unable to send namecards"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Mark as default number"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Mark as default email"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Image"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Take a photo"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Remove photo"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Add to home screen"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Save contact to"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Save to"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Import SIM contacts"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "First name first"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Last name first"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Show"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Hide"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Send namecard"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Create group"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Select group"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Import contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Link contact"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Unlink"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "All linked contacts will be deleted"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Add to Favourites"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Edit group"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Add member"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Add to group"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Added to Favourites"
-
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Unknown"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Birthday"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Anniversary"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Sunday"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Monday"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Tuesday"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Wednesday"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Thursday"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Friday"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Saturday"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistant"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Brother"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Child"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Domestic partner"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Father"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Friend"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Manager"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mother"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Parent"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Referred by"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Relative"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Sister"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Spouse"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "More information"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghanistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "American Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua and Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Australian External Territories"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaijan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Belarus"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgium"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius and Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia and Herzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "British Virgin Islands"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Cambodia"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Cameroon"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cape Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Cayman Islands"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Central African Republic"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "China"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comoros"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cook Islands"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Cote d’Ivoire"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croatia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curacao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Cyprus"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Czech Republic"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Democratic People's Republic of Korea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Democratic Republic of the Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor-Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Denmark"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominican Republic"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egypt"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Equatorial Guinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Ethiopia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falkland Islands"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Faroe Islands"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finland"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "French Southern Territories"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "French Guiana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "French Polynesia"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Germany"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Greece"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Greenland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Hungary"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Iceland"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Iraq"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Ireland"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japan"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordan"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakhstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kyrgyzstan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Lao People's Democratic Republic"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Latvia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Lebanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libya"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lithuania"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxembourg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaysia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldives"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshall Islands"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritania"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauritius"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexico"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldova"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Morocco"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Netherlands"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "New Caledonia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "New Zealand"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Northern Mariana Islands"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norway"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua New Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Philippines"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Poland"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Romania"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Russian Federation"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Saint Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts and Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre and Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent and the Grenadines"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome and Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudi Arabia"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapore"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovakia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Solomon Islands"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "South Africa"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Spain"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Sweden"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Switzerland"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Syrian Arab Republic"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tajikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thailand"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "The former Yugoslav Republic of Macedonia"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad and Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunisia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turkey"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks and Caicos Islands"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraine"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "United Arab Emirates"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "United Kingdom of Great Britain and Northern Ireland"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "United States of America"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "United States Virgin Islands"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatican City State"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis and Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobile (home)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobile (work)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Saved in"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Import from SD card"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Group and group members"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s saved in %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "This contact will be deleted"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Photo"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Dialler"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Backup"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Group only"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "New group"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Select group"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobile 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Added"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Moved"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Selected"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Cancel"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Not enough memory"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Removed"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Search"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Close"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Deleted"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Error"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Call"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "No SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Select all"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Failed"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Success"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Save"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Add contacts"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Assistant’s name"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Delete group"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Group name"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Group ringtone"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Record video"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Replace"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Speed dial"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Msg."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Set ringtone"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "All contacts"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Company"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Edit contacts"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Get email"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Get number"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "No group"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Participant"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Set image"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Speed dial not in use"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Delete contacts"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Edit groups"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Add to favorites"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Edit group"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Empty"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Save contact"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Select contact"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Add group"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memory full"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Removing..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Unable to add contact to group"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Update"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Cancel"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Contacts"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Copy"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Create"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Message"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Move"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Phone"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Unknown"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Video call"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Delete"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Done"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Edit"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Send contact details"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Search Exchange server"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "First name Last name"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Last name First name"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "For more fields, tap the button on the right"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/en_PH.po b/po/en_PH.po
deleted file mode 100644
index 1094bf4..0000000
--- a/po/en_PH.po
+++ /dev/null
@@ -1,1769 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Keypad"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favorites"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Speed dial"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Voice mail"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Logs"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "No speed dial number. Assign one now?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Request failed"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Request success"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Emergency call"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "No log"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "No favorites"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Message deleted"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Maximum phone number length exceeded"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Deleting logs..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Deleting favorites..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Initializing. Try later..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Sound off"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Sound on"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Previous screen"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Back to call"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Incoming call"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Outgoing call"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Missed call"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Sent message"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Received message"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Rejected call"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Blocked call"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Edit number before call"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Send Email"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Select logs"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Select speed dial contacts"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Unblock"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Change contact"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Add %d sec pause"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Add wait"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Missed"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Exit"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Custom"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobile"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Home"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Work"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (Home)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (Work)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Assistant’s number"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pager"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Other"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telephone"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Car telephone"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Home 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Company main"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "All contacts"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Not assigned"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Service number"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Phone"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Groups"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Ringtone"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Website"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Email"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Number"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Note"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Postal address"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Details"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Company"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Order of display name"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Own number"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "First name"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Last name"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Middle name"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Suffix"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Nickname"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Export contacts"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Select contacts"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Postal code"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Country"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Province"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "City"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Street"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Saved in %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Frequently contacted"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Copied"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exported"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Deleting contacts..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Moving..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Copying..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importing SIM contacts..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importing contacts from vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Exporting contacts to %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Reading vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Imported"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/A"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "All linked contacts"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Linked contacts"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Job title"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Department"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Group name"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Add account"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Adding members to group..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "View"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contacts"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Rename"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relationship"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "No histories"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "No activities"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Adding..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Additional information"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "PO box"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "State"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Friends"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Family"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Co-workers"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Work"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Vibration pattern"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Set default"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Event"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Share contact information"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contact"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Export to SIM card"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "History"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Activities"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Group message"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Group Email"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "No name"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Invalid Email address"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Complete at least one field as well as name"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Failed to access database"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Already added"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Group name already in use"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "No Group"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "No number"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "No email addresses"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "No contacts"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM memory empty"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Maximum number of entries exceeded"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Invalid number"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM memory full"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"You can import contacts from SIM card to your phone in Settings > Import "
-"contacts or sync with web account contacts using accounts in settings"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"No logs. After you make/receive a call or send/receive a message, logs will "
-"be shown"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Unable to send name cards"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Mark as default number"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Mark as default email"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Image"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Take a photo"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Remove photo"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Add to Home screen"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Save contact to"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Save to"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Import SIM contacts"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "First name first"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Last name first"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Show"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Hide"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Send namecard"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Create group"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Select group"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Import contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Link contact"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Unlink"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "All linked contacts will be deleted"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Add to Favorites"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Edit group"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Add member"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Add to group"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Added to Favorites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Unknown"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Birthday"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Anniversary"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Sunday"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Monday"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Tuesday"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Wednesday"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Thursday"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Friday"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Saturday"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistant"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Brother"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Child"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Domestic partner"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Father"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Friend"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Manager"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mother"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Parent"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Referred by"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Relative"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Sister"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Spouse"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "More information"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghanistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "American Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua and Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Australian External Territories"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaijan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Belarus"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgium"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius and Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia and Herzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "British Virgin Islands"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Cambodia"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Cameroon"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cape Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Cayman Islands"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Central African Republic"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "China"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comoros"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cook Islands"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Cote d’Ivoire"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croatia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curacao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Cyprus"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Czech Republic"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Democratic People's Republic of Korea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Democratic Republic of Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor-Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Denmark"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominican Republic"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egypt"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Equatorial Guinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Ethiopia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falkland Islands"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Faroe Islands"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finland"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "French Southern Territories"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "French Guiana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "French Polynesia"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Germany"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Greece"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Greenland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadalupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Hungary"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Iceland"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Iraq"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Ireland"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japan"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordan"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakhstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kyrgyzstan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Lao People's Democratic Republic"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Latvia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Lebanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libya"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lithuania"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxembourg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaysia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldives"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshall Islands"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritania"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauritius"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexico"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldova"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Morocco"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Netherlands"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "New Caledonia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "New Zealand"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Northern Mariana Islands"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norway"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua New Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Philippines"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Poland"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Romania"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Russian Federation"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Saint Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts and Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre and Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent and the Grenadines"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome and Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudi Arabia"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapore"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovakia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Solomon Islands"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "South Africa"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Spain"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Sweden"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Switzerland"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Syrian Arab Republic"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tajikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thailand"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "The former Yugoslav Republic of Macedonia"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad and Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunisia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turkey"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks and Caicos Islands"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraine"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "United Arab Emirates"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "United Kingdom of Great Britain and Northern Ireland"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "United States of America"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "United States Virgin Islands"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatican City"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis and Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobile (Home)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobile (Work)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Saved in"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Import from SD card"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Group and group members"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s saved in %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "This contact will be deleted"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Photo"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Dialer"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Back-up"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Group only"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "New group"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Select group"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobile 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Added"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Moved"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Selected"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Cancel"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Not enough memory"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Removed"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Search"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Close"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Deleted"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Error"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Call"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "No SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Select all"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Failed"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Success"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Save"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Add contacts"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Assistant’s name"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Delete group"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Group name"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Group ringtone"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Record video"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Replace"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Speed dial"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Msg."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Set ringtone"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "All contacts"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Company"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Edit contacts"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Get email"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Get number"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "No Group"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Participant"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Set image"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Speed dial not in use"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Delete contacts"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Edit groups"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Add to favorites"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Edit group"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Empty"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Save contact"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Select contact"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Add group"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memory full"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Removing..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Unable to add contact into group"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Update"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Cancel"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Contacts"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Copy"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Create"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Message"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Move"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Phone"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Unknown"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Video call"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Delete"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Done"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Edit"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Send contact details"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Search Exchange server"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "First name Last name"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Last name First name"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "For more fields, tap the button on the right"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/en_US.po b/po/en_US.po
deleted file mode 100644
index ec9c3e1..0000000
--- a/po/en_US.po
+++ /dev/null
@@ -1,1767 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Keypad"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favorites"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Speed dial"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Voicemail"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Logs"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "No speed dial number. Assign one now?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Request failed"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Request success"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Emergency call"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "No logs"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "No favorites"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Message deleted"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Maximum phone number length exceeded"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Deleting logs..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Deleting favorites..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Initializing. Try later..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Sound off"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Sound on"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Previous screen"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Back to call"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Incoming call"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Outgoing call"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Missed call"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Sent message"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Received message"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Rejected call"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Blocked call"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Edit number before call"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Send email"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Select logs"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Select speed dial contacts"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Unblock"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Change contact"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Add %d sec pause"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Add wait"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Missed"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Exit"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Custom"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobile"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Home"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Work"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (Home)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (Work)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Assistant’s number"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pager"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Other"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telephone"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Car telephone"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Home 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Company main"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "All contacts"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Not assigned"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Service number"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Phone"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Groups"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Ringtone"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Website"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Email"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Number"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Note"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Postal address"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Details"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Company"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Order of display name"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Own number"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "First name"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Last name"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Middle name"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Suffix"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Nickname"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Export contacts"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Select contacts"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Postal code"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Country"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Province"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "City"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Street"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Saved in %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Frequently contacted"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Copied"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exported"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Deleting contacts..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Moving..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Copying..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importing SIM contacts..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importing contacts from vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Exporting contacts to %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Reading vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Imported"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/A"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "All linked contacts"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Linked contacts"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Job title"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Department"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Group name"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Add account"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Adding members to group..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "View"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contacts"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Rename"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relationship"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "No histories"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "No activities"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Adding..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Additional information"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "PO box"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "State"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Friends"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Family"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Co-workers"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Work"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Vibration pattern"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Set default"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Event"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Share contact information"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contact"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Export to SIM card"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "History"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Activities"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Group message"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Group email"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "No name"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Invalid email address"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Complete at least one field as well as name"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Failed to access database"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Already added"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Group name already in use"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "No Group"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "No number"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "No email addresses"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "No contacts"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM memory empty"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Maximum number of entries exceeded"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Invalid number"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM memory full"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"You can import contacts from SIM card to your phone in Settings > Import "
-"contacts or sync with web account contacts using accounts in settings"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"No logs. After you make/receive a call or send/receive a message, logs will "
-"be shown"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Unable to send name cards"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Mark as default number"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Mark as default email"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Image"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Take a photo"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Remove photo"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Add to Home screen"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Save contact to"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Save to"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Import SIM contacts"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "First name first"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Last name first"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Show"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Hide"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Send namecard"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Create group"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Select group"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Import contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Link contact"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Unlink"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "All linked contacts will be deleted"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Add to Favorites"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Edit group"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Add member"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Add to group"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Added to Favorites"
-
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Unknown"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Birthday"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Anniversary"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Sunday"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Monday"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Tuesday"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Wednesday"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Thursday"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Friday"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Saturday"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistant"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Brother"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Child"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Domestic partner"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Father"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Friend"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Manager"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mother"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Parent"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Referred by"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Relative"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Sister"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Spouse"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "More information"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghanistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "American Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua and Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Australian External Territories"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaijan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Belarus"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgium"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius and Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia and Herzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "British Virgin Islands"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Cambodia"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Cameroon"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cape Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Cayman Islands"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Central African Republic"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "China"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comoros"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cook Islands"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Cote d’Ivoire"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croatia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curacao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Cyprus"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Czech Republic"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Democratic People's Republic of Korea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Democratic Republic of the Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor-Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Denmark"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominican Republic"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egypt"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Equatorial Guinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Ethiopia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falkland Islands"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Faroe Islands"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finland"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "French Southern Territories"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "French Guiana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "French Polynesia"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Germany"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Greece"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Greenland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Hungary"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Iceland"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Iraq"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Ireland"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japan"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordan"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakhstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kyrgyzstan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Lao People's Democratic Republic"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Latvia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Lebanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libya"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lithuania"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxembourg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaysia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldives"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshall Islands"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritania"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauritius"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexico"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldova"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Morocco"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Netherlands"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "New Caledonia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "New Zealand"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Northern Mariana Islands"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norway"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua New Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Philippines"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Poland"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Romania"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Russian Federation"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Saint Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts and Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre and Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent and the Grenadines"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome and Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudi Arabia"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapore"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovakia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Solomon Islands"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "South Africa"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Spain"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Sweden"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Switzerland"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Syrian Arab Republic"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tajikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thailand"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "The former Yugoslav Republic of Macedonia"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad and Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunisia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turkey"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks and Caicos Islands"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraine"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "United Arab Emirates"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "United Kingdom of Great Britain and Northern Ireland"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "United States of America"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "United States Virgin Islands"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatican City State"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis and Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobile (Home)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobile (Work)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Saved in"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Import from SD card"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Group and group members"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s saved in %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "This contact will be deleted"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Photo"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Dialer"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Backup"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Group only"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "New group"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Select group"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobile 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Added"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Moved"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Selected"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Cancel"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Not enough memory"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Removed"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Search"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Close"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Deleted"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Error"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Call"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "No SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Select all"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Failed"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Success"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Save"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Add contacts"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Assistant’s name"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Delete group"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Group name"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Group ringtone"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Record video"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Replace"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Speed dial"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Msg."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Set ringtone"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "All contacts"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Company"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Edit contacts"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Get email"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Get number"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "No Group"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Participant"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Set image"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Speed dial not in use"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Delete contacts"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Edit groups"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Add to favorites"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Edit group"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Empty"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Save contact"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Select contact"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Add group"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memory full"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Removing..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Unable to add contact to group"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Update"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Cancel"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Contacts"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Copy"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Create"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Message"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Move"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Phone"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Unknown"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Video call"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Delete"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Done"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Edit"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Send contact details"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Search Exchange server"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "First name Last name"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Last name First name"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "For more fields, tap the button on the right"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/es_ES.po b/po/es_ES.po
deleted file mode 100644
index dc266a6..0000000
--- a/po/es_ES.po
+++ /dev/null
@@ -1,1771 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Teclado"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favoritos"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Marcación rápida"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Buzón de voz"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Registro"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "No hay ningún número de marcación rápida. ¿Asignar uno ahora?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Petición fallida"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Solicitud correcta"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Llamada de emergencia"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Ningún registro"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Ningún favorito"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Mensaje eliminado"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Longitud máxima de número de teléfono superada"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Eliminando registros..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Eliminando favoritos..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Inicializando. Inténtelo más tarde..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Sonido desactivado"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Sonido activado"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Pant anterior"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Volver a la llamada"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Llamada entrante"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Llamada saliente"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Llamada perdida"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Mensaje enviado"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Mensaje recibido"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Llamada rechazada"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Llamada bloqueada"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Editar número antes de llamar"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Enviar correo electrónico"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Seleccionar registros"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Seleccionar contactos de marcación rápida"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Desbloq"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Cambiar contacto"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Añadir pausa de %d s"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Añadir espera"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Perdidas"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Salir"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Personalizar"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Móvil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Casa"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Profesional"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (casa)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (trabajo)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Número de auxiliar"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Buscapersonas"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Otro"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Teléfono"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Teléfono del coche"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Casa 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Principal de la empresa"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Todos los contactos"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "No asignado"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Número de servicio"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Teléfono"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupos"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Predeterminado"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Melodía"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Sitio web"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Correo electrónico"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Número"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Nota"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Dirección postal"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Detalles"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Empresa"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Ordenar por:"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Número propio"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Nombre"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Apellidos"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Segundo nombre"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Sufijo"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Alias"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Exportar contactos"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Seleccionar contactos"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Código postal"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "País"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Provincia"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Ciudad"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Calle"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Guardado en %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Contactado con frecuencia"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Copiado"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exportado"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Eliminando contactos..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Moviendo..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Copiando..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importando contactos de SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importando contactos de vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Exportando contactos a %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Leyendo vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importado"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/A"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Todos cont vinculados"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Contactos vinculados"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Cargo"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Departamento"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Nombre de grupo"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Añadir cuenta"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Añadiendo miembros a grupo..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Ver"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contactos"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Renombrar"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relación"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "No hay historiales"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "No hay actividades"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Añadiendo..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Información adicional"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Cuadro de PO"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Estado"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Amigos"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Familia"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Compañeros de trabajo"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Trabajo"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Modo de vibración"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Definir predeterminado"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Evento"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Compartir información de contacto"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contacto"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Exportar a tarjeta SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Historial"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Actividades"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Mensaje de grupo"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Email de grupo"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Sin nombre"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Dirección de correo electrónico no válida"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Completar al menos un campo además del nombre"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Error al acceder a la base de datos"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Ya se ha añadido"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "El nombre del grupo ya existe"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Ningún grupo"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Sin número"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "No hay direcciones de correo electrónico"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Ningún contacto"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Memoria SIM vacía"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Número máximo de entradas alcanzado"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Número no válido"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Memoria SIM llena"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Puede importar contactos de la tarjeta SIM a su teléfono en Ajustes > "
-"Importar contactos o sincronizarlos con los de una cuenta web mediante "
-"cuentas en ajustes"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Ningún registro. Después de hacer/recibir una llamada o enviar/recibir un "
-"mensaje, se mostrarán registros"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "No se puede enviar tarjetas de visita"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Marcar como número predeterminado"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Marcar como correo electrónico predeterminado"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Imagen"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Hacer foto"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Eliminar foto"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Añadir a pantalla de inicio"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Guardar contacto en"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Guardar en"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importar contactos de SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Nombre en primer lugar"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Apellido en primer lugar"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Mostrar"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Ocultar"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Enviar tarjeta de presentación"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Crear grupo"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Seleccionar grupo"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Importar contactos"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Vincular contacto"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Desvincular"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Se eliminarán todos los contactos vinculados"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Añadir a Favoritos"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Editar grupo"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Añ miembr"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Añadir a grupo"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Añadido a favoritos"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Desconocido"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Cumpleaños"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Aniversario"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Domingo"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Lunes"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Martes"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Miércoles"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Jueves"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Viernes"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Sábado"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Asistente"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Hermano"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Niño"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Socio nacional"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Padre"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Amigo"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Administrador"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Madre"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Progenitor"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Socio"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Referido por"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Familiar"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Hermana"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Cónyuge"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "MI"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Más información"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistán"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Samoa Americana"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguila"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua y Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territorios externos de Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaiyán"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahréin"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Bielorrusia"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Bélgica"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belice"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benín"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermudas"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bután"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius y Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia-Herzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Islas Vírgenes Británicas"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunéi"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Camboya"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Camerún"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canadá"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cabo Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Islas Caimán"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "República Centroafricana"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "China"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comores"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Islas Cook"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Costa de Marfil"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croacia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curazao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Chipre"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "República Checa"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "República Popular Democrática de Corea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "República Democrática del Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor-Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Dinamarca"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Yibuti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "República Dominicana"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egipto"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Guinea Ecuatorial"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopía"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Islas Malvinas"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Islas Feroe"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiyi"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlandia"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Francia"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territorios Australes Franceses"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Guayana Francesa"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Polinesia Francesa"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabón"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Alemania"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grecia"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Groenlandia"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Granada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadalupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haití"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Hungría"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islandia"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Servicio de teléfono gratuito internacional"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Servicio Internacional Tarifa Premium (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Servicio internacional de pago compartido (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Irán"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlanda"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italia"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japón"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordania"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazajistán"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenia"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Corea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirguistán"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "República Democrática Popular de Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Letonia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Líbano"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesoto"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libia"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lituania"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxemburgo"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malasia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldivas"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Islas Marshall"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinica"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritania"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauricio"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "México"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavia"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Mónaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marruecos"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Países Bajos"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nueva Caledonia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nueva Zelanda"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Níger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Islas Marianas del Norte"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Noruega"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Omán"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Paquistán"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palaos"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panamá"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papúa-Nueva Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Perú"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipinas"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polonia"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rumanía"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Federación Rusa"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Santa Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "San Cristóbal y Nieves"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Santa Lucía"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "San Pedro y Miquelón"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "San Vicente y las Granadinas"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Santo Tomé y Príncipe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Arabia Saudí"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leona"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "San Martín"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Eslovaquia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Eslovenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Islas Salomón"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Sudáfrica"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "España"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudán"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swazilandia"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Suecia"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Suiza"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "República Árabe Siria"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwán"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tayikistán"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr ""
-#~ "Telecomunicaciones para operaciones de socorro en caso de catástrofe (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tailandia"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Antigua república yugoslava de Macedonia"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad y Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Túnez"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turquía"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistán"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Islas Turcas y Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ucrania"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Emiratos Árabes Unidos"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Reino Unido de Gran Bretaña e Irlanda del Norte"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Estados Unidos de América"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Islas Vírgenes de los Estados Unidos"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Servicio de telecomunicación personal universal (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistán"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Ciudad Estado del Vaticano"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis y Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabue"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Móvil (casa)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Móvil (trabajo)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Guardado en"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importar desde tarjeta SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grupo y miembros del grupo"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s se ha guardado en %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Este contacto se eliminará"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Foto"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Marcador"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Copia de seguridad"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Sólo grupo"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Grupo nuevo"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Seleccionar grupo"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Móvil 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Añadido"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Movido"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Seleccionado"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Cancelar"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "No hay suficiente memoria"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Elimininado"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Buscar"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Cerrar"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Eliminado"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Error"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Llamar"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "No hay SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Seleccionar todo"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Error"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Finalizado"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Guardar"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Añadir contactos"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Nombre de auxiliar"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Eliminar grupo"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Nombre de grupo"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Melodía grupo"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Grabar vídeo"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Reemplazar"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Marcación rápida"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Mens."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Definir melodía"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Todos los contactos"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Empresa"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Editar contactos"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Obtener correo electrónico"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Obtener número"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Ningún grupo"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Participante"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Definir imagen"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "La marcación rápida no está en uso"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Eliminar contactos"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Editar grupos"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Correo electrónico"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Añadir a favoritos"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Editar grupo"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Vacío"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Guardar contacto"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Seleccionar contacto"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Añadir grupo"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memoria llena"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Eliminando..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "No se puede añadir contacto al grupo"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Actualizar"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Cancelar"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Contactos"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Copiar"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Crear"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Correo electrónico"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Mensajes"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Mover"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Teléfono"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Desconocido"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videollamada"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Eliminar"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Hecho"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Editar"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "Aceptar"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Enviar detalles de contacto"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Buscar Exchange server"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Nombre Apellidos"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Apellidos Nombre"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Para ver más campos, pulse el botón de la derecha"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/es_US.po b/po/es_US.po
deleted file mode 100644
index 4d8c6a2..0000000
--- a/po/es_US.po
+++ /dev/null
@@ -1,1759 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Teclado"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favoritos"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Marcación rápida"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Buzón de voz"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Registros"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "No hay ningún número de marcación rápida. ¿Asignar uno ahora?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Error de solicitud"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Solicitud exitosa"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Llamada de emergencia"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Ningún registro"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Ningún favorito"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Mensaje eliminado"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Se excedió la longitud máxima para los números telefónicos"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Eliminando registros..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Eliminando favoritos..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Inicializando. Inténtelo más tarde..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Sonido desactivado"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Sonido activado"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Pantalla anter."
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Volver a la llamada"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Llamada entrante"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Llamada saliente"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Llamada perdida"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Enviar mensaje"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Mensaje recibido"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Llamada rechazada"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Llamada bloqueada"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Editar número antes de llamar"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-#, fuzzy
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Túnez"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Enviar correo"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Seleccionar registros"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Seleccionar contactos de marcación rápida"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Desbloquear"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Cambiar contacto"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Añadir pausa de %d seg."
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Añadir espera"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Perdidas"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Salir"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Personalizar"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Móvil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Privado"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Trabajo"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax - Privado"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax - Trabajo"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Número del asistente"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Localizador"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Otro"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Teléfono"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Teléfono del automóvil"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Casa 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Principal de la empresa"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Todos los contactos"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "No asignado"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Números de servicio"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Teléfono"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupos"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Predeterminado"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Tono de llamada"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Sitio Web"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Correo"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Número"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Nota"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Dirección postal"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Detalles"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Empresa"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Mostrar por"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Números propios"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Nombre"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Apellido"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Segundo nombre"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Sufijo"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Alias"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Exportar contactos"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Seleccionar contactos"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Código postal"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "País"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Provincia"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Ciudad"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Calle"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Guardado en %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Contactados con frecuencia"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Copiado"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exportado"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Eliminando contactos..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Moviendo…"
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Copiando..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importando contactos de tarjeta SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importando contactos de vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Exportando contactos a %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "Tarjeta de presentación"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Leyendo tarjeta de presentación..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importado"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/A"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Todos cont vinculados"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Contactos vinculados"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Puesto"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Departamento"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Nombre de grupo"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Añadir cuenta"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Añadiendo miembros a grupo..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Ver"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contactos"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Renombrar"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relación"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "No hay historiales"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "No hay actividades"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Añadiendo…"
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Información adicional"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Cuadro de PO"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Estado"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Amigos"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Familia"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Compañeros de trabajo"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Trabajo"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Patrón de vibración"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Definir predeterminado"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Evento"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Compartir información de contacto"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contacto"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-#, fuzzy
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Importar desde tarjeta de memoria"
-
-#, fuzzy
-msgid "IDS_PB_SK3_INFO"
-msgstr "Actualizar"
-
-#, fuzzy
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Marcador"
-
-#, fuzzy
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "No hay actividades"
-
-#, fuzzy
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Ningún grupo"
-
-#, fuzzy
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Obtener correo"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Sin nombre"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Dirección de correo no válida"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Completar al menos un campo además del nombre"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Error al acceder a la base de datos"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Ya añadido"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Ya existe ese nombre de grupo"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Ningún grupo"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Sin número"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "No hay direcciones de correo"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Ningún contacto"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Memoria SIM vacía"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Número máximo de entradas alcanzado"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Número no válido"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Memoria SIM llena"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Puede importar contactos de la tarjeta SIM a su teléfono en Configuración> "
-"Importar contactos o sincronizarlos con los de una cuenta Web mediante "
-"cuentas en Configuración"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"No hay registros. Después de hacer/recibir una llamada o enviar/recibir un "
-"mensaje, aparecerán los registros"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "No se pueden enviar tarjetas de presentación."
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Marcar como número predeterminado"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Marcar como correo predeterminado"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Imagen"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Tomar foto"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Eliminar foto"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Añadir a pantalla de inicio"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Guardar contacto en"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Guardar en"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importar contactos de tarjeta SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Primero nombre"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Primero el apellido"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Mostrar"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Ocultar"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Enviar tarjeta de presentación"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Crear grupo"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Seleccionar grupo"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Importar contactos"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Vincular contacto"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Desvincular"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Se eliminarán todos los contactos vinculados"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Añadir a favoritos"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Editar grupo"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Añ miembr"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Añadir a Grupo"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Añadido a favoritos"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Desconocido"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Cumpleaños"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Aniversario"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Domingo"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Lunes"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Martes"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Miércoles"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Jueves"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Viernes"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Sábado"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Asistente"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Hermano"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Hijo"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Compañero(a)"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Padre"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Amigo"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Administrador"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Madre"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Pariente"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Socio"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Referido por"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Familiar"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Hermana"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Cónyuge"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Más información"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistán"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Samoa Americana"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguila"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua y Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territorios externos australianos"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaiyán"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahréin"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Bielorrusia"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Bélgica"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belice"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benín"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermudas"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bután"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, San Eustaquio y Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia-Herzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Islas Vírgenes Británicas"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunéi"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Camboya"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Camerún"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canadá"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cabo Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Islas Caimán"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "República Centroafricana"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "China"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comores"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Islas Cook"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Costa de Marfil"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croacia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curasao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Chipre"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "República Checa"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "República democrática de Corea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "República Democrática del Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor Oriental"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Dinamarca"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego García"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Yibuti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "República Dominicana"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egipto"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Guinea Ecuatorial"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopía"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Islas Malvinas"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Islas Feroe"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiyi"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlandia"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Francés"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territorios Australes Franceses"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Guayana Francesa"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Polinesia Francesa"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabón"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Alemania"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grecia"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Groenlandia"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Granada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadalupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haití"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Hungría"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islandia"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Irán"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlanda"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italia"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japón"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordania"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazajistán"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenia"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Corea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirguistán"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "República Democrática Popular de Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Letonia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Líbano"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesoto"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libia"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lituania"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxemburgo"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malasia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldivas"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Islas Marshall"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinica"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURITANIA"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauricio"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "México"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavia"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Mónaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marruecos"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Países Bajos"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nueva Caledonia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nueva Zelanda"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Níger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Islas Marianas del Norte"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Noruega"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Omán"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistán"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palaos"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panamá"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papúa-Nueva Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Perú"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipinas"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polonia"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rumanía"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Federación Rusa"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Santa Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "San Cristóbal y Nieves"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Santa Lucía"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "San Pedro y Miquelón"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "San Vicente y las Granadinas"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Santo Tomé y Príncipe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Arabia Saudita"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leona"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "San Martín"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Eslovaquia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Eslovenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Islas Salomón"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Sudáfrica"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "España"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudán"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swazilandia"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Suecia"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Suiza"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "República Árabe Siria"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwán"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tayikistán"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tailandia"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Antigua República Socialista de Macedonia"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad y Tobago"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turquía"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistán"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Islas Turks y Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ucrania"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Emiratos Árabes Unidos"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Reino Unido de Gran Bretaña e Irlanda del Norte"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Estados Unidos de América"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Islas Vírgenes de los Estados Unidos"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistán"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Ciudad Estado del Vaticano"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis y Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabue"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Móvil - Privado"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Móvil - Trabajo"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Guardado en"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grupo y miembros del grupo"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s se ha guardado en %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Este contacto se eliminará"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Foto"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Copia de seguridad"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Sólo grupo"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Añadir grupo"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Seleccionar grupo"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Móvil 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Añadido"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Movido"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Seleccionado"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Cancelar"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Memoria insuficiente"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Eliminado"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Buscar"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Cerrar"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Eliminado"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Error"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Llamar"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "No hay tarjeta SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Seleccionar todo"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Error"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Exitoso"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Guardar"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Añadir contactos"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Nombre del asistente"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Eliminar grupo"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Nombre de grupo"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Tono de grupo"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Grabar video"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Sustituir"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Marcación rápida"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Msj."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Definir tono"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Todos los contactos"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Empresa"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Editar contactos"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Obtener número"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Participante"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Definir imagen"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "No está en uso el marcado rápido"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Eliminar contactos"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Editar grupos"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Correo"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Añadir a favoritos"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Editar grupo"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Vacío"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Guardar contacto"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Seleccionar contacto"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Añadir grupo"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memoria llena"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Eliminando..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "No se puede añadir contacto al grupo"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Cancelar"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Contactos"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Copiar"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Crear"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Correo"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Mensaje"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Mover"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Teléfono"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Desconocido"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videollamada"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Eliminar"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Realizado"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Editar"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "Aceptar"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Enviar detalles de contacto"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Buscar servidor Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Nombre Apellido"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Apellido Nombre"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Para añadir más campos, pulse el botón de la derecha"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/et.po b/po/et.po
deleted file mode 100644
index ce1892c..0000000
--- a/po/et.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Klahvistik"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Lemmikud"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Kiirvalimine"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Kõnepost"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Logid"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Kiirvalimisnumbrit pole. Kas määrata see kohe?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Taotlus nurjus"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Taotlus õnnestus"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Hädaabikõne"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Logisid pole"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Lemmikuid ei ole"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Sõnum on kustutatud"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Telefoninumbri maksimaalne pikkus on ületatud"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Logide kustutamine..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Lemmikute kustutamine..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Lähtestamine. Proovige hiljem..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Heli väljas"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Heli sees"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Eelmine ekraan"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Tagasi kõne juurde"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Saabuv kõne"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Väljuv kõne"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Vastamata kõne"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Saadetud sõnum"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Vastuvõetud sõnum"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Keeldutud kõne"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Blokeeritud kõne"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Muuda numbrit enne helistamist"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Saada e-kiri"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Vali logid"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Valige kiirvalimiskontaktid"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Eemalda blok."
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Muuda kontakti"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Lisa %d-sekundiline paus"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Lisa ooteaeg"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Vastamata"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Välju"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Kohandus"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobiil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Kodu"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Töö"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Faks (kodu)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Faks (töö)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Assistendi number"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Piipar"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Muu"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Faks"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Autotelefon"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Kodu 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Ettevõtte põhinumber"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Raadio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Kõik kontaktid"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Pole määratud"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Teenuse number"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Rühmad"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Vaikimisi"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Helin"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Veebisait"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-post"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Number"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Märkus"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Postiaadress"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Üksikasjad"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Ettevõte"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Kuvanime järjekord"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Oma number"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Eesnimi"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Perekonnanimi"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Keskmine nimi"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Järelliide"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Hüüdnimi"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Ekspordi kontaktid"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Vali kontaktid"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Postiindeks"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Riik"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Maakond"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Linn"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Tänav"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Salvestati asukohta %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Sageli ühendust võetud"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Kopeeritud"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Eksporditud"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Kontaktide kustutamine..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Teisaldamine..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopeerimine..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "SIM-kaardi kontaktide importimine..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Kontaktide importimine vCardilt..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Kontaktide eksportimine asukohta %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "vCardi lugemine..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Imporditud"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Pole teada"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Kõik lingitud kont.-d"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Lingitud kontaktid"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Ametinimetus"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Osakond"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Rühma nimi"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Lisa konto"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Liikmete lisamine rühmale..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Kuva"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d kontakti"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Nimeta ümber"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Suhe"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Ajalugu pole"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Tegevusi pole"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Lisamine..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Lisateave"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Abonementpostkast"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Maakond"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Sõbrad"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Perekond"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Kaastöötajad"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Töö"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Värina stiil"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Määra vaikimisi"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Sündmus"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Jaga kontaktandmeid"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 kontakt"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Ekspordi SIM-kaardile"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Teave"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Ajalugu"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Tegevused"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Rühma sõnum"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Rühma e-kiri"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Nimi puudub"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Vale e-posti aadress"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Täitke lisaks nimele veel vähemalt üks väli"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Ligipääs andmebaasile nurjus"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Juba lisatud"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Rühma nimi on juba kasutusel"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Rühm puudub"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Number puudub"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "E-posti aadresse pole"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Kontaktid puuduvad"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM-mälu tühi"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Maksimaalne arv kirjeid on ületatud"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Kehtetu number"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM-i mälu on täis"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Saate importida kontakte SIM-kaardilt oma telefoni menüüs Seaded > Impordi "
-"kontaktid või sünkroonige veebikonto kontaktidega, kasutades kontosid menüüs "
-"Seaded"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Logisid pole. Pärast helistamist/kõnele vastamist või sõnumi saatmist/"
-"vastuvõtmist kuvatakse logid"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Nimekaarte ei saa saata"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Märgi vaikimisi numbriks"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Märgi vaikimisi e-postiks"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Pilt"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Pildista"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Eemalda foto"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Lisa avaekraanile"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Kontakti salvestuskoht:"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Salvestuskoht"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Impordi SIM-kontakte"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Eesnimi esimesena"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Perekonnanimi ees"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Näita"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Peida"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Saada nimekaart"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Loo rühm"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Vali rühm"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Impordi kont."
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Lingi kontakt"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Lingi ära"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Kõik lingitud kontaktid kustutatakse"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Lisa Lemmikutesse"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Muuda rühma liiget"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Lisa lii."
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Lisa rühma"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Lisatud lemmikutesse"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Tundmatu"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Sünnipäev"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Tähtpäev"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Pühapäev"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Esmaspäev"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Teisipäev"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Kolmapäev"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Neljapäev"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Reede"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Laupäev"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistent"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Vend"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Laps"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Elukaaslane"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Isa"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Sõber"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Haldur"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Ema"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Vanem"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Viidanud"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Sugulane"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Õde"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Abikaasa"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "Kiirsõnum"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Lisateave"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albaania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Alžeeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Ameerika Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua ja Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armeenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Austraalia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Austraalia välisterritooriumid"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Aserbaidžaan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahama"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrein"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Valgevene"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgia"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "BENIN"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Boliivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint-Eustatius ja Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia ja Hertsegoviina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasiilia"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Briti Neitsisaared"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalami Riik"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambodža"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cabo Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Kaimanisaared"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Kesk-Aafrika Vabariik"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "TŠAAD"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Tšiili"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Hiina"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "KOMOORID"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cooki saared"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Elevandiluurannik"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Horvaatia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Küpros"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Tšehhi Vabariik"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Korea Rahvademokraatlik Vabariik"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Kongo DV"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Ida-Timor"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Taani"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikaani Vabariik"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egiptus"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Ekvatoriaal-Guinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Eesti"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etioopia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falklandi saared"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Fääri saared"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidži"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Soome"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Prantsuse lõunaalad"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Prantsuse Guajaana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Prantsuse Polüneesia"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Saksamaa"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Kreeka"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Gröönimaa"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hongkong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Ungari"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Island"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indoneesia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iraan"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Iraak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Iirimaa"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Iisrael"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Jaapan"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordaania"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kasahstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Keenia"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuveit"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kõrgõzstan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Laose Rahvademokraatlik Vabariik"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Läti"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Liibanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Libeeria"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Liibüa"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Leedu"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxembourg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Aomen"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "MADAGASKAR"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaisia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldiivid"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshalli saared"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURITAANIA"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURITIUS"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mehhiko"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikroneesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldova"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongoolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Maroko"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mosambiik"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Birma"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMIIBIA"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Holland"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Briti Columbia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Uus-Meremaa"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Põhja-Mariaanid"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norra"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Omaan"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Paapua Uus-Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Pruun"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipiinid"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Poola"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Katar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rumeenia"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Vene Föderatsioon"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Saint Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts ja Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre ja Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent ja Grenadiinid"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome ja Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudi Araabia"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seišellid"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovakkia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Sloveenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Saalomoni saared"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somaalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Lõuna-Aafrika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Hispaania"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudaan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Svaasimaa"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Roosti"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Šveits"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Süüria Araabia Vabariik"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadžikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tansaania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tai"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Endine Jugoslaavia Makedoonia vabariik"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad ja Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tuneesia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Türgi"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Türkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks ja Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraina"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Araabia Ühendemiraadid"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Suurbritannia ja Põhja-Iiri Ühendkuningriik"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Ameerika Ühendriigid"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Ühendriikide Neitsisaared"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Usbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikan"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis ja Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jeemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Sambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobiil (kodu)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobiil (töö)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Salvestatud:"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Impordi SD-kaardilt"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Rühm ja rühma liikmed"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s salvestati kausta %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "See kontakt kustutatakse"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Foto"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Valija"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Varundus"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Ainult rühm"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Uus rühm"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Vali rühm"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobiil 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Lisatud"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Teisaldatud"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Valitud"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Tühista"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Mälu pole piisavalt"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Eemaldatud"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Otsi"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Sulge"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Kustutatud"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Tõrge"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Helista"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "SIM-i pole"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Vali kõik"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Nurjus"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Õnnestus"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Salvesta"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Lisa kontaktid"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Assistendi nimi"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Kustuta rühm"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Rühma nimi"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Rühma helin"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Salvesta video"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Asenda"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Kiirvalimine"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Sõnum"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Määra helin"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Kõik kontaktid"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Ettevõte"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Muuda kontakte"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Hangi e-posti aadress"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Hangi number"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Rühm puudub"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Osaleja"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Määra pilt"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Speed dial not in use"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Kustuta kontaktid"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Muuda rühmasid"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-kiri"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Lisa lemmikutesse"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Muuda rühma liiget"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Tühi"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Salvesta kontakt"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Valige kontakt"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Lisa rühm"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Mälu on täis"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Eemaldamine..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Kontakti ei saa rühma lisada"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Värskendus"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Tühista"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Kontaktid"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopeeri"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Loo"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-post"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Sõnum"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Teisalda"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Tundmatu"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videokõne"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Kustuta"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Valmis"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Muuda"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Saada kontakti üksikasjad"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Otsi Exchange'i serverist"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Eesnimi Perekonnanimi"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Perekonnanimi Eesnimi"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Rohkemate väljade lisamiseks toksake paremal olevat nuppu"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/eu.po b/po/eu.po
deleted file mode 100644
index 599a121..0000000
--- a/po/eu.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Teklatua"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Gogokoak"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Markaketa bizkorra"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Ahots-posta"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Erregistroak"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Ez dago markaketa zenbaki azkarrik. Esleitu bat orain?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Eskaerak huts egin du"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Eskaera ondo egin da"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Emergentzia deia"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Erregistrorik ez"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Gogokorik ez"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Mezua ezabatu da"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Telefono zenbakiaren luzera gainditu da"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Erregistroak ezabatzen..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Gogokoak ezabatzen..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Abiarazten. Saiatu geroago..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Soinua itzalita"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Soinua piztuta"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Aurreko pantaila"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Deira itzuli"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Sarrerako deia"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Irteera deia"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Galdutako deia"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Bidalitako mezua"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Jasotako mezua"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Ukatutako deia"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Dei blokeatua"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Editatu zenbakia deitu aurretik"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Mezu elektronikoa bidali"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Hautatu erregistroak"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Hautatu markaketa azkarreko kontaktuak"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Desblokeatu"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Aldatu kontaktua"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Gehitu %d segundoko etena"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Gehitu itxaronaldia"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Galdutakoak"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Irten"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Pertsonalizatua"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mugikorra"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Etxea"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Lana"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Faxa (etxekoa)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Faxa (lanekoa)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Laguntzailearen zenbakia"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Bilagailua"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Besterik"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefonoa"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Faxa"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Autoko telefonoa"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Nagusia 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Enpresako telefono nagusia"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Irratia"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Kontaktu guztiak"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Esleitu gabe"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Zerbitzu zenbakia"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefonoa"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Taldeak"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Lehenetsia"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Dei doinua"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Webgunea"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Posta elektroniko mezuak"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Zenbakia"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Oharra"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Posta helbidea"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Xehetasunak"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Enpresa"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Ezizenen antolaketa"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Norberaren zenbakia"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Izena"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Abizena"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Bigarren izena"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Atzizkia"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Ezizena"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Esportatu kontaktuak"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Hautatu kontaktuak"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Posta kodea"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Herrialdea"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Probintzia"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Hiria"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Kalea"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "%s-(e)n gordeta"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Maiz kontaktatutakoak"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Kopiatuta"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Esportatuta"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Kontaktuak ezabatzen..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Mugitzen..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopiatzen..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "SIM kontaktuak inportatzen..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Kontaktuak inportatzen vCard-etik..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Kontaktuak esportatzen %s-(e)ra..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "Bisita txartela"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "vCard irakurtzen..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Inportatuta"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "E/A"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Estekatutako kontaktu guztiak"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Lotutako kontaktuak"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Kargua"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Saila"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Taldearen izena"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Kontua gehitu"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Kideak taldera gehitzen..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Ikusi"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d kontaktu"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Berrizendatu"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Harremana"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Historiarik ez"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Jarduerarik ez"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Gehitzen..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Informazio gehigarria"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Posta kutxatila"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Estatua"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Lagunak"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Familia"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Lankideak"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Lana"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Dardara modua"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Ezarri lehenetsia"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Gertaera"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Partekatu kontaktu informazioa"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "Kontaktu 1"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Esportatu SIM txartelera"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Inform."
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Historia"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Ekintzak"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Talde mezua"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Talde emaila"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Izenik gabe"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Helbide elektroniko baliogabea"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Bete gutxienez eremu bat eta izena"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Ezin izan da datu-basera sartu"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Gehituta dago lehendik"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Taldearen izena dagoenek erabileran"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Talderik ez"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Zenbakirik gabe"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Helbide elektronikorik ez"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Ez dago kontakturik"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM memoria hutsik"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Gehieneko sarrera kopurua gainditu da"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Zenbakiak ez du balio"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM memoria beteta"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"SIM txarteleko kontaktuak inporta ditzakezu telefonoan, Ezarpenak > "
-"Inportatu kontaktuak edo sinkronizatu web kontuko kontaktuekin ezarpenetako "
-"kontuak erabilita"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Erregistrorik ez. Dei bat egin/jaso edo mezu bat bidali/jaso ondoren, "
-"erregistroak erakutsiko dira"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Ezin dira bisita-txartelak bidali"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Lehenetsitako zenbakia moduan markatu"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Markatu lehenetsitako helbide elektroniko gisa"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Irudia"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Argazkia atera"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Kendu argazkia"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Gehitu Hasierako pantailara"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Kontaktua hemen gorde"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Hemen gorde"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Inportatu SIM kontaktuak"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Izena lehenago"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Abizena aurrena"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Erakutsi"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Ezkutatu"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Izen txartela bidali"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Taldea sortu"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Taldea aukeratu"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Inport. kontak."
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Lotu kontaktua"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Kendu esteka"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Lotutako kontaktu guztiak ezabatuko dira"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Gogokoenetara gehitu"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Taldea editatu"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Kide geh."
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Taldera gehitu"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Gogokoenetara gehitu da"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Ezezaguna"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Urtebetetzea"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Urteurrena"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Igandea"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Astelehena"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Asteartea"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Asteazkena"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Osteguna"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Ostirala"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Larunbata"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Laguntzailea"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Anaia"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Seme-alaba"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Bazkide nazionala"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Aita"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Laguna"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Kudeatzailea"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Ama"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Gurasoa"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Kidea"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Zeren arabera"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Senitartekoa"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Ahizpa/arreba"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Ezkontidea"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URLa"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Informazio gehiago"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Samoa Amerikarra"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua eta Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Australia Kanpoko Lurraldeak"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaijan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamak"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrein"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Bielorrusia"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgika"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius eta Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia-Herzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Birjina Uharte Britainiarrak"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kanbodia"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cabo Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Kaiman Uharteak"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Afrika Erdiko Errepublika"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Txad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Txile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Txina"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kolonbia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comoros"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cook uharteak"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Boli Kosta"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Kroazia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Zipre"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Txekiar Errepublika"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Koreako Herri Errepublika Demokratikoa"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Kongoko Errepublika Demokratikoa"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Ekialdeko Timor"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danimarka"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibuti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominika"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikar Errepublika"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ekuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egipto"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Ekuatore Ginea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falkland uharteak"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Faroe Uharteak"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlandia"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Frantzia"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Frantziaren lurralde australak"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Guyana Frantsesa"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Polinesia Frantsesa"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Alemania"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grezia"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Groenlandia"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadalupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Ginea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Ginea Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Hungaria"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islandia"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Nazioarteko doako telefono zerbitzua"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Gainordaina duten nazioarteko tarifa zerbitzuak (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Kostu partekatuko nazioarteko zerbitzua (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlanda"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italia"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaika"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japonia"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordania"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakhstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgizistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Lao Herriaren Errepublika Demokratikoa"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Letonia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libano"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libia"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtestein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lituania"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxenburgo"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macau"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagaskar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaysia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldivak"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshall Uharteak"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinika"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritania"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Maurizio"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexiko"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavia"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monako"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Maroko"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambike"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Herbehereak"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Kaledonia Berria"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "New Zealand"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nikaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Iparraldeko Mariana Uharteak"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norvegia"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Ginea Berria"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipinak"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polonia"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Errumania"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Errusiako Federazioa"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Santa Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts eta Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Santa Luzia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint-Pierre eta Mikelune"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent eta Grenadinak"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome eta Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudi Arabia"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelleak"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leona"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "San Martin"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Eslovakia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Eslovenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Solomon uharteak"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Hego Afrika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Espainia"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swazilandia"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Suedia"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Suitza"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Siriako Errepublika Arabiarra"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadjikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Hondamendietan laguntzeko telekomunikazioak (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tailandia"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Mazedonia Jugoslaviar Errepublika Ohia"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad eta Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunisia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turkia"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks eta Caicos Uharteak"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukrainia"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Arabiar Emirerri Batuak"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Britainia Handiko eta Iparraldeko Irlandako Erresuma Batua"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Ameriketako Estatu Batuak"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Birjina Uharte Amerikarrak"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Telekomunikazio zerbitzu pertsonal unibertsala (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguai"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vaticano Hiri Estatua"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis eta Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbawe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mugikorra (etxekoa)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mugikorra (lanekoa)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Hemen gordeta"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Inportatu SD txarteletik"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Taldea eta taldekideak"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s %s karpetan gordeta"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Kontaktu hau ezabatu egingo da"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Argazkia"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Markatz."
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Babeskopia"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Taldea soilik"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Talde berria"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Taldea aukeratu"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mugikorra 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Gehituta"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Mugitua"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Aukeratutakoa(k)"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Ezeztatu"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Ez dago memoria nahikoa"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Kenduta"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Bilatu"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Itxi"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Ezabatua"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Akatsa"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Deitu"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Ez dago SIM txartelik"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Denak aukeratu"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Huts egin du"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Behar bezala"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Gorde"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Kontaktuak gehitu"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Laguntzailearen izena"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Taldea ezabatu"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Taldearen izena"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Dei tonu taldea"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Bideoa grabatu"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Ordezkatu"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Markaketa bizkorra"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Mezua"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Dei doinua ezarri"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Kontaktu guztiak"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Enpresa"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Editatu kontaktuak"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Eskuratu posta"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Zenbakia lortu"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Talderik ez"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Partaidea"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Ezarri irudia"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Markatze bizkorra ez da erabiltzen ari"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Ezabatu kontaktuak"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Editatu taldeak"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Posta elektroniko mezuak"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Gehitu gogokoetara"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Taldea editatu"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Hutsik"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Kontaktua gorde"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Kontaktua aukeratu"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Taldea gehitu"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memoria beteta"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Ezabatzen..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Ezin da kontaktua gehitu taldera"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Eguneratu"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Ezez."
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Kontaktuak"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopiatu"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Sortu"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Posta elektroniko mezuak"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Mezua"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Mugitu"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefonoa"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Ezezaguna"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Bideo-deia"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Ezabatu"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Amaituta"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Editatu"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "Ados"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Kontaktuaren xehetasunak bidali"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Bilatu Exchange zerbitzaria"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Izen-abizenak"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Abizenak, Izena"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Eremu gehiago ikusteko, ukitu eskuineko botoia"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/fi.po b/po/fi.po
deleted file mode 100644
index 12c55cc..0000000
--- a/po/fi.po
+++ /dev/null
@@ -1,1772 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Nronäpp."
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Suosikit"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Pikavalinta"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Vastaaja"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Lokit"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Pikavalintanumeroa ei ole. Määritetäänkö nyt?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Pyyntö epäonnistui"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Pyyntö onnistui"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Hätäpuhelu"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Ei lokeja"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Ei suosikkeja"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Viesti poistettu"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Puhelinnumeron enimmäispituus on ylitetty"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Poistetaan lokeja..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Poistetaan suosikkeja..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Alustetaan. Yritä myöhemmin uudelleen..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Ääni pois"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Ääni päällä"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Edell. näyttö"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Takaisin puheluun"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Saapuva puhelu"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Lähtevä puhelu"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Vastaamaton puhelu"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Lähetetty viesti"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Vastaanotettu viesti"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Hylätty puhelu"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Estetty puhelu"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Muokkaa numeroa ennen puhelua"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Lähetä sähköpostiviesti"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Valitse lokit"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Valitse pikavalinnoilla käytettävät yhteystiedot"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Poista esto"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Vaihda yhteystietoa"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Lisää %d sekunnin tauko"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Lisää odotus"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Vastaamattomat"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Poistu"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Mukautettu"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Matkapuhelin"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Koti"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Työ"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Faksi (koti)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Faksi (työ)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Avustajan numero"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Hakulaite"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Muu"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Puhelin"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Faksi"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Autopuhelin"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Koti 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Yritys (ensisijainen)"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Kaikki yhteystiedot"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Ei määritelty"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Palvelunumero"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Puhelin"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Ryhmät"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Oletus"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Soittoääni"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "WWW-sivusto"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Sähköposti"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Numero"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Huomautus"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Postiosoite"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Yksityiskohdat"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Yritys"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Nimen näyttöjärjestys"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Oma numero"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Etunimi"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Sukunimi"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Toinen nimi"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Pääte"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Lempinimi"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Vie yhteystiedot"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Valitse yhteystiedot"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Postinumero"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Maa"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Maakunta"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Kaupunki"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Katu"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Tallennettu kohteeseen %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Usein käytetyt yhteystiedot"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Kopioitu"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Viety"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Poistetaan yhteystietoja..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Siirretään..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopioidaan..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Tuodaan SIM-kortin yhteystietoja..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Tuodaan yhteystietoja vCardilta..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Viedään yhteystietoja kohteeseen %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "Käyntikortti"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Luetaan vCardia..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Tuotu"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "-"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Kaikki liit. yht.tied."
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Liitetyt yhteystiedot"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Työtehtävä"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Osasto"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Ryhmän nimi"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Lisää tili"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Lisätään jäseniä ryhmään..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Näytä"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d yhteystietoa"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Nimeä uudelleen"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Suhde"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Historioita ei ole"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Ei toimintoja"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Lisätään..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Lisätiedot"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Postilokero"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Osavaltio"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Ystävät"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Perhe"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Työtoverit"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Työ"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Värinäkuvio"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Aseta oletus"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Tapahtuma"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Jaa yhteystiedot"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 yhteystieto"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Vie SIM-kortille"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Tietoja"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Historia"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Harrastukset"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Ryhmäviesti"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Ryhmäsähköpostiviesti"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Ei nimeä"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Virheellinen sähköpostiosoite"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Täytä ainakin yksi kenttä ja nimi"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Tietokannan käyttäminen epäonnistui"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "On jo lisätty"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Ryhmän nimi on jo käytössä"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Ei ryhmää"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Ei numeroa"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Ei sähköpostiosoitteita"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Ei yhteystietoja"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM-kortin muisti on tyhjä"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Merkintöjen enimmäismäärä ylitetty"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Virheellinen numero"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM-kortin muisti on täynnä"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Voit tuoda yhteystietoja SIM-kortilta puhelimeen valitsemalla Asetukset > "
-"Tuo yhteystiedot tai synkronoimalla asetuksissa määritettyjen verkkotilien "
-"yhteystietojen kanssa"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Lokeja ei ole. Kun soitat/vastaanotat puhelun tai lähetät/vastaanotat "
-"viestin, lokit tulevat näyttöön"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Käyntikortteja ei voi lähettää"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Merkitse oletusnumeroksi"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Merkitse oletussähköpostiksi"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Kuva"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Ota valokuva"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Poista valokuva"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Lisää alkunäytölle"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Tallenna yhteystieto kohteeseen"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Tallenna paikkaan"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Tuo SIM-kortin yhteystiedot"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Etunimi ensin"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Sukunimi ensin"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Näytä"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Piilota"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Lähetä käyntikortti"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Luo ryhmä"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Valitse ryhmä"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Tuo yht.tiedot"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Liitä yhteystieto"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Poista linkki"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Kaikki liitetyt yhteystiedot poistetaan"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Lisää Suosikkeihin"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Muokkaa ryhmää"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "L. jäsen"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Lisää ryhmään"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Lisätty suosikkeihin"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Tuntematon"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Syntymäpäivä"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Vuosipäivä"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Sunnuntai"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Maanantai"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Tiistai"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Keskiviikko"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Torstai"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Perjantai"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Lauantai"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Avustaja"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Veli"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Lapsi"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Kotim. kumppani"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Isä"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Ystävä"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Esimies"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Äiti"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Vanhempi"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Kumppani"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Suositellut"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Sukulainen"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Sisko"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Puoliso"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL-osoite"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "Pikaviesti"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Lisätietoja"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Amerikan Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua ja Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentiina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Australian merentakaiset territoriot"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Itävalta"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaidzan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahama"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Valko-Venäjä"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgia"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius ja Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia-Hertsegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasilia"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Brittiläiset Neitsytsaaret"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambodza"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Kap Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Caymansaaret"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Keski-Afrikka"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Tsad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Kiina"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kolumbia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Komorit"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cookinsaaret"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Norsunluurannikko"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Kroatia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curacao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Kypros"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Tsekin tasavalta"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Korean demokraattinen kansantasavalta"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Kongon demokraattinen tasavalta"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor-Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Tanska"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikaaninen tasavalta"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egypti"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Päiväntasaajan Guinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Viro"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falkland-saaret"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Färsaaret"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidzi"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Suomi"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Ranskan eteläiset alueet"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Ranskan Guyana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Ranskan Polynesia"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Saksa"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Kreikka"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grönlanti"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Unkari"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islanti"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Intia"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlanti"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italia"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaika"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japani"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordania"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenia"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgisia"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Laosin demokraattinen kansantasavalta"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Latvia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libya"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Liettua"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxemburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagaskar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malesia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Malediivit"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshallinsaaret"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritania"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauritius"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Meksiko"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldova"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marokko"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mosambik"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Alankomaat"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Uusi-Kaledonia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Uusi-Seelanti"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Pohjois-Mariaanit"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norja"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua-Uusi-Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filippiinit"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Puola"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugali"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Romania"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Venäjän federaatio"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Saint Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts ja Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre ja Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent ja Grenadiinit"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome ja Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudi-Arabia"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychellit"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapore"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovakia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Salomonsaaret"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Etelä-Afrikka"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Espanja"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swazimaa"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Ruotsi"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Sveitsi"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Syyrian arabitasavalta"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadzikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tansania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thaimaa"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Entinen Jugoslavian tasavalta Makedonia"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad ja Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunisia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turkki"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks- ja Caicossaaret"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraina"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Arabiemiirikunnat"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Ison-Britannian ja Pohjois-Irlannin yhdistynyt kuningaskunta"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Yhdysvallat"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Yhdysvaltain Neitsytsaaret"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikaanin kaupunkivaltio"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis- ja Futunasaaret"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Sambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Matkapuhelin (koti)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Matkapuhelin (työ)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Tallennettu kansioon"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Tuo SD-kortilta"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Ryhmä ja ryhmän jäsenet"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s tallennettu kohteeseen %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Tämä yhteystieto poistetaan"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Valokuva"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Num.val."
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Varm.kop."
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Vain ryhmä"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Uusi ryhmä"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Valitse ryhmä"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Matkapuhelin 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Lisätty"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Siirretty"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Valittu"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Peruuta"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Ei tarpeeksi muistia"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Poistettu"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Etsi"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Sulje"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Poistettu"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Virhe"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Puhelu"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Ei SIM-korttia"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Valitse kaikki"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Epäonnistui"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Valmis"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Tallenna"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Lisää yhteystieto"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Avustajan nimi"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Poista ryhmä"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Ryhmän nimi"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Ryhmäsoittoääni"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Tallenna video"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Korvaa"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Pikavalinta"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Viesti"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Aseta soittoääneksi"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Kaikki yhteystiedot"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Yritys"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Muokkaa yhteystietoja"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Hae sähköpostiviesti"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Hae numero"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Ei ryhmää"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Osaanottaja"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Määritä kuva"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Pikavalinta ei ole käytössä"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Poista yhteystiedot"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr ""
-#~ "Muokkaa\n"
-#~ "ryhmiä"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Sähköposti"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Lisää suosikkeihin"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Muokkaa ryhmää"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Tyhjä"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Tallenna yhteystieto"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Valitse yhteystieto"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Lisää ryhmä"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Muisti on täynnä"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Poistetaan..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Yhteyshenkilöä ei voi lisätä ryhmään"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Päivitä"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Peruuta"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Yhteystiedot"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopioi"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Luo"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Sähköposti"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Viesti"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Siirrä"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Puhelin"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Tuntematon"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videopuhelu"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Poista"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Valmis"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Muokkaa"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Lähetä yhteystiedot"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Hae Exchange-palvelimelta"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Etunimi Sukunimi"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Sukunimi Etunimi"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Voit avata lisää kenttiä napauttamalla oikealla olevaa painiketta"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/fr_CA.po b/po/fr_CA.po
deleted file mode 100644
index f32d2ea..0000000
--- a/po/fr_CA.po
+++ /dev/null
@@ -1,1768 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Clavier"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favoris"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Composition rapide"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Messagerie vocale"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Journaux"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Aucun numéro abrégé. Affecter un numéro maintenant?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Échec de la demande"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Demande réussie"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Appel d'urgence"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Aucun journal"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Aucun favori"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Message supprimé"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Longueur maximum autorisée pour les numéros de téléphone dépassée"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Suppression des journaux..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Suppression des favoris..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Initialisation en cours. Essayez plus tard..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Désactiver son"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Activer son"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Écran précéd."
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Retour à l'appel"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Appel entrant"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Appel sortant"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Appel manqué"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Message envoyé"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Message reçu"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Appel rejeté"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Appel bloqué"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Modifier le numéro avant l'appel"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-#, fuzzy
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Tunisie"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Envoyer un courriel"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Sélectionner des journaux"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Sélectionner contacts numérotation rapide"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Débloquer"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Changer le contact"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Ajouter une pause de %d s"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Pause ferme"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Manqués"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Quitter"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Personnaliser"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobile"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Domicile"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Professionnel"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax - perso"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (Professionnel)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Numéro de l'assistant"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Téléav."
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Autre"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Téléphone"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Téléphone de voiture"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Domicile 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Numéro principal de l'entreprise"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Tous les contacts"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Non affecté"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Numéros de service"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Téléphone"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Groupes"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Par défaut"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Sonnerie"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Site Web"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Courriel"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Numéro"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Note"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Adresse postale"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Détails"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Société"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Ordre d'affichage des noms"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Mes numéros"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Prénom"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Nom de famille"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Deuxième prénom"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Suffixe"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Surnom"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Exporter les contacts"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Sélectionner les contacts"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Code postal"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Pays"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Province"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Ville"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Rue"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Enregistré dans %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Fréquemment contacté"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Copié"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exporté"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Suppression des contacts..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Déplacement..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Copie ..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importation des contacts SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importation des contacts depuis la carte de visite..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Exportation des contacts vers %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "Carte de visite"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Lecture de la carte de visite..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importé"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "s.o."
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Tous contacts associés"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Contacts associés"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Profession"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Service"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Nom de groupe"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Ajouter un compte"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Ajout des membres au groupe..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Afficher"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contacts"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Renommer"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relation"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Aucun historique"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Aucune activité"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Ajout..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Info complémentaires"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Boite postale"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Province"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Amis"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Famille"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Collègues"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Professionnel"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Type de vibreur"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Définir par défaut"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Évènement"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Partager les informations du contact"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contact"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wifi direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Exporter vers la carte SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Infos"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Historique"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Activités"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Message de groupe"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Courriel de groupe"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Aucun nom"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Adresse courriel incorrecte"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Complétez au moins un champ tel que nom"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Échec d'accès à la base de données"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Déjà ajouté"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Nom de groupe déjà utilisé"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Aucun groupe"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Aucun numéro"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Aucune adresse courriel"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Aucun contact"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Mémoire SIM vide"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Nombre maximum d'entrées dépassé"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Numéro non valide"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Mémoire SIM saturée"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Vous pouvez importer des contacts sur votre téléphone depuis votre carte SIM "
-"dans Paramètres > Importer les contacts ou effectuer une synchronisation "
-"avec les contacts du compte Web en utilisant Comptes dans Paramètres"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Aucun journal. Les journaux s'affichent lorsque vous passez/recevez un appel "
-"ou lors de l'envoi/la réception d'un message"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Impossible d'envoyer des cartes de visite"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Définir comme numéro par défaut"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Marquer comme courriel par défaut"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Image"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Photographier"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Supprimer la photo"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Ajouter à l'écran d'accueil"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Enregistrer le contact dans"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Enregistrer dans"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importer les contacts SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Prénom d'abord"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Nom en premier"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Afficher"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Masquer"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Envoyer la carte de visite"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Créer un groupe"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Sélectionner groupe"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Importer les contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Associer contact"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Dissocier"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Tous les contacts associés vont être supprimés"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Ajouter aux favoris"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Modifier le groupe"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Aj. membre"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Ajouter au groupe"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Ajouté aux favoris"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Inconnu"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Anniversaire"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Anniversaire"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Dimanche"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Lundi"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Mardi"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Mercredi"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Jeudi"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Vendredi"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Samedi"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistant"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Frère"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Enfant"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Conjoint(e)"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Père"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Ami"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Gestionnaire"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mère"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Parent"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partenaire"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Recommandé par"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Proche"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Soeur"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Conjoint(e)"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "MI"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Plus d'informations"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghanistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albanie"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algérie"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Samoa américaines"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorre"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua-et-Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentine"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Arménie"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australie"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territoires extérieurs de l'Australie"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Autriche"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaïdjan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahreïn"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbade"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Bélarus"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgique"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Bénin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermudes"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhoutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivie"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Saint-Eustache et Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnie-Herzégovine"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brésil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Iles Vierges britanniques"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgarie"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Cambodge"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Cameroun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cap-Vert"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "iles Caïmans"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "République centrafricaine"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "TCHAD"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chili"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Chine"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombie"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comores"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Iles Cook"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Côte d’Ivoire"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croatie"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Chypre"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "République Tchèque"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "République populaire démocratique de Corée"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "République démocratique du Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor-Oriental"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danemark"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominique"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "République dominicaine"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Équateur"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Égypte"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Guinée équatoriale"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Érythrée"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonie"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Éthiopie"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Iles Falkland"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Féroé"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlande"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Terres australes françaises"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Guyane"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Polynésie française"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambie"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Géorgie"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Allemagne"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grèce"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Groenland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenade"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinée"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinée-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyane"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haïti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Hongrie"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islande"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Inde"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonésie"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Service téléphonique gratuit international"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Service à tarif majoré international (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Service à cout partagé international (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Iraq"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlande"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israël"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italie"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaïque"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japon"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordanie"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakhstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Corée"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Koweït"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirghizistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "République démocratique populaire lao"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Lettonie"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Liban"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Libéria"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libye"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lituanie"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxembourg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "MADAGASCAR"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaisie"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldives"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malte"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Îles Marshall"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURITANIE"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURICE"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexique"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronésie"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavie"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolie"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Monténégro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Maroc"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Birmanie"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibie"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Népal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Pays-Bas"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nouvelle-Calédonie"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nouvelle-Zélande"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Nioué"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Iles Mariannes du Nord"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norvège"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papouasie-Nouvelle-Guinée"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Pérou"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Philippines"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Pologne"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Porto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Roumanie"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Fédération de Russie"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Sainte-Hélène"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint-Kitts-et-Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Sainte Lucie"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint-Pierre-et-Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint-Vincent-et-les-Grenadines"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "Saint-Marin"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tomé-et-Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Arabie saoudite"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Sénégal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbie"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapour"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Saint-Martin"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovaquie"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovénie"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Iles Salomon"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalie"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Afrique du Sud"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Espagne"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Soudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Suède"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Suisse"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "République arabe syrienne"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taïwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tajikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzanie"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Télécommunications pour les populations sinistrées (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thaïlande"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Ancienne République yougoslave de Macédoine"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad et Tobago"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turquie"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkménistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Îles Turques et Caïques"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Ouganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraine"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Émirats arabes unis"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Royaume-Uni de Grande-Bretagne et d'Irlande du Nord"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "États-Unis d'Amérique"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "iles Vierges des États-Unis"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Télécommunications personnelles universelles (UTP)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Ouzbékistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "État de la Cité du Vatican"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis et Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yémen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambie"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobile - perso"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobile (Professionnel)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Enregistré dans"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importer depuis la carte SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Groupe et membres du groupe"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s enregistré dans %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Ce contact sera supprimé"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Photo"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Clavier"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Sauvegarde"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Groupe uniquement"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Nouveau groupe"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Sélectionner groupe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobile 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Ajouté"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Déplacé"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Sélectionné"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Annuler"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Mémoire insuffisante"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Retiré"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Recherche"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Fermer"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Supprimé"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Erreur"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Appeler"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Pas de carte SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Sélectionner tout"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Échec"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Terminé"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Sauv."
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Ajouter des contacts"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Nom de l'assistant"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Supprimer un groupe"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Nom de groupe"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Sonnerie groupe"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Enregistrer une vidéo"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Remplacer"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Composition rapide"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Mess."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Définir une sonnerie"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Tous les contacts"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Société"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Modifier les contacts"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Obtenir le courriel"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Obtenir le numéro"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Aucun groupe"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Participant"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Définir l'image"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Numérotation abrégée non utilisée"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Supprimer des contacts"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Modifier les groupes"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Courriel"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Ajouter aux favoris"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Modifier le groupe"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Vide"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Enregistrer contact"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Sélectionner un contact"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Ajouter un groupe"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Mémoire saturée"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Retrait..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Impossible d'ajouter le contact dans le groupe"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "MÀJ"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Annul."
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Contacts"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Copier"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Créer"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Courriel"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Message"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Déplacer"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Téléphone"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Inconnu"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Appel vidéo"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Supprimer"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "OK"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Modifier"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Envoyer les coordonnées"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Rechercher serveur Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Prénom Nom"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Nom Prénom"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Pour afficher d'autres champs, touchez le bouton à droite"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/fr_FR.po b/po/fr_FR.po
deleted file mode 100644
index dbe173e..0000000
--- a/po/fr_FR.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Clavier"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favoris"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Numérotation rapide"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Messagerie vocale"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Journaux"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Aucun numéro abrégé. Affecter un numéro maintenant ?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Echec de la demande"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Demande réussie"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Appel d'urgence"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Aucun journal"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Aucun favori"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Message supprimé"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Longueur maximum autorisée pour les numéros de téléphone dépassée"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Suppression des journaux..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Suppression des favoris..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Initialisation en cours. Essayez plus tard..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Son désactivé"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Son activé"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Ecran précéd."
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Retour à l'appel"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Appel entrant"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Appel sortant"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Appel manqué"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Message envoyé"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Message reçu"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Appel rejeté"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Appel bloqué"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Modifier le numéro avant l'appel"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Envoyer un e-mail"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Sélectionner des journaux"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Sélectionner contacts numérotation rapide"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Débloquer"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Modifier le contact"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Ajouter une pause de %d seconde(s)"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "En attente d'ajout"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Manqués"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Quitter"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Personnaliser"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobile"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Domicile"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Pro."
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax - perso"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax - Pro"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Numéro de l'assistant"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pager"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Autre"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Téléphone"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Téléphone de voiture"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Domicile 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Numéro principal de l'entreprise"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Tous les contacts"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Non affecté"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Numéro de service"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Téléphone"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Groupes"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Par défaut"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Sonnerie"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Site Web"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-mail"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Numéro"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Note"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Adresse postale"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Détails"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Société"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Ordre d'affichage des noms et prénoms"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Mon numéro"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Prénom"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Nom"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Deuxième prénom"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Suffixe"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Surnom"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Exporter contacts"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Sélectionner les contacts"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Code postal"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Pays"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Province"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Ville"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Rue"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Enregistré dans le dossier %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Fréquemment contacté"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Copié"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exporté"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Suppression des contacts..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Déplacement..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Copie..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importation des contacts SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importation des contacts depuis la carte de visite..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Exportation des contacts vers %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "Carte de visite"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Lecture de la carte de visite..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importé"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/A"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Tous contacts associés"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Contacts associés"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Profession"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Service"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Nom de groupe"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Ajouter compte"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Ajout des membres au groupe..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Afficher"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contacts"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Renommer"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relation"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Aucun historique"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Aucune activité"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Ajout en cours..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Infos complémentaires"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Boîte postale"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Etat"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Amis"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Famille"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Collaborateurs"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Professionnel"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Type de vibreur"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Définir par défaut"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Evénement"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Partager les informations du contact"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contact"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Exporter vers la carte SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Infos"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Historique"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Activités"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Message de groupe"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "E-mail de groupe"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Aucun nom"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "E-mail incorrect"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Complétez au moins un champ tel que nom"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Echec d'accès à la base de données"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Déjà ajouté"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Nom de groupe déjà utilisé"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Aucun groupe"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Aucun numéro"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Aucune adresse e-mail"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Aucun contact"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Mémoire SIM vide"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Nombre maximum d'entrées dépassé"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Numéro non valide"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Mémoire SIM saturée"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Vous pouvez importer des contacts sur votre téléphone depuis votre carte SIM "
-"dans Paramètres > Importer les contacts ou effectuer une synchronisation "
-"avec les contacts du compte Web en utilisant le menu Comptes dans Paramètres"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Aucun journal. Les journaux s'affichent lorsque vous passez/recevez un appel "
-"ou lors de l'envoi/la réception d'un message"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Impossible d'envoyer des cartes de visite"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Définir comme n° par défaut"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Marquer comme e-mail par défaut"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Image"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Prendre une photo"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Supprimer la photo"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Ajouter à l'écran d'accueil"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Enregistrer n° dans"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Enregistrer sur"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importer les contacts SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Prénom d'abord"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Nom en premier"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Afficher"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Masquer"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Envoyer carte de visite"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Créer un groupe"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Sélectionner groupe"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Import contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Associer contact"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Dissocier"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Tous les contacts associés vont être supprimés"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Ajouter aux favoris"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Modifier le groupe"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Aj. membre"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Ajouter au groupe"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Ajouté aux favoris"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Inconnu"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Anniversaire"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Occasion"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Dimanche"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Lundi"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Mardi"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Mercredi"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Jeudi"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Vendredi"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Samedi"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistant"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Frère"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Enfant"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Conjoint(e)"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Père"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Ami"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Gestionnaire"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mère"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Parent"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partenaire"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Recommandé par"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Proche"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Soeur"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Epouse"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "MI"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Plus d'informations"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghanistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albanie"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algérie"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Samoa américaines"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorre"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua et Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentine"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Arménie"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australie"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territoires extérieurs de l'Australie"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Autriche"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaïdjan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbade"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Bélarus"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgique"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Bénin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Les Bermudes"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhoutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivie"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Saint-Eustache et Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnie-Herzégovine"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brésil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Iles Vierges Britanniques"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgarie"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Cambodge"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Cameroun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cap Vert"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Îles Caïmans"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "République centrafricaine"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "TCHAD"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chili"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Chine"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombie"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comores"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Iles Cook"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Côte d’Ivoire"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croatie"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Chypre"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "République Tchèque"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "République populaire démocratique de Corée"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "République démocratique du Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor oriental"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danemark"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "La Dominique"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "République dominicaine"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Équateur"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egypte"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Guinée Équatoriale"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Érythrée"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonie"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Éthiopie"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Iles Falkland"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Iles Féroé"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlande"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Terres australes et antarctiques françaises"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Guyane"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Polynésie française"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambie"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Géorgie"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Germany"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grèce"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Groenland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenade"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinée"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinée Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyane"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haïti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Hongrie"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islande"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Inde"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonésie"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Service téléphonique gratuit international"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Service à tarif majoré international (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Service à coût partagé international (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlande"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israël"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italie"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaïque"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japon"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordanie"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakhstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Corée"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Koweït"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirghizistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "République démocratique populaire Lao"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Lettonie"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Liban"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Libéria"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libye"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lituanie"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxembourg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "MADAGASCAR"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaisie"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Les Maldives"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malte"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Îles Marshall"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURITANIE"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURICE"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexique"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronésie"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavie"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolie"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Monténégro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Maroc"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Birmanie"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMIBIE"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Népal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Pays-Bas"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nouvelle Calédonie"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nouvelle-Zélande"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Nioué"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Iles Mariannes du Nord"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norvège"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papouasie-Nouvelle-Guinée"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Pérou"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Les Philippines"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Pologne"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Porto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Roumanie"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Fédération de Russie"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Sainte Hélène"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts et Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Sainte Lucie"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint-Pierre et Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent et les Grenadines"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "Saint-Marin"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tomé-et-Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Arabie Saoudite"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Sénégal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbie"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapour"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Saint-Martin"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovaquie"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovénie"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Iles Salomon"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalie"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Afrique du Sud"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Espagne"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Soudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Suédois"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Suisse"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "République arabe syrienne"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taïwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tajikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzanie"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Télécommunications pour les populations sinistrées (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thaïlande"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Ancienne République yougoslave de Macédoine"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad et Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunisie"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turquie"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Iles Turques-et-Caïques"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Ouganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraine"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Émirats arabes unis"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Royaume-Uni de Grande-Bretagne et d'Irlande du Nord"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Etats-Unis d'Amérique"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Iles Vierges des Etats-Unis"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Télécommunications personnelles universelles (UTP)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Ouzbékistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Etat de la Cité du Vatican"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Viêtnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis et Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yémen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambie"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobile - perso"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobile (Pro)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Enregistré dans"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importer depuis la carte SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Groupe et membres du groupe"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s enregistré dans %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Ce contact sera supprimé"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Photo"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Clavier"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Sauvegarde"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Groupe uniquement"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Nouveau groupe"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Sélectionner groupe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobile 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Ajouté"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Déplacé"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Sélectionné"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Annuler"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Mémoire insuffisante"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Supprimé"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Rechercher"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Fermer"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Supprimé"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Erreur"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Appel"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Pas de carte SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Sélect. tout"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Echec"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Terminé"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Sauveg."
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Ajouter des contacts"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Nom de l'assistant"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Supprimer groupe"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Nom de groupe"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Sonnerie groupe"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Enregistrer une vidéo"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Remplacer"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Numérotation rapide"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Msg."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Définir sonnerie"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Tous les contacts"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Société"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Modifier les contacts"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Obtenir l'e-mail"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Obtenir le numéro"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Aucun groupe"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Participant"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Définir l'image"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Numérotation rapide non utilisée"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Supprimer des contacts"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Modifier groupes"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Ajouter aux favoris"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Modifier le groupe"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Vide"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Enregistrer numéro"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Sélectionner contact"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Ajouter groupe"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Mémoire saturée"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Suppression..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Impossible d'ajouter le contact dans le groupe"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Mettre à jour"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Annuler"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Contacts"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Copie"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Créer"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Message"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Déplacer"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Téléphone"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Inconnu"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Appel visio"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Supprimer"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Effectué"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Modifier"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Envoyer les coordonnées"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Rechercher serveur Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Prénom Nom"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Nom Prénom"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Pour afficher d'autres champs, appuyez sur le bouton à droite"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/ga.po b/po/ga.po
deleted file mode 100644
index ce927ad..0000000
--- a/po/ga.po
+++ /dev/null
@@ -1,1772 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr ""
-"Eochair\n"
-"cheap"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Ceanáin"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Meardhiailiú"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Glórphost"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Logaí"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Níl uimhir meardhiailithe ann. Sann ceann anois?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Theip ar iarratas"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "D'éirigh leis an iarratas"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Glao éigeandála"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Níl logaí ann"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Níl ceanáin ann"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Teachtaireacht scriosta"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Uasfhad don uimhir fóin sáraithe"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Logaí á scriosadh..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Ceanáin á scriosadh..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Ag túsú. Triail ar ball..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Fuaim as"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Fuaim air"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Scáileán roimhe"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Siar chuig glao"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Glao isteach"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Glao amach"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Glao caillte"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Teachtaireacht a seoladh"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Teachtaireacht a fuarthas"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Glao diúltaithe"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Glao bactha"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Cuir uimhir in eagar roimh ghlaoch uirthi"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-#, fuzzy
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "an Túinéis"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Seol r-phost"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Roghnaigh logaí"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Roghnaigh teagmhálaithe meardhiailithe"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Bain bac"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Athraigh teagmhálaí"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Cuir sos %d soic leis"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Cuir fanacht leis"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "A cailleadh"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Scoir"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Saincheaptha"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Fón Póca"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Baile"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Obair"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Facs (Baile)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Facs (Obair)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Uimhir an chúntóra"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Glaoire"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Eile"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Teileafón"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Facs"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Teileafón cairr"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Baile 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Príomhchuideachta"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Raidió"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Gach teagmhálaí"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Neamhsannta"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Uimhir sheirbhíse"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Fón"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grúpaí"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Réamhshocrú"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Clingthon"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Láithreán Gréasáin"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "R-phost"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Uimhir"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Nóta"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Seoladh poist"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Sonraí"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Cuideachta"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Ord an ainm taispeána"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "M’uimhir féin"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Céadainm"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Sloinne"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Dara ainm"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Iarmhír"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Leasainm"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Easpórtáil teagmhálaithe"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Roghnaigh teagmhálaithe"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Cód poist"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Tír"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Cúige"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Cathair"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Sráid"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Sábháilte in %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "I dteagmháil leo go minic"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Cóipeáilte"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Easpórtáilte"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Teagmhálaithe á scriosadh..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Ag bogadh..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Ag cóipeáil..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Teagmhálaithe SIM á n-iompórtáil..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Teagmhálaithe á n-iompórtáil ó vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Teagmhálaithe á n- easpórtáil chuig %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vChárta"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "vCard á léamh..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Iompórtáilte"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/B"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Gach teagmhál. nasctha"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Teagmhálaithe nasctha"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Teideal poist"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Roinn"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Ainm an ghrúpa"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Cuir cuntas leis"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Baill á gcur leis an ngrúpa..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Amharc air"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d teagmhálaí"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Athainmnigh"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Gaol"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Níl stair ann"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Níl gníomhaíochtaí ann"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Ag cur leis..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Faisnéis sa bhreis"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Bosca poist"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Stát"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Cairde"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Teaghlach"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Comhoibrithe"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Obair"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Patrún creatha"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Socraigh an réamhshocrú"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Imeacht"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Comhroinn faisnéis faoin teagmhálaí"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "Teagmhálaí amháin"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Easpórtáil chuig cárta SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Faisnéis"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Stair"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Gníomhaíochtaí"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Teachtaireacht grúpa"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "R-phost grúpa"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Níl ainm ann"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Seoladh r-phoist neamhbhailí"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Comhlánaigh réimse amháin ar a laghad agus ainm"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Theip ar rochtain ar bhunachar sonraí"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Curtha leis cheana"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Ainm an ghrúpa in úsáid cheana"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Níl Grúpa ann"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Níl uimhir ann"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Níl seoltaí r-phoist ann"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Níl teagmhálaithe ann"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Cuimhne SIM folamh"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Uaslíon na n-iontrálacha sáraithe"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Uimhir neamhbhailí"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Cuimhne SIM lán"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Is féidir leat teagmhálaithe a iompórtáil ón gcárta SIM chuig d'fhón i "
-"Socruithe > Iompórtáil teagmhálaithe nó sioncronú le teagmhálaithe chuntas "
-"Gréasáin ag úsáid cuntais sna socruithe"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Níl loga ann. Tar éis duit glao a chur/a fháil nó teachtaireacht a sheoladh/"
-"a fháil, taispeánfar logaí"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Ní féidir ainmchártaí a sheoladh"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Marcáil mar uimhir réamhshocraithe"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Marcáil mar r-phost réamhshocraithe"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Íomhá"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Glac grianghraf"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Bain grianghraf"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Cuir leis an scáileán Baile"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Sábháil teagmhálaí chuig"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Sábháil chuig"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Iompórtáil teagmhálaithe SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Céadainm ar dtús"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Sloinne ar dtús"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Taispeáin"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Folaigh"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Seol ainmchárta"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Cruthaigh grúpa"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Roghnaigh grúpa"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Iompórt. tgmhle"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Nasc teagmhálaí"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Bain nasc"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Scriosfar gach teagmhálaí nasctha"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Cuir le Ceanáin"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Cuir grúpa in eagar"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Cuir ball"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Cuir le grúpa"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Curtha le ceanáin"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Anaithnid"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Breithlá"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Lá cinn bliana"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Dé Domhnaigh"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Dé Luain"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Dé Máirt"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Dé Céadaoin"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Déardaoin"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Dé hAoine"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Dé Sathairn"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Cúntóir"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Deartháir"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Páiste"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Páirtí baile"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Athair"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Cara"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Bainisteoir"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Máthair"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Tuismitheoir"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Comhpháirtí"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Tarchurtha ag"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Gaol"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Deirfiúr"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Céile"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Tuilleadh eolais"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "an Afganastáin"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "an Albáin"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "an Ailgéir"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Samó Mheiriceá"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andóra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angóla"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Angaíle"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua agus Barbúda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "an Airgintín"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "an Airméin"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "an Astráil"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Críocha Seachtracha na hAstráile"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "an Ostair"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "an Asarbaiseáin"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "na Bahámaí"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bairéin"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "an Bhanglaidéis"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbadós"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "an Bhealarúis"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "An Bheilg"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "an Bheilís"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Beirmiúda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "an Bhútáin"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "an Bholaiv"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius agus Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "an Bhoisnia agus an Heirseagaivéin"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "an Bhotsuáin"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "an Bhrasaíl"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Oileáin Bhriotanacha na Maighdean"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brúiné Darasalám"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "an Bhulgáir"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "an Bhurúin"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "an Chambóid"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Camarún"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Ceanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Rinn Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Oileáin Cayman"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Poblacht na hAfraice Láir"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "an tSile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "an tSín"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "an Cholóim"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comoros"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Poblacht an Chongó"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Oileáin Cook"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Cósta Ríce"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "An Cósta Eabhair"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "an Chróit"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cúba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "An Chipir"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Poblacht na Seice"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Daon-Phoblacht Dhaonlathach na Cóiré"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Poblacht Dhaonlathach an Chongó"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "An Tíomóir Thoir"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "An Danmhairg"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "an Phoblacht Dhoiminiceach"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Eacuadór"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "an Éigipt"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "an tSalvadóir"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Poblacht na Guine Meánchiorclaí"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "an Eiritré"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "an Eastóin"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "an Aetóip"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Oileáin Fháclainne"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Oileáin Fharó"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidsí"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "an Fhionlainn"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "an Fhrainc"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Críocha Dheisceart na Fraince"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Guáin na Fraince"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Polainéis na Fraince"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "an Ghabúin"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "an Ghaimbia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "an tSeorsia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "An Ghearmáin"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Gána"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Giobráltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "an Ghréig"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "An Ghraonlainn"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Greanáda"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadalúip"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatamala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "an Ghuine"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guine-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "an Ghuáin"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Háítí"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Hondúras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Cong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "An Ungáir"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "an Íoslainn"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "an India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "an Indinéis"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Seirbhís Idirnáisiúnta Saorfhóin"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Seirbhís Idirnáisiúnta Ardráta (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Seirbhís Idirnáisiúnta Chomhroinnte Costais (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "an Iaráin"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "an Iaráic"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Éire"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Iosrael"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "an Iodáil"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Iamáice"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "an tSeapáin"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "an Iordáin"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "an Chasacstáin"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "an Chéinia"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Cireabaití"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "an Chóiré"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Cuáit"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "an Chirgeastáin"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Daon-Phoblacht Dhaonlathach Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "an Laitvia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "an Liobáin"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Leosóta"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "an Libéir"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "an Libia"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Lichtinstéin"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "an Liotuáin"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Lucsamburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "an Mhaláiv"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "an Mhalaeisia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Oileáin Mhaildíve"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mailí"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Málta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Oileáin Marshall"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "an Mháratáin"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Oileán Mhuirís"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Meicsiceo"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "an Mholdóiv"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monacó"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "an Mhongóil"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montainéagró"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montsarat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Maracó"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mósaimbíc"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Maenmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "an Namaib"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nárúis"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Neipeal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "an Ísiltír"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "an Nua-Chaladóin"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "an Nua Shéalainn"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicearagua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "an Nigéir"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Oileáin Thuaisceart Mariana"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "an Iorua"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Óman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "an Phacastáin"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Nua-Ghuine Phapua"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paragua"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peiriú"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Na hOileáin Fhilipíneacha"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "an Pholainn"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "an Phortaingéil"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Pórtó Ríce"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Catar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "an Rómáin"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Cónaidhm na Rúise"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "San Héilin"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "San Críostóir-Nimheas"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre and Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "San Uinseann agus na Greanáidíní"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samó"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Mairíne"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "São Tomé agus Príncipe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "an Araib Shádach"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "an tSeineagáil"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "An tSeirbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Na Séiséil"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Siarra Leon"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singeapór"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "an tSlóvaic"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "an tSlóivéin"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Oileáin Sholomón"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "an tSomáil"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "an Afraic Theas"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "An Spáinn"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Srí Lanca"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "an tSúdáin"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "an tSuasalainn"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "An tSualainn"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "an Eilvéis"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Poblacht Arabach na Siria"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "an Téaváin"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "an Táidsíceastáin"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "an Tansáin"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Teileachumarsáid um Fhóirithint Anachaine (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "an Téalainn"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Poblacht Iar-Iúgslavach na Macadóine"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Tóga"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Oileán na Tríonóide agus Tobága"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "an Tuirc"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "an Tuircméanastáin"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr ""
-#~ "Oileáin na dTurcach agus Caicos (the Caribbean) /Oileáin Turks agus "
-#~ "Caicos (General)"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "an Úcráin"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Aontas na nÉimíríochtaí Arabacha"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Ríocht Aontaithe na Breataine Móire agus Thuaisceart Éireann"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Stáit Aontaithe Mheiriceá"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Oileáin Mheiriceánacha na Maighdean"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Seirbhís Uilíoch Teileachumarsáide Pearsanta (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uragua"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "an Úisbéiceastáin"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatú"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Stát Chathair na Vatacáine"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Veiniséala"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vítneam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Oileáin Vailís agus Futúna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Éimin"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "an tSaimbia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "an tSiombáib"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Fón póca (Baile)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Fón póca (Obair)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Sábháilte i"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Iompórtáil ón gcárta SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grúpa agus baill den ghrúpa"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s sábháilte in %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Scriosfar an teagmhálaí seo"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Grianghraf"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Diaileoir"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Cúltaca"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Grúpa amháin"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Grúpa nua"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Roghnaigh grúpa"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Fón póca 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Curtha leis"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Bogtha"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Roghnaithe"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Cuir ar ceal"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Easpa cuimhne"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Bainte"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Cuardaigh"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Dún"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Scriosta"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Earráid"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Glaoigh"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Níl SIM ann"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Roghnaigh gach"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Theip air"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "D’éirigh leis"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Sábháil"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Cuir teagmhálaithe leis"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Ainm an chúntóra"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Scrios grúpa"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Ainm an ghrúpa"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Clingthon grúpa"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Taifead físeán"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Ionadaigh"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Meardhiailiú"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Tcht."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Socraigh clingthon"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Gach teagmhálaí"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Cuideachta"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Cuir teagmhálaithe in eagar"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Faigh r-phost"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Faigh uimhir"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Níl Grúpa ann"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Rannpháirtí"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Socraigh íomhá"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Níl meardhiailiú á úsáid"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Scrios teagmhálaithe"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Cuir grúpaí in eagar"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "R-phost"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Cuir le ceanáin"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Cuir grúpa in eagar"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Folamh"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Sábháil teagmhálaí"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Roghnaigh teagmhálaí"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Cuir grúpa leis"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Cuimhne lán"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Ag baint…"
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Ní féidir teagmhálaí a chur isteach sa ghrúpa"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Nuashonraigh"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Ar Ceal"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Teagmhálaithe"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Cóipeáil"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Cruthaigh"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "R-phost"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Teachtaireacht"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Bog"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Fón"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Anaithnid"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Glao físe"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Scrios"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Déanta"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Eagraigh"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Seol sonraí teagmhála"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Cuardaigh freastalaí Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Céadainm Sloinne"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Sloinne Céadainm"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Maidir le tuilleadh réimsí, tapáil ar an gcnaipe ar dheis"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/gl.po b/po/gl.po
deleted file mode 100644
index dd856f9..0000000
--- a/po/gl.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Teclado"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favoritos"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Marcación rápida"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Correo de voz"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Rexistros"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Ningún número de marcación rápida. Asignar un agora?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Erro de solicitude"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Solicitude realizada con éxito"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Chamada de urxencia"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Non hai rexistros"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Non hai favoritos"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Mensaxe eliminada"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Superouse a lonxitude máxima do número de teléfono"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Eliminando rexistros..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Eliminando favoritos..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Iniciando. Téntao máis tarde..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Son desactivado"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Son activado"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Pant. anterior"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Volver á chamada"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Chamada entrante"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Chamada saínte"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Chamada perdida"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Mensaxe enviada"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Mensaxe recibida"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Chamada rexeitada"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Chamada bloqueada"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Editar número antes de chamar"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Enviar correo electrónico"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Seleccionar rexistros"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Seleccionar contactos de marcación rápida"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Desbloquear"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Cambiar contacto"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Engadir pausa de %d segundos"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Engadir espera"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Perdidas"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Saír"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Personalizado"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Móbil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Particular"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Traballo"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (particular)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (Traballo)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Número do asistente"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Busca"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Outro"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Teléfono"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Teléfono do coche"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Particular 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Principal empresa"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Todos os contactos"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Non asignado"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Número de servizo"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Teléfono"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupos"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Predeterminada"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Melodía"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Sitio web"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Correo electrónico"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Número"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Nota"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Enderezo postal"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Detalles"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Empresa"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Orde de nome de pantalla"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Número propio"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Nome"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Apelido"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Segundo nome"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Sufixo"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Alcume"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Exportar contactos"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Seleccionar contactos"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Código postal"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "País"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Provincia"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Cidade"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Rúa"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Gardado en %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Contactado frecuentemente"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Copiado"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exportado"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Eliminando contactos..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Movendo..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Copiando..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importando contactos da SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importando contactos da vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Exportando contactos a %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Lendo vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importado"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/D"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Todos contac. conect."
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Contactos enlazados"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Cargo"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Departamento"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Nome do grupo"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Engadir conta"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Engadindo membros ao grupo..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Ver"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contactos"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "C. nome"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relación"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Non hai historiais"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Non hai actividades"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Engadindo..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Información adicional"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Apartado de correos"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Estado"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Amigos"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Familia"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Compañeiros de traballo"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Traballo"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Modelo de vibración"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Definir predeterminado"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Evento"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Comparte a información de contacto"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contacto"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Exportar á tarxeta SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Información"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Historial"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Actividades"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Mensaxe de grupo"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Correo electrónico de grupo"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Sen nome"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Enderezo de correo electrónico non válido"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Completa polo menos un campo ademais do nome"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Non se puido acceder á base de datos"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Xa engadido"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Nome de grupo xa en uso"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Sen grupo"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Sen número"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Non hai enderezos de correo electrónico"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Sen contactos"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Memoria SIM baleira"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Superouse o número máximo de entradas"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Número non válido"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Memoria SIM chea"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Podes importar contactos da tarxeta SIM ao teu teléfono en Axustes > "
-"Importar contactos ou sincronizar cos contactos da túa conta web empregando "
-"as contas dos axustes"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Non hai rexistros. Despois de efectuar/recibir unha chamada ou enviar/"
-"recibir unha mensaxe, amosaranse os rexistros"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Non se poden enviar tarxetas de identificación"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Marcar como número predeterminado"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Marcar como correo electrónico predeterminado"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Imaxe"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Capturar unha foto"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Eliminar foto"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Engadir á pantalla de Inicio"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Gardar contacto en"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Gardar en"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importar contactos da SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Primeiro o nome"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Apelido en primeiro lugar"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Mostrar"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Ocultar"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Enviar tarxeta de visita"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Crear grupo"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Seleccionar grupo"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Importar cont."
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Enlazar contacto"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Desvincular"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Eliminaranse todos os contactos enlazados"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Engadir a Favoritos"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Editar grupo"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Eng. mem"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Engadir a grupo"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Engadido á favoritos"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Descoñecido"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Aniversario"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Aniversario"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Domingo"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Luns"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Martes"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Mércores"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Xoves"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Venres"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Sábado"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Asistente"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Irmán"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Neno"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Parella"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Pai"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Amigo"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Administrador"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Nai"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Pais"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Socio"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Referido por"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Familiar"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Irmá"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Cónxuxe"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "MI"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Máis información"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistán"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Alxeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Samoa Americana"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguila"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua e Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Arxentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territorios externos de Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Acerbaixán"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Bielorrusia"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Bélxica"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belice"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benín"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermudas"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius e Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia e Hercegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Illas Virxes Británicas"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Camboia"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Camerún"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canadá"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cabo Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Illas Caimán"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "República Centroafricana"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "China"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comores"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Illas Cook"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Costa do Marfil"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croacia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Chipre"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "República Checa"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "República Democrática Popular de Corea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "República Democrática do Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Dinamarca"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego García"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "República Dominicana"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Exipto"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "O Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Guinea Ecuatorial"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopía"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Illas Malvinas"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Illas Faro"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidxi"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlandia"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Francia"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territorios Austrais Franceses"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Güiana Francesa"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Polinesia Francesa"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabón"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Xeorxia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Alemaña"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Xibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grecia"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Groenlandia"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Granada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadalupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Güiana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haití"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Hungría"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islandia"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Servizo de telefonía gratuíta internacional"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Servizo de tarifa Premium internacional (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Servizo de custo compartido internacional (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Irán"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Iraq"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlanda"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italia"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Xamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Xapón"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Xordania"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazaxistán"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenia"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiritabi"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Corea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Quirguicistán"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "República Democrática Popular Lao"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Letonia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Líbano"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libia"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lituania"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxemburgo"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaisia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldivas"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Illas Marshall"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinica"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritania"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauricio"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "México"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavia"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Mónaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marrocos"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Países Baixos"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nova Caledonia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nova Zelandia"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Níxer"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nixeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Illas Mariana do Norte"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Noruega"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Omán"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Paquistán"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panamá"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papúa-Nova Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguai"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Perú"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipinas"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polonia"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Porto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Romanía"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Federación Rusa"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Santa Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts e Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Santa Lucía"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "San Pedro e Miquelón"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "San Vicente e as Granadinas"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Mariño"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Santo Tome e Príncipe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Arabia Saudí"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Serra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "San Martiño"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Eslovaquia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Eslovenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Illas Salomón"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Sudáfrica"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "España"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudán"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Suazilandia"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Suecia"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Suíza"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "República Árabe Siria"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwán"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Taxiquistán"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecomunicacións de socorro en caso de desastre (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tailandia"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Antiga República Iugoslava de Macedonia"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidade e Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunicia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turquía"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkeminstán"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Illas Turcas e Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ucrania"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Emiratos Árabes Unidos"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Reino Unido de Gran Bretaña e Irlanda do Norte"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Estados Unidos de América"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Illas Virxes (Estados Unidos)"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Servizo de telecomunicacións persoal universal (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguai"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbequistán"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Estado da Cidade do Vaticano"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis e Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Móbil (particular)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Móbil (Traballo)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Gardado en"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importar da tarxeta SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grupo e membros do grupo"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s gardado en %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Eliminarase este contacto"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Foto"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Marcador"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Copia de seguridade"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Só grupo"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Novo grupo"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Seleccionar grupo"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Móbil 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Engadido"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Movido"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Seleccionado"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Cancelar"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Non hai suficiente memoria"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Eliminado"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Buscar"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Pechar"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Eliminado"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Erro"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Chamar"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Non hai SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Seleccionar todo"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Erro"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Éxito"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Gardar"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Engadir contactos"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Nome do asistente"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Eliminar grupo"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Nome do grupo"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Melodía grupo"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Gravar vídeo"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Substituír"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Marcación rápida"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Msx"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Establecer melodía"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Todos os contactos"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Empresa"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Editar contactos"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Obter correo electrónico"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Obter número"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Sen grupo"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Participante"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Establecer imaxe"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Non se está a empregar a marcación rápida"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Eliminar contactos"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Editar grupos"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Correo electrónico"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Engadir a favoritos"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Editar grupo"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Baleira"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Gardar contacto"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Seleccionar contacto"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Engadir grupo"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memoria chea"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Eliminando..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Non se pode engadir contacto ao grupo"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Actualizar"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Canc."
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Contactos"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Copiar"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Crear"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Correo electrónico"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Mensaxe"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Mover"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Teléfono"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Descoñecido"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videochamada"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Eliminar"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Finalizado"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Editar"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "Aceptar"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Enviar datos de contacto"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Buscar Exchange server"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Nome e Apelido"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Apelido e Nome"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Se desexas obter máis campos, toca o botón da dereita"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/hi.po b/po/hi.po
deleted file mode 100644
index 0c174cf..0000000
--- a/po/hi.po
+++ /dev/null
@@ -1,1769 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "कुंजीपटल"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "पसंदीदा"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "शीघ्र डायल"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "वॉइस मेल"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "लॉग्स"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "कोई स्पीड डायल नंबर नहीं। अभी एक असाइन करें?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "अनुरोध असफल हुआ"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "सफलता स्‍वीकारें"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "आपातकाल कॉल"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "कोई लॉग नहीं"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "पसंदीदा नहीं"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "सन्देश हटाया गया है"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "अधिकतम फ़ोन नंबर लंबाई से अधिक हुई"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "लॉग्ज हटाएँ जा रहे हैं..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "पसंदीदा हटाएँ जा रहे हैं..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "प्रारंभ हो रहा है। बाद में प्रयास करें..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "ध्वनि बंद"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "ध्वनि शुरू"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "पिछली स्क्रीन"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "कॉल पर वापस"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "आनेवाली कॉल"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "जानेवाली कॉल"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "छूटी कॉल"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "भेजा गया सन्देश"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "प्राप्त सन्देश"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "अस्वीकृत कॉल"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "ब्लॉक की गई कॉल"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "कॉल करने से पहले नंबर संपादित करें"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "ईमेल भेजें"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "लॉग्ज चुनें"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "स्पीड डायल संपर्क चुनें"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "अनब्‍लॉक करें"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "संपर्क बदलें"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "%d सेकेंड विराम जोड़ें"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "प्रतीक्षा जोड़े"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "छूटा हुआ"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "निकास"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "कस्‍टम"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "मोबाइल"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "घर"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "काम"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "फैक्स (घर)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "फ़ैक्स (कार्यस्थल)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "सहायक का नंबर"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "पेजर"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "अन्य"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "टेलीफोन"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "फैक्स"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "कार टेलीफोन"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "होम 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "कंपनी मुख्य"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "रेडियो"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "सभी संपर्क"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "सौंपा नहीं गया"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "सेवा नंबर"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "फोन"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "समूह"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "डिफॉल्ट"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "रिंगटोन"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "वेबसाइट"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "ईमेल"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "नंबर"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "टिप्पणी"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "डाक का पता"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "विवरण"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "कम्पनी"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "प्रदर्शित नाम का क्रम"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "अपना नंबर"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "पहला नाम"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "अंतिम नाम"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "मध्य नाम"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "प्रत्यय"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "उपनाम"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "संपर्क निर्यात करें"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "संपर्क चुनें"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "डाक का कोड"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "देश"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "प्रांत"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "शहर"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "गली"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "%s में सुरक्षित किया गया"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "बार बार संपर्क किया गया"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "कॉपी हुआ"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "निर्यात किया गया"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "संपर्क हटाए जा रहे हैं..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "ले जा रहा है…"
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "कॉपी कर रहा है…"
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "SIM कांटेक्ट्स आयात कर रहा है..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "वीकार्ड-से संपर्क आयात किए जो रहे हैं..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "%s को संपर्क निर्यात किए जा रहे हैं..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "वीकार्ड"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "vCard पढ़ा जा रहा है..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "आयात किया हुआ"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "लागू नहीं"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "सभी लिंक किए संपर्क"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "लिंक किए हुए संपर्क"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "कार्य शीर्षक"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "विभाग"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "समूह का नाम"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "खाता जोड़ें"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "समूह में सदस्‍य जोड़े जा रहे हैं..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "देखें"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d संपर्क"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "पुन: नाम दें"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "संबंध"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "इतिहास नहीं"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "गतिविधियाँ नहीं"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "जोड़ रहा है…"
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "अतिरिक्त सूचना"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "PO बॉक्स"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "राज्य"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "मित्र"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "परिवार"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "सहयोगी"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "काम"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "कंपन स्वरूप"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "डिफ़ॉल्ट सेट करें"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "प्रसंग"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "संपर्क जानकारी साझा करें"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 संपर्क"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi डायरेक्ट"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "SIM कार्ड पर निर्यात करें"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "जानकारी"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "इतिहास"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "गतिविधियाँ"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "समूह Message"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "समूह इमेल"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "नाम नहीं"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "अमान्य ईमेल पता"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "कम से कम एक फ़ील्ड तथा नाम पूर्ण करें"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "डेटाबेस एक्सेस करने में विफल"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "पहले ही ज़ोड दिया है"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "समूह नाम पहले से उपयोग में"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "कोई समूह नहीं है"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "कोई नंबर नहीं"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "इमेल पते नहीं"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "कोई संपर्क नहीं"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "सिम मेमोरी खाली है"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "प्रविष्टियों की अधिकतम संख्‍या पहुँची"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "अमान्‍य नंबर"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "सिम मेमोरी पूर्ण"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"आप सेटिंग्स > संपर्क आयात करें में सीम कार्ड से आपके फ़ोन में संपर्क आयात कर सकते हैं या सेटिंग्स में "
-"खातें का उपयोग करते हुए वेब खाता संपर्कों के साथ सिंक कर सकते हैं"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"कोई लॉग नहीं है। आपके द्वारा कॉल किए जाने/प्राप्त करने या संदेश भेजने/प्राप्त करने के बाद, "
-"लॉग दिखाए जाएँगे"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "नाम कार्ड्स भेजने में असमर्थ"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "डिफॉल्ट नंबर के रूप में चिन्हित करें"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "डिफ़ॉल्‍ट ईमेल के रूप में चिन्हित करें"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "छवि"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "एक फोटो लें"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "फ़ोटो निकालें"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "होम स्क्रीन पर जोड़े"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "इसमें संपर्क सेव करें"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "में सुरक्षित करें"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "SIM कांटेक्ट्स आयात करें"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "प्रथम नाम पहले"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "पहले अंतिम नाम"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "दिखाएँ"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "छिपाएँ"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "नेमकार्ड भेजें"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "समूह बनाएँ"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "समूह चुनें"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "संपर्क आयात करें"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "कांटेक्ट लिंक करें"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "अनलिंक करें"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "सभी लिंक किए हुए संपर्क हटाये जाएंगे"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "पसंदीदा में जोड़ें"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "समूह संपादित करें"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "सदस्‍य जोड़ें"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "समूह में जोड़ें"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "पसंद में जोड़ा गया"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "अज्ञात"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "जन्मदिन"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "वर्षगाँठ"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "गूगल टॉक"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "विंडोज लाइव मैसेंजर"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "फेसबुक"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "लक्ष्य"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "जेब्बर"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "स्काइप"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "रविवार"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "सोमवार"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "मंगलवार"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "बुधवार"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "गुरूवार"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "शुक्रवार"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "शनिवार"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "सहायक"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "भाई"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "चाइल्ड"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "डोमेस्टिक पार्टनर"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "पिता"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "दोस्त"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "प्रबंधक"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "माता"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "पैरेंट"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "पार्टनर"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "इनके द्वारा संदर्भ"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "रिश्तेदार"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "बहन"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "स्पाउस"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "अधिक सूचना"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "अफ़गानिस्‍तान"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "अल्बानिया"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "अल्‍जीरिया"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "अमरिकी समोआ"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "अंदोरा"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "अंगोला"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "ऐंग्विला"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "ऐंटिग्वा और बार्बुदा"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "अर्जेंटिना"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "आर्मेनिया"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "अरुबा"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "ऑस्ट्रेलिया"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "ऑस्ट्रेलियन एक्सटर्नल टेरिटरीज़"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "ऑस्ट्रिया"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "अज़रबैजान"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "बहामा"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "बहरीन"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "बांगलादेश"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "बार्बाडोस"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "बेलारुस"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "बेल्जियम"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "बेलिज़"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "बेनिन"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "बरमूडा"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "भूतान"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "बोलिविया"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "बोनेर, सेंट इयुस्तेतिउस और साबा"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "बोस्निया और हर्ज़गोविना"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "बोस्टवाना"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "ब्राज़ील"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "ब्रिटिश वर्ज़िन द्वीप"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "ब्रुनेई दारेस्सलाम"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "बल्गेरिया"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "बूरकिना फ़ासो"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "बुरुंडी"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "कंबोडिया"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "कैमेरून"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "कनाडा"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "केप वर्डे"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "केमन द्वीप"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "सेंट्रल आफ्रिकी गणराज्य"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "चाड"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "चाइल"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "चीन"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "कोलंबिया"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "कोमोरो"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "कांगो"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "कुक द्वीप"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "कोस्टा रिका"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "कोत दी आयवोर"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "क्रोएटीया"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "क्यूबा"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "कुरैको"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "सायेप्रस्"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "जेक गणराज्य"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "डेमोक्रैटिक पीपल्स रिपब्लिक ऑफ़ कोरिया"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "कांगो लोकतांत्रिक गणराज्य"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "टीमर-लेस्ट"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "डेनमार्क"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "डीएगो गार्सिया"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "ज़िबुटी"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "डोमेनिका"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "डोमिनिकन गणराज्य"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "इक्वेडोर"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "इजिप्‍ट"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "एल साल्वाडोर"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "विषुववृत्तीय गिनी"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "इरिट्रिया"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "इस्टोनिया"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "इथियोपिया"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "फ़ाकलैंड द्वीप"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "फ़ेएरो द्वीप"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "फ़िजी"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "फ़िनलैंड"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "फ्रांस"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "फ़्रांसीसी दक्षिणी क्षेत्र"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "फ़्रेंच गयाना"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "फ़्रेंच पॉलिनेशिया"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "गैबोन"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "गांबिया"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "जॉर्जिया"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "ज़र्मनी"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "घाना"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "ज़िब्राल्टर"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "ग्रीस"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "ग्रीनलैंड"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "ग्रेनाडा"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "ग्वादेलूप"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "गुआम"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "ग्वाटेमाला"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "गिनी"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "गिनी-बिसौ"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "गयाना"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "हैती"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "होंडुरास"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "हांगकांग"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "हंगरी"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "आइसलैंड"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "भारत"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "इंडोनेशिया"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "इनमार्स्ट SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "इंटरनैशनल फ़्रीफ़ोन सर्विस"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "इंटरनैशनल प्रीमियम रेट सर्विस (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "इंटरनैशनल शेयर्ड कॉस्ट सर्विस (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "ईरान"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "इराक़"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "आयरलैंड"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "इज्राएल"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "इटली"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "जमैका"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "जापान"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "जोर्डन"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "कजाकिस्तान"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "केनिया"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "किरिबाती"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "कोरिया"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "कुवैत"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "किर्गिजस्तान"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "लाओ जनवादी लोकतांत्रिक गणराज्य"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "लैटविया"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "लेबनान"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "लेसोथो"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "लिबेरिया"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "लीबिया"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "लिचटेन्सटैन"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "लिथुआनिया"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "लक्जेंबर्ग"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "मकाउ"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "मादागास्कर"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "मालावी"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "मलैशिया"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "माल्दीव"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "मालि"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "माल्टा"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "मार्शल आयलैंड्स"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "मार्टिनिक"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "मौरिटानिया"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "मौरिशस"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "मेक्सिको"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "माइक्रोनेशिया"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "मोल्दोवा"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "मोनैको"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "मंगोलिया"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "मॉँटनेग्रो"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "मॉन्त्सेरात"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "मोरक्को"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "मोजांबिक"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "म्यानमार"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "नमिबिया"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "नाउरु"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "नेपाल"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "नीदरलैंड्स"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "न्यू कैलेडोनिया"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "न्यूजीलैंड"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "निकाराग्वा"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "नाइजर"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "नाइजीरिया"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "नियू"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "उत्तरी मरियाना द्वीप"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "नॉर्वे"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "ओमान"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "पाकिस्तान"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "पालौ"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "पनामा"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "पापुआ न्यू गिनी"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "पैराग्वे"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "पेरु"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "फ़िलिपीन्स"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "पोलंड"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "पुर्तगाल"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "प्वेर्टो रिको"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "क़तर"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "रुमानिया"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "रूसी संघ"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "रवांडा"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "सेंट हेलेना"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "सेंट किट्स अँड नेविस"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "सेंट ल्युसिया"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "सेंट पियर और मिकेलन"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "सेंट विन्सेंट और ग्रेनाडाइंस"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "सामोआ"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "सन मरिनो"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "साओ टोमे और प्रिंसिप"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "सऊदी अरब"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "सेनेगल"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "सर्बिया"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "सेशेल्स"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "सिएरा लियोन"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "सिंगापुर"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "सेंट मारतेन"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "स्लोवाकिया"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "स्लोवेनिया"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "सॉलोमन द्वीप"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "सोमालिया"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "दक्षिण आफ़्रिका"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "स्‍पेन"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "श्री लंका"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "सुडान"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "सुरिनाम"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "स्वाज़िलैंड"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "स्‍वीडन"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "स्विट्जरलैंड"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "सीरिया अरब गणराज्य"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "तैवान"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "ताज़िकिस्तान"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "टांजानिया"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "टेलीकम्यूनिकेशन्स फ़ॉर डिज़ास्टर रिलिफ़ (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "थाइलैंड"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "भूतपूर्व युगोस्लाव रिपब्लिक ऑफ़ मैसेडोनिया"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "टोगो"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "टोकेलौ"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "टोंगा"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "त्रिनिदाद और टोबैगो"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "ट्यूनिशिया"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "तुर्की"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "तुर्कमेनिस्तान"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "तुर्क्स और कैको द्वीप"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "तुवालु"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "युगांडा"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "युक्रेन"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "संयुक्त अरब अमीरात"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "युनाइटेड किंग्‍डम ऑफ़ ग्रेट ब्रिटन अँड नॉर्दन आयरलैंड"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "युनाइटेड स्टेट ऑफ अमरीका"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "युनाइटेड स्टेट्स वर्जिन आयलैंड्स"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "यूनिवर्सल पर्सनल टेलीकम्यूनिकेशन सर्विस (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "उरुग्वे"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "उजबेकिस्तान"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "वानाटू"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "वॅटीकन सिटी स्टेट"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "वेनेजुएला"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "वियतनाम"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "वालिस और फ्यूचूना"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "यमन"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "झांबिया"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "ज़िंबाब्वे"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "मोबाइल (घर)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "मोबाइल (कार्यस्थल)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "गूगल"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "इसमें सेव की गई"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "SD कार्ड से आयात करें"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "समूह और समूह सदस्य"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s को %s में सेव किया गया"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "यह संपर्क हटाया जाएगा"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "फोटो"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "डायलर"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "बैकअप"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "विनिमय करें"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "केवल समूह"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "नया समूह"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "समूह चुनें"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "मोबाइल 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "जोड़ा गया"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "ले जाया गया"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "चयनित"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "रद्द"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "पर्याप्‍त मेमोरी नहीं"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "हटाया"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "खोजें"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "बंद करें"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "हटाया गया"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "त्रुटी"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "कॉल"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "कोई SIM नहीं"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "सभी चुनें"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "असफल हुआ"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "सफलता"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "सेव"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "संपर्क जोड़ें"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "सहायक का नाम"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "समूह हटायें"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "समूह का नाम"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "समूह रिंगटोन"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "विडियो रिकॉर्ड करें"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "बदलें"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "शीघ्र डायल"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Msg."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "रिंगटोन सेट करें"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "सभी संपर्क"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "कम्पनी"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "संपर्क संपादित करें"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "इमेल पाएँ"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "नंबर पाएँ"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "कोई समूह नहीं है"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "भागीदार"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "छवि सेट करें"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Speed dial not in use"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "संपर्क हटाएँ"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "समूह संपादित करें"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "ईमेल"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "पसंद में जोड़ें"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "समूह संपादित करें"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "खाली"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "संपर्क सुरक्षित करें"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "संपर्क चुनें"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "समूह जोड़ें"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "मेमोरी पूर्ण"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "हटा रहा है…"
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "आपके समूह में कांटेक्ट जोडने में अक्षम"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "अपडेट करें"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "रद्द"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "ब्लूटूथ"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "संपर्क"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "कॉपी करें"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "बनाएँ"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "ईमेल"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "सन्देश"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "ले जाएँ"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "फोन"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "अज्ञात"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "विडियो कॉल"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "हटाएँ"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "हुआ"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "संपादन"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "ओके"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "कांटेक्ट विवरण भेजें"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "एक्सचेंज सर्वर खोजें"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "पहला नाम अंतिम नाम"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "अंतिम नाम पहला नाम"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "अधिक क्षेत्र के लिए, दाईं ओर पर बटन टैप करें"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/hr.po b/po/hr.po
deleted file mode 100644
index d160fd8..0000000
--- a/po/hr.po
+++ /dev/null
@@ -1,1769 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Tipke"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favoriti"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Brzo biranje"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Govorna pošta"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Pozivi"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Nema broja za brzo biranje. Dodijeliti sada?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Zahtjev neuspješan"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Zahtjev uspješan"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "SOS poziv"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Nema događaja"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Nema favorita"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Poruka obrisana"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Maks. duljina telefonskih brojeva"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Brisanje zapisa..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Brisanje favorita..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Pokretanje. Pokušajte kasnije..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Zvuk isključen"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Zvuk uključen"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Prethod. zaslon"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Natrag na poziv"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Dolazni poziv"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Odlazni poziv"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Propušteni poziv"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Poslana poruka"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Primljena poruka"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Poziv odbačen"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Poziv blokiran"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Uredi broj prije pozivanja"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Pošalji email"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Odaberite zapise"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Odaberite kontakte za brzo biranje"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Odblokiraj"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Promijeni kontakt"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Dodaj %d sek pauzu"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Dodaj čekanje"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Propušteni"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Prekid"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Prilagođeno"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobitel"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Kuća"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Posao"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Faks - kućni"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Faks (posao)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Broj pomoćnika"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pager"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Ostalo"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Faks"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Telefon - auto"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Doma 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Tvrtka glavni"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Svi kontakti"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Nedodijeljeno"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Mrežni imenik"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupe"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Zadano"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Ton zvona"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Internet stranica"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Email"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Broj"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Bilješka"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Poštanska adresa"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Detalji"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Tvrtka"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Prikaz unosa"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Vlastiti broj"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Ime"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Prezime"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Srednje ime"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Sufiks"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Nadimak"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Izvezi kontakte"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Odaberite kontakte"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Poštanski broj"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Država"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Županija"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Grad"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Ulica"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Spremljeno u %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Najčešće kontaktirani"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Kopirano"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Eksportirano"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Brisanje kontakata..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Premještanje..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopiranje..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Učitavanje SIM Imenika..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Unos imenika s vKartice..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Izvoz kontakata u %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "Posjetnica"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Čitanje vCarda..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Uvezeno"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "nema"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Svi povezani kontakti"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Povezani kontakti"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Radno mjesto"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Odjel"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Naziv grupe"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Dodaj račun"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Dodavanje članova u grupu..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Prikaz"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d kontakata"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Preimenuj"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Veza"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Nema povijesti"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Nema aktivnosti"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Dodavanje..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Dodatne informacije"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Poštanski pretinac"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Država"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Prijatelji"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Obitelj"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Kolege"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Posao"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Način vibracije"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Postavite zadano"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Događaj"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Podijeli kontakt podatke"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 kontakt"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Izvoz na SIM karticu"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Povijest"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Aktivnosti"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Grupna poruka"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Grupni email"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Nema imena"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Neispravna email adresa"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Unesite ime i još najmanje jedno polje"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Pristupanje bazi neuspješno"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Već dodano"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Naziv grupe se već koristi"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Nema grupe"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Nema broja"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Nema email adresa"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Nema kontakata"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM memorija prazna"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Maks. broj unosa premašen"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Neispravan broj"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM memorija puna"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Uvezite kontakte sa SIM kartice u telefon u Postavkama > Uvezi kontakte ili "
-"sinkronizirajte s kontaktima internet računa pomoću računa u postavkama"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Nema zapisa. Zapisi će se prikazati nakon što uputite/primite poziv ili "
-"pošaljete/primite poruku."
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Nemoguće poslati posjetnice"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Označi kao postavljeni"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Označi kao zadani email"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Slika"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Fotografiranje"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Obriši fotografiju"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Dodaj na početni zaslon"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Spremiti kontakt u?"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Spremi na"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Učitaj SIM Imenik"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Prvo ime"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Prvo prezime"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Vidi"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Sakrij"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Pošalji posjetnicu"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Nova grupa"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Odaberite grupu"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Import Imenika"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Poveži kontakt"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Odspoji"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Obrisat će se svi povezani kontakti"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Spremi u Favorite"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Uredi grupu"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Dod. čl."
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Dodaj grupi"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Dodano u favorite"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Nepoznato"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Rođendan"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Godišnjica"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Nedjelja"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Ponedjeljak"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Utorak"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Srijeda"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Četvrtak"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Petak"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Subota"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Pomoćnik"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Brat"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Dijete"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Domaći partner"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Otac"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Prijatelj"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Voditelj"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Majka"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Roditelj"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partneri"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Odnosi se"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Rođak"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Sestra"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Supružnik"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "Adresa"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM poruke"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Detalji"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghanistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Američka Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andora"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua and Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Vanjski teritoriji Australije"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbejdžan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahami"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Belarus"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgija"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius i Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia and Herzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "British Virgin Islands"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Cambodia"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Cameroon"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cape Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Kajmansko otočje"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Central African Republic"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "China"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comoros"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cook Islands"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Obala Bjelokosti"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croatia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curacao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Cipar"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Czech Republic"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Demokratska Narodna Republika Koreja"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Democratic Republic of the Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Istočni Timor"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danska"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominican Republic"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egipat"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Equatorial Guinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopija"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falkland Islands"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Farski otoci"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finland"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Francuski južni teritoriji"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Francuska Gvajana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "French Polynesia"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Njemačka"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grčka"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Greenland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Mađarska"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Island"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Usluga s besplatnim međunarodnim pozivima"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Usluga s premium cjenikom za međunarodne pozive (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Usluga s dijeljenjem troška međunarodnih poziva"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irska"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamajka"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japan"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordan"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakhstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuvajt"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Narodna Demokratska Republika Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Latvia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Lebanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libya"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lithuania"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxembourg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Makao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaysia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldives"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Maršalovi otoci"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritania"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauritius"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexico"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavija"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Morocco"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Mijanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Nizozemska"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "New Caledonia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "New Zealand"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Sjevernomarijanski otoci"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norway"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua New Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Philippines"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Poland"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Katar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Romania"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Ruska Federacija"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Sv. Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts i Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre and Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent and the Grenadines"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome and Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudi Arabia"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovačka"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Solomon Islands"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "South Africa"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Španjolska"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Švedska"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Switzerland"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Sirijska Arapska Republika"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Tajvan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tajikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telekomunikacije za saniranje katastrofa (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thailand"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Bivša jugoslavenska Republika Makedonija"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad and Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunis"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turska"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Otoci Turks i Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraine"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "United Arab Emirates"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Ujedinjeno Kraljevstvo Velike Britanije i Sjeverne Irske"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Sjedinjene Američke Države"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Američko Djevičansko otočje"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Univerzalna osobna telekomunikacijska usluga (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikan"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vijetnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis i Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobitel - kućni"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobitel (posao)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Spremljeno u"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Uvezi iz SD kartice"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grupa i članovi grupe"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s spremljeno u %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Ovaj će kontakt biti obrisan"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Fotografija"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Birač"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Sigurnosna kopija"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Samo grupa"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Nova grupa"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Odaberite grupu"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobitel 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Dodano"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Premješteno"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Odabrano"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Prekid"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Memorija nedovoljna"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Uklonjeno"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Traži"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Prekid"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Obrisano"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Greška"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Poziv"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Nema SIM-a"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Odaberi sve"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Neuspješno"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Uspješno"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Spremi"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Dodaj kontakte"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Ime pomoćnika"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Obriši grupu"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Naziv grupe"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Ton zvona grupe"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Video snimanje"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Zamijeni"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Brzo biranje"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Poruka"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Postavi ton zvona"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Svi kontakti"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Tvrtka"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Uredi imenik"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Preuzmi email"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Preuzmi broj"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Nema grupe"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Sudionik"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Postavi sliku"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Brzo biranje se ne koristi"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Obriši kontakte"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Uredi grupe"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Dodaj u Favorite"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Uredi grupu"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Prazno"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Spremi kontakt"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Odaberite kontakt"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Dodaj grupu"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memorija puna"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Uklanjanje..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Nemoguće dodati osobu u grupu"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Aktualiziraj"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Prekid"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Imenik"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopiraj"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Novi"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Poruka"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Premjesti"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Nepoznato"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Video poziv"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Obriši"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "OK"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Uredi"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Pošalji posjetnicu"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Pretraži Exchange poslužitelj"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Ime Prezime"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Prezime Ime"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Za više polja dodirnite gumb s desne strane"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/hu.po b/po/hu.po
deleted file mode 100644
index 18f9947..0000000
--- a/po/hu.po
+++ /dev/null
@@ -1,1772 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Billentyűzet"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Kedven-cek"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Gyorshívó gombok"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Hangposta"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Naplók"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Nincs gyorshívó szám. Hozzárendel egyet?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Sikertelen kérés"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Sikeres kérés"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Segélyhívás"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Nincs napló"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Nincsenek kedvencek"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Üzenet törölve"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Túllépte a telefonszámok maximális hosszát"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Naplók törlése..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Kedvencek törlése..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Telepítés. Próbálja meg később..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Hang ki"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Hang be"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Előző képernyő"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Vissza a híváshoz"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Bejövő hívás"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Kimenő hívás"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Nem fogadott hívás"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Elküldött üzenet"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Fogadott üzenet"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Elutasított hívás"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Blokkolt hívás"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Szám szerkesztése hívás előtt"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "E-mail küldése"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Naplók kiválasztása"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Gyorshívásos névjegyek kiválasztása"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Feloldás"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Névjegycsere"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "%d mp szünet a kapcsolás után"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Várakozás hozzáadása"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Nem fogadott"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Bezár"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Egyedi"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Otthoni"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Munkahelyi"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (otthoni)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (munkahelyi)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Helyettes száma"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Személyhívó"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Egyéb"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Autótelefon"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "2. otthoni"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "A cég fő száma"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Rádió"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Összes névjegy"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Nincs hozzárendelve"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Szolgáltató számai"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Csoportok"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Alapértelmezett"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Csengőhang"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Webhely"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-mail"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Szám"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Jegyzet"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Postacím"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Részletek"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Cég"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Név megjelenési sorrendje"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Saját szám"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Keresztnév"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Vezetéknév"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Középső név"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Titulus"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Becenév"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Névjegyek exportálása"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Névjegyet hozzáad"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Irányítószám"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Ország"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Tartomány"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Város"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Utca"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Mentve a(z) %s mappába"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Élénk kapcsolatban"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Átmásolva"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exportálva"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Névjegyek törlése..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Áthelyezés..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Másolás..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "SIM-névjegyek importálása..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Névjegyek importálása vCardból..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Névjegyek exportálása ide: %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "Névjegy"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "vCard olvasása..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importálva"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "nincs adat"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Minden csatolt névjegy"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Csatolt névjegyek"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Beosztás"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Osztály"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Csoport neve"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Fiók hozzáadása"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Tagok felvétele a csoportba..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Megnéz"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d névjegy"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Átnevez"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Kapcsolat"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Nincsenek előzmények"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Nincs tevékenység"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Hozzáadás..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "További információk"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Postafiók"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Állam"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Barátok"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Család"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Munkatársak"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Munkahelyi"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Rezgésminta"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Alapértelmezés beállítása"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Esemény"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Névjegyadatok megosztása"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 névjegy"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Exportálás a SIM-kártyára"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Infó"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Előzmények"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Tevékenységek"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Csoportos üzenet"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Csoportos e-mail"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Nincs név"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Érvénytelen e-mail cím"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Legalább egy mezőt töltsön ki, és adjon meg egy nevet"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Nem sikerült elérni az adatbázist"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Already added"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "A csoportnév már létezik"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Nincs csoport"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Nincs szám"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Nincs e-mail cím"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Nincs névjegy"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "A SIM-memória üres"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Túllépte a bejegyzések maximális számát"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Érvénytelen szám"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "A SIM-memória megtelt"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Névjegyeket importálhat a SIM kártyáról a telefonra a Beállítások > "
-"Névjegyek importálása paranccsal, vagy szinkronizálhat a webfiókok "
-"névjegyzékével a Beállítások Fiókok menüpontjában"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Nincs napló. Hívás kezdeményezése vagy fogadása, illetve üzenet küldése vagy "
-"fogadása után megjelenik a napló"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Nem lehet névjegykártyát küldeni"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Megjelölés alapértelmezett számként"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Megjelölés alapértelmezett e-mail címként"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Kép"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Fénykép készítése"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Fénykép eltávolítása"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Hozzáadás a kezdőképernyőhöz"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Név mentése ide"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Mentés ide"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "SIM-névjegyek importálása"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Utónév áll elöl"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Vezetéknév áll elöl"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Mutat"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Elrejtés"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "hanghívás"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Csoport létrehozása"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Válasszon csoportot"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Névjegyek imp."
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Névjegy csatolása"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Csatolás megszüntetése"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Minden csatolt névjegyet törölni fog"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Hozzáad a kedvencekhez"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Csoport szerkesztése"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Tagfelv."
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Hozzáadás a csoporthoz"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Hozzáadva a kedvencekhez"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Ismeretlen"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Születésnap"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Évforduló"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Vasárnap"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Hétfő"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Kedd"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Szerda"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Csütörtök"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Péntek"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Szombat"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Titkár"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Fiútestvér"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Gyermek"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Élettárs"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Apa"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Barát"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Vezető"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Anya"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Szülő"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Társ"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Ajánló"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Rokon"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Lánytestvér"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Házastárs"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "További információ"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganisztán"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albánia"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algéria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Amerikai Szamoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua és Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentína"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Örményország"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Ausztrália"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Ausztrál külső területek"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Ausztria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbajdzsán"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamák"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrein"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Banglades"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Fehéroroszország"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgium"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "BENIN"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhután"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolívia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius és Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosznia-Hercegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazília"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Brit Virgin-szigetek"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Állam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgária"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambodzsa"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Zöldfoki-szigetek"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Kajmán-szigetek"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Közép-afrikai Köztársaság"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "CSÁD"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Kína"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kolumbia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "COMORE-SZIGETEK"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongó"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cook-szigetek"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Elefántcsontpart"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Horvátország"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Kypros"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Cseh Köztársaság"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Koreai Népi Demokratikus Köztársaság"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Kongói Demokratikus Köztársaság"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Kelet-Timor"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Dánia"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Dzsibuti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominika"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikai Köztársaság"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egyiptom"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Egyenlítői-Guinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Észtország"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiópia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falkland-szigetek"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Faeroe"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidzsi"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finnország"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Franciao."
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Francia déli területek"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Francia Guyana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Francia Polinézia"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Grúzia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Germany"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghána"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltár"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Görögo."
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grönland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hongkong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Magyarország"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Izland"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonézia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Irán"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Írország"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Izrael"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Olaszo."
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japán"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordánia"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazahsztán"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuvait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgizisztán"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Laoszi Népi Demokratikus Köztársaság"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Lettország"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Libéria"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Líbia"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Livánia"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxembourg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Makaó"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "MADAGASZKÁR"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malajzia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldív-szigetek"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Málta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshall-szigetek"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURITÁNIA"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURITIUS"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexikó"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronézia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldova"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongólia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegró"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marokkó"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambik"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Mianmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMÍBIA"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepál"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Hollandia"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Új-Kaledónia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Új-Zéland"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigéria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "North Mariana"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norvégia"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Omán"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakisztán"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Pápua Új-Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Fülöp-szigetek"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Lengyelország"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugália"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Katar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Románia"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Orosz Föderáció"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Szent Ilona"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts és Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre and Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent és Grenadine-szigetek"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Szamoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "São Tomé és Príncipe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Szaúd-Arábia"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Szenegál"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Szerbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelle-szigetek"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Szingapúr"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Szlovákia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Szovénia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Salamon-szigetek"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Szomália"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Dél-afrikai Köztársaság"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Spanyolország"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Srí Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Szudán"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Szváziföld"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Sweden"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Svájc"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Szíriai Arab Köztársaság"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Tajvan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tádzsikisztán"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzánia"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thaiföld"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Macedónia Volt Jugoszláv Köztársaság"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad és Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunézia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Törökország"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Türkmenisztán"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks- és Caicos-szigetek"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukrajna"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Egyesült Arab Emírségek"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Nagy-Britannia és Észak-Írország Egyesült Királysága"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Amerikai Egyesült Államok"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Amerikai Virgin-szigetek"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Üzbegisztán"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikáni Városállam"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis és Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobil (otthoni)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobil (munkahelyi)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Mentve ide:"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importálás SD-kártyáról"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Csoport és csoporttagok"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s mentve a(z) %s mappába"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Törli ezt a névjegyet?"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Fénykép"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Tárcsázó"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Biztonsági mentés"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Csak csoport"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Új csoport"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Válasszon csoportot"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "2. mobil"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Hozzáadva"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Áthelyezve"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Kiválasztva"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Mégse"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Kevés a memória"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Törölve"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Keresés"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Bezárás"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Törölve"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Hiba"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Hívás"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Nincs SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Összes kijelölése"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Sikertelen"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Sikeres"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Ment"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Névjegyzék hozzáadása"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Helyettes neve"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Csoport törlése"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Csoport neve"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Csop.csengőhang"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Videófelvétel"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Csere"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Gyorshívó gombok"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Üzenet"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Csengőhang beállítása"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Összes névjegy"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Cég"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Névjegyek szerkesztése"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "E-mail lekérése"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Szám lekérése"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Nincs csoport"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Részt- vevő"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Kép beállítása"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "A gyorshívás nincs használatban"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Névjegyek törlése"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr ""
-#~ "Csoportok\n"
-#~ "szerkesztése"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Kedvencekhez adás"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Csoport szerkesztése"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Kiürítés"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Mentés a névjegyzékbe"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Névjegy kiválasztása"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Csoportot felvesz"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memória megtelt"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Eltávolítás..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Nem vehető fel a névjegy a csoportba"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Frissítés"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Mégse"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Névjegyek"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Másol"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Létrehoz"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Üzenet"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Áthelyez"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Ismeretlen"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videohívás"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Töröl"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Kész"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Szerkeszt"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Névjegy adatainak elküldése"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Keresés az Exchange-szerveren"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Utónév Vezetéknév"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Vezetéknév Utónév"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "További mezőkért érintse meg a gombot jobboldalt"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/hy.po b/po/hy.po
deleted file mode 100644
index 12829ec..0000000
--- a/po/hy.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Ստեղնախումբ"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Սիրվածներ"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Արագ համարհավաքում"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Ձայնային փոստ"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Մատյաններ"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Արագ հավաքման համար չկա: Հիմա վերագրե՞լ մի համար:"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Խնդրանքը ձախողվեց"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Հարցումը հաջող էր"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Հրատապ զանգ"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Մատյաններ չկան"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Սիրվածներ չկան"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Հաղորդագրությունը ջնջված է"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Հեռախոսահամարի առավելագույն երկարությունը գերազանցվել է"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Վերացվում են մատյաններ..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Վերացվում են սիրվածներ..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Նախակարգվում է: Փորձեք ավելի ուշ..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Ձայնն անջատել"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Ձայնը միացնել"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Նախորդ էկրանը"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Ետ դառնալ կանչին"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Մուտքային կանչ"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Ելից կանչ"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Բացթողած զանգ"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Ուղարկված հաղորդագրություն"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Ստացված հաղորդագրություն"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Մերժված կանչ"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Արգելափակված կանչ"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Խմբագրել համարը մինչ կանչելը"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Ուղարկել էլ. փոստ"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Ընտրել մատյաններ"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Ընտրել արագ համարահավաքման կոնտակտներ"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Արգելաբացել"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Փոխել կոնտակտը"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Ավելացնել %d վրկ. դադար"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Ավելացնել սպասում"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Բացթողած"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Ելք"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Կարգավորել"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Բջջային"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Տուն"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Աշխատանք"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Հեռապատճենը (Տան)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Ֆաքս (աշխատանքային)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Օգնականի համարը"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Հեռատող"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Այլ"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Հեռախոս"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Ֆաքս"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Ավտոմեքենայի հեռախոս"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Տուն 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Ընկերության հիմնական"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Ռադիո"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Բոլոր կոնտակտները"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Նշանակված չէ"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Ծառայության համարը"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Հեռախոս"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Խմբեր"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Լռելյայն"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Մեղեդի"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Ինտերնետ կայք"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Էլ.փոստ"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Համար"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Նշում"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Փոստի հասցե"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Մանրամասներ"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Ընկերություն"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Անվան ցուցադրման հերթականությունը"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Սեփական համարը"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Անուն"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Ազգանուն"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Հայրանունը"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Ածանց"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Մականուն"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Արտահանել կոնտակտներ"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Ընտրել կոնտակտներ"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Փոստային ինդեքս"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Երկիր"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Գավառ"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Քաղաք"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Փողոց"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Պահպանվել է %s-ում"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Հաճախակի կապ հաստատված"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Պատճենված է"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Արտահանված"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Վերացվում են կոնտակտներ..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Տեղափոխում..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Պատճենում է..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Ներմուծվում են SIM կոնտակտներ..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Կոնտակտների ներմուծում vCard-ից..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Արտահանվում են կոնտակտներ դեպի %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Կարդում է vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Ներմուծվեց"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Կիրառելի չէ"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Բոլոր կպվծ կոնտակտները"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Կապված կոնտակտներ"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Աշխատանքի վերնագիր"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Բաժին"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Խմբի անունը"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Հաշվի ավելացում"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Խմբին ավելացվում են անդամներ..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Դիտել"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d կոնտակտներ"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Վերանվանել"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Հարաբերություն"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Պատմություններ չկան"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Միջոցառումներ չկան"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Ավելացնում է..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Լրացուցիչ տվյալներ"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Բ. արկղ"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Նահանգ"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Ընկերներ"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Ընտանիք"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Աշխատակիցներ"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Աշխատանք"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Թրթռման ձևանմուշ"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Դնել կանխադրվածը"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Իրադարձություն"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Հաղորդել կոնտակտային տվյալները"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 կոնտակտ"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Արտահանել SIM քարտի մեջ"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Ինֆո"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Պատմություն"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Գործողություններ"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Խմբակային հաղորդագրություն"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Խմբակային էլ. փոստի հաղորդագրություն"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Անուն չկա"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Անվավեր էլ. փոստի հասցե"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Լրացնել առնվազն մեկ դաշտ, ինչպես նաև անունը"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Մուտքը տվյալների բազա ձախողվեց"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Արդեն ավելացված է"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Խմբի անունն արդեն օգտագործված է"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Խումբ չկա"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Համար չկա"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Էլփոստի հասցեներ չկան"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Կոնտակտներ չկան"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM-ի հիշողությունը դատարկ է"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Գերազանցվել է մուտքերի առավելագույն քանակը"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Անվավեր համար"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM-ի հիշողությունը լիքն է"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Կարող եք SIM քարտից կոնտակտներ ներմուծել Ձեր հեռախոսի մեջ՝ մտնելով Դրվածքներ "
-"> Ներմուծել կոնտակտներ, կամ համաժամացնել ինտերնետային հաշվի կոնտակտները՝ "
-"դրվածքներում օգտագործելով հաշիվները"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Մատյաններ չկան: Զանգը կատարելուց/ստանալուց կամ հաղորդագրություն ուղարկելուց/"
-"ստանալուց հետո կցուցադրվեն մատյանները"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Անհնար է անվանաքարտեր ուղարկել"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Նշել որպես լռելյայն համար"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Նշել որպես կանխադրված էլփոստ"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Պատկեր"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Լուսանկարել"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Հեռացնել լուսանկարը"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Ավելացնել Հիմնական էկրանին"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Պահել կոնտակտը"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Պահպանել"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Ներմուծել SIM կոնտակտներ"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Նախ անունը"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Նախ ազգանունը"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Ցուցադրել"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Թքցնել"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Ուղարկել անվանաքարտը"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Խումբ ստեղծել"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Ընտրեք խումբը"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Ներմուծ կոնտկտ"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Կապել կոնտակտ"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Կապից հանել"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Բոլոր կապված կոնտակտները կվերացվեն"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Ավելացնել սիրվածներ"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Խմբագրել խումբը"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Ավց անդամ"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Ավելացնել խմբին"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Ավելացված է սիրելիների մեջ"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Անհայտ"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Ծննդյան օր"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Տարեդարձ"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Մեսենջեր"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Կիրակի"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Երկուշաբթի"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Երեքշաբթի"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Չորեքշաբթի"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Հինգշաբթի"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Ուրբաթ"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Շաբաթ"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Օգնական"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Եղբայր"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Երեխա"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Կենակից"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Հայր"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Ընկեր"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Մենեջեր"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Մայր"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Ծնող"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Մասնակից"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Հղումը՝"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Ազգական"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Քույր"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Ամուսին / կին"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Այլ տեղեկություններ"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Աֆղանիստան"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Ալբանիա"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Ալժիր"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Ամերիկյան Սամոա"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Անդորա"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Անգոլա"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Անգուիլա"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Անտիգուա և Բարբուդա"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Արգենտինա"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Հայաստան"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Արուբա"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Ավստրալիա"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Ավստրալիական արտաքին տարածքներ"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Ավստրիա"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Ադրբեջան"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Բահամյան կղզիներ"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Բահրեյն"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Բանգլադեշ"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Բարբադոս"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Բելառուս"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Բելգիա"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Բելիզ"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Բենին"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Բերմուդյան կղզիներ"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Բուտան"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Բոլիվիա"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Բոնայրե, Սինտ-Էստատիուս և Սաբա"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Բոսնիա և Հերցեգովինա"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Բոտսվանա"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Բրազիլիա"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Բրիտանական Վիրգինյան կղզիներ"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Բրունեյ Դարուսսալամ"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Բուլղարիա"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Բուրկինա Ֆասո"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Բուրունդի"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Կամբոջա"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Կամերուն"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Կանադա"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Կապե Վերդե"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Կայման կղզիներ"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Կենտրոնաֆրիկյան Հանրապետություն"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Չադ"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Չիլի"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Չինաստան"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Կոլումբիա"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Կոմորյան կղզիներ"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Կոնգո"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Կուկի կղզիներ"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Կոստա Ռիկա"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Կոտ դ'Իվուար"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Խորվաթիա"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Կուբա"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Կյուրասաո"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Կիպրոս"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Չեխիայի Հանրապետություն"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Կորեայի Ժողովրդադեմոկրատական Հանրապետություն"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Կոնգոյի Ժողովրդական Հանրապետություն"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Թիմոր-Լեստե"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Դանիա"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Դիեգո Գարսիա"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Ջիբութի"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Դոմինիկա"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Դոմինիկյան Հանրապետություն"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Էկվադոր"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Եգիպտոս"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Սալվադոր"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Հասարակածային Գվինեա"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Էրիթրեա"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Էստոնիա"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Եթովպիա"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Ֆոլկլենդյան կղզիներ"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Ֆարերյան կղզիներ"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Ֆիջի"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Ֆինլանդիա"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Ֆրանսիա"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Ֆրանսիական հարավային տարածքներ"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Ֆրանսիական Գվիանա"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Ֆրանսիական Պոլինեզիա"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Գաբոն"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Գամբիա"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Վրաստան"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Գերմանիա"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Գանա"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Ջիբրալթար"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Հունաստան"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Գրենլանդիա"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Գրենադա"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Գվադելուպա"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Գուամ"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Գվատեմալա"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Գվինեա"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Գվինեա-Բիսաու"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Գայանա"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Հայիթի"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Հոնդուրաս"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Հոնկ-Կոնգ"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Հունգարիա"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Իսլանդիա"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Հնդկաստան"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Ինդոնեզիա"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Միջազգային Freephone ծառայություն"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Միջազգային հավելավճարի սակագնի ծառայություն (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Միջազգային ընդհանուր արժեքի ծառայություն (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Իրան"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Իրաք"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Իռլանդիա"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Իսրայել"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Իտալիա"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Ջամայկա"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Ճապոնիա"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Հորդանան"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Ղազախստան"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Քենիա"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Կիրիբատի"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Կորեա"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Քուվեյթ"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Ղրղզստան"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Լաոսի Ժողովրդադեմոկրատական Հանրապետություն"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Լատվիա"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Լիբանան"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Լեսոտո"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Լիբերիա"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Լիբիա"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Լիխտենշտեյն"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Լիտվա"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Լյուքսեմբուրգ"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Մակաո"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Մադագասկար"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Մալավի"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Մալայզիա"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Մալդիվյան կղզիներ"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Մալի"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Մալթա"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Մարշալյան կղզիներ"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Մարտինիկա"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "ՄԱՎՐԻՏԱՆԻԱ"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Մաուրիտիուս"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Մեխիկո"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Միկրոնեզիա"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Մոլդովա"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Մոնակո"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Մոնղոլիա"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Մոնտենեգրո"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Մոնտսերատ"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Մարոկկո"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Մոզամբիկ"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Մյանմար"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Նամբիա"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Նաուրու"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Նեպալ"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Նիդեռլանդներ"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Նոր Կալեդոնիա"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Նոր Զելանդիա"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Նիկարագուա"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Նիգեր"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Նիգերիա"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Նիուե"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Հյուսիսային Մարիանյան կղզիներ"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Նորվեգիա"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Օման"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Պակիստան"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Պալաու"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Պանամա"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Պապուա Նոր Գվինեա"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Պարագվայ"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Պերու"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Ֆիլիպիններ"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Լեհաստան"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Պորտուգալիա"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Պուերտո Ռիկո"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Կատար"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Ռումինիա"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Ռուսաստանի Դաշնություն"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ռուանդա"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Սուրբ Հեղինեի կղզի"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Սենթ Կիտս և Նևիս"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Սանտա Լուչիա"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Սեն-Պիեռ և Միքելոն"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Սենտ Վինսենտ և Գրենադիններ"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Սամոա"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "Սան Մարինո"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Սան Տոմե և Պրինսիպի"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Սաուդյան Արաբիա"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Սենեգալ"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Սերբիա"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Սեյշելյան կղզիներ"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Սիեռա Լեոնե"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Սինգապուր"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Սինտ-Մաարտեն"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Սլովակիա"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Սլովենիա"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Սողոմոնյան կղզիներ"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Սոմալի"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Հարավային Աֆրիկա"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Իսպանիա"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Շրի Լանկա"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Սուդան"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Սուրինամ"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Սվազիլենդ"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Շվեդիա"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Շվեյցարիա"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Սիրիայի Արաբական Հանրապետություն"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Տայվան"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Տաջիկստան"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Տանզանիա"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Թաիլանդ"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Մակեդոնիայի Նախկին Հարավսլավական Հանրապետություն"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Տոգո"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Տոկելաու"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Տոնգա"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Տրինիդադ և Տոբագո"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Թունիս"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Թուրքիա"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Թուրքմենստան"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Տուրկս և Կայկոս կղզիներ"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Տուվալու"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Ուգանդա"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ուկրաինա"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Միավորված Արաբական Էմիրություններ"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Մեծ Բրիտանիայի և Հյուսիսային Իռլանդիայի Միացյալ Թագավորություն"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Ամերիկայի Միացյալ Նահանգներ"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Միացյալ Նահանգների Վիրգինյան կղզիներ"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Ուրուգվայ"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Ուզբեկստան"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Վանուատու"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Վատիկան քաղաք-պետություն"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Վենեսուելա"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Վիետնամ"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Ուոլիս և Ֆուտունա"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Յեմեն"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Զամբիա"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Զիմբաբվե"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Բջջայինը (Տան)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Շարժական (աշխատանքային)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Պահպանված է այստեղ՝"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Ներմուծել SD քարտից"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Խումբ և խմբի անդամներ"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s պահպանվել է %s-ում"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Այս կոնտակտը ջնջվելու է"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Լուսանկար"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Հմրհվքիչ"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Պհստ պտճն"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Միայն խումբ"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Նոր խումբ"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Ընտրեք խումբը"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Բջջային 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Ավելացված է"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Տեղափոխված է"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Ընտրված"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Չեղարկել"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Չկա բավական հիշողություն"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Հեռացված է"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Որոնել"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Փակել"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Ջնջված է"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Սխալ"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Զանգ"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "SIM չկա"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Ընտրել բոլորը"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Ձախողվեց"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Հաջողված է"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Պահել"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Ավելացնել կոնտակտներ"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Օգնականի անունը"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Ջնջել խումբը"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Խմբի անունը"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Խմբի կանչի մղդի"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Տեսագրել"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Փոխարինել"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Արագ համարհավաքում"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Հղգ."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Գործադրել զանգ"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Բոլոր կոնտակտները"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Ընկերություն"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Խմբագրել կոնտակտները"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Ստանալ էլփոստ"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Ստանալ համար"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Խումբ չկա"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Մասնակից"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Դնել պատկեր"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Արագ համարահավաքումը չի օգտագործվում"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Վերացնել կոնտակտներ"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Խմբագրել խմբեր"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Էլ.փոստ"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Հավելել Ընտրյալներին"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Խմբագրել խումբը"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Դատարկ է"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Պահպանել կոնտակտը"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Ընտրեք կոնտակտ"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Ավելացնել խումբ"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Հիշողութունը լիքն է"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Հեռացնում է..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Անհնար է կոնտակտ ավելացնել խմբին"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Թարմացնել"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Չեղկլ"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Կոնտակտներ"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Պատճենել"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Ստեղծել"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Էլ.փոստ"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Հաղորդագրություն"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Տեղափոխել"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Հեռախոս"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Անհայտ"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Վիդեո կանչ"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Ջնջել"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Պատրաստ"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Խմբագրել"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Ուղարկել կոնտակտի մանրամասները"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Որոնել Exchange սերվերում"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Անուն Ազգանուն"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Ազգանուն Անուն"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Այլ դաշտերի համար թակեք աջ կողմի կոճակը"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/is.po b/po/is.po
deleted file mode 100644
index 7f5ff59..0000000
--- a/po/is.po
+++ /dev/null
@@ -1,1768 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Takkaborð"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Uppáhalds"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Hraðval"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Talhólf"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Notkunarskrár"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Ekkert hraðvalsnúmer. Velja eitt núna?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Beiðni tókst ekki"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Beiðni tókst"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Neyðarhringing"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Engar atvikaskrár"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Ekkert uppáhalds"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Boðum eytt"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Of langt símanúmer"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Eyði annálsskrám..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Eyði uppáhalds..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Grunnstilli. Reyndu síðar..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Hljóð af"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Hljóð á"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Fyrri skjár"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Aftur í símtal"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Móttekið símtal"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Hringt símtal"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Ósvarað"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Send skilaboð"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Móttekin skilaboð"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Hafnað símtal"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Útilokað símtal"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Breyta númeri fyrir símtal"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Senda tölvupóst"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Velja annála"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Velja hraðvalstengiliði"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Opna fyrir"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Breyta tengilið"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Bæta við %d sek. pásu"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Bæta við bið"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Ósvöruð"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Fara út"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Sérstilla"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Farsími"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Heima"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Vinna"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (heima)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (vinna)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Símanúmer aðstoðarmanns"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Símboði"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Annað"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Sími"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Bílasími"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Heima 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Aðalsími fyrirtækis"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Útvarp"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Allir tengiliðir"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Óúthlutað"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Þjónustunúmer"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Sími"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Hópar"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Sjálfgefið"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Hringitónn"
-
-#, fuzzy
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Erítrea"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Tölvupóstur"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Númer"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Athugasemd"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Póstfang"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Upplýsingar"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Fyrirtæki"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Röð birtra nafna"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Eigið númer"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Fornafn"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Eftirnafn"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Millinafn"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Viðskeyti"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Gælunafn"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Flytja út tengiliði"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Velja tengiliði"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Póstnúmer"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Land"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Hérað"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Borg"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Gata"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Vistað í %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Oft haft samband við"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Afritað"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Útflutt"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Eyði tengiliðum..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Verið er að flytja..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Afritun stendur yfir..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Flyt inn SIM-tengiliði..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Flyt inn tengiliði af vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Flyt út tengiliði í %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "Sýndarkort"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Les vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Flutt inn"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Óþekkt"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Alla tengda tengiliði"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Tengdir tengiliðir"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Starfsheiti"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Deild"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Heiti hóps"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Bæta við reikningi"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Bætir meðlimum við hóp..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Skoða"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d tengiliðir"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Endurnefna"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Samband"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Engin saga"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Engar aðgerðir"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Verið er að bæta við..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Viðbótarupplýsingar"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Pósthólf"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Fylki"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Vinir"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Fjölskylda"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Samstarfsmenn"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Vinna"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Titraramynstur"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Velja sjálfgefið"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Atburður"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Deila tengiliðaupplýsingum"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 tengiliður"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Flytja á SIM-kort"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Upplýsingar"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Saga"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Aðgerðir"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Hópskilaboð"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Hóptölvupóstur"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Ekkert heiti"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Ógilt netfang"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Fylltu út í a.m.k. einn reit auk þess að gefa upp nafn"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Mistókst að fá aðgang að gagnagrunni"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Þegar bætt við"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Heitið er þegar í notkun"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Enginn hópur"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Númer vantar"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Engin netföng"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Engir tengiliðir"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM-minni er tómt"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Hámarksfjölda færslna er náð"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Ógilt númer"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM-minni er fullt"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Hægt er að flytja inn tengiliði af SIM-korti yfir í síma í Stillingar > "
-"Flytja inn tengiliði eða samstilla tengiliði vefreiknings með reikningum í "
-"stillingum"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Engar skrár. Eftir að þú hringir/tekur við símtali eða sendir/tekur við "
-"skilaboðum verða skrár birtar"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Mistókst að senda nafnspjöld"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Merkja sem sjálfgefið númer"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Merkja sem sjálfgefinn póst"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Mynd"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Taka ljósmynd"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Fjarlægja mynd"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Setja á heimaskjá"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Vista tengilið í"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Vista í"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Flytja inn SIM-símaskrá"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Fornafn fyrst"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Fyrst eftirnafn"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Birta"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Hylja"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Senda nafnspjald"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Búa til hóp"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Velja hóp"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Flytja inn teng"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Tengja tengilið"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Aftengja"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Öllum tengdum tengiliðum verður eytt"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Bæta við uppáhalds"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Breyta hópi"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Bæta við meðlim"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Bæta við hóp"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Bætt við eftirlæti"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Óþekkt"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Afmælisdagur"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Afmæli"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Sunnudagur"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Mánudagur"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Þriðjudagur"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Miðvikudagur"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Fimmtudagur"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Föstudagur"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Laugardagur"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Aðstoðarm."
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Bróðir"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Barn"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Maki"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Faðir"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Vinur"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Yfirmaður"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Móðir"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Foreldri"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Félagi"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Ávísað af"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Ættingi"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Systir"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Maki"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "Vefslóð"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "Spjall"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Frekari upplýsingar"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albanía"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Alsír"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Bandaríska Samóa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angóla"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Angvilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antígva og Barbúda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentína"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenía"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Ástralía"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Ytri yfirráðasvæði Ástralíu"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austurríki"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Aserbaítsjan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahama-eyjar"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Barein"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladess"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Hvíta-Rússland"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgía"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belís"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benín"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermúda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bútan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bólivía"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius og Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnía og Hersegóvína"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botsvana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Bresku Jómfrúreyjar"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brúnei"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Búlgaría"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Búrkína Fasó"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Búrúndí"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambódía"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerún"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Grænhöfðaeyjar"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Cayman-eyjar"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Mið-Afríkulýðveldið"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Tsjad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Kína"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kólumbía"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Kómorey"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongó"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cookeyjar"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Kosta Ríka"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Fílabeinsströndin"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Króatía"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kúba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Kúrakaó"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Kýpur"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Tékkland"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Norður-Kórea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Lýðveldið Kongó"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Austur-Tímor"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danmörk"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibútí"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dóminíka"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dóminíska lýðveldið"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ekvador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egyptaland"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Miðbaugs-Gínea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Eistland"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Eþíópía"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falklandseyjar"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Færeyjar"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fídjieyjar"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finnland"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Frönsku suðlægu landsvæðin"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Franska Gvæjana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Franska Pólýnesía"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambía"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgía"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Þýskaland"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Gana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gíbraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Greece"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grænland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Gvadelúp"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Gvam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Gvatemela"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Gínea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Gínea-Bissá"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Gvæjana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haítí"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Hondúras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Ungverjaland"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Ísland"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Indland"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indónesía"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Alþjóðleg frísímaþjónusta"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Alþjóðleg úrvalsþjónusta (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Alþjóðleg þjónusta með sameiginlegan kostnað (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Íran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Írak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Írland"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Ísrael"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaíka"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japan"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jórdanía"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kasakstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenýa"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kíribatí"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Kórea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kúveit"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Lettland"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Líbanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesótó"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Líbería"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Líbía"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Litháen"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Lúxemborg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Makaó"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagaskar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malaví"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malasía"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldívey"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Malí"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshalleyjar"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martiník"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Máritanía"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Máritíus"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexíkó"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Míkrónesía"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldóva"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Mónakó"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongólía"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Svartfjallaland"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marokkó"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mósambík"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Mjanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibía"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Holland"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nýja-Kaledónía"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nýja-Sjáland"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Níkaragva"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Níger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nígería"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Norður-Maríanaeyjur"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Noregur"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Óman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palá"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papúa Nýja-Gínea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paragvæ"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Perú"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filippseyjar"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Pólland"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Púertó Ríkó"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Katar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rúmenía"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Rússland"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rúanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Sankti Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Sankti Kitts og Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Sankti Lúsía"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre and Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Sankti Vinsent og Grenadíneyjar"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samóa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marínó"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Saó Tóme og Prinsípe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Sádí-Arabía"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbía"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelles-eyjar"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Síerra Leóne"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapúr"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slóvakía"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slóvenía"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Salómonseyjar"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Sómalía"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Suður-Afríka"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Spánn"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Súdan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Súrínam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Svasíland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Svíþjóð"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Sviss"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Sýrland"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taívan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadsjikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tansanía"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Fjarskipti fyrir neyðaraðstoð (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Taíland"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Lýðveldið Makedónía"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Tógó"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tókelá"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trínidad og Tóbagó"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Túnis"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Tyrkland"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Túrkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks- og Caicos-eyjar"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Túvalúeyjar"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Úganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Úkraína"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Sameinuðu arabísku furstadæmin"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Bretland og Norður-Írland"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Bandaríkin"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Bandarísku Jómfrúaeyjar"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Alþjóðleg persónuleg fjarskiptaþjónusta (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Úrúgvæ"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Úsbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanúatú"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatíkanið"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venesúela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Víetnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis- og Fútúnaeyjar"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Sambía"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Simbabve"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Farsími (heima)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Farsími (Vinna)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Vistað í"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Flytja inn af SD-korti"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Hópur og meðlimir hópsins"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s var vistað í %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Þessum tengilið verður eytt"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Mynd"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Númeraval"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Varaafrit"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Aðeins hópur"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Nýr hópur"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Velja hóp"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Farsími 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Bætt við"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Flutt"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Valið"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Hætta við"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Ekki er nægt minni"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Fjarlægt"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Leit"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Loka"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Eytt"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Villa"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Símtal"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Ekkert SIM-kort"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Velja allt"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Mistókst"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Árangur"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Vista"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Bæta tengiliðum við"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Nafn aðstoðarmanns"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Eyða hópi"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Heiti hóps"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Hringitónn hóps"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Taka upp myndskeið"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Skipta út"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Hraðval"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Skilab"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Nota sem hringitón"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Allir tengiliðir"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Fyrirtæki"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Breyta tengiliðum"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Sækja tölvupóst"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Sækja númer"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Enginn hópur"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Þátttakandi"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Velja mynd"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Hraðval er ekki í notkun"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Eyða tengiliðum"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Breyta hópum"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Tölvupóstur"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Bæta við uppáhald"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Breyta hópi"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Tómt"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Vista tengilið"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Veldu tengilið"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Bæta við hópi"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Minni er fullt"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Verið er að fjarlægja..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Mistókst að bæta tengiliði við hóp"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Uppfæra"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Hætta"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Tengiliðir"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Afrita"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Búa til"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Tölvupóstur"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Skilaboð"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Færa"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Sími"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Óþekkt"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Vídeósímtal"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Eyða"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Lokið"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Breyta"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "Í lagi"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Senda upplýsingar um tengiliði"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Leit í Exchange Server"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Fornafn, eftirnafn"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Eftirnafn, fornafn"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Pikkaðu á hnappinn til hægri til að sjá fleiri reiti"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/it_IT.po b/po/it_IT.po
deleted file mode 100644
index 6391ac2..0000000
--- a/po/it_IT.po
+++ /dev/null
@@ -1,1778 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Tastiera"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Preferiti"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Selezione rapida"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Segreteria telefonica"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Registri"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Numero di selezione rapida non assegnato. Assegnarlo ora?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Errore richiesta"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Richiesta riuscita"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Chiamata di emergenza"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Nessun registro"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Nessun preferito"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Messaggio eliminato"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Lunghezza massima di numeri di telefono superata"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Eliminazione registri in corso..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Eliminazione preferiti in corso..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Inizializzazione in corso. Riprovare più tardi..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Audio disattivato"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Audio attivato"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Scherm. preced."
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Torna alla chiamata"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Chiamata in arrivo"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Chiamata in uscita"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Chiamata persa"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Messaggio inviato"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Messaggio ricevuto"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Chiamata rifiutata"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Chiamata bloccata"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Modifica nr. prima di chiamare"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contac"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Invia e-mail"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Seleziona registri"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Seleziona contatti di selezione rapida"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Sblocca"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Modifica contatto"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Agg. pausa di %d"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Aggiungi attesa"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Perse"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Esci"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Personale"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Cellulare"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Casa"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Ufficio"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (Casa)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (Ufficio)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Numero assistente"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Cercapersone"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Altri"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefono"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Telefono auto"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Abitazione 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Principale azienda"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Tutti i contatti"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Non assegnato"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Numero servizio"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefono"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Gruppi"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Predefinito"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Suoneria"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Sito Web"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-mail"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Numero"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Nota"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Indirizzo postale"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Dettagli"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Azienda"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Ordine visualizzazione nome"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Numero personale"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Nome"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Cognome"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Secondo nome"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Suffisso"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Soprannome"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Esporta contatti"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Seleziona contatti"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "CAP"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Paese"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Provincia"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Città"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Indirizzo"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Salvato come %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Contattati più frequentemente"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Copiato"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Esportazione eseguita"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Eliminazione contatti in corso..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Spostamento..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Copia..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importazione contatti SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importazione contatti della vCard in corso..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Esportazione contatti a %s in corso..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Lettura vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importati"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/D"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Tutti i cont. colleg."
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Contatti collegati"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Mansione"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Reparto"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Nome gruppo"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Aggiungi account"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Aggiunta membri al gruppo in corso..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Visualizza"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contatti"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Rinomina"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relazione"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Nessuna cronologia"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Nessuna attività"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Aggiunta in corso..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Altre informazioni"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Casella postale"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Stato"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Amici"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Famiglia"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Colleghi"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Ufficio"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Schema vibrazione"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Impostazione predefinita"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Evento"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Condividi informazioni contatto"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contatto"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Esporta su scheda SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Cronologia"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Attività"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Messaggio di gruppo"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "E-mail di gruppo"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Nessun nome"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Indirizzo e-mail non valido"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Completare almeno un campo e il nome"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Impossibile accedere a database"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Già aggiunto"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Nome gruppo già in uso"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Nessun gruppo"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Nessun numero"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Nessun indirizzo e-mail"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Nessun contatto"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Memoria SIM vuota"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Superato numero massimo di voci"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Numero non valido"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Memoria SIM piena"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"È possibile importare i contatti dalla scheda SIM sul proprio telefono in "
-"Impostazioni > Importa contatti oppure eseguire la sincronizzazione dei "
-"contatti degli account web utilizzando gli account nelle impostazioni"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Nessun registro. Dopo aver effettuato/ricevuto una chiamata o inviato/"
-"ricevuto un messaggio, verranno visualizzati i registri"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Impossibile inviare biglietti da visita"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Segna come numero predefinito"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Segna come e-mail predefinita"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Immagine"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Scatta foto"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Rimuovi foto"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Aggiungi a schermata Home"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Salva contatto in"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Salva in"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importa contatti SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Prima nome"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Prima cognome"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Mostra"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Nascondi"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Invia biglietto da visita"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Crea gruppo"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Seleziona gruppo"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Imp. contatti"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Collega contatto"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Scollega"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Tutti i contatti collegati saranno eliminati"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Aggiungi a Preferiti"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Modifica gruppo"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Agg.membro"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Aggiungi a gruppo"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Aggiunto a preferiti"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Sconosciuto"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Data di nascita"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Anniversario"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Domenica"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Lunedì"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Martedì"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Mercoledì"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Giovedì"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Venerdì"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Sabato"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistente"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Fratello"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Bambino"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Partner nazionale"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Padre"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Amico"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Responsabile"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Madre"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Genitore"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "In base a"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Parente"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Sorella"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Coniuge"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Altre informazioni"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghanistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Samoa Americane"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua e Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territori esterni australiani"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaijan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Bielorussia"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgio"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "BENIN"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius e Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia-Erzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasile"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Isole Vergini Britanniche"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Cambogia"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Camerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Capo Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Cayman, isole"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Repubblica Centrafricana"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Cile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Cina"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comore"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Isole Cook"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Costa d'Avorio"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croazia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curacao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Cipro"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Repubblica Ceca"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Repubblica Democratica Popolare di Corea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Repubblica Democratica del Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor Est"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danimarca"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Repubblica Dominicana"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egitto"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Guinea Equatoriale"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Isole Falkland"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Isole Faroe"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlandia"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Francia"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territori Francesi Meridionali"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Guyana francese"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Polinesia francese"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Germania"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibilterra"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grecia"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Groenlandia"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadalupa"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Ungheria"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islanda"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Servizio telefonico internazionale gratuito"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr ""
-#~ "International Premium Rate Service (IPRS, Serv. internaz. a tariffa "
-#~ "maggiorata)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr ""
-#~ "International Shared Cost Service (ISCS, Serv. Internaz. di condivisione "
-#~ "costi)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Iraq"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlanda"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israele"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italia"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Giamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Giappone"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Giordania"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakhstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Corea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kyrgyzstan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Repubblica Democratica Popolare del Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Latvia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libano"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libia"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lituania"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Lussemburgo"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malesia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldive"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshall, isole"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinica"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritania"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauritius"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Messico"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavia"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Principato di Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marocco"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambico"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMIBIA"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Paesi Bassi"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nuova Caledonia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nuova Zelanda"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Isole Marianne Settentrionali"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norvegia"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Nuova Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Perù"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filippine"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polonia"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portogallo"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Porto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Romania"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Federazione Russa"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Sant'Elena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts e Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Santa Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre e Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent e Grenadine"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tomé e Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Arabia Saudita"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapore"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovacchia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Isole Salomone"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Sudafrica"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Spagna"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Svezia"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Svizzera"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Repubblica Araba di Siria"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tajikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr ""
-#~ "Telecommunications for Disaster Relief (TDR, Telecomun. in caso di "
-#~ "disastro ambientale)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tailandia"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Macedonia, ex Repubblica Jugoslava"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad e Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunisia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turchia"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Isole Turks e Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ucraina"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Emirati Arabi Uniti"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Regno Unito di Gran Bretagna e Irlanda del Nord"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Stati Uniti d'America"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Isole Vergini americane"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr ""
-#~ "Universal Personal Telecommunication Service (UPT, Servizio "
-#~ "telecomunicaz. personali universali)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Città del Vaticano"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis e Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Cellulare (Casa)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Cellulare (Ufficio)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Salvata in"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importa da scheda SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Gruppo e membri gruppo"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s salvato in %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Questo contatto sarà eliminato"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Foto"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Tastiera"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Backup"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Solo gruppo"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Nuovo gruppo"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Seleziona gruppo"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Cellulare 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Aggiunto"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Spostato"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Selezionato"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Annulla"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Memoria insufficiente"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Rimosso"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Cerca"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Chiudi"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Eliminato/i"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Errore"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Chiama"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Nessuna SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Seleziona tutto"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Errore"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Operazione eseguita"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Salva"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Aggiungi contatti"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Nome assistente"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Elimina gruppo"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Nome gruppo"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Suoneria gruppo"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Registra video"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Sostituisci"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Selezione rapida"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Mess."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Imposta suoneria"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Tutti i contatti"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Azienda"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Modifica contatti"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Richiedi e-mail"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Richiedi numero"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Nessun gruppo"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Partecipante"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Imposta immagine"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Selezione rapida non in uso"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Elimina contatti"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Modifica gruppi"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Aggiungi a preferiti"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Modifica gruppo"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Vuoto"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Salva contatto"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Seleziona contatto"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Aggiungi gruppo"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memoria piena"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Rimozione..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Impossibile aggiungere contatto al gruppo"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Aggiorna"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Annulla"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Rubrica"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Copia"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Crea"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Messaggio"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Sposta"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefono"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Sconosciuto"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videochiamata"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Elimina"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Fatto"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Modifica"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Invia dettagli contatto"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Cerca nel server Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Nome Cognome"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Cognome Nome"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Per altri campi, toccare il pulsante sulla destra"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/ja_JP.po b/po/ja_JP.po
deleted file mode 100644
index f7c51dd..0000000
--- a/po/ja_JP.po
+++ /dev/null
@@ -1,1769 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "キーパッド"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "お気に入り"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "スピード​ダイヤル​"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "留守番電話"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "履歴"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "スピードダイヤル番号がありません。今すぐ割り当てますか?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "要求​に​失敗​しました"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "要求に成功しました。"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "緊急通報"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "履歴がありません。"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "お気に入りがありません。"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "メッセージを削除しました。"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "電話番号の最大桁数を超えています。"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "ログを削除中..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "お気に入りを削除中..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "初期化中です。後ほどお試しください..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "サウンドOFF"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "サウンドON"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "前​画面"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "通話に​戻る"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "音声​着信"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "発信"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "不在着信"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "送信メッセージ"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "受信メッセージ"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "拒否​した​着信"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "ブロック​した​着信"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "​編集して発信"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Eメール送信"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "ログの選択"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "スピードダイヤル連絡先を選択"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "ブロック解除"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "連絡先変更"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "%d秒間の停止を追加"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "待機を​追加"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "未確認"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "終了"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "カスタム"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "モバイル"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "自宅"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "勤務先"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "FAX(自宅)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "FAX(仕事)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "アシスタント​の​番号"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "ポケベル"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "その他"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "電話"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "FAX"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "自動車​電話"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "ホーム 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "会社代表番号"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "ラジオ"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "全ての連絡先"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "グループ​なし"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "サービス​番号"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "本体"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "グループ"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "標準"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "着信音"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Webサイト"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Eメール"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "番号"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "説明"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "​住所"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "詳細"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "会社"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "表示名​順"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "自局​番号"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "名"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "姓"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "ミドル​ネーム"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "敬称"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "ニックネーム"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "連絡先​を​エクスポート"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "連絡先を選択"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "郵便​番号"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "国"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "都道府県"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "市区町村"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "番地"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "%sに保存しました。"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "よく使う連絡先"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "コピーしました。"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "エクスポート​しました"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "連絡先​を​削除中..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "移動中..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "コピー中..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "SIM​の​連絡先​を​インポート中..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "連絡​先​を​vCard​から​イン​ポート​中..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "%sへ連絡先をエクスポート中..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "vCard​を​読み​込み​中..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "インポートしました。"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "なし"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "全て​の​リンク​された​連絡先"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "リンク済の連絡先"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "役職"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "部門"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "グループ​名"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "アカウント​追加"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "メンバー​を​グループ​に​追加​して​います​..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "表示"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d件​の​連絡先"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "名前​を​変更"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "関係"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "履歴が​ありません"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "近況が​ありません。"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "追加中..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "追加​情報"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "私書箱"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "都道府県"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "友だち"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "家族"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "同僚"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "仕事"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "バイブパターン"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "メイン​連絡先​を​設定"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "イベント"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "連絡先情報の共有"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1件の連絡先"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "SIMカードにエクスポート"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "詳細"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "履歴"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "近況"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "グループ​メッセージ"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "グループ​Eメール"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "名前なし"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Eメールアドレスが正しくありません。"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "名前​と​少なく​とも​1つ​以上​の​項目​を​入力​して​ください。"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "データ​ベース​への​アクセス​に​失敗​しました"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "既に​登録​されて​います。"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "グループ名は既に使用されています。"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "グループ​なし"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "番号なし"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Eメール​アドレス​が​あり​ません。"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "連絡先がありません。"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "USIMメモリが空です"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "最大​登録数​を​超え​ました。"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "番号​が​無効​です。"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIMメモリがいっぱいです"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"[設定]>[連絡先をインポート]でSIMカードから本体に連絡先をインポートできます。"
-"また、設定されているアカウントを使用してWebアカウントの連絡先と同期できます。"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"履歴がありません。電話を発着信するか、メッセージを送受信した後に、履歴が表示"
-"されます。"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "名刺を送信できません。"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "メインの番号に設定"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "基本​Eメール​として​指定"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "画像"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "カメラ​を​起動"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "画像を削除"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "ホーム​画面​に​追加"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "アカウントに連絡先を作成"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "保存先​設定"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "SIM内​から​連絡先​を​インポート"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "名前を先に表示"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "姓を先に表示します。"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "表示"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "非表示"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "名刺を送信"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "グループ​を​作成​"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "グループ​を​選択"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "連絡先​を​インポート"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "リンク先を追加"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "リンク​解除"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "リンクした連絡先は全て削除されます"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "お気​に​入り​に​追加"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "グループ​を編集​"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "メンバー​追加​"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "グループ​に​追加​"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "お気に入り​に​追加​しました。"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "不明"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "誕生日"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "記念日"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Googleトーク"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "日曜日"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "月曜日"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "火曜日"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "水曜日"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "木曜日"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "金曜日"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "土曜日"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "アシスタント"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "兄弟"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "子供"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "同居人"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "父親"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "友達"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "管理"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "母親"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "親"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "パートナー"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "紹介者"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "親戚"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "姉妹"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "配偶者"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "メッセンジャー"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "その他の​情報"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "アフガニスタン"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "アルバニア"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "アルジェリア"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "米領​サモア"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "アンドラ"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "アンゴラ"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "アンギラ"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "アンティグア・バーブーダ"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "アルゼンチン"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "アルメニア"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "アルバ"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "オーストラリア"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "オーストラリア領"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "オーストリア"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "アゼルバイジャン"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "バハマ"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "バーレーン"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "バングラデシュ"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "バルバドス"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "ベラルーシ"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "ベルギー"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "ベリーズ"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "ベニン"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "バミューダ​諸島"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "ブータン"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "ボリビア"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "ボネール島、シント・ユースタティウス島とサバ島"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "ボスニアヘルツェゴビナ"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "ボツワナ"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "ブラジル"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "英領​バージン​諸島"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "ブルネイダルサラーム"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "ブルガリア"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "ブルキナファソ"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "ブルンジ"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "カンボジア"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "カメルーン"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "カナダ"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "カーボ​ベルデ"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "ケイマン​諸島"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "中央アフリカ共和国"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "チャド"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "チリ"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "中国"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "コロンビア"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "コモロ"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "コンゴ"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "クック諸島"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "コスタ​リカ"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "コートジボワール"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "クロアチア"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "キューバ"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "キュラソー島"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "キプロス"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "チェコ"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "朝鮮民主主義人民共和国"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "コンゴ​民主​共和国"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "東ティモール"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "デンマーク"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "ディエゴ​ガルシア島"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "ジブチ"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "ドミニカ"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "ドミニカ​共和国"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "エクアドル"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "エジプト"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "エル​サルバドル"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "赤道ギニア"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "エリトリア"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "エストニア"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "エチオピア"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "フォークランド諸島"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "フェロー​諸島"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "フィジー"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "フィンランド"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "フランス"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "フランス領南方・南極地域"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "仏領ギアナ"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "仏領ポリネシア"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "ガボン"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "ガンビア"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "グルジア"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "ドイツ"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "ガーナ"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "ジブラルタル"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "ギリシャ"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "グリーンランド"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "グラナダ"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "グアドループ"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "グアム"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "グアテマラ"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "ギニア"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "ギニアビサウ"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "ガイアナ"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "ハイチ"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "ホンジュラス"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "香港"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "ハンガリー"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "アイスランド"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "インド"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "インドネシア"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "インマルサット(SNAC)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "国際フリーダイヤルサービス"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "国際的割増料金サービス(IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "国際共有コストサービス(ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "イラン"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "イラク"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "アイルランド"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "イスラエル"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "イタリア"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "ジャマイカ"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "日本"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "ヨルダン"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "カザフスタン"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "ケニア"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "キリバス"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "韓国"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "クウェート"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "キルギスタン"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "ラオス人民民主​共和国"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "ラトビア"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "レバノン"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "レソト"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "リベリア"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "リビア"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "リヒテンシュタイン"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "リトアニア"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "ルクセンブルク"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "マカオ"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "マダガスカル"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "マラウイ"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "マレーシア"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "モルディブ"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "マリ"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "マルタ"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "マーシャル諸島"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "マルティニーク"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "モーリタニア"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "モーリシャス"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "メキシコ"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "ミクロネシア"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "モルドバ"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "モナコ"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "モンゴル"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "モンテネグロ"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "モントセラト"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "モロッコ"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "モザンビーク"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "ミャンマー"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "ナミビア"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "ナウル"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "ネパール"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "オランダ"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "ニュー​カレドニア"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "ニュージーランド"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "ニカラグア"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "ニジェール"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "ナイジェリア"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "ニウエ"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "北マリアナ​諸島"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "ノルウェー"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "オマーン"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "パキスタン"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "パラオ"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "パナマ"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "パプアニューギニア"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "パラグアイ"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "ペルー"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "フィリピン"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "ポーランド"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "ポルトガル"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "プエルトリコ"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "カタール"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "ルーマニア"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "ロシア​連邦"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "ルワンダ"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "セントヘレナ"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "セントクリストファー・ネイビス"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "セントルシア"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "サンピエール島・ミクロン島"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "セントビンセント・グレナディーン"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "サモア"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "サンマリノ"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "サントメプリンシペ"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "サウジアラビア"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "セネガル"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "セルビア"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "セーシェル"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "シエラレオネ"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "シンガポール"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "シントマールテン"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "スロバキア"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "スロベニア"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "ソロモン諸島"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "ソマリア"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "南アフリカ"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "スペイン"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "スリランカ"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "スーダン"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "スリナム"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "スワジランド"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "スウェーデン"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "スイス"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "シリア・アラブ共和国"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "台湾"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "タジキスタン"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "タンザニア"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "災害救済用テレコミュニケーション(TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "タイ"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "マケドニア旧ユーゴスラビア共和国"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "トーゴ"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "トケラウ"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "トンガ"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "トリニダードトバゴ"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "チュニジア"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "トルコ"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "トルクメニスタン"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "タークス​カイコス​諸島"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "ツバル"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "ウガンダ"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "ウクライナ"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "アラブ​首長国​連邦"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "英国(グレートブリテン及び北アイルランド連合王国)"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "アメリカ合衆国"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "米領バージン諸島"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "UPT(Universal Personal Telecommunication)サービス"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "ウルグアイ"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "ウズベキスタン"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "バヌアツ"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "バチカン市国"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "ベネズエラ"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "ベトナム"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "ウォリス・​フツナ"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "イエメン"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "ザンビア"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "ジンバブエ"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "携帯​(自宅)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "携帯​(仕事)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "保存"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "外部SDカードから​インポート"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "グループ​内​の​連絡先​も​含める"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%sを​%sに​保存​しました。"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "この​連絡先を削除します。"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "画像"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "ダイヤル"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "バックアップ"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "交換"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "グループ​のみ"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "新規グループ"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "グループ​を​選択"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "携帯​電話 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "追加​しました。"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "移動しました。"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "選択しました。"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "キャンセル"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "メモリ​が​不足​して​います。"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "削除しました。"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "検索"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "閉じる"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "削除​しました。"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "エラー"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "発信"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "SIM未挿入"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "全て​選択"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "失敗​しました。"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "正常に完了しました。"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "保存"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "電話帳​を​追加"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "アシスタント​名"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "グループを削除"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "グループ​名"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "グループ​着信音"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "ビデオカメラ起動"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "交換"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "スピード​ダイヤル​"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "メッセージ"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "着信音を設定"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "全ての連絡先"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "会社"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "連絡先​を​編集"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Eメール​を​取得"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "電話番号​を​取得"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "グループ​なし"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "参加者"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "画像​設定"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "未使用のスピードダイヤル"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "連絡先​を​削除"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "グループ​を​編集"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Eメール"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "お気に入りに​追加"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "グループ​を編集​"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "未入力"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "連絡先​を​保存"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "連絡先​を​選択​して​ください。"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "グループを追加"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "メモリがいっぱいです。"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "削除中..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "グループ​に​連絡先​を​追加​できません。"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "更新"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "取消"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "電話帳"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "コピー"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "作成"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Eメール"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "メッセージ"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "移動"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "本体"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "不明"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "テレビ電話"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "削除"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "完了"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "編集"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "連絡先​詳細​を​送信"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Exchange serverの連絡先を検索"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "姓名"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "名​>姓"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "他​の​項目​を​入力​する​には、​右​の​ボタン​を​タップ​して​ください。"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/ka.po b/po/ka.po
deleted file mode 100644
index 40007e5..0000000
--- a/po/ka.po
+++ /dev/null
@@ -1,1771 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "კლავიატურა"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "ფავორიტები"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "სწრაფი აკრეფა"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "ხმოვანი წერილი"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "ჟურნალები"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr ""
-"ღილაკზე არ არის მინიჭებული ნომრის სწრაფი აკრეფის ფუნქცია. მიანიჭებთ ახლა?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "მოთხოვნა ვერ შედგა"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "მოთხოვნა წარმატებით გაიგზავნა"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "საგანგებო ზარი"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "ჟურნალები არ არის"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "ფავორიტები არ არის"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "შეტყობინ. წაშლილია"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "გადაჭარბებულია ტელეფონის ნომრის მაქსიმალური სიგრძე"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "მიმდინარეობს ჩანაწერთა წაშლა..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "მიმდინარეობს ფავორიტების წაშლა..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "სრულდება ინიციალიზაცია. ცადეთ მოგვიანებით..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "ხმა გამორთულია"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "ხმა ჩართულია"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "წინა გვერდი"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "ზარზე დაბრუნება"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "შემოსული ზარი"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "გამავალი ზარი"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "გამოტოვებული ზარი"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "გაგზავნილი წერილი"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "მიღებული წერილი"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "უარყოფილი ზარი"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "დაბლოკილი ზარი"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "შეასწორეთ ნომერი, სანამ დარეკავთ"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "ელ.წერილის გაგზავნა"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "აირჩიეთ ჩანაწერთა ჟურნალები"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "აირჩიეთ კონტაქტები ავტომატური დარეკვისთვის"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "განბლოკვა"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "კონტაქტის შეცვლა"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "%d წამიანი პაუზის დამატება"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "მოცდის დამატება"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "აკლია"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "გამოსვლა"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "შერჩეული"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "მობილური"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "საწყისი გვერდი"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "სამსახური"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "ფაქსი (სახლის)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "ფაქსი (სამსახურის)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "თანაშემწის ნომერი"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "პეიჯერი"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "სხვა"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "ტელეფონი"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "ფაქსი"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "მანქანის ტელეფონი"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "სახლი 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "კომპანიის მთავარი გვერდი"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "რადიო"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "ყველა კონტაქტი"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "არ არის მინიჭებული"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "მომსახურების ნომერი"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "ტელეფონი"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "ჯგუფები"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "ნაგულისხმევი"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "ზარის მელოდია"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "ვებსაიტი"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "ელ-ფოსტა"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "რიცხვი"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "შენიშვნა"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "საფოსტო მისამართი"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "დეტალები"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "კომპანია"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "ეკრანზე საჩვენებლად სახელის შერჩევა"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "საკუთარი ნომერი"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "სახელი"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "გვარი"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "მამის სახელი"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "სუფიქსი"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "მეტსახელი"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "კონტაქტების გადატანა"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "აირჩიეთ კონტაქტები"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "საფოსტო კოდი"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "ქვეყანა"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "პროვინცია"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "ქალაქი"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "ქუჩა"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "შენახულია ადგილზე: %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "ხშირად დაკავშირებული"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "დაკოპირდა"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "გადაცემული"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "სრულდება კონტაქტების წაშლა..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "გადატანა..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "კოპირდება..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "სრულდება SIM კონტაქტების მიღება..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "სრულდება კონტაქტების იმპორტირება vCard-დან..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "სრულდება კონტაქტების ექსპორტირება ადგილზე ”%s”..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vბარათი"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "იკითხება vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "იმპორტირებულია"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "არ არის"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "ყველა დაკავშ. კონტაქტი"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "დაკავშირებული კონტაქტები"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "დავალების სათაური"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "განყოფილება"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "ჯგუფის სახელი"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "ანგარიშის დამატება"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "წევრები ემატება ჯგუფში..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "ნახვა"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d კონტაქტი"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "ხელახლა დასათაურება"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "ურთიერთობა"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "ისტორიები არ არის"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "მოქმედებები არ არის"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "ემატება..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "დამატებითი ინფორმაცია"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "სააბონენტო ყუთი"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "შტატი"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "მეგობრები"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "ოჯახი"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "თანამშრომლები"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "სამსახური"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "ვიბრაციის ნიმუში"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "დააყენეთ ნაგულისხმევი ვარიანტი"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "მოვლენა"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "საკონტაქტო ინფორმაციის გაზიარება"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 კონტაქტი"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "SIM ბარათზე ექსპორტირება"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "ინფო"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "ისტორია"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "მოქმედებები"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "ჯგუფური წერილი"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "ჯგუფური ელ.წერილი"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "უსახელო"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "ელ.ფოსტა არასწორია"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "შეავსეთ მინიმუმ ერთი ველი და სახელი"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "მონაცემთა ბაზაზე წვდომა ვერ შესრულდა"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "უკვე დაემატა"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "ჯგუფის სახელი უკვე გამოყენებულია"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "ჯგუფი არ არის"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "ნომერი არ არის"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "ელ.ფოსტის მისამართები არ არის"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "კონტაქტი ვერ მოიძებნა"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM მეხსიერება ცარიელია"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "ჩანაწერების რაოდენობა მაქსიმალურზე მეტია"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "ნომერი არასწორია"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM მეხსიერება გაივსო"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"თუ გსურთ კონტაქტები გადმოიტანოთ SIM ბარათიდან ტელეფონში, გახსენით "
-"”პარამეტრები” > ”კონტაქტების იმპორტი”, ან დაასინქრონეთ ვებ-ანგარიშის "
-"კონტაქტებთან, ანგარიშების გამოყენებით, პარამეტრებში"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"ჟურნალები არ არის. მას შემდეგ რაც განახორციელებთ/მიიღებთ ზარს ან გაგზავნით/"
-"მიიღებთ წერილს, გამოჩნდება ჟურნალები"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "სავიზიტო ბარათების გაგზავნა შეუძლებელია"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "ნაგულისხმევ ნომრად აღნიშვნა"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "აღნიშვნა ნაგულისხმევ ელ.ფოსტად"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "სურათი"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "ფოტოს გადაღება"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "ფოტოს მოცილება"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "საწყის ეკრანზე დამატება"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "კონტაქტის შენახვა ადგილზე:"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "შენახვა"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "გადმოიტანეთ SIM კონტაქტები"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "ჯერ სახელი"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "ჯერ გვარი"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "ჩვენება"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "დამალვა"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "სავიზიტო ბარათის გაგზავნა"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "ჯგუფის შექმნა"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "ჯგუფის შერჩევა"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "კონტაქტ. მიღება"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "კონტაქტის დაკავშირება"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "ბმულის მოხსნა"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "ყველა დაკავშირებული კონტაქტი წაიშლება"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "ფავორიტებში დამატება"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "ჯგუფის შესწორება"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "წევრ.დამ."
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "ჯგუფში დამატება"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "ფავორიტებში დამატება"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "უცნობი"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "დაბადების დღე"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "იუბილე"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "კვირა"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "ორშაბათი"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "სამშაბათი"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "ოთხშაბათი"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "ხუთშაბათი"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "პარასკევი"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "შაბათი"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "დამხმარე"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "ძმა"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "ბავშვი"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "საშინაო პარტნ."
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "მამა"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "მეგობარი"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "მენეჯერი"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "დედა"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "მშობელი"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "პარტნიორი"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "შემომთავაზებელი"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "ნათესავი"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "და"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "მეუღლე"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "დამატებითი ინფორმაცია"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "ავღანეთი"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "ალბანეთი"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "ალჟირი"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "ამერიკის სამოა"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "ანდორა"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "ანგოლა"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "ანგვილა"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "ანტიგუა და ბარბუდა"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "არგენტინა"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "სომხეთი"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "არუბა"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "ავსტრალია"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "ავსტრალიის გარე ტერიტორიები"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "ავსტრია"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "აზერბაიჯანი"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "ბაჰამის კუნძულები"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "ბაჰრეინი"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "ბანგლადეში"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "ბარბადოსი"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "ბელარუსი"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "ბელგია"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "ბელიზი"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "ბენინი"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "ბერმუდა"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "ბუტანი"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "ბოლივია"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "ბონაირე, სენტ-ევსტათი და საბა"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "ბოსნია და ჰერცოგოვინა"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "ბოცვანა"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "ბრაზილია"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "ბრიტანული ვირჯინიის კუნძულები"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "ბრუნეი–დარუსალამი"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "ბულგარეთი"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "ბურკინა–ფასო"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "ბურუნდი"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "კამბოჯა"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "კამერუნი"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "კანადა"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "კეიპ-ვერდე"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "კაიმანის კუნძულები"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "ცენტრალური აფრიკის რესპუბლიკა"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "ჩადი"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "ჩილე"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "ჩინეთი"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "კოლუმბია"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "კომოროსი"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "კონგო"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "კუკის კუნძულები"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "კოსტა–რიკა"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "კოტ-დიუვარი"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "ხორვატია"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "კუბა"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "კურასაო"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "კვიპროსი"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "ჩეხეთის რესპუბლიკა"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "კორეის სახალხო დემოკრატიული რესპუბლიკა"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "კონგოს დემოკრატიული რესპუბლიკა"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "ტიმორ-ლოროსაე"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "დანია"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "დიეგო გარსია"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "ჯიბუტი"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "დომინიკა"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "დომინიკის რესპუბლიკა"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "ეკვადორი"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "ეგვიპტე"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "ელ–სალვადორი"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "ეკვატორული გვინეა"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "ერიტრეა"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "ესტონეთი"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "ეთიოპია"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "ფოლკლენდის კუნძულები"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "ფარერის კუნძულები"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "ფიჯის კუნძულები"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "ფინეთი"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "საფრანგეთის სამხრეთ ტერიტორიები"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "ფრანგული გვიანა"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "ფრანგული პოლინეზია"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "გაბონი"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "გამბია"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "საქართველო"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "გერმანია"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "განა"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "გიბრალტარი"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "საბერძნეთი"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "გრენლანდია"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "გრენადა"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "გვადელუპე"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "გუამი"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "გვატემალა"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "გვინეა"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "გვინეა-ბისაუ"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "გაიანა"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "ჰაიტი"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "ჰონდურასი"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "ჰონ-კონგი"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "უნგრეთი"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "ისლანდია"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "ინდოეთი"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "ინდონეზია"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "ირანი"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "ერაყი"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "ირლანდია"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "ისრაელი"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "იამაიკა"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "იაპონია"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "იორდანი"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "ყაზახეთი"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "კენია"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "კირიბატი"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "კორეა"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "კუვეიტი"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "ყირგიზეთი"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "ლაოსის სახალხო დემოკრატიული რესპუბლიკა"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "ლატვია"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "ლიბანი"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "ლესოტო"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "ლიბერია"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "ლიბია"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "ლიხტენშტეინი"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "ლიტვა"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "ლუქსემბურგი"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "მაკაო"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "მადაგასკარი"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "მალავი"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "მალაიზია"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "მალდივის კუნძულები"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "მალი"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "მალტა"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "მარშალის კუნძულები"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "მარტინიკის კუნძული"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "მავრიტანია"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "მავრიკია"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "მექსიკა"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "მიკრონეზია"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "მოლდავეთი"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "მონაკო"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "მონღოლეთი"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "მონტენეგრო"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "მონტსერატი"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "მაროკო"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "მოზამბიკი"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "მიანმა"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "ნამიბია"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "ნაურუ"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "ნეპალი"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "ნიდერლანდები"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "ახალი კალედონია"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "ახალი ზელანდია"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "ნიკარაგუა"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "ნიგერი"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "ნიგერია"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "ნიუე"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "ჩრდილოეთ მარიანას კუნძულები"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "ნორვეგია"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "ომანი"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "პაკისტანი"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "პალაუ"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "პანამა"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "პაპუა ახალი გვინეა"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "პარაგვაი"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "პერუ"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "ფილიპინები"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "პოლონეთი"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "პუერტო–რიკო"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "ქატარი"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "რუმინეთი"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "რუსეთის ფედერაცია"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "რვანდა"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "წმინდა ელენეს კუნძული"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "სენტ–კიტსი და ნევისი"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "სენტ–ლუსია"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "სენ-პიერი და მიქელონი"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "სენტ–ვინსენტი და გრენადინები"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "სამოა"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "სან–მარინო"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "სან–ტომე და პრინსიპი"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "საუდის არაბეთი"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "სენეგალი"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "სერბეთი"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "სეიშელის კუნძულები"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "სიერა–ლეონე"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "სინგაპური"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "სინტ–მაარტენი"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "სლოვაკეთი"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "სლოვენია"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "სოლომონის კუნძულები"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "სომალი"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "სამხრეთ აფრიკა"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "ესპანეთი"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "შრი–ლანკა"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "სუდანი"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "სურინამი"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "სვაზილენდი"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "შვედური"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "შვეიცარია"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "სირიის არაბთა რესპუბლიკა"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "ტაივანი"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "ტაჯიკეთი"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "ტანზანია"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "ტაილანდი"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "ყოფილი იუგოსლავიის რესპუბლიკა მაკედონია"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "ტოგო"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "ტოკელაუ"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "ტონგა"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "ტრინიდადი და ტობაგო"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "ტუნისი"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "თურქეთი"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "თურქმენეთი"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "ტერკსისა და ქაიკოსის კუნძულები"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "ტუვალუ"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "უგანდა"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "უკრაინა"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "არაბთა გაერთიანებული ემირატები"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "დიდი ბრიტანეთის გაერთიანებული სამეფო და ჩრდილოეთ ირლანდია"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "ამერიკის შეერთებული შტატები"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "შეერთებული შტატების ვირჯინიის კუნძულები"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "ურუგვაი"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "უზბეკეთი"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "ვანუატუ"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "ქალაქი-სახელმწიფო ვატიკანი"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "ვენესუელა"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "ვიეტნამი"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "უოლისი და ფუტუნა"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "იემენი"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "ზამბია"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "ზიმბაბვე"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "მობილური (სახლის)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "მობილური (სამსახურის)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "შეინახა ადგილზე:"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "მიღება SD ბარათიდან"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "ჯგუფი და ჯგუფის წევრები"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s შენახულია ადგილზე: %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "ეს კონტაქტები წაიშლება"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "ფოტო"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "დამრეკი"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "რეზერვი"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "მხოლოდ ჯგუფი"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "ახალი ჯგუფი"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "ჯგუფის შერჩევა"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "მობილური 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "დამატებულია"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "გადატანილია"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "შერჩეულია"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "გაუქმება"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "მეხსიერება არ არის საკმარისი"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "წაშლილია"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "ძიება"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "დახურვა"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "წაშლილია"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "შეცდომა"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "დარეკვა"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "SIM არაა"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "ყველას არჩევა"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "ვერ შესრულდა"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "წარმატება"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "შენახვა"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "კონტაქტების დამატება"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "თანაშემწის სახელი"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "ჯგუფის წაშლა"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "ჯგუფის სახელი"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "ჯგ. ზრ. მელოდია"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "ვიდეოს ჩაწერა"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "შეცვლა"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "სწრაფი აკრეფა"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "წერილი"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "ზარის მელოდიის დაყენება"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "ყველა კონტაქტი"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "კომპანია"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "კონტაქტების შესწორება"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "ელ.ფოსტის მიღება"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "ნომრის მიღება"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "ჯგუფი არ არის"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "მონაწილე"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "სურათის დაყენება"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Speed dial not in use"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "კონტაქტების წაშლა"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "ჯგუფების შესწორება"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "ელ-ფოსტა"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "ფავორიტებში დამატება"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "ჯგუფის შესწორება"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "ცარიელია"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "კონტაქტის შენახვა"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "აირჩიეთ კონტაქტი"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "ჯგუფის დამატება"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "მეხსიერება შევსებულია"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "იშლება..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "კონტაქტს ვერ დაამატებთ ჯგუფში"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "განახლება"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "გაუქმ."
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "კონტაქტები"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "ასლი"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "შექმნა"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "ელ-ფოსტა"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "შეტყობინება"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "გადატანა"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "ტელეფონი"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "უცნობი"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "ვიდეოზარი"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "წაშლა"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "შესრულდა"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "შესწორება"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "საკონტაქტო მონაცემების გაგზავნა"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Exchange სერვერის ძებნა"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "სახელი და გვარი"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "გვარი და სახელი"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "ველების დასამატებლად შეეხეთ მარჯვნივ მოთავსებულ ღილაკს"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/kk.po b/po/kk.po
deleted file mode 100644
index d69ca55..0000000
--- a/po/kk.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Пернетақта"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Таңдаулылар"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Тез теру"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Дауысты пошта"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Журналдар"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Жылдам терілетін нөмір жоқ. Қазір біреуін белгілеу керек пе?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Сұраныс үзіліп кетті"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Сұрау сәттілігі"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Шұғыл қоңырау шалу"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Журналдар жоқ"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Сүйіктілер жоқ"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Хабар өшірілді"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Ең ұзын телефон нөмірінің ұзындығынан асып кетті"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Журналдар жойылуда..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Таңдаулылар жойылуда..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Қалпына келтірілуде. Кейінірек қайталап көріңіз..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Дыбыс өшірулі"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Дыбыс қосулы"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Алдыңғы экран"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Қайта қоңырау шалу"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Қабылданған қоңырау"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Шыққан қоңырау"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Қабылданбаған қоңырау"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Жіберілген хабар"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Алынған хабар"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Қайтарылған қоң-у"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Бұғатталған қоң-у"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Қоңыраудан бұрын нөмірді өзгерту"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Email жіберу"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Журналдар таңдау"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Жылдам терілетін контактілерді таңдаңыз"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Құлпын ашу"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Контактіні өзгерту"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "%d секундтық пауза қосу"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Күту уақытын қосу"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Қабылданбаған"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Шығу"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Әдеттегі"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Ұялы телефон"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Үй парағы"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Жұмыс"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Факс (үй)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Факс (жұмыс)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Көмекшінің нөмірі"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Пейджер"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Басқа"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Телефон"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Факс"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Көлік телефоны"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "2-ші Үй"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Компанияның негізгі телефоны"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Радио"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Барлық контактілер"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Қойылған жоқ"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Қызметтік номер"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Телефон"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Топтар"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Өздігінен"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Әуен"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Веб-сайт"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Эл. пошта"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Нөмір"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Ескерту"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Пошта мекенжайы"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Өзгешеліктері"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Компания"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Дисплей есімі жасату"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Жеке нөмір"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Есімі"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Тегі"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Әкесінің аты"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Лауазым"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Жасырын ат"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Контактілерді экспорттау"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Контактілерді таңдау"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Пошта индексі"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Ел"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Облыс"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Қала"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Көше"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "%s ішіне сақталды"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Жиі хабарласатын"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Хабар(лар) көшірілді"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Экспортталған"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Контактілер жойылуда..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Орналастырылды"
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Көшірілуде..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "SIM контактілері импортталуда..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Контактілер vCard ішінен импортталуда..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Контактілер %s ішіне экспортталуда..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "vCard оқылуда..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Импортталған"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Қол жетімді емес"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Барлық байл. контакт."
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Байланыстырылған контактілер"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Лауазым"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Бөлім"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Топ атауы"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Тіркелгі қосу"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Мүшелер топқа қосылуда..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Көрініс"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d контакт"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Атын өзгерту"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Қарым-қатынас"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Журналдар жоқ"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Әрекеттер жоқ"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Қосылуда..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Қосымша ақпарат"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Абонент жәшігі"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Мемлекет"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Достар"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Отбасы"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Әріптес"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Жұмыс"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Тербелу үлгісі"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Әдепкісін белгілеу"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Оқиға"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Байланыс ақпаратын бөлісу"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 контакт"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "SIM картасына экспорттау"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Ақпарат"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Тарих"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Әрекеттер"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Топ хабары"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Топтың электрондық поштасы"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Ондай есім жоқ"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Электрондық пошта мекен-жайы жарамсыз"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Кемінде бір өрісті және атын толтырыңыз"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Деректер қорына қатынасу сәтсіз аяқталды"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Қосылып қойған"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Мұндай топ аты қолданыста бар"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Топ жоқ"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Ондай нөмір жоқ"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Электрондық пошта мекенжайлары жоқ"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Контакттар жоқ"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM-карта жады бос"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Енгізулер саны максималдық санынан асып кетті"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Жарамсыз нөмір"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM-картаның жады толы"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Контактілерді SIM картасынан телефонға Параметрлер > Контактілерді импорттау "
-"ішінен импорттауға немесе параметрлердегі есептік жазбалар арқылы веб "
-"есептік жазбамен синхрондауға болады"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Журналдар жоқ. Қоңырау шалғаннан/қабылдағаннан немесе хабар жібергеннен/"
-"алғаннан кейін журналдар көрсетіледі"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Визит карталарын жіберу мүмкін емес"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Өздігінен нөмірдің белгіленуі"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Әдепкі электрондық пошта деп белгілеу"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Сурет"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Суретке алыңыз"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Фотоны жою"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Бастапқы экранға қосу"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Кітапшаға сақтау"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "ішінде сақтау"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "SIM контактілерін импорттау"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Алдымен аты"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Алдымен тегі"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Көрсету"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Жасыру"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Атау картасын жіберу"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Топ құру"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Топты таңдау"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Контакт. имп-у"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Контактіні байланыстыру"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Байланыстырмау"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Барлық байланыстырылған контактілер жойылады"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Ұнамдыларға қосу"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Топты жөндеу"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Мүше қосу"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Топқа қосу"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Ұнамдыларға қосылды"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Белгісіз"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Туған күн"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Жылдық"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Хабаршы"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Жексенбі"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Дүйсенбі"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Сейсенбі"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Сәрсенбі"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Бейсенбі"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Жұма"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Сенбі"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Көмекші"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Бауыр"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Бала"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Отбасы. серіктес"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Әке"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Дос"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Менеджер"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Шеше"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Ата-ана"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Әріптес"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Қатысты"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Туысқан"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Әпке"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Жұбай"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Көбірек ақпарат"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Ауғанстан"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Албания"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Алжир"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Америкалық Самао"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Андорра"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Ангола"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Ангуилла"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Антигуа және Барбуда"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Аргентина"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Армения"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Аруба"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Австралия"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Сыртқы Австралия аумақтары"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Австрия"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Әзірбайжан"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Багам аралдары"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Бахрейн"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Бангладеш"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Барбадос"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Белоруссия"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Бельгия"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Белиз"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "БЕНИН"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Бермуда"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Бутан"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Боливия"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Бонайре, Әулие Эстатиус және Саба"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Босния және Герцеговина"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Ботсвана"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Бразилия"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Британдық Виргин аралдары"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Бруней Даруссалам"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Болгария"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Буркина Фасо"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Бурунди"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Камбоджа"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Камерун"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Канада"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Кабо-верде"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Кайман аралдары"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Орталық Африка Республикасы"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "ЧАД"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Чили"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Қытай"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Колумбия"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "КОМОРС"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Конго"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Кук аралдары"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Коста-Рика"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Кот-д'Ивуар"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Хорватия"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Куба"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Кюрасао"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Кипр"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Чех Республикасы"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Корея Демократиялық Халықтық Республикасы"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Конго Демократиялық Республикасы"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Тимор Лесте"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Дания"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Диего-Гарсия"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Джибути"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Доминика"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Доминика Республикасы"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Эквадор"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Мысыр"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Сальвадор"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Экваторлық Гвинея"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Эритрея"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Эстония"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Эфиопия"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Фолкленд аралдары"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Фарер аралдары"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Фиджи"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Финляндия"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Франция"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Францияның оңтүстік аумақтары"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Француздық Гвиана"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Француздық Полинезия"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Габон"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Гамбия"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Грузия"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Германия"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Гана"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Гибралтар"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Греция"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Гренландия"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Гренада"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Гваделупа"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Гуам"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Гватемала"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Гвинея"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Гвинея-Бисау"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Гайана"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Гаити"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Гондурас"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Гонконг"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Венгрия"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Исландия"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Үндістан"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Индонезия"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Иран"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Ирак"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Ирландия"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Израиль"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Италия"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Ямайка"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Жапония"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Иордания"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Қазақстан"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Кения"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Кирибати"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Корея"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Кувейт"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Қырғызстан"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Лаос Халықтық Демократиялық Республикасы"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Латвия"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Ливан"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Лесото"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Либерия"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Ливия"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Лихтенштейн"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Литва"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Люксембург"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Макао"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "МАДАГАСКАР"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Малави"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Малайзия"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Мальдивы"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Мали"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Мальта"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Маршалл аралдары"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Мартиника"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "МАВРИТАНИЯ"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "МАВРИКИЙ"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Мексика"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Микронезия"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Молдова"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Монако"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Моңғолия"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Черногория"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Монтсеррат"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Морокко"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Мозамбик"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Мьянма"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "НАМИБИЯ"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Науру"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Непал"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Нидерланд"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Жаңа Каледония"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Жаңа Зеландия"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Никарагуа"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "НИГЕР"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Нигерия"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Ниуэ"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Солтүстік Мариана аралдары"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Норвегия"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Оман"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Пәкістан"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Палау"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Панама"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Папуа - Жаңа Гвинея"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Парагвай"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Перу"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Филиппин"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Польша"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Португалия"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Пуэрто-Рико"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Катар"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Румыния"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Ресей Федерациясы"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Руанда"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Әулие Елена"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Сент-Китс және Невис"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Сент-Люсия"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Сен-Пьер және Микелон"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Сент-Винсент және Гренадин"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Самоа"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "Сан-Марино"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Сао-Томе және Принсипи"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Сауд Арабиясы"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Сенегал"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Сербия"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Сейшель аралдары"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Сьерра-Леоне"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Сингапур"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Әулие Мартин"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Словакия"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Словения"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Соломон аралдары"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Сомали"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Оңтүстік Африка"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Испания"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Шри-Ланка"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Судан"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Суринам"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Свазиленд"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Швеция"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Швейцария"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Сирия Араб Республикасы"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Тайвань"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Тәжікстан"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Танзания"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Таиланд"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Бұрынғы Македония Югославия Республикасы"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Того"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Токелау"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Тонга"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Тринидад және Тобаго"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Тунис"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Түркия"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Түркіменстан"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Теркс және Кайкос аралдары"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Тувалу"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Уганда"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Украина"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Біріккен Араб Әмірліктері"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Ұлыбритания мен Солтүстік Ирландия Біріккен Корольдігі"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Америка Құрама Штаттары"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Америка Құрама Штаттары Вирджиния аралдары"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Уругвай"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Өзбекстан"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Вануату"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Ватикан қала мемлекеті"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Венесуэла"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Вьетнам"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Эллис және Футуна"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Йемен"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Замбия"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Зимбабве"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Ұялы (үй)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Ұялы (жұмыс)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Сақталды"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "SD картасынан импорттау"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Топ және топ мүшелері"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s %s ішіне сақталды"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Бұл контакт жойылады"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Фото"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Нөм труші"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Сақтық көшірме"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Айырбастау"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Тек топ"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Жаңа топ"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Топты таңдау"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "2-ші Ұялы"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Қосылды"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Орналастырылды"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Таңдалған"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Тоқтату"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Жадында орын аз"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Жойылған"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Іздеу"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Жабу"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Жойылды"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Қате"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Қоңырау"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "SIM жоқ"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Бәрін бөлектеу"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Үзіліп кетті"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Жетістік"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Сақтау"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Контакттарды қосу"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Көмекшінің аты"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Топты жою"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Топ атауы"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Топтың қоңырау үні"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Бейнежазу"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Ауыстыру"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Тез теру"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Хабар"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Қоңырау үнін орнату"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Барлық контактілер"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Компания"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Контактілерді өзгерту"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Электрондық поштаны алу"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Нөмір алу"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Топ жоқ"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Қатысушы"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Кескінді орнату"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Speed dial not in use"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Контактілер жою"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Топтарды өзгерту"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Электрондық пошта"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Сүйіктілер қатарына қосу"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Топты жөндеу"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Бос"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Контактыны сақтау"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Істес кісіні таңдау"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Топты қосу"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Жад толып кеткен"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Шығаруда..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Контактіні топқа қосу мүмкін емес"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Жаңарту"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Тоқт"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Контактілер"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Көшіру"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Құру"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Эл. пошта"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Хабарлама"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Орналастыру"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Телефон"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Белгісіз"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Бейне қоңырау"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Жою"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Дайын"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Өзгер."
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Нөмірлер туралы мәліметтер беру"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Exchange серверін іздеу"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Есімі Тегі"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Тегі Есімі"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Қосымша өрістер үшін сол жақтағы түймені түртіңіз"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/ko_KR.po b/po/ko_KR.po
deleted file mode 100644
index 31062a6..0000000
--- a/po/ko_KR.po
+++ /dev/null
@@ -1,1768 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "키패드"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "즐겨찾기"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "단축번호"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "음성 메시지"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "최근기록"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "단축번호가 없습니다. 지금 지정하시겠습니까?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "요청을 수행하지 못하였습니다"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "요청에 성공하였습니다"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "긴급전화"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "기록이 없습니다"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "자주 사용하는 연락처 목록이 없습니다"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "메시지가 삭제되었습니다"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "최대 전화번호 길이를 초과하였습니다"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "기록 삭제 중..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "즐겨찾기 삭제 중..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "초기화 중... 잠시 후 다시 시도하세요"
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "소리 끄기"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "소리 켜기"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "이전 화면"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "통화로 돌아가기"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "수신 전화"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "발신 전화"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "부재중 전화"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "발신메시지"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "수신 메시지"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "수신거절된 전화"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "차단된 전화"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "키패드 화면에 복사"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "이메일 보내기"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "기록을 선택하세요"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "단축번호 연락처 선택"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "차단 해제"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "연락처 변경"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "%d초간 일시정지 추가"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "대기시간 추가"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "부재중"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "종료"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "직접 입력"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "휴대폰"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "집"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "회사"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "팩스(집)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "팩스(회사)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "비서 연락처"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "호출기"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "기타"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "일반전화"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "팩스"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "카폰"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "집 전화2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "대표번호(회사)"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "FM 라디오"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "모든 연락처"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "미지정"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "서비스 번호"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "휴대폰"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "그룹"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "기본"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "벨소리"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "웹사이트"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "이메일"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "번호"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "노트"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "주소"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "상세 정보"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "회사"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "이름 표기 순서"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "내 전화번호"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "이름"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "성"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "중간 이름"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "호칭"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "별명"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "연락처 내보내기"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "연락처 선택"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "우편번호"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "국가"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "지역"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "도시"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "거리"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "%s에 저장되었습니다"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "자주 연락하는 사람"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "복사되었습니다"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "내보냈습니다"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "연락처 삭제 중..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "이동 중..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "복사 중..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "SIM 연락처를 가져오는 중..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "연락처 파일에서 연락처 가져오는 중..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "%s(으)로 연락처 내보내는 중..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "연락처 파일"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "연락처 파일 읽는 중..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "가져왔습니다"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/A"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "모든 연결된 연락처"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "연결된 연락처"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "직위"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "부서"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "그룹 이름"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "계정 추가"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "그룹에 구성원 추가 중..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "보기"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d개의 연락처"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "이름 변경"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "관계"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "기록이 없습니다"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "내용이 없습니다"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "추가 중..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "상세정보"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "사서함"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "주"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "친구"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "가족"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "동료"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "직장"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "진동 패턴"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "대표 연락처 설정"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "일정"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "연락처 정보 공유"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1개의 연락처"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "SIM에 내보내기"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "정보"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "기록"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "활동"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "그룹 메시지"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "그룹 이메일"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "이름이 없습니다"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "이메일 주소가 바르지 않습니다"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "이름과 한 개 이상의 항목을 입력하세요"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "데이터베이스에 연결할 수 없습니다"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "이미 추가되었습니다"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "사용 중인 이름입니다"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "그룹이 없습니다"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "전화번호가 없습니다"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "이메일 주소가 없습니다"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "연락처가 없습니다"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM 메모리가 비어 있습니다"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "추가할 수 있는 항목 수를 초과하였습니다"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "전화번호가 바르지 않습니다"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM에 저장 공간이 없습니다"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"설정 > 연락처 가져오기를 이용하여 SIM 카드에서 휴대폰으로 연락처를 가져오거"
-"나 설정에서 계정을 이용하여 웹 계정의 연락처와 동기화할 수 있습니다"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"기록이 없습니다. 전화를 걸고 받거나 메시지를 보내고 받으면 기록이 나타납니다"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "명함을 전송할 수 없습니다"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "대표 번호로 지정"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "대표 이메일로 지정"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "이미지"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "사진 촬영"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "사진 삭제"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "홈 화면에 추가"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "연락처 저장"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "저장"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "SIM 연락처 가져오기"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "이름 먼저"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "성 먼저"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "보이기"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "숨기기"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "명함 전송"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "그룹 추가"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "그룹 선택"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "연락처 가져오기"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "연락처 연결"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "링크 해제"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "연결된 연락처가 모두 삭제됩니다"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "즐겨찾기에 추가"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "그룹 편집"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "구성원 추가"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "그룹에 추가"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "즐겨찾는 번호에 추가되었습니다"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "알 수 없음"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "생일"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "기념일"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google 토크"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "일요일"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "월요일"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "화요일"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "수요일"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "목요일"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "금요일"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "토요일"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "비서"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "형제"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "자녀"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "동거인"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "아버지"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "친구"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "관리자"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "어머니"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "부모"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "파트너"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "추천인"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "친척"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "자매"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "배우자"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "메신저"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "추가 정보"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "아프가니스탄"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "알바니아"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "알제리"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "미국령 사모아"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "안도라"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "앙골라"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "앵귈라"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "앤티가 바부다"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "아르헨티나"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "아르메니아"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "아루바"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "오스트레일리아"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "오스트레일리아 외부 영토"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "오스트리아"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "아제르바이잔"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "바하마"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "바레인"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "방글라데시"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "바베이도스"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "벨라루스"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "벨기에"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "벨리즈"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "베냉"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "버뮤다"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "부탄"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "볼리비아"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "보네르, 신트유스타티우스, 사바"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "보스니아헤르체코비나"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "보츠와나"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "브라질"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "영국령 버진 제도"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "브루나이 다루살람"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "불가리아"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "부르키나파소"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "부룬디"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "캄보디아"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "카메룬"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "캐나다"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "카보베르데"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "케이맨 제도"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "중앙아프리카 공화국"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "차드"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "칠레"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "중국"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "콜롬비아"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "코모로"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "콩고"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "쿡 제도"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "코스타리카"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "코트디부아르"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "크로아티아"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "쿠바"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "큐라소"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "키프로스"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "체코"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "북한"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "콩고 민주공화국"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "동티모르"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "덴마크"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "디에고가르시아"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "지부티"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "도미니카 공화국"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "도미니카 공화국"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "에콰도르"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "이집트"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "엘살바도르"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "적도기니"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "에리트레아"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "에스토니아"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "에티오피아"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "포클랜드 제도"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "파로 섬"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "피지"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "핀란드"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "프랑스"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "프랑스령 남부 지역"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "프랑스령 기아나"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "프랑스령 폴리네시아"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "가봉"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "감비아"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "그루지아"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "독일"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "가나"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "지브롤터"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "그리스"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "그린란드"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "그레나다"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "과들루프"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "괌"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "과테말라"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "기니"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "기니비사우"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "가이아나"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "아이티"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "온두라스"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "홍콩"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "헝가리"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "아이슬란드"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "인도"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "인도네시아"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "국제 수신자 부담 서비스"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "IPRS(International Premium Rate Service)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "ISCS(International Shared Cost Service)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "이란"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "이라크"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "아일랜드"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "이스라엘"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "이탈리아"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "자메이카"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "일본"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "요르단"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "카자흐스탄"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "케냐"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "키리바시"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "한국"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "쿠웨이트"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "키르기스스탄"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "라오스 인민 민주 공화국"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "라트비아"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "레바논"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "레소토"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "라이베리아"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "리비아"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "리히텐슈타인"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "리투아니아"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "룩셈부르크"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "마카오"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "마다가스카르"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "말라위"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "말레이시아"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "몰디브"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "말리"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "말타"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "마셜 제도"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "마르티니크"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "모리타니아"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "모리셔스"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "멕시코"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "미크로네시아"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "몰도바"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "모나코"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "몽골"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "몬테네그로"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "몬트세랫"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "모로코"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "모잠비크"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "미얀마"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "나미비아"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "나우루"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "네팔"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "네덜란드"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "뉴칼레도니아"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "뉴질랜드"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "니카라과"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "니제르"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "나이지리아"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "니우에"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "북마리아나 제도"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "노르웨이"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "오만"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "파키스탄"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "팔라우"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "파나마"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "파푸아뉴기니"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "파라과이"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "페루"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "필리핀"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "폴란드"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "포르투갈"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "푸에르토리코"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "카타르"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "루마니아"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "러시아 연방"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "르완다"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "세인트 헬레나"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "세인트키츠 네비스"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "세인트루시아"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "생피에르에미클롱"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "세인트빈센트 그레나딘"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "사모아"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "산마리노"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "상투메 프린시페"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "사우디아라비아"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "세네갈"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "세르비아"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "세이셸"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "시에라리온"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "싱가포르"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "신트마르텐"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "슬로바키아"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "슬로베니아"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "솔로몬 제도"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "소말리아"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "남아프리카 공화국"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "스페인"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "스리랑카"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "수단"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "수리남"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "스와질란드"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "스웨덴"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "스위스"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "시리아 아랍 공화국"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "타이완"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "타지키스탄"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "탄자니아"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "TDR(Telecommunications for Disaster Relief)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "태국"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "마케도니아 구 유고슬라비아 공화국"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "토고"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "토켈라우"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "통가"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "트리니다드토바고"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "튀니지"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "터키"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "투르크메니스탄"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "터크스 케이커스 제도"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "투발루"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "우간다"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "우크라이나"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "아랍에미리트"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "그레이트브리튼 및 북아일랜드 연합왕국"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "미국"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "미국령 버진아일랜드"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "UPT(Universal Personal Telecommunication Service)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "우루과이"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "우즈베키스탄"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "바누아투"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "바티칸 시국"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "베네수엘라"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "베트남"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "월리스 푸투나"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "예멘"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "잠비아"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "짐바브웨"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "휴대폰(집)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "휴대폰(회사)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "에 저장되었습니다"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "SD 카드에서 가져오기"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "그룹 및 그룹 구성원"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s이(가) %s에 저장되었습니다"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "연락처가 삭제됩니다"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "사진"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "키패드"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "백업"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "그룹만"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "그룹 추가"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "그룹 선택"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "휴대폰2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "추가되었습니다"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "이동되었습니다"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "선택되었습니다"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "취소"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "메모리가 부족합니다"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "제거되었습니다"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "검색"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "닫기"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "삭제되었습니다"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "오류가 발생하였습니다"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "통화"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "SIM이 없습니다"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "모두 선택"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "실패하였습니다"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "완료되었습니다"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "저장"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "연락처 추가"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "비서 이름"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "그룹 삭제"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "그룹 이름"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "그룹 벨소리"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "동영상 촬영"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "변경"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "단축번호"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "메시지"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "벨소리 설정"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "모든 연락처"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "회사"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "연락처 편집"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "이메일 정보 가져오기"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "전화번호 가져오기"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "그룹이 없습니다"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "참석자"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "이미지 설정"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "미사용 단축번호"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "연락처 삭제"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "그룹 편집"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "이메일"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "즐겨찾기에 추가"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "그룹 편집"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "비어 있음"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "연락처에 추가"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "연락처를 선택하세요"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "그룹 추가"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "저장 공간이 부족합니다"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "삭제 중..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "연락처를 추가할 수 없습니다"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "업데이트"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "취소"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "블루투스"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "연락처"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "복사"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "추가"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "이메일"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "메시지"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "이동"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "휴대폰"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "알 수 없음"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "영상통화"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "삭제"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "완료"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "편집"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "확인"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "연락처 전송"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "익스체인지 서버 검색"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "이름 성"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "성 이름"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "입력란을 추가하려면 오른쪽 버튼을 누르세요"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/lt.po b/po/lt.po
deleted file mode 100644
index 8bd49d4..0000000
--- a/po/lt.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Klaviatūra"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Parankiniai"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Spartusis rinkimas"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Balso paštas"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Žurnalai"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Nėra sparčiojo rinkimo numerio. Priskirti vieną dabar?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Užklausa nepavyko"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Užklausa sėkminga"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Pagalbos skambučiai"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Žurnalų nėra"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Nėra parankinių"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Žinutė ištrinta"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Viršytas didžiausias telefono numerio ilgis"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Trinami žurnalai..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Trinami parankiniai..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Inicijuojama. Bandykite vėliau..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Garsas išjungtas"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Garsas įjungtas"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Ankstesn. langas"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Grįžti į pokalbį"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Gaunamas skambutis"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Išeinantis skambutis"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Neatsakytas skambutis"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Išsiųsta žinutė"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Gauta žinutė"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Atmestas skambutis"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Užblokuotas skamb."
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Redaguoti numerį prieš skambinant"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Siųsti el. laišką"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Pasirinkite žurnalus"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Pasirinkti sparčiojo rinkimo adresatus"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Atblokuoti"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Keisti adresatą"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Pridėti %d sek. pauzę"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Pridėkite Palaukti"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Praleisti"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Išeiti"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Pasirinktinis"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobilusis"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Namų"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Darbas"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Faksas (namų)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Faksas (darbo)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Padėjėjo tel. numeris"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pranešimų gaviklis"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Kiti"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefonas"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Faksas"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Automobilio telefonas"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Namų 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Pagrindinis įmonės"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radijas"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Visi adresatai"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Nepriskirta"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Paslaugos numeris"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefonas"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupės"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Numatytoji"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Skambėjimo tonas"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Svetainė"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "El. paštas"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Numeris"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Pastaba"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Pašto adresas"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Išsami informacija"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Įmonė"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Vardų rodymo tvarka"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Mano numeris"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Vardas"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Pavardė"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Antras vardas"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Priesaga"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Slapyvardis"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Eksportuoti adresatus"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Pasirinkite adresatus"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Pašto kodas"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Šalis"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Provincija"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Miestas"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Gatvė"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Išsaugota %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Susisiekiama dažnai"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Nukopijuota"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Eksportuota"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Trinami adresatai..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Perkeliama..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopijuojama..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importuojami SIM adresatai..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importuojami adresatai iš „vCard“..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Adresatai eksportuojami į %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "Vizitinė kortelė"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Nuskaitoma „vCard“..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importuotieji"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Netaikoma"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Visi susieti adresatai"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Susieti adresatai"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Pareigos"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Skyrius"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Grupės vardas"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Pridėti paskyrą"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Nariai pridedami prie grupės..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Rodyti"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "Adresatai: %d"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Pervardyti"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Ryšiai"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Istorijos nėra"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Nėra veiklų"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Pridedama..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Papildoma informacija"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Pašto dėžutė"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Valstija"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Draugai"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Šeima"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Bendradarbiai"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Darbas"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Vibravimo pavyzdys"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Nustatyti kaip numatytąjį"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Įvykis"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Bendrinti kontaktinę informaciją"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 adresatas"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "„Wi-Fi Direct“"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Eksportuoti į SIM kortelę"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Inform."
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Istorija"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Veikla"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Grupės žinutė"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Grupės laiškas"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Nėra vardo"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Neteisingas el. pašto adresas"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Užpildykite bent vieną lauką ir įrašykite vardą"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Nepavyko pasiekti duomenų bazės"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Jau įtraukta"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Grupės pavadinimas jau naudojamas"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Nėra grupės"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Nėra numerio"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Nėra el. pašto adresų"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Nėra adresatų"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM atmintis tuščia"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Viršytas didžiausias įrašų skaičius"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Neteisingas numeris"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM kortelės atmintis pilna"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Galite importuoti adresatus iš SIM kortelės į savo telefoną Nustatymuose > "
-"Importuoti adresatus arba sinchronizuoti su žiniatinklio paskyros adresatais "
-"naudodami paskyras nustatymuose"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Žurnalų nėra. Kai skambinate / skambina jums arba siunčiate / priimate "
-"žinutę, rodomi žurnalai"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Neįmanoma siųsti vizitinių kortelių"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Pažymėti kaip numatytąjį skaičių"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Pažymėti kaip numatytąjį el. paštą"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Vaizdas"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Fotografuoti"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Šalinti nuotrauką"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Pridėti pradžios ekrane"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Išsaugoti adresatą"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Išsaugoti"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importuoti SIM adresatus"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Pirmiausia vardas"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Pirmiausia pavardė"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Rodyti"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Nerodyti"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Siųsti vardo kortelę"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Sukurti grupę"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Pasirinkti grupę"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Impor. adresat."
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Susieti adresatą"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Atsieti"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Visi susieti adresatai bus ištrinti"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Įtraukti į Parankinius"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Redaguoti grupės narį"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Prid.narį"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Pridėti prie grupės"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Įtrauktas į Parankinius"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Nežinomas"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Gimtadienis"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Sukaktis"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "„Google Talk“"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "„Windows Live Messenger“"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "„Facebook“"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "„Skype“"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Sekmadienis"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Pirmadienis"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Antradienis"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Trečiadienis"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Ketvirtadienis"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Penktadienis"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Šeštadienis"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Asistentas"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Brolis"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Vaikas"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Civilinis partn."
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Tėvas"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Draugas"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Tvarkyklė"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Motina"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Tėvas / motina"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partneris"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Remiantis"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Giminaitis (-ė)"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Sesuo"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Sutuoktinis"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Daugiau informacijos"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistanas"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albanija"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Alžyras"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Amerikos Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andora"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Angilija"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigva ir Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armėnija"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australija"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Australijos Išorinės Teritorijos"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austrija"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaidžanas"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamos"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahreinas"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladešas"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbadosas"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Baltarusija"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgija"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belizas"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Beninas"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermudai"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Butanas"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivija"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Boneras, Sint Eustatijus ir Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnija ir Hercegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botsvana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazilija"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Didžiosios Britanijos Mergelių Salos"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunėjaus Darusalamas"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgarija"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Fasas"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundis"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambodža"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerūnas"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Žaliasis Kyšulys"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Kaimanų Salos"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Centrinė Afrikos Respublika"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chadas"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Čilė"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Kinija"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kolumbija"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Komorai"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongas"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Kuko Salos"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Kosta Rika"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Dramblio Kaulo Krantas"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Kroatija"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Kiurasao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Kipras"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Čekijos Respublika"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Korėjos Liaudies Demokratinė Respublika"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Kongo Demokratinė Respublika"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Rytų Timoras"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danija"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garsija"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Džibutis"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominika"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikos Respublika"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ekvadoras"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egiptas"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Salvadoras"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Pusiaujo Gvinėja"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrėja"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estija"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopija"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Folklando Salos"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Farerų Salos"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidžis"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Suomija"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Prancūzija"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Prancūzijos Pietų Sritys"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Prancūzijos Gviana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Prancūzijos Polinezija"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabonas"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambija"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Džordžija"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Vokietija"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Gana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltaras"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Graikija"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grenlandija"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Gvadelupa"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Gvamas"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Gvatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Gvinėja"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Gvinėja Bisau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Gajana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haitis"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Hondūras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Honkongas"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Vengrija"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islandija"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Indija"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonezija"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iranas"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irakas"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Airija"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Izraelis"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italija"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaika"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japonija"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordanija"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazachstanas"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenija"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribatis"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korėja"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuveitas"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgizija"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Laoso Liaudies Demokratinė Respublika"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Latvija"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libanas"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotas"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberija"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libija"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Lichtenšteinas"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lietuva"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Liuksemburgas"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Makao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagaskaras"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malavis"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaizija"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldyvai"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Malis"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Maršalo Salos"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinika"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritanija"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauricijus"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Meksika"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronezija"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldova"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monakas"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolija"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Juodkalnija"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montseratas"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marokas"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambikas"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Mianmaras"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibija"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepalas"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Nyderlandai"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Naujoji Kaledonija"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Naujoji Zelandija"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nikaragva"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Nigeris"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigerija"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niujė"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Marianos Šiaurinės Salos"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norvegija"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Omanas"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistanas"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Naujoji Gvinėja"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paragvajus"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipinai"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Lenkija"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugalija"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rikas"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Kataras"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rumunija"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Rusijos Federacija"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Šv. Elenos Sala"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Sent Kitsas ir Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Sent Lusija"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Sen Pjeras ir Mikelonas"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Sent Vinsentas ir Grenadinai"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marinas"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "San Tomė ir Prinsipė"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudo Arabija"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegalas"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbija"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seišeliai"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Siera Leonė"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapūras"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sen Martenas"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovakija"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovėnija"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Saliamono Salos"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalis"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Pietų Afrika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Ispanija"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Šri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudanas"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinamas"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Svazilandas"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Švedų"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Šveicarija"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Sirijos Arabų Respublika"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taivanas"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadžikistanas"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzanija"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tailandas"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Buvusioji Jugoslavijos Respublika Makedonija"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togas"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidadas ir Tobagas"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunisas"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turkija"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmėnistanas"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Terksas ir Kaikosas"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraina"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Jungtiniai Arabų Emyratai"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Jungtinė Didžiosios Britanijos ir Šiaurės Airijos Karalystė"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Jungtinės Amerikos Valstijos"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Jungtinių Valstijų Mergelių Salos"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Urugvajus"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistanas"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikano Miesto Valstybė"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venesuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnamas"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Voliso ir Futūnos Salos"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jemenas"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambija"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabvė"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobilusis telefonas (namų)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobilusis (darbo)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "„Google“"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Išsaugota į"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importuoti iš SD kortelės"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grupė ir grupės nariai"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s išsaugota %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Šis adresatas bus panaikintas"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Nuotrauka"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Rinkiklis"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Atsarginė kopija"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "„Exchange“"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Tik grupė"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Nauja grupė"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Pasirinkti grupę"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobilusis 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Pridėta"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Perkelta"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Pasirinkta"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Atšaukti"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Nepakanka atminties"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Pašalinta"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Ieškoti"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Uždaryti"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Ištrinta"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Klaida"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Skambutis"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Nėra SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Pasirinkti viską"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Nepavyko"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Pavyko"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Išsaugoti"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Pridėti adresatą"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Padėjėjo vardas"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Ištrinti grupę"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Grupės vardas"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Grup.skmb.tonas"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Įrašyti vaizdo įrašą"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Pakeisti"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Spartusis rinkimas"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Žinutė"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Nustatyti skambučio toną"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Visi adresatai"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Įmonė"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Redaguoti adresatus"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Gauti el. laiškų"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Gauti numerį"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Nėra grupės"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Dalyvis"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Nustatyti vaizdą"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Speed dial not in use"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Trinti adresatus"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Redaguoti grupes"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "El. paštas"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Įtraukti į parankinius"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Redaguoti grupės narį"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Tuščia"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Išsaugoti adresatą"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Pasirinkite adresatą"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Įtraukti grupę"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Atmintis pilna"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Šalinama..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Neįmanoma pridėti adresato prie grupės"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Atnaujinti"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Atšaukti"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "„Bluetooth“"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Adresatai"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopijuoti"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Kurti"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "El. paštas"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Žinutė"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Perkelti"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefonas"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Nežinomas"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Vaizdo skambutis"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Trinti"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Atlikta"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Redaguoti"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "Gerai"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Siųsti išsamią informaciją apie adresatą"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Ieškoti „Exchange“ serveryje"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Vardas Pavardė"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Pavardė Vardas"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Jei reikia daugiau laukelių, dešinėje pusėje bakstelėkite mygtuką"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/lv.po b/po/lv.po
deleted file mode 100644
index 6f5f3b9..0000000
--- a/po/lv.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Tastatūra"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Izlase"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Ātrā numura sastādīšana"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Balss pasts"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Žurnāli"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Nav ātrā zvana numura. Vai piešķirt kādu tūlīt?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Pieprasījums neizdevās"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Pieprasījums izdevās"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Ārkārtas zvans"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Nav žurnālu"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Nav izlašu"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Ziņa izdzēsta"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Pārsniegts maksimālais tālruņa numura garums"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Dzēš žurnālus..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Dzēš izlasi..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Notiek inicializēšana. Mēģiniet vēlāk..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Izslēgt skaņu"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Ieslēgt skaņu"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Iepriekš. ekrāns"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Atpakaļ uz zvanu"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Ienākošais zvans"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Izejošais zvans"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Neatbildēts zvans"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Nosūtītā ziņa"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Saņemtā ziņa"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Noraidīts zvans"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Bloķēts zvans"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Rediģēt numuru pirms zvana"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Sūtīt e-pasta ziņu"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Izvēlēties žurnālus"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Izvēlēties ātro zvanu kontaktus"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Atbloķēt"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Mainīt kontaktu"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Pievienot %d sekunžu pauzi"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Pievienot gaidīšanu"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Neatbildētie"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Iziet"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Pielāgot"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobilais"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Mājas"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Darbā"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Faksa numurs (mājas)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Faksa numurs (darba)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Palīga tālruņa numurs"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Peidžera numurs"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Cits"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Tālrunis"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fakss"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Automašīnas tālruņa numurs"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Mājas 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Uzņēmuma galvenais"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Visi kontakti"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Nav piešķirts"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Pakalpojuma numurs"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Tālrunis"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupas"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Noklusējums"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Zvana signāls"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Vietne"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-pasts"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Numurs"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Piezīme"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Pasta adrese"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Dati"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Uzņēmums"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Parādāmā vārda secība"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Savs numurs"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Vārds"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Uzvārds"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Otrs vārds"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Piedēklis"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Segvārds"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Eksportēt kontaktus"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Kontaktu izvēle"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Pasta indekss"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Valsts"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Province"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Pilsēta"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Iela"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Saglabāts mapē %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Personas, ar kurām visbiežāk sazināties"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Nokopēts"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Eksportēts"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Dzēš kontaktus..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Pārvieto..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopē..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importē SIM kartes kontaktus..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importē kontaktus no vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Eksportē kontaktus no %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Nolasa vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importēts"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Nav pieejams"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Visiem saistīt.kontak."
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Saistītie kontakti"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Amata nosaukums"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Nodaļa"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Grupas nosaukums"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Konta pievienošana"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Pievieno grupai dalībniekus..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Skatīt"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d kontakti"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Pārdēvēt"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Attiecības"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Nav vēstures"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Nav darbību"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Pievieno..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Papildinformācija"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Pastkastīte"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Štats"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Draugi"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Ģimene"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Darba biedri"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Darbs"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Vibrācijas veids"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Iestatīt noklusējumu"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Notikums"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Kopīgot kontaktinformāciju"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 kontakts"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Eksportēt uz SIM karti"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Inform."
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Vēsture"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Darbības"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Grupas ziņa"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Grupas e-pasta ziņa"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Nav vārda"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Nederīga e-pasta adrese"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Aizpildiet vismaz vienu lauku, kā arī ierakstiet nosaukumu"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Neizdevās piekļūt datu bāzei"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Jau pievienots"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Grupas nosaukums jau tiek lietots"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Nav grupas"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Nav numura"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Nav e-pasta adrešu"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Kontaktu nav"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM atmiņa tukša"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Pārsniegts maksimālais ierakstu skaits"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Nederīgs numurs"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM atmiņa pilna"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Varat importēt kontaktus no SIM kartes savā tālrunī, dodoties uz sadaļu "
-"Iestatījumi > Importēt kontaktus, vai sinhronizēt tos ar tīmekļa konta "
-"kontaktiem, izmantojot sadaļas Iestatījumi izvēlni Konti"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Nav žurnālu. Pēc tam, kad veiksit/saņemsit zvanu vai nosūtīsit/saņemsit "
-"ziņu, tiks parādīti žurnāli"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Nevar nosūtīt vizītkartes"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Atzīmēt kā noklusējuma numuru"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Atzīmēt kā noklusējuma e-pastu"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Attēls"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Fotografēt"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Noņemt fotoattēlu"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Pievienot sākuma ekrānam"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Saglabāt kontaktu"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Saglabāt"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importēt SIM kontaktus"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Vispirms vārds"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Vispirms uzvārds"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Rādīt"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Slēpt"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Sūtīt vizītkarti"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Izveidot grupu"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Atlasīt grupu"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Imp. kontaktus"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Saistīt kontaktu"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Noņemt saistījumu"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Visi saistītie kontakti tiks izdzēsti"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Pievienot izlasēm"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Rediģēt grupas dalībnieku"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Piev.dal."
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Pievienot grupai"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Pievienots izlasē"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Nezināms"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Dzimšanas diena"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Jubileja"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Svētdiena"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Pirmdiena"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Otrdiena"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Trešdiena"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Ceturtdiena"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Piektdiena"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Sestdiena"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Palīgs"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Brālis"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Bērns"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Viet. partneris"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Tēvs"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Draugs"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Vadītājs"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Māte"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Vecāki"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partneris"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Piedāvāja"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Radinieks"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Māsa"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Dzīvesbiedrs"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Papildinformācija"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistāna"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albānija"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Alžīrija"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Amerikāņu Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andora"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Angvilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigva un Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentīna"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armēnija"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Austrālija"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Austrālijas ārējās teritorijas"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austrija"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaidžāna"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamu salas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahreina"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladeša"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbadosa"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Baltkrievija"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Beļģija"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Beliza"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "BENINA"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Butāna"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolīvija"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sintēstatiusa un Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnija un Hercegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botsvāna"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazīlija"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Britu Virdžīnu salas"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Bruneja Darusalama"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgārija"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkinafaso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundija"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambodža"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerūna"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanāda"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Kaboverde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Kaimanu salas"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Centrālāfrikas Republika"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "ČADA"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Čīle"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Ķīna"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kolumbija"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "KOMORU SALAS"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Kuka salas"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Kostarika"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Kotdivuāra"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Horvātija"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Kirasao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Kipra"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Čehijas Republika"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Korejas Tautas Demokrātiskā Republika"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Kongo Demokrātiskā Republika"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Austrumtimora"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Dānija"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garsia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Džibutija"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominika"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikāna"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ekvadora"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Ēģipte"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Salvadora"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Ekvatoriālā Gvineja"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritreja"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Igaunija"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopija"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Folklendas salas"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Fēru salas"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidži"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Somija"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Francija"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Francijas Dienvidu teritorijas"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Franču Gviāna"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Franču Polinēzija"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabona"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambija"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Gruzija"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Vācija"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Gana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltārs"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grieķija"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grenlande"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenāda"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Gvadelupa"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guama"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Gvatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Gvineja"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Gvineja-Bisava"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Gajāna"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Hondurasa"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Honkonga"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Ungārija"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islande"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Indija"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonēzija"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Irāna"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irāka"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Īrija"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Izraēla"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Itālija"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaika"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japāna"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordānija"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazahstāna"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenija"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Koreja"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuveita"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgizstāna"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Laosas Tautas Demokrātiskā Republika"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Latvija"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libāna"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesoto"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Libērija"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Lībija"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Lihtenšteina"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lietuva"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luksembruga"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Makao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "MADAGASKARA"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malāvija"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaizija"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldīvija"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Māršala salas"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinika"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURITĀNIJA"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURĪCIJA"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Meksika"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronēzija"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldova"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monako"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolija"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Melnkalne"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrata"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Maroka"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambika"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Mjanma"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMĪBIJA"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepāla"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Nīderlande"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Jaunkaledonija"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Jaunzēlande"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nikaragva"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Nigēra"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigērija"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Ziemeļu Marianas salas"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Novēģija"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Omāna"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistāna"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua-Jaungvineja"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paragvaja"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipīnas"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polija"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugāle"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puertoriko"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Katara"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rumānija"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Krievijas Federācija"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Svētās Helēnas sala"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Sentkitsa un Nevisa"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Sentlūsija"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Senpjēra un Mikelona"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Sentvinsenta un Grenadīnas"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "Sanmarīno"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Santome un Prinsipi"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saūda Arābija"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegāla"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbija"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seišelu salas"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sjerraleone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapūra"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sintmārtena"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovākija"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovēnija"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Zālamana salas"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somālija"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Dienvidāfrika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Spānija"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Šrilanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudāna"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinama"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Svazilenda"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Zviedrija"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Šveice"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Sīrijas Arābu Republika"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taivāna"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadžikistāna"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzānija"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Taizeme"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Bijusī Dienvidslāvijas Republika Maķedonija"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidāda un Tobāgo"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunisija"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turcija"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistāna"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Tērksas un Kaikosas salas"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraina"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Apvienotie Arābu Emirāti"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Lielbritānijas un Ziemeļīrijas Apvienotā Karaliste"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Amerikas Savienotās Valstis"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "ASV Virdžīnu salas"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Urugvaja"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistāna"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikāna pilsētvalsts"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venecuēla"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vjetnama"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Volisa un Futunas salas"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jemena"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambija"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabve"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobilā tālruņa numurs (mājas)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobilā tālruņa numurs (darba)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Saglabāts mapē"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importēt no SD kartes"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grupa un grupas dalībnieki"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s saglabāts mapē %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Šis kontakts tiks dzēsts"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Fotoattēls"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Zvanītājs"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Dublējums"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Tikai grupu"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Jauna grupa"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Atlasīt grupu"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "2. mobilais"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Pievienots"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Pārvietots"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Izvēlēts"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Atcelt"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Atmiņa pilna"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Noņemts"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Meklēt"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Aizvērt"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Izdzēsts"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Kļūda"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Zvans"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Nav SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Izv. visu"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Neizdevās"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Veiksmīgi"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Saglabāt"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Pievienot kontaktus"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Palīga vārds"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Dzēst grupu"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Grupas nosaukums"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Grupas zv.sign"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Ierakstīt video"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Aizstāt"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Ātrā numura sastādīšana"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Ziņa"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Iestatīt zvana signālu"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Visi kontakti"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Uzņēmums"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Kontaktu rediģēšana"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Iegūt e-pasta ziņu"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Iegūt numuru"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Nav grupas"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Dalībnieks"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Iestatīt attēlu"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Speed dial not in use"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Dzēst kontaktus"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Rediģēt grupas"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-pasts"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Pievienot izlasēm"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Rediģēt grupas dalībnieku"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Tukšs"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Saglabāt kontaktu"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Izvēlēties kontaktu"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Pievienot grupu"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Atmiņa pilna"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Noņem..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Nevar pievienot kontaktu grupai"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Atjaunināt"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Atcelt"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Kontakti"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopēt"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Izveidot"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-pasts"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Ziņa"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Pārvietot"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Tālrunis"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Nezināms"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videozvans"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Dzēst"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Gatavs"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Rediģēt"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "Labi"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Sūtīt kontaktinformāciju"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Meklēt Exchange serveri"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Vārds, uzvārds"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Uzvārds, vārds"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Lai atvērtu citus laukus, pieskarieties pogai labajā pusē"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/mk.po b/po/mk.po
deleted file mode 100644
index 138c9bb..0000000
--- a/po/mk.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Таст."
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Омилени"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Брзи повици"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Говорна пошта"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Дневници"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Нема број за брзо бирање. Назначи сега?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Неуспешно барање"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Успешно барање"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "SOS повик"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Нема дневници"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Нема омилени"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Пораката е избришана"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Надмината е максималната должина за телефонски број"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Се бришат дневниците..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Се бришат омилените..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Се иницира. Обидете се подоцна..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Исклучен звук"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Вклучен звук"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Претходен екран"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Назад на повикот"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Дојдовен повик"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Појдовен повик"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Пропуштен повик"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Пратена порака"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Примена порака"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Одбиен повик"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Блокиран повик"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Измени број пред повик"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Прати e-mail"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Одбери дневници"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Изберете контакти за брзо бирање"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Одблок."
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Смени контакт"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Додај пауза од %d секунди"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Додај чекање"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Пропушт."
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Излез"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Одредено"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Мобилен"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Дома"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Работа"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Факс (домашен)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Факс (Работа)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Број на помошникот"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Пејџер"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Друго"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Телефон"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Факс"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Телефон во автомобил"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Домашен 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Главен број на фирмата"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Радио"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Сите записи"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Не е назначено"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Услужен број"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Телефон"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Групи"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Основно"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Тон на ѕвонење"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Страница на интернет"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-mail"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Број"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Забелешка"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Поштенска адреса"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Детали"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Фирма"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Редослед за прикажување на имињата"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Сопствен број"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Име"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Презиме"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Татково име"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Наставка"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Прекар"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Извези контакти"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Избери контакти"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Поштенски број"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Држава"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Подрачје"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Град"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Улица"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Сочувано во %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Често контактирани"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Копирано"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Извезено"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Се бришат контакти..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Се преместува..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Се копира..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Се увезуваат контактите од SIM-от..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Се увезуваат контакти од vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Се извезуваат контакти во %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vcard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Се чита vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Увезено"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Нема"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Сите поврзани контакти"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Поврзани контакти"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Работно место"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Оддел"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Име на група"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Додај сметка"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Се додаваат членови во групата..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Прикажи"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d контакти"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Преименувај"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Врска"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Нема истории"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Нема активности"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Се додава..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Дополнителни податоци"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Поштенски фах"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Држава"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Пријатели"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Семејство"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Колеги"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Работа"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Шема на вибрации"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Постави како основно"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Настан"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Сподели информации за контакт"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 контакт"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Извези во SIM-картичка"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Информ."
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Историја"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Активности"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Групна порака"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Групен email"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Организация"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Нема име"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Погрешна email адреса"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Пополнете барем уште едно поле освен името"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Не можеше да се пристапи до базата"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Веќе е додадено"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Името на групата веќе се користи"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Без група"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Нема број"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Нема адреси за email"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Нема записи"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM memory empty"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Надминат е максималнот број записи"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Погрешен број"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Меморијата на SIM е полна"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Може да увезете контакти од SIM-картичката на телефонот во Опции > Увези "
-"контакти или да синхронизирате со контакти од сметка на интернет преку "
-"Сметки во Опции"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Нема дневници. Откако ќе упатите или примите повик или ќе пратите или "
-"примите порака, ќе се прикажат дневниците"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Не може да се пратат визит-картички"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Означи како основен број"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Означи како основен email"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Слика"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Фотографирај"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Избриши фотографија"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Додај на основниот екран"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Сочувај запис во"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Меморирај во"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Увези контакти од SIM-от"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Првo името"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Прво презимето"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Прикажи"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Прикриј"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Прати картичка со име"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Нова група"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Избери група"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Увези контакти"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Поврзи контакт"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Отповрзи"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Сите поврзани контакти ќе се избришат"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Додај во Омилени"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Измени група"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Дод. член"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Додај во група"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Додај во Омилени"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Непознато"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Роденден"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Годишнина"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Недела"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Понеделник"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Вторник"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Среда"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Четврток"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Петок"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Сабота"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Помошник"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Брат"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Дете"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Домашен партнер"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Татко"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Пријател"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Управник"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Мајка"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Родител"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Партнер"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Препорачано од"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Роднина"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Сестра"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Сопруг/а"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "Инстант-пораки"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Повеќе информации"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Авганистан"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Албанија"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Алжир"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Американска Самоа"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Андора"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Ангола"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Ангвила"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Антигва и Барбуда"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Аргентина"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Ерменија"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Аруба"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Австралија"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Австралиски надворешни територии"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Австрија"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Азербејџан"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Бахамски острови"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Бахрејн"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Бангладеш"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Барбадос"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Белорусија"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Белгија"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Белизе"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Бенин"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Бермуди"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Бутан"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Боливија"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Бонер, Синт Евстатиј и Саба"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Босна и Херцеговина"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Боцвана"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Бразил"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Британски Девствени острови"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Брунеј Дарусалам"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Бугарија"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Буркина Фасо"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Бурунди"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Камбоџа"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Камерун"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Канада"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Капе Верде"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Кајмански острови"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Централно-африканска Република"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Чад"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Чиле"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Кина"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Колумбија"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Коморос"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Конго"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Кукови острови"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Костарика"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Брег на Слоновата Коска"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Хрватска"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Куба"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Куракао"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Кипар"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Чешка Република"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Демократска Народна Република Кореја"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Демократска Република Конго"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Тимор-Лесте"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Данска"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Диего Гарсија"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Џибути"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Доминика"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Доминиканска република"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Еквадор"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Египет"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Ел Салвадор"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Екваторијална Гвинеја"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Еритреја"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Естонија"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Етиопија"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Фолкландски острови"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Фарски острови"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Фиџи"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Финска"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Француски Јужни Територии"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Француска Гвајана"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Француска Полинезија"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Габон"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Гамбија"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Џорџија"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Германија"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Гана"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Гибралтар"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Greece"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Гренланд"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Гренада"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Гвадалупе"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Гвам"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Гватемала"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Гвинеја"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Гвинеја Бисао"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Гвајана"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Хаити"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Хондурас"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Хонгконг"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Унгарија"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Исланд"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Индија"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Индонезија"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Меѓународна услуга за бесплатни разговори"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Меѓународна услуга за врвна цена (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Меѓународна услуга за делен трошок (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Иран"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Ирак"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Ирска"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Израел"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Јамајка"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Јапонија"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Јордан"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Казахстан"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Кенија"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Кирибати"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Кореја"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Кувајт"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Киргистан"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Народна Демократска Република Лао"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Летонија"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Либан"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Лесото"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Либерија"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Либија"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Лихтенштајн"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Литванија"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Луксембург"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Макао"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Мадагаскар"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Малави"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Малезија"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Малдиви"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Мали"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Малта"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Маршалски острови"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Мартиник"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Мавританија"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Маврициус"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Мексико"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Микронезија"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Молдавија"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Монако"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Монголија"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Црна Гора"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Монсерат"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Мароко"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Мозамбик"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Мијанмар"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Намибија"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Науру"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Непал"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Холандија"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Нова Каледонија"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Нов Зеланд"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Никарагва"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Нигер"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Нигерија"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Ниуе"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Северно Маријански острови"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Норвешка"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Оман"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Пакистан"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Палау"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Панама"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Папуа Нова Гвинеја"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Парагвај"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Перу"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Филипини"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Полска"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Порторико"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Катар"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Романија"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Руска Федерација"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Руанда"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Света Елена"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Сент Китс и Невис"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Санта Лучија"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Сен Пјер и Микелон"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Св. Винсент и Гренадински острови"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Самоа"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "Сан Марино"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Сао Томе и Принципе"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Саудиска Арабија"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Сенегал"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Србија"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Сејшелски острови"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Сиера Леоне"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Сингапур"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Сан Мартан"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Словачка"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Словенија"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Соломонови острови"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Сомалија"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Јужна Африка"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Шпанија"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Шри Ланка"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Судан"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Суринам"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Свазиленд"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Шведска"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Швајцарија"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Сириска Арапаска Република"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Тајван"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Таџикистан"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Танзанија"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Телекомуникации за помош при катастрофи (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Тајланд"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Македонија"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Того"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Токелау"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Тонга"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Тринидад и Тобаго"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Тунис"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Турција"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Туркменистан"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Острови Туркс и Каикос"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Тувалу"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Уганда"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Украина"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Обединети Арапски Емирати"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Обединето Кралство на Велика Британија и Северна Ирска"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Соединети Американски Држави"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Девствени острови на САД"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Универзална Лична Телекомуникациска Услуга (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Уругвај"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Узбекистан"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Вануату"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Град-држава Ватикан"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Венецуела"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Виетнам"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Волис и Футуна"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Јемен"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Замбија"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Зимбабве"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Мобилен телефон (домашен)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Мобилен (Работа)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Меморирано во"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Увези од SD-картичка"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Група и членови"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s е сочувано во %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Овој контакт ќе се избрише"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Фотографија"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Повикувач"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Резервна копија"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Само група"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Нова група"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Избери група"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Мобилен 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Додадено"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Преместено"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Избрано"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Откажи"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Нема доволно меморија"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Отстрането"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Побарај"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Затвори"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Избришано"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Грешка"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Повик"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Нема SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Избери ги сите"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Неуспешно"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Успешно"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Сочувај"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Додај запис"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Име на помошникот"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Избриши група"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Име на група"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Ѕвон. за група"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Сними видео-запис"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Замени"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Брзи повици"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Порака"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Постави ѕвонење"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Сите записи"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Фирма"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Измени контакти"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Земи email"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Земи број"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Без група"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Учесник"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Одреди слика"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Брзото бирање не се користи"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Избриши контакти"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Измени групи"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Додај во омилени"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Измени група"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Празно"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Меморирај број"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Одберете контакт"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Додај група"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Меморијата е полна"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Отстранување..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Контактот не може да се додаде во групата"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Ажурирај"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Откажи"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Именик"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Копирај"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Ново"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Порака"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Премести"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Телефон"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Непознато"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Видео повик"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Избриши"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Готово"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Измени"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Прати детали за контакт"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Пребарај сервер Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Име Презиме"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Презиме Име"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "За повеќе полиња, допрете го копчето оддесно"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/nb.po b/po/nb.po
deleted file mode 100644
index cfa13e7..0000000
--- a/po/nb.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Tastatur"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favor."
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Hurtigtast"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Mobilsvar"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Logger"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Ingen hurtigvalgnummer. Tilordne et nå?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Forespørsel mislyktes"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Forespørsel vellykket"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Nødanrop"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Ingen logger"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Ingen favoritter"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Melding slettet"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Maksimal lengde på telefonnummer oversteget"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Sletter logger..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Sletter favoritter..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Initialiserer. Prøv igjen senere..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Lyd av"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Lyd på"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Forrige skjerm"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Tilbake til anrop"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Innkommende samtale"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Utgående anrop"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Ubesvart anrop"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Sendt melding"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Mottatt melding"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Avvist anrop"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Sperret anrop"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Rediger nummer før anrop"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Send e-post"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Velg logger"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Velg hurtigkontakter"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Opphev blokk."
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Endre kontakt"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Legg til %d sek pause"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Legg til ventetid"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Ubesvart"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Avslutt"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Egendefinert"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Hjem"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Arbeid"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Faks (hjem)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Faks (arbeid)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Assistents nummer"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Personsøker"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Annet"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Faks"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Biltelefon"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Hjem 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Hovedtelefon firma"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Alle kontakter"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Ikke tilordnet"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Tjenestenummer"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupper"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Standard"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Ringetone"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Webområde"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-post"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Nummer"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Notat"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Postadresse"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Detaljer"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Selskap"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Rekkefølge på visningsnavn"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Eget nummer"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Fornavn"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Etternavn"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Mellomnavn"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Suffiks"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Kallenavn"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Eksporter kontakter"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Velg kontakter"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Postnummer"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Land"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Region"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Sted"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Gate"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Lagret i %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Ofte kontaktet"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Kopiert"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Eksportert"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Sletter kontakter ..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Flytter..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopierer..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importerer SIM-kontakter..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importere kontakter fra vKort..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Eksportere kontakter til %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vKort"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Leser vKort..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importert"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Utilgjengelig"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Alle koblede kontakter"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Koblede kontakter"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Jobbtittel"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Avdeling"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Gruppenavn"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Legg til konto"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Legger til medlemmer i gruppe..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Vis"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d kontakter"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Endre navn"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relasjon"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Ingen poster"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Ingen aktiviteter"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Legger til..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Tilleggsinformasjon"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Postboks"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Stat"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Venner"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Familie"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Medarbeidere"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Arbeid"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Vibreringsmønster"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Angi standard"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Hendelse"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Del kontaktinformasjon"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 kontakt"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Eksporter til SIM-kort"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Historikk"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Aktiviteter"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Gruppemelding"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Gruppe-e-post"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Ingen navn"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Ugyldig e-postadresse"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Fyll ut minst ett felt i tillegg til navn"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Ingen tilgang til databasen"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Allerede lagt til"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Gruppenavn allerede i bruk"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Ingen grupper"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Ingen nummer"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Ingen e-postadresser"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Ingen kontakter"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM-minne tomt"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Maksimalt antall oppføringer oversteget"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Ugyldig nummer"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM-minne fullt"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Du kan importere kontakter fra SIM-kortet til telefonen i Innstillinger > "
-"Importer kontakter eller synkronisere med webkontokontakter med kontoer i "
-"innstillinger"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Ingen logger. Når du har ringt ut/mottatt et anrop eller sendt/mottatt en "
-"melding, vises logger"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Kan ikke sende visittkort"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Merk som standardnummer"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Merk som standard e-post"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Bilde"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Ta et bilde"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Fjern bilde"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Legg til på startskjerm"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Lagre kontakt i"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Lagre i"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importere SIM-kontakter"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Fornavn først"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Etternavn først"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Vis"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Skjul"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Send visittkort"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Opprett gruppe"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Velg gruppe"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Imp. kontakter"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Koble kontakt"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Koble fra"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Alle koblede kontakter vil bli slettet"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Legg til i Favoritter"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Rediger gruppe"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Tilf. medl."
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Legg til i gruppe"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Lagt til i Favoritter"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Ukjent"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Fødselsdag"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Årsdag"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Søndag"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Mandag"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Tirsdag"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Onsdag"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Torsdag"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Fredag"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Lørdag"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistent"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Bror"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Barn"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Samboer"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Far"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Venn"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Leder"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mor"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Forelder"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Henvist av"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Slektning"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Søster"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Ektefelle"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Mer informasjon"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghanistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algerie"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Amerikansk Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua og Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Australias eksterne territorier"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Østerrike"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Aserbajdsjan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Hviterussland"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgia"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius og Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia og Herzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "De britiske jomfruøyene"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambodsja"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Kapp Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Caymanøyene"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Den sentralafrikanske republikk"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Kina"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Komorene"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cook-øyene"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Elfenbenskysten"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Kroatia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curacao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Kypros"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Den tsjekkiske republikk"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Den demokratiske folkerepublikken Korea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Den demokratiske republikken Kongo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor-Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danmark"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Den dominikanske republikk"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egypt"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Ekvatorial-Guinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estland"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falklandsøyene"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Færøyene"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finland"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Frankrike"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "De franske sørterritorier"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Fransk Guiana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Fransk Polynesia"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Tyskland"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Hellas"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grønland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hongkong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Ungarn"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Island"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irland"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italia"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japan"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordan"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kasakhstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgisistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Den demokratiske folkerepublikken Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Latvia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libya"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Litauen"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxemburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaysia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldivene"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshalløyene"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritania"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauritius"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexico"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldova"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marokko"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mosambik"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMIBIA"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Nederland"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "New Caledonia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "New Zealand"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Nord-Marianene"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norge"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua New Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filippinene"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polen"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Romania"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Den russiske føderasjon"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Saint Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "St. Kitts og Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint-Pierre-et-Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent og Grenadinene"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome og Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudi-Arabia"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychellene"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapore"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Saint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovakia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Solomon-øyene"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Sør-Afrika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Spania"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Sverige"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Sveits"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Den arabiske republikk Syria"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadsjikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thailand"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Den tidligere jugoslaviske republikken Makedonia"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad og Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunisia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Tyrkia"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks- og Caicosøyene"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraina"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "De forente arabiske emirater"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Storbritannia og Nord-Irland"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "USA"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "De amerikanske Jomfruøyene"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Usbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikanstaten"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis og Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobil (hjem)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobil (arbeid)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Lagret i"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importer fra SD-kort"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Gruppe og gruppemedlemmer"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s lagret i %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Denne kontakten vil bli slettet"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Foto"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Tastatur"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Sikkerhetskopiering"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Bare gruppe"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Ny gruppe"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Velg gruppe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobil 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Lagt til"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Flyttet"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Valgt"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Avbryt"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Ikke nok minne"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Fjernet"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Søk"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Lukk"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Slettet"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Feil"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Ring"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Mangler SIM-kort"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Merk alt"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Det oppstod en feil"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Fullført"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Lagre"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Legg til kontakter"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Assistents navn"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Slett gruppe"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Gruppenavn"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Grupperingetone"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Spill inn video"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Erstatt"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Hurtigtast"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Meld."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Velg som ringetone"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Alle kontakter"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Selskap"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Rediger kontakter"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Hent e-post"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Hent nummer"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Ingen grupper"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Deltaker"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Angi bilde"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Kortnummer er ikke i bruk"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Slett kontakter"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Rediger grupper"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-post"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Legg til i favoritter"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Rediger gruppe"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Tom"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Lagre kontakt"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Velg kontakt"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Ny gruppe"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Minnet er fullt"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Tar bort..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Kan ikke legge til kontakt i gruppe"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Oppdater"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Avbryt"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Kontakter"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopier"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Opprett"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-post"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Melding"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Flytt"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Ukjent"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videoanrop"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Slett"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Utført"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Rediger"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Send kontaktinformasjon"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Søk Exchange server"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Fornavn Etternavn"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Etternavn Fornavn"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "For flere felt trykker du på knappen til høyre"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/nl_NL.po b/po/nl_NL.po
deleted file mode 100644
index c4160e9..0000000
--- a/po/nl_NL.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Toetsen- bord"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favo- rieten"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Snelkiezen"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Voicemail"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Logbestanden"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Geen snelkiesnummer. Nu toewijzen?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Aanvraag mislukt"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Verzoek geaccepteerd"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Noodoproep"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Geen gegevens"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Geen favorieten"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Bericht is verwijderd"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Maximale lengte telefoonnummer overschreden"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Logbestanden verwijderen..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Favorieten verwijderen..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Bezig met initialiseren. Probeer het later..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Geluid uit"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Geluid aan"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Vorig scherm"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Terug naar oproep"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Inkomende oproep"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Uitgaande oproep"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Gemiste oproep"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Verzonden bericht"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Bericht ontvangen"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Geweigerde oproep"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Geblokk. oproep"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Nummer bewerken voor oproep"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "E-mail verzenden"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Logbestanden selecteren"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Snelkiesnummers voor contacten selecteren"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Ontgrendelen"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Contact wijzigen"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "%d sec pauze toevoegen"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Wachttijd toevoegen"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Gemist"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Sluiten"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Aangepast"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobiel"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Privé"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Zakelijk"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (privé)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (werk)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Nummer assistent"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pieper"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Overige"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefoon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Autotelefoon"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Privé 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Hoofdnummer bedrijf"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Alle contacten"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Niet toegewezen"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Servicenummer"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefoon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Groepen"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Sjabloon"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Beltoon"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Website"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-mail"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Nummer"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Notitie"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Postadres"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Gegevens"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Bedrijf"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Weergavevolgorde"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Eigen nummer"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Voornaam"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Achternaam"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Tweede naam"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Suffix"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Bijnaam"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Contacten exporteren"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Contacten selecteren"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Postcode"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Land"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Provincie"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Plaats"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Straat"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Opgeslagen in %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Frequent contact"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Gekopieerd"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Geëxporteerd"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Contacten verwijderen..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Verplaatsen..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopiëren..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Contacten op SIM importeren..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Contacten importeren van vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Contacten exporteren naar %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "vCard lezen..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Geïmporteerd"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N.v.t."
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Alle gekopp. contacten"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Gekoppelde contacten"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Functie"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Afdeling"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Groepsnaam"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Account toevoegen"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Leden toevoegen aan groep..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Weergeven"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contacten"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Naam wijzigen"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relatie"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Geen geschiedenis"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Geen activiteiten"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Toevoegen..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Extra info"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Postbus"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Provincie"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Vrienden"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Familie"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Medewerkers"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Zakelijk"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Trilpatroon"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Instellen als standaard"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Gebeurtenis"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Contactgegevens delen"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contact"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Exporteren naar SIM-kaart"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Geschiedenis"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Activiteiten"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Groepsbericht"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Groepse-mail"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Geen naam"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Ongeldig e-mailadres"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Vul ten minste één veld en een naam in"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Kan geen toegang krijgen tot database"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Al toegevoegd"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Groepsnaam bestaat al"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Geen groep"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Geen nummer"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Geen e-mailadressen"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Geen contactpersonen"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM-geheugen leeg"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Maximumaantal items overschreden"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Ongeldig getal"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM-geheugen vol"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"U kunt contacten van uw SIM-kaart importeren in de telefoon met Instellingen "
-"> Contacten importeren of synchroniseren met webaccountcontacten via "
-"accounts in Instellingen"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Geen logbestanden. Nadat u belt/wordt gebeld of een bericht verzendt/"
-"ontvangt, worden logbestanden weergegeven"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Kan geen visitekaartjes verzenden"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Markeren als standaardnummer"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Markeren als standaard e-mailadres"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Afbeelding"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Foto maken"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Foto verwijderen"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Toevoegen aan startscherm"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Contact opslaan in"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Opslaan in"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Contacten vanaf SIM-kaart importeren"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Voornaam eerst"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Achternaam eerst"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Tonen"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Verberg."
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Visitekaartje verzenden"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Nieuwe groep"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Groep selecteren"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Contct. import."
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Contactpersoon koppelen"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Koppeling opheffen"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Alle gekoppelde contacten worden verwijderd"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Toevoegen aan favorieten"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Groep bewerken"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Nw lid"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Toevoegen aan groep"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Toegevoegd aan favorieten"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Onbekend"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Verjaardag"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Verjaardag"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Zondag"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Maandag"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Dinsdag"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Woensdag"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Donderdag"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Vrijdag"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Zaterdag"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistent"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Broer"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Kind"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Medebewoner"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Vader"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Vriend"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Manager"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Moeder"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Ouder"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Doorverwezen door"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Verwant"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Zus"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Partner"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Meer informatie"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghanistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albanië"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algerije"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Amerikaans-Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua en Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentinië"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenië"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australië"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Australian External Territories"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Oostenrijk"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbeidzjan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahama's"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrein"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Wit-Rusland"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "België"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "BENIN"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius en Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnië en Herzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazilië"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Maagdeneilanden (Brits)"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgarije"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Cambodja"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kameroen"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Kaapverdië"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Caymaneilanden"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Centraal Afrikaanse Republiek"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "TSJAAD"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chili"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "China"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "COMOREN"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cookeilanden"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Ivoorkust"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Kroatië"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Cyprus"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Tsjechische Republiek"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Democratische Volksrepubliek Korea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Democratische Republiek Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Oost-Timor"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Denemarken"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominicaanse Republiek"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egypte"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Jadida"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Equatoriaal Guinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estland"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Ethiopië"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falklandeilanden"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Faerøer"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finland"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Frankrijk"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Zuidelijke Franse gebiedsdelen"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Frans-Guyana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Frans-Polynesië"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgië"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Duitsland"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Griekenland"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Groenland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Granada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinee-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haïti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Hongarije"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "IJsland"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesië"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Ierland"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israël"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italië"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japan"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordanië"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazachstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Koeweit"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgizië"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Democratische Volksrepubliek Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Letland"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libië"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Litouwen"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxemburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "MADAGASCAR"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Maleisië"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldiven"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshall-eilanden"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURITANIË"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURITIUS"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexico"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronesia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavië"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolië"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marokko"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMIBIË"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Nederland"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nieuw-Caledonië"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nieuw-Zeeland"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "NIGER"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Noordelijke Marianen"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Noorwegen"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papoea-Nieuw-Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipijnen"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polen"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Roemenië"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Russische Federatie"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Saint Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts en Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre et Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent en de Grenadines"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tomé en Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudi-Arabië"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Servië"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychellen"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapore"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slowakije"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenië"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Salomonseilanden"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalië"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Zuid-Afrika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Spanje"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Soedan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Zweden"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Zwitserland"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Syrische Arabische Republiek"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadzjikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thailand"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Voormalige Joegoslavische Republiek Macedonië"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad en Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunesië"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turkije"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks- en Caicoseilanden"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Oeganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Oekraïne"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Verenigde Arabische Emiraten"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Verenigd Koninkrijk en Noord-Ierland"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Verenigde Staten van Amerika"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Verenigde Staten Maagdeneilanden"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Oezbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vaticaanstad"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis en Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobiel (privé)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobiel (werk)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Opgeslagen in"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importeren van SD-kaart"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Groep en groepsleden"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s opgeslagen in %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Deze contactpersoon wordt verwijderd"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Foto"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Kiezer"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Back-up"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Alleen groep"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Nieuwe groep"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Groep selecteren"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobiel 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Toegevoegd"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Verplaatst"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Geselecteerd"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Annuleren"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Onvoldoende geheugen"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Verwijderd"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Zoeken"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Sluiten"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Verwijderd"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Fout"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Oproep"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Geen SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Alles selecteren"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Mislukt"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Voltooid"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Opslaan"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Contactpersoon toevoegen"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Naam assistent"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Groep verwijderen"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Groepsnaam"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Groepsbeltoon"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Video opnemen"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Vervangen"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Snelkiezen"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Ber."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Beltoon instellen"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Alle contacten"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Bedrijf"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Contacten bewerken"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "E-mail ophalen"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Nummer ophalen"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Geen groep"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Deelnemer"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Beeld instellen"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Snelkiesnummer niet in gebruik"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Contacten verwijderen"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Groepen bewerken"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Toevoegen aan favorieten"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Groep bewerken"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Leeg"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Contact opslaan"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Contactpersoon selecteren"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Groep toevoegen"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Geheugen vol"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Verwijderen..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Kan contact niet toevoegen aan groep"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Bijwerken"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Annul."
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Contacten"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopiëren"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Nieuw"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Bericht"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Verplaatsen"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefoon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Onbekend"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Video-oproep"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Wissen"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Gereed"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Bewerken"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Contactgegevens verzenden"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Exchange-server zoeken"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Voornaam Achternaam"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Achternaam Voornaam"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Tik voor meer velden op de knop rechts"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/phone.pot b/po/phone.pot
deleted file mode 100644
index 3ad7af2..0000000
--- a/po/phone.pot
+++ /dev/null
@@ -1,771 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr ""
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr ""
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr ""
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr ""
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr ""
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr ""
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr ""
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr ""
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr ""
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr ""
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr ""
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr ""
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr ""
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr ""
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr ""
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr ""
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr ""
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr ""
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr ""
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr ""
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr ""
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr ""
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr ""
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr ""
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr ""
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr ""
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr ""
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr ""
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr ""
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr ""
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr ""
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr ""
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr ""
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr ""
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr ""
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr ""
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr ""
-
-msgid "IDS_CST_POP_DELETE"
-msgstr ""
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr ""
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr ""
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr ""
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr ""
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr ""
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr ""
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr ""
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr ""
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr ""
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr ""
-
-msgid "IDS_REMOVE"
-msgstr ""
-
-msgid "IDS_CREATE_CONTACT"
-msgstr ""
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr ""
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr ""
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr ""
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr ""
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr ""
-
-msgid "IDS_CALLS"
-msgstr ""
-
-msgid "IDS_MESSAGES"
-msgstr ""
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr ""
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr ""
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr ""
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr ""
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr ""
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr ""
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr ""
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr ""
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr ""
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr ""
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr ""
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr ""
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr ""
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr ""
-
-msgid "IDS_PB_BODY_HOME"
-msgstr ""
-
-msgid "IDS_PB_BODY_WORK"
-msgstr ""
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr ""
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr ""
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr ""
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr ""
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr ""
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr ""
-
-msgid "IDS_PB_BODY_FAX"
-msgstr ""
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr ""
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr ""
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr ""
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr ""
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr ""
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr ""
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr ""
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr ""
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr ""
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr ""
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr ""
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr ""
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr ""
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr ""
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr ""
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr ""
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr ""
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr ""
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr ""
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr ""
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr ""
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr ""
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr ""
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr ""
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr ""
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr ""
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr ""
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr ""
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr ""
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr ""
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr ""
-
-msgid "IDS_PB_BODY_CITY"
-msgstr ""
-
-msgid "IDS_PB_BODY_STREET"
-msgstr ""
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr ""
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr ""
-
-msgid "IDS_PB_POP_COPIED"
-msgstr ""
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr ""
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr ""
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr ""
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr ""
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr ""
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr ""
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr ""
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr ""
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr ""
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr ""
-
-msgid "IDS_COM_BODY_NA"
-msgstr ""
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr ""
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr ""
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr ""
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr ""
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr ""
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr ""
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr ""
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr ""
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr ""
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr ""
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr ""
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr ""
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr ""
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr ""
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr ""
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr ""
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr ""
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr ""
-
-msgid "IDS_PB_BODY_STATE"
-msgstr ""
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr ""
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr ""
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr ""
-
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr ""
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr ""
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr ""
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr ""
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr ""
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr ""
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr ""
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr ""
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr ""
-
-msgid "IDS_PB_SK3_INFO"
-msgstr ""
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr ""
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr ""
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr ""
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr ""
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr ""
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr ""
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr ""
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr ""
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr ""
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr ""
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr ""
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr ""
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr ""
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr ""
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr ""
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr ""
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr ""
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr ""
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr ""
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr ""
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr ""
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr ""
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr ""
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr ""
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr ""
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr ""
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr ""
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr ""
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr ""
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr ""
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr ""
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr ""
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr ""
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr ""
-
-msgid "IDS_ST_SK_SHOW"
-msgstr ""
-
-msgid "IDS_ST_SK_HIDE"
-msgstr ""
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr ""
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr ""
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr ""
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr ""
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr ""
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr ""
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr ""
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr ""
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr ""
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr ""
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr ""
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr ""
-
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr ""
-
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr ""
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr ""
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr ""
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr ""
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr ""
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr ""
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr ""
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr ""
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr ""
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr ""
-
-msgid "IDS_PB_OPT_QQ"
-msgstr ""
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr ""
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr ""
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr ""
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr ""
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr ""
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr ""
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr ""
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr ""
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr ""
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr ""
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr ""
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr ""
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr ""
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr ""
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr ""
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr ""
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr ""
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr ""
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr ""
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr ""
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr ""
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr ""
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr ""
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr ""
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr ""
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr ""
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr ""
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr ""
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr ""
diff --git a/po/pl.po b/po/pl.po
deleted file mode 100644
index 7274446..0000000
--- a/po/pl.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Klawiat."
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Ulubione"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Szybkie wybieranie"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Poczta głosowa"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Raporty"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Brak numerów szybkiego wybierania. Przypisać teraz?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Błąd żądania"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Żądanie zakończone powodzeniem"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Połączenie alarmowe"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Brak wpisów"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Brak ulubionych"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Wiadomość usunięta"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Przekroczono maksymalną długość numeru telefonu"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Usuwanie dzienników..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Usuwanie ulubionych..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Inicjowanie. Spróbuj później..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Dźwięk wyłączony"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Dźwięk włączony"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Poprzed. ekran"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Powrót do połączenia"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Połączenie"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Połączenie wychodzące"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Połączenie nieodebrane"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Wysłano wiadomość"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Odebrano wiadomość"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Połącz. odrzucone"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Zablok. połączenie"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Edytuj numer"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Wyślij e-mail"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Wybór dzienników"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Wybierz kontakty szybkiego wybierania"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Odblok."
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Zmień kontakt"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Dodaj %d s przerwy"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Dodaj oczekiwanie"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Nieodebrane"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Wyjdź"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Niestand."
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Komórkowy"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Domowy"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Praca"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Faks (prywatny)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Faks (praca)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Numer zastępcy"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pager"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Inne"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Faks"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Telefon w samochodzie"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Domowy 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Główny telefon firmowy"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio FM"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Wszystkie kontakty"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Nieprzypisane"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Numery usług"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupy"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Domyślnie"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Dzwonek"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Strona WWW"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-mail"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Numer"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Notatka"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Adres pocztowy"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Szczegóły"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Firma"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Kolejność wyświetlania nazw"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Własne numery"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Imię"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Nazwisko"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Drugie imię"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Nick"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Pseudonim"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Eksportuj kontakty"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Wybierz kontakty"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Kod pocztowy"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Kraj"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Okręg"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Miasto"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Ulica"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Zapisano w %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Często wybierane"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Skopiowano"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Wyeksportowano"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Usuwanie kontaktów..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Przenoszenie..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopiowanie..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importowanie kontaktów z karty SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importowanie kontaktów z wizytówki..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Eksportowanie kontaktów do %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vWizytówka"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Odczytywanie wizytówki..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Zaimportowane"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Brak"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Wsz. podłącz. kontakty"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Podłączone kontakty"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Stanowisko"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Dział"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Nazwa grupy"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Dodaj konto"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Dodawanie członków do grupy..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Podgląd"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "Kontaktów: %d"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Zmień nazwę"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Związek"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Brak historii"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Brak aktywności"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Dodawanie..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Dodatkowe informacje"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Skrzynka pocztowa"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Województwo"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Przyjaciele"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Rodzina"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Współpracownicy"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Praca"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Wzór wibracji"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Ustaw jako domyślne"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Wydarzenie"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Udostępnij informacje kontaktowe"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 kontakt"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Eksportuj na kartę SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Inform."
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Historia"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Aktywność"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Wiadomość grupowa"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Grupowa wiadomość e-mail"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Bez nazwy"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Nieprawidłowy adres e-mail"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Wypełnij co najmniej jedno pole i podaj imię"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Nie można uzyskać dostępu do bazy danych"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Już dodano"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Nazwa grupy już istnieje"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Brak grupy"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Brak numeru"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Brak adresów e-mail"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Brak kontaktów"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Pamięć SIM pusta"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Przekroczono maksymalną liczbę pozycji"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Nieprawidłowy numer"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Pamięć SIM pełna"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Kontakty można importować z karty SIM do telefonu, klikając kolejno opcje "
-"Ustawienia > Importuj kontakty, lub synchronizować z kontaktami konta, "
-"używając kont w ustawieniach"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Brak dzienników. Po wykonaniu/odebraniu połączenia lub wysłaniu/odebraniu "
-"wiadomości pojawi się dziennik"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Nie można wysłać wizytówek"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Zaznacz jako numer domyślny"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Zaznacz jako domyślny adres e-mail"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Obraz"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Zrób zdjęcie"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Usuń zdjęcie"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Dodaj do ekranu początkowego"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Zapisz kontakt w"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Zapisz w"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importuj kontakty z karty SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Najpierw imię"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Najpierw nazwisko"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Pokaż"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Ukryj"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Wyślij wizytówkę"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Utwórz grupę"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Wybierz grupę"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Importuj kont."
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Podłącz kontakt"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Odłącz"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Wszystkie podłączone kontakty zostaną usunięte"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Dodaj do ulubionych"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Edytuj grupę"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Dod. czł."
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Dodaj do grupy"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Dodano do ulubionych"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Nieznana"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Urodziny"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Rocznica"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Niedziela"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Poniedziałek"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Wtorek"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Środa"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Czwartek"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Piątek"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Sobota"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Asystent"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Brat"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Dziecko"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Partner życiowy"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Ojciec"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Przyjaciel"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Kierownik"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Matka"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Rodzic"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Z polecenia"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Krewny"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Siostra"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Małżonek"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "Adres URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "Komunikator"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Więcej informacji"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algieria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Samoa Amerykańskie"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andora"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua i Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentyna"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Australijskie Terytoria Zależne"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbejdżan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamy"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrajn"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesz"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Białoruś"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgia"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermudy"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Boliwia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius i Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bośnia i Hercegowina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazylia"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Brytyjskie Wyspy Dziewicze"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bułgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambodża"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Wyspy Zielonego Przylądka"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Kajmany"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Republika Środkowo-Afrykańska"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Czad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Chiny"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kolumbia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Komory"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Wyspy Cooka"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Kostaryka"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Wybrzeże Kości Słoniowej"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Chorwacja"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Cypr"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Czechy"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Koreańska Republika Ludowo-Demokratyczna"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Republika Demokratyczna Kongo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor Wschodni"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Dania"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Dżibuti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominika"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikana"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ekwador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egipt"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Salwador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Gwinea Równikowa"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Erytrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falklandy"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Wyspy Owcze"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidżi"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlandia"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Francja"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Francuskie Terytoria Południowe"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Gujana Francuska"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Polinezja Francuska"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Niemcy"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grecja"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grenlandia"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Gwadelupa"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Gwatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Gwinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Gwinea Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Gujana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hongkong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Węgry"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islandia"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Indie"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonezja"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlandia"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Izrael"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Włochy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamajka"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japonia"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordania"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazachstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenia"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwejt"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Laotańska Republika Ludowo-Demokratyczna"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Łotwa"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Liban"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libia"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Litwa"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luksemburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Makao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "MADAGASKAR"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malezja"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Malediwy"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Wyspy Marshalla"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martynika"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURETANIA"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURITIUS"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Meksyk"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronezja"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Mołdawia"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monako"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Czarnogóra"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Maroko"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambik"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Birma"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Holandia"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nowa Kaledonia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nowa Zelandia"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nikaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Mariany Północne"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norwegia"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Nowa Gwinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paragwaj"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipiny"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polska"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugalia"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Portoryko"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Katar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rumunia"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Federacja Rosyjska"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Święta Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts i Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint-Pierre i Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent i Grenadyny"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Wyspy Świętego Tomasza i Książęca"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Arabia Saudyjska"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seszele"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Słowacja"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Słowenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Wyspy Salomona"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Republika Południowej Afryki"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Hiszpania"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Suazi"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Szwecja"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Szwajcaria"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Syryjska Republika Arabska"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Tajwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadżykistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tajlandia"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Była Jugosłowiańska Republika Macedonii"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trynidad i Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunezja"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turcja"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks i Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraina"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Zjednoczone Emiraty Arabskie"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Zjednoczone Królestwo Wielkiej Brytanii i Irlandii Północnej"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Stany Zjednoczone"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Wyspy Dziewicze Stanów Zjednoczonych"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Urugwaj"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Państwo Watykańskie"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Wenezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Wietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis i Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Komórkowy (prywatny)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Telefon komórkowy (praca)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Zapisano w"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importuj z karty pamięci"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grupy i członkowie grup"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "Plik %s został zapisany w katalogu %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Kontakt zostanie usunięty"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Zdjęcie"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Wybier."
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Backup"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Tylko grupa"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Nowa grupa"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Wybierz grupę"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Komórkowy 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Dodano"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Przeniesiono"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Wybrane"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Anuluj"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Brak pamięci"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Usunięto"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Szukaj"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Zamknij"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Usunięto"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Błąd"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Połączenie"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Brak karty SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Zaznacz wszystko"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Błąd"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Zakończono"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Zapisz"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Dodaj kontakty"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Nazwisko zastępcy"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Usuń grupę"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Nazwa grupy"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Dzwonek grupy"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Nagraj film"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Zastąp"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Szybkie wybieranie"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Wiad."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Ustaw sygnał dzwonka"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Wszystkie kontakty"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Firma"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Edytuj kontakty"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Pobierz e-mail"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Pobierz numer"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Brak grupy"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Uczestnik"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Ustaw obraz"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Szybkie wybieranie nie jest używane"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Usuń kontakty"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Edytuj grupy"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Dodaj do Ulubionych"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Edytuj grupę"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Pusta"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Zapisz kontakt"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Wybierz kontakt"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Dodaj grupę"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Pamięć pełna"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Usuwanie..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Nie można dodać kontaktu do grupy"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Uaktualnij"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Anuluj"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Kontakty"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopiuj"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Utwórz"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Wiadomość"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Przenieś"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Nieznana"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Połączenie wideo"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Usuń"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Gotowe"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Edytuj"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Wyślij szczegóły kontaktu"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Szukaj na serwerze Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Imię Nazwisko"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Nazwisko Imię"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Dotknij przycisku po prawej stronie, aby wyświetlić więcej pól"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/poManager b/po/poManager
deleted file mode 100755
index 29d745c..0000000
--- a/po/poManager
+++ /dev/null
@@ -1,141 +0,0 @@
-#!/bin/bash
-
-usage()
-{
- echo "Usage: `basename $0` [-h|--help] [-l|--line] [-f|--file] [-m|--message] [-d|--delete]
- -h, --help Show this message.
- -l, --line Add line to end of each file
- -f, --file Append text file to each *.po file
- -m, --message Add message <msgid \"...\" msgstr \"...\">
- -d, --delete Delete n lines in all files
-
- Samples:
-
- To add line feed run: <`basename $0` -l>
-
- <`basename $0` -m PRESS_THE_BUTTON 'Press the button'> will add the following text:
- msgid \"PRESS_THE_BUTTON\"
- msgstr \"Press the button\"
-
- Delete command ignores the last line feed in files. So if you have file with:
- 1
- 2
- 3
-
- <`basename $0` -d 2> converts file to:
- 1
-
- Delete and add message command automatically inserts line feed"
-}
-
-
-add_from_file()
-{
- local TEMP_FILE="$1"
-
- for FILE in *.po
- do
- local LAST_LINE=`tail -1 "$FILE"`
- if [ "$LAST_LINE" != "$LF" ]
- then
- echo "$LF" >> "$FILE"
- fi
- cat "$TEMP_FILE" >> "$FILE"
- done
-}
-
-get_temp_file()
-{
- local TEMP_FILE=temp
- while [ -f "$TEMP_FILE" ]
- do
- TEMP_FILE+="_tmp"
- done
- echo "$TEMP_FILE"
-}
-
-add_line()
-{
- for FILE in *.po ;
- do
- echo "$1" >> "$FILE" ;
- done
-}
-
-add_message()
-{
- TEMP_FILE=$(get_temp_file)
- echo "msgid \""$1"\"" > "$TEMP_FILE"
- echo "msgstr \""$2"\"" >> "$TEMP_FILE"
- echo "$LF" >> "$TEMP_FILE"
- add_from_file "$TEMP_FILE"
- rm "$TEMP_FILE"
-}
-
-del_n_lines_from_tail_one_file()
-{
- local FILE="$1"
- local LINES_COUNT="$2"
- local LAST_LINE=`tail -1 "$FILE"`
- if [ "$LAST_LINE" = "$LF" ]
- then
- LINES_COUNT="$[$2+1]"
- fi
- local TEMP_FILE=$(get_temp_file)
- head -n "-$LINES_COUNT" "$FILE" > "$TEMP_FILE"
- echo "$LF" >> "$TEMP_FILE"
- mv "$TEMP_FILE" "$FILE"
-}
-
-del_n_lines_from_tail()
-{
- local LINES_COUNT="$1"
- for FILE in *.po
- do
- del_n_lines_from_tail_one_file "$FILE" "$LINES_COUNT"
- done
-}
-
-if [ -z "$1" ]
-then
- usage
- exit 0
-else
- ACT="$1"
- VAL="$2"
- case $ACT in
- -f|--file)
- if [ ! -f "$VAL" ]
- then
- echo "File does not exist"
- else
- add_from_file "$VAL"
- fi
- ;;
- -l|--line)
- add_line "$VAL"
- ;;
- -m|--message)
- if [ -z "$VAL" ]
- then
- echo "Enter '<msgid> <msgstr>'"
- else
- add_message "$2" "$3"
- fi
- ;;
- -d|--delete)
- if [ -z "$VAL" ]
- then
- echo "Enter count of lines"
- else
- del_n_lines_from_tail "$VAL"
- fi
- ;;
- -h|--help)
- ;&
- *)
- usage
- exit 1
- ;;
- esac
-fi
diff --git a/po/pt_BR.po b/po/pt_BR.po
deleted file mode 100644
index 95e9713..0000000
--- a/po/pt_BR.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Teclado"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favoritos"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Discagem rápida"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Caixa Postal"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Registros"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Nenhum número de discagem rápida. Atribuir um agora?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Falha na solicitação"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Êxito na solicitação"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Chamada de emergência"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Nenhum registro"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Nenhum favorito"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Mensagem apagada"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Tamanho máximo do número de telefone excedido"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Excluindo logs..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Excluindo favoritos..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Inicializando. Tente mais tarde..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Desligar som"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Ligar som"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Tela anterior"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Voltar à chamada"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Chamada recebida"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Chamada efetuada"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Chamada Perdida"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Mensagem enviada"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Mensagem recebida"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Chamada recusada"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Chamada bloqueada"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Editar nº antes de chamar"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Enviar e-mail"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Selecionar logs"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Selecionar contatos de discagem rápida"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Desbloquear"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Alterar contatos"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Adicionar pausa de %d segundos"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Adicionar espera"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Perdidas"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Sair"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Personalizar"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Celular"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Início"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Trabalho"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (casa)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (Trabalho)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Número do assistente"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pager"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Outros"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefone"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Telefone do carro"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Casa 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Principal da empresa"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Rádio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Todos os contatos"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Não atribuído"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Nº de serviços"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefone"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupos"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Padrão"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Toque"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Site da Web"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-mail"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Número"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Nota"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Endereço postal"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Detalhes"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Empresa"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Ordem de exibição"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Meu número"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Primeiro nome"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Sobrenome"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Segundo nome"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Sufixo"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Apelido"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Exportar contatos"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Selecionar contatos"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Código postal"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "País"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Província"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Cidade"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Rua"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Salvo em %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Contatado com frequência"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Copiado"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exportado"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Apagando contatos..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Movendo…"
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Copiando..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importando contatos do cartão SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importando contatos do vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Exportando contatos para %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "Cartão de visita"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Lendo cartão de visita..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importado"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/A"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Todos contat. ligados"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Contatos associados"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Título do trabalho"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Departamento"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Nome do grupo"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Adicionar conta"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Adicionando membros ao grupo..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Ver"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contatos"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Renomear"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relacionamento"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Nenhum histórico"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Nenhuma atividade"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Adicionando..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Informações adicionais"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Caixa postal"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Estado"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Amigos"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Família"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Colegas de trabalho"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Trabalho"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Padrão de vibração"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Definir padrão"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Evento"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Compartilhar info. de contato"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contato"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Exportar para cartão SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Histórico"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Atividades"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Mensagem de grupo"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "E-mail de grupo"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Sem nome"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Endereço de e-mail inválido"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Preencher pelo menos um campo, bem como o nome"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Falha ao acessar a base de dados"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Já adicionado"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Nome de grupo já utilizado"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Nenhum grupo"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Sem número"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Nenhum endereço de e-mail"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Sem contatos"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Memória do SIM vazia"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Número máximo de entradas excedido"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Número inválido"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Memória SIM cheia"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Você pode importar contatos do cartão SIM para o telefone em Definições > "
-"Importar contatos ou sincronizar com contatos de conta Web utilizando as "
-"contas nas configurações"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Sem registros. Após fazer/receber uma chamada ou enviar/receber uma "
-"mensagem, os registros serão exibidos"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Impossível enviar cartões de visita"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Marcar como número padrão"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Marcar como e-mail padrão"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Imagem"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Tirar uma foto"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Remover foto"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Adicionar à tela principal"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Salvar contatos no"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Salvar em"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importar contatos SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Nome próprio primeiro"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Sobrenome primeiro"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Exibir"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Ocultar"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Enviar cartão de visita"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Criar grupo"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Selecionar grupo"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Importar Contatos"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Associar contato"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Desassociar"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Todos os contatos associados serão apagados"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Adicionar aos favoritos"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Editar grupo"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Adic. membro"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Adicionar ao grupo"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Adicionar aos favoritos"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Desconhecido"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Aniversário"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Data comemorativa"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Domingo"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Segunda"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Terça"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Quarta"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Quinta"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Sexta"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Sábado"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistente"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Irmão"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Criança"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Parceiro local"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Pai"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Amigo"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Gerenciador"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mãe"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Pais"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Parceiro"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Mencionado por"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Relativo"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Irmã"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Esposa"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Mais informações"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afeganistão"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albânia"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Argélia"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Samoa Americana"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguila"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antígua e Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Arménia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Austrália"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territórios externos australianos"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Áustria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaijão"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Bielorrússia"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Bélgica"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "BENIM"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermudas"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Butão"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolívia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Santo Eustáquio e Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bósnia e Herzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Ilhas Virgens Britânicas"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgária"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Camboja"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Camarões"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canadá"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cabo Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Ilhas Caimã"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "República Central Africana"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Tchade"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "China"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colômbia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "COMORES"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Ilhas Cook"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Costa do Marfim"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croácia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Chipre"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "República Tcheca"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "República Popular Democrática da Coreia"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "República Democrática do Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor-Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Dinamarca"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Jibuti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "República Dominicana"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Equador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egito"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Guiné Equatorial"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritreia"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estônia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiópia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Ilhas Falkland"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Ilhas Faroe"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlândia"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Francês"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territórios Franceses do Sul"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Guiana Francesa"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Polinésia Francesa"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabão"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gâmbia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Geórgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Alemanha"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Gana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grécia"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Groenlândia"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Granada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadalupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guiné"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guiné Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guiana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Hungria"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islândia"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Índia"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonésia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Serviço de chamadas internacionais gratuitas"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Serviço internacional de tarifa majorada (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Serviço de chamadas internacionais de custo compartilhado (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Irã"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Iraque"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlanda"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Itália"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japão"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordânia"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Cazaquistão"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Quênia"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Quiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Coreia"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Quirguistão"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Letônia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Líbano"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesoto"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Libéria"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Líbia"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lituânia"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxemburgo"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macau"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malásia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldivas"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Ilhas Marshall"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinica"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritânia"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Ilhas Maurício"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "México"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronésia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldávia"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Mônaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongólia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marrocos"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Moçambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMÍBIA"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Holanda"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nova Caledônia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nova Zelândia"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicarágua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Níger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigéria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Ilhas Mariana do Norte"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Noruega"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Omã"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Paquistão"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panamá"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Nova Guiné"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguai"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipinas"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polônia"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Porto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Romênia"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Federação Russa"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Santa Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "São Cristóvão e Neves"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Santa Lúcia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre e Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "São Vicente e Granadinas"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "São Tomé e Príncipe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Arábia Saudita"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Sérvia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seicheles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Serra Leoa"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapura"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Eslováquia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Eslovênia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Ilhas Salomão"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somália"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "África do Sul"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Espanha"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudão"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Suazilândia"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Suécia"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Suíça"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "República Árabe da Síria"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tajiquistão"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzânia"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tailândia"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Antiga República Iugoslava da Macedônia"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trindade e Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunísia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turquia"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turquemenistão"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Ilhas Turcas e Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ucrânia"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Emirados Árabes Unidos"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Reino Unido da Grã-Bretanha e Irlanda do Norte"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Estados Unidos da América"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Ilhas Virgens dos Estados Unidos"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguai"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbequistão"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Estado da Cidade do Vaticano"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnã"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis e Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Iêmen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zâmbia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabue"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Celular (casa)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Celular (Trabalho)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Salvo em"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importar do cartão de memória"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grupo e membros do grupo"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s salvo em %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Este contato será apagado"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Foto"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Discador"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Backup"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Apenas grupo"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Novo grupo"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Selecionar grupo"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Celular 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Adicionado"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Movido"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Selecionado"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Cancelar"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Memória insuficiente"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Removido"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Pesquisar"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Fechar"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Apagado"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Erro"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Chamada"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Sem Cartão SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Selecionar tudo"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Falhou"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Sucesso"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Salvar"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Adicionar contatos"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Nome do assistente"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Apagar grupo"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Nome do grupo"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Toque do grupo"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Gravar vídeo"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Substituir"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Discagem rápida"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Mens."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Definir toque"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Todos os contatos"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Empresa"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Editar contatos"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Obter e-mail"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Obter número"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Nenhum grupo"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Participante"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Definir imagem"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "A discagem rápida não está em uso"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Apagar contatos"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Editar grupos"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Adicionar aos favoritos"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Editar grupo"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Vazio"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Salvar contato"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Selecionar contato"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Adicionar grupo"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memória cheia"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Apagando..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Impossível adicionar contato ao grupo"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Atualizar"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Cancelar"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Contatos"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Copiar"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Criar"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Mensagem"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Mover"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefone"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Desconhecido"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videochamada"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Apagar"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Concluído"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Editar"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Enviar detalhes de contato"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Procurar servidor Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Nome Sobrenome"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Sobrenome Nome"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Para obter mais campos, toque no botão à direita"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/pt_PT.po b/po/pt_PT.po
deleted file mode 100644
index 7be2640..0000000
--- a/po/pt_PT.po
+++ /dev/null
@@ -1,1772 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Teclado"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favorit."
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Marcação rápida"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Correio de voz"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Registos"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Nenhum número de marcação rápida. Atribuir um agora?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Pedido falhou"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Sucesso do pedido"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Chamada de emergência"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Nenhum registo"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Nenhuns favoritos"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Mensagem apagada"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Comprimento máximo do número de telefone excedido"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "A eliminar registos..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "A eliminar favoritos..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "A iniciar. Tente mais tarde..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Som desactivado"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Som activado"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Ecrã anterior"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Regressar à chamada"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Chamada recebida"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Chamada efectuada"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Chamada não atendida"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Mensagem enviada"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Mensagem recebida"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Chamada rejeitada"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Chamada bloqueada"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Editar número antes da chamada"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Enviar e-mail"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Seleccionar registos"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Seleccionar contactos de marcação rápida"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Desbloq."
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Trocar contacto"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Adicionar pausa de %d segundos"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Adicionar espera"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Perdidas"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Sair"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Personalizar"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Telemóvel"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Pessoal"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Empresa"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (casa)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (Trabalho)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Número do assistente"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pager"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Outro"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefone"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Telefone do automóvel"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Casa 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Principal da empresa"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Rádio FM"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Todos os contactos"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Não atribuído"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Número do serviço"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefone"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupos"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Padrão"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Tom de toque"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Site da Web"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-mail"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Número"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Nota"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Endereço postal"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Detalhes"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Empresa"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Ordem do nome de apresentação"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Número próprio"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Nome próprio"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Apelido"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Segundo nome"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Sufixo"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Pseudónimo"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Exportar contactos"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Seleccionar contactos"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Código postal"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "País"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Província"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Cidade"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Rua"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Guardado em %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Frequentemente contactados"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Copiado"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exportado"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "A eliminar contactos..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "A mover..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "A copiar..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "A importar contactos SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "A importar contactos do vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "A exportar contactos para %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "A ler vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importado"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/A"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Todos contact. ligados"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Contactos ligados"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Título"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Departamento"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Nome do grupo"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Adicionar conta"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "A adicionar membros ao grupo..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Ver"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contactos"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Mudar nome"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relação"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Nenhuns históricos"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Nenhumas actividades"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "A adicionar..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Informações adicionais"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Caixa postal"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Estado"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Amigos"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Família"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Colegas de trabalho"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Empresa"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Padrão da vibração"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Definir padrão"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Evento"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Partilhar informações de contacto"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contacto"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Exportar para cartão SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Histórico"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Actividades"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Mensagem de grupo"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "E-mail de grupo"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Sem nome"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Endereço de e-mail inválido"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Preencher pelo menos um campo, bem como o nome"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Falha ao aceder à base de dados"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Já adicionado"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Nome do grupo já existente"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Nenhum grupo"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Sem número"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Nenhuns endereços de e-mail"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Sem contactos"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Memória do SIM vazia"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Número máximo de entradas excedido"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Número inválido"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Memória do SIM cheia"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Pode importar contactos do cartão SIM para o telefone em Definições > "
-"Importar contactos ou sincronizar com contactos de conta Web utilizando as "
-"contas nas definições"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Sem registos. Depois de efectuar/receber uma chamada ou de enviar/receber "
-"uma mensagem, são mostrados registos"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Impossível enviar cartões de visita"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Marcar como número padrão"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Marcar como e-mail padrão"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Imagem"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Tirar uma fotografia"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Remover foto"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Adicionar ao ecrã principal"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Guardar contacto em"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Guardar em"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importar contactos SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Nome próprio primeiro"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Apelido primeiro"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Mostrar"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Ocultar"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Enviar cartão de visita"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Criar grupo"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Seleccionar grupo"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Import. contac."
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Ligar contacto"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Desligar"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Todos os contactos ligados serão apagados"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Adicionar aos Favoritos"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Editar grupo"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Ad membro"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Adicionar a grupo"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Adicionar aos favoritos"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Desconhecido"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Data de nascimento"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Aniversário"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Domingo"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Segunda-feira"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Terça-feira"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Quarta-feira"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Quinta-feira"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Sexta-feira"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Sábado"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistente"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Irmão"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Criança"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Parceiro domést."
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Pai"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Amigo"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Gestor"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mãe"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Progenitor"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Parceiro"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Referido por"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Parente"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Irmã"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Esposa"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "MI"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Mais informações"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afeganistão"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albânia"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Argélia"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Samoa Americana"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguila"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antígua e Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Arménia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Austrália"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territórios Exteriores Australianos"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Áustria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaijão"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Baamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Bielorrússia"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Bélgica"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "BENIM"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermudas"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Butão"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolívia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Santo Eustáquio e Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bósnia e Herzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Ilhas Virgens Britânicas"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgária"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Camboja"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Camarões"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canadá"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cabo Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Ilhas Caimão"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "República Central Africana"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "TCHADE"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "China"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colômbia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "COMOROS"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Ilhas Cook"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Costa do Marfim"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croácia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçau"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Chipre"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "República Checa"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "República Popular Democrática da Coreia"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "República Democrática do Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Dinamarca"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Jibuti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "República Dominicana"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Equador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egipto"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Guiné Equatorial"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritreia"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estónia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiópia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Ilhas Falkland"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Ilhas Faroé"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlândia"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Territórios Franceses do Sul"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Guiana Francesa"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Polinésia Francesa"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabão"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gâmbia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Geórgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Alemanha"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Gana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grécia"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Gronelândia"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Granada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadalupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guiné"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guiné-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guiana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Hungria"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islândia"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Índia"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonésia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Serviço de chamadas gratuitas internacionais"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Serviço de chamadas de valor acrescentado internacionais (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Serviço de chamadas de custo partilhado internacionais (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Irão"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Iraque"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlanda"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japão"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordânia"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Cazaquistão"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Quénia"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Quiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Coreia"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Quirguizistão"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "República Democrática Popular do Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Letónia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Líbano"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesoto"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Libéria"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Líbia"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lituânia"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxemburgo"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macau"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "MADAGÁSCAR"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malásia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldivas"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Ilhas Marshall"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinica"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURITÂNIA"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURÍCIAS"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "México"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronésia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldávia"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Mónaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongólia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marrocos"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Moçambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMÍBIA"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Holanda"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nova Caledónia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nova Zelândia"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicarágua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "NÍGER"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigéria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Ilhas Marianas do Norte"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Noruega"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Omã"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Paquistão"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panamá"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Nova Guiné"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguai"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipinas"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polónia"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Porto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Roménia"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Federação Russa"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Santa Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "São Cristóvão e Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Santa Lúcia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "São Pedro e Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "São Vicente e Granadinas"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "São Marinho"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "São Tomé and Príncipe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Arábia Saudita"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Sérvia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seicheles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Serra Leoa"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapura"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Eslováquia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Eslovénia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Ilhas Salomão"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somália"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "África do Sul"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Espanha"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudão"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Suazilândia"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Suécia"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Suíça"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "República Árabe da Síria"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tajiquistão"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzânia"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecomunicações para assistência em catástrofes (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tailândia"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "A antiga República Jugoslava da Macedónia"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trindade e Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunísia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turquia"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turquemenistão"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Ilhas Turcas e Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ucrânia"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Emiratos Árabes Unidos"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Reino Unido da Grã-Bretanha e da Irlanda do Norte"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Estados Unidos da América"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Ilhas Virgens dos Estados Unidos"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Serviço de telecomunicações pessoal universal (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguai"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbequistão"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Estado da Cidade do Vaticano"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietname"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis e Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Iémen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zâmbia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabué"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Telemóvel (casa)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Telemóvel (Trabalho)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Guardado em"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importar do cartão SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grupo e membros do grupo"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s guardado em %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Este contacto será eliminado"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Foto"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Marcador"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Cóp. segur."
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Só grupo"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Novo grupo"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Seleccionar grupo"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Telemóvel 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Adicionado"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Movido"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Seleccionado"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Cancelar"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Cartão SD cheio"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Removido"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Procurar"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Fechar"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Eliminado"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Erro"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Ligar"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Sem SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Selec. tudo"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Falha"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Concluído"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Guardar"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Adicionar contactos"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Nome do assistente"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Eliminar grupo"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Nome do grupo"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Tom toque grupo"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Gravar vídeo"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Substituir"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Marcação rápida"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Msg."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Definir tom de toque"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Todos os contactos"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Empresa"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Editar contactos"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Obter e-mail"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Obter número"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Nenhum grupo"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Participante"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Definir imagem"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Marcação rápida não utilizada"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Eliminar contactos"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr ""
-#~ "Editar\n"
-#~ "grupos"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Adicionar aos favoritos"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Editar grupo"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Vazio"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Guardar contacto"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Seleccionar contacto"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Adicionar grupo"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memória cheia"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "A remover..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Impossível adicionar contacto ao grupo"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Actualizar"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Canc."
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Contactos"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Copiar"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Criar"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Mensagem"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Mover"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefone"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Desconhecido"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Vídeochamada"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Eliminar"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Concluído"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Editar"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Enviar detalhes de contacto"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Procurar servidor Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Nome Apelido"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Apelido Nome"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Para obter mais campos, toque no botão à direita"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/ro.po b/po/ro.po
deleted file mode 100644
index c2237f4..0000000
--- a/po/ro.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Tastat."
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favorite"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Apelare rapidă"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Mesagerie vocală"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Jurnale"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Nu există niciun număr de apelare rapidă. Alocaţi unul acum?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Solicitare nereuşită"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Solicitare reuşită"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Apel de urgenţă"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Nu există jurnale"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Niciun element favorit"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Mesaj şters"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Lungimea maximă a numărului de telefon a fost depăşită"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Se şterg jurnalele..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Se şterg favoritele..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Se iniţializează. Încercaţi mai târziu..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Sunet oprit"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Sunet activat"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Ecranul anterior"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Înapoi la apel"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Apel de intrare"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Apel de ieşire"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Apel pierdut"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Mesaj trimis"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Mesaj primit"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Apel respins"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Apel blocat"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Editare număr înainte de apelare"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Trimitere email"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Selectare jurnale"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Selectare contacte pentru apelare rapidă"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Debloc."
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Modificare contact"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Adăugare pauză de %d secunde"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Adăugare aşteptare"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Ratat"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Ieşire"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Particularizat"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Acasă"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Serviciu"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (Domiciliu)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (Serviciu)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Număr asistent"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pager"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Alte"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Telefon maşină"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Acasă 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Număr principal firmă"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Toate contactele"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Neatribuit"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Număr serviciu"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupuri"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Implicit"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Ton sonerie"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Site Web"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Email"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Număr"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Notă"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Adresă poştală"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Detalii"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Firmă"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Ordine afişare nume"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Număr propriu"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Nume"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Prenume"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Al doilea nume"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Sufix"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Pseudonim"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Export contacte"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Selectare contacte"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Cod poştal"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Ţară"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Provincie"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Oraş"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Stradă"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Salvat în %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Contactate frecvent"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Copiat"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exportat"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Se şterg contactele..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Mutare"
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Copiere..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Se importă contactele SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Se importă contactele de pe vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Se exportă contactele pe %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Se citeşte vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importat"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Nedisponibil"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Toate contact. conect."
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Contacte conectate"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Funcţie"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Departament"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Nume grup"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Adăugare cont"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Se adaugă membri la grup..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Vizualizare"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d contacte"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Redenumire"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relaţie"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Niciun istoric"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Nicio activitate"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Se adaugă..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Info suplimentare"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Căsuţă poştală"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Stat"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Prieteni"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Familie"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Colegi de muncă"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Serviciu"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Model vibraţie"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Setare valori implicite"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Eveniment"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Partajare informaţii de contact"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 contact"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Export pe cartela SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Inform."
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Istoric"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Activit."
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Mesaj grup"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "E-mail grup"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Nici un nume"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Adresă e-mail invalidă"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Completaţi minimum un câmp, precum şi numele"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Accesarea bazei de date a eşuat"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Deja adăugat"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Numele grupului deja în uz"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Niciun grup"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Nici un număr"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Nu există adrese e-mail"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Niciun contact"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Memorie SIM goală"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "S-a depăşit numărul maxim de intrări"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Număr incorect"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Memorie SIM plină"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Puteţi importa contacte din cartela SIM în telefon în Setări > Import "
-"contacte sau puteţi sincroniza cu contactele contului Web utilizând opţiunea "
-"Conturi din Setări"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Nu există niciun jurnal. După ce efectuaţi/primiţi un apel sau trimiteţi/"
-"primiţi un mesaj, vor fi afişate jurnalele"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Imposibil de trimis cărţile de vizită"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Marcare ca număr implicit"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Marcare ca e-mail implicit"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Imagine"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Fotografiere"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Eliminare foto"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Adăugare la ecranul de pornire"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Salvare contact în"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Salvare în"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Import contacte SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Mai întâi prenumele"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Mai întâi numele"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Afişare"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Ascundere"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Trimitere carte de vizită"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Creare grup"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Selectare grup"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Import contacte"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Conectare contact"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Anulare conectare"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Toate contactele conectate vor fi şterse"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Adăugare la Favorite"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Editare membru grup"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Ad. memb."
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Adăugare la grup"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Adăugare la favorite"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Necunoscut"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Zi de naştere"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Aniversare"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Duminică"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Luni"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Marţi"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Miercuri"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Joi"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Vineri"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Sâmbătă"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Asistent"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Frate"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Copil"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Partener intern"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Tată"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Prieten"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Manager"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mamă"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Părinte"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partener"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Denumit după"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Rudă"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Soră"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Soţ/Soţie"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Mai multe informaţii"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albania"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Samoa Americană"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua şi Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Teritoriile australiene externe"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaidjan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrein"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Belarus"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgia"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius şi Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia şi Herţegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazilia"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Insulele Virgine Britanice"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Cambodgia"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Camerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Capul Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Insulele Cayman"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Republica Centrafricană"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Ciad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "China"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Columbia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Comore"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Insulele Cook"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Coasta de Fildeş"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Croaţia"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Cuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curacao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Cipru"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Republica Cehă"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Republica Democratică Populară Coreeană"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Republica Democrată Congo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timorul de Est"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danemarca"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Republica Dominicană"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egipt"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Guineea Ecuatorială"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritreea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Insulele Falkland"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Insulele Faroe"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlanda"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Franta"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Teritoriile Franceze de Sud"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Guyana Franceză"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Polinezia Franceză"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Germania"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grecia"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Groenlanda"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadelupa"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guineea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Ungaria"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islanda"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonezia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Serviciul de telefonie internaţională gratuită"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Serviciul internaţional cu taxe premium (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Serviciul internaţional cu costuri partajate (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlanda"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italia"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japonia"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Iordania"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazahstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Coreea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuweit"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kârgâzstan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Republica Democratică Populară Lao"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Letonia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Liban"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libia"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lituania"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxemburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaezia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldive"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Insulele Marshall"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinica"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritania"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauritius"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexic"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Micronezia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldova"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Muntenegru"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Maroc"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambic"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Olanda"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Noua Caledonie"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Noua Zeelandă"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Insulele Mariane de Nord"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norvegia"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Noua Guinee"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipine"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polonia"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugalia"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "România"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Federaţia Rusă"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Sfânta Elena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts şi Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Sfânta Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre şi Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Sfântul Vincenţiu şi Grenadinele"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome şi Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Arabia Saudită"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbia"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychelles"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapore"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sfântul Martin"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovacia"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Insulele Solomon"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Africa de Sud"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Spania"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Suedia"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Elveţia"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Siria"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadjikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecomunicaţii pentru ajutor în caz de calamităţi (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thailanda"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Fosta Republică Iugoslavă a Macedoniei"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad şi Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunisia"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turcia"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Insulele Turks şi Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ucraina"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Emiratele Arabe Unite"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Regatul Unit al Marii Britanii şi Irlandei de Nord"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Statele Unite ale Americii"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Insulele Virgine Americane"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Serviciul universal de telecomunicaţii personale (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Oraşul-stat Vatican"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis şi Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobil (Domiciliu)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobil (Serviciu)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Salvată în"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Import de pe cartela SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grup şi membri ai grupului"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s a fost salvat în %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Acest contact va fi şters"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Fotografie"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Ec. apel."
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Copie de rezervă"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Numai grupul"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Grup nou"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Selectare grup"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobil 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Adăugat"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Mutat"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Selectat"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Anulare"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Memorie plină"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Eliminat"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Căutare"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Închidere"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Şters"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Eroare"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Apel"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Fără SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Selectare toate"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Nereuşit"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Succes"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Salvare"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Adăugare contacte"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Nume asistent"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Ştergere grup"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Nume grup"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Sonerie grup"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Înregistrare videoclip"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Înlocuire"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Apelare rapidă"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Mesaj"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Setare ton sonerie"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Toate contactele"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Firmă"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Editare contacte"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Obţinere e-mail"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Obţinere număr"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Niciun grup"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Participant"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Setare imagine"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Apelarea rapidă nu este în uz"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Ştergere contacte"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Editare grupuri"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Adăugare la favorite"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Editare membru grup"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Liber"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Salvare contact"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Selectare contact"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Adãugare grup"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memorie plină"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Eliminare..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Imposibil de adăugat contactul la grup"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Actualizare"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Anul."
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Contacte"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Copiere"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Creare"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Mesaj"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Mutare"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Necunoscut"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Apel video"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Ştergere"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Gata"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Editare"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Trimitere detalii de contact"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Căutare server Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Prenume Nume"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Nume Prenume"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Pentru mai multe câmpuri, atingeţi butonul din dreapta"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/ru_RU.po b/po/ru_RU.po
deleted file mode 100644
index 68d1d1d..0000000
--- a/po/ru_RU.po
+++ /dev/null
@@ -1,1772 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Клавиатура"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Избранное"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Быстрый набор"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Голосовая почта"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Журналы"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Нет номеров быстрого набора. Назначить номер?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Сбой запроса"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Запрос успешно выполнен"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Экстренный вызов"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Нет журналов"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Нет избранных"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Сообщение удалено"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Превышена максимальная длина номера телефона"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Удаление журналов..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Удаление избранного..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Инициализация. Повторите попытку позже..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Звук выкл."
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Звук вкл."
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Предыдущий экран"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Вернуться к вызову"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Входящий вызов"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Исходящий вызов"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Пропущенный вызов"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Отправленное сообщение"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Полученное сообщение"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Отклоненный вызов"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Заблокиров. вызов"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Изменить номер перед вызовом"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Несохраненный"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Удалить %d журнал(ов)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Удалить"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Создать контакт"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Номер по умолчанию"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Отослать контакт как текст"
-
-msgid "IDS_CALLS"
-msgstr "Звонки"
-
-msgid "IDS_MESSAGES"
-msgstr "Сообщения"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Отправить E-mail"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Выбрать журналы"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Выбрать контакты для быстрого набора"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Разблокировать"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Изменить контакт"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Добавить паузу %d сек."
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Добавление ожидания"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Пропущенные"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Выход"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Создать свой"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Мобильный"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Домашний"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Рабочий"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Факс (домашний)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Факс (рабочий)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Номер телефона помощника"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Пейджер"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Другой"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Телефон"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Факс"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Телефон в машине"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Домашний 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Основной рабочий"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Радио"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Все контакты"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Не назначено"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Служебный номер"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Телефон"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Группы"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "По умолчанию"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Мелодия звонка"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Веб-сайт"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-mail"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Номер"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Заметка"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Почтовый адрес"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Свойства"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Компания"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Сортировка контактов"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Мой номер"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Имя"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Фамилия"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Отчество"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Суффикс"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Псевдоним"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Экспорт контактов"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Выберите контакты"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Почтовый индекс"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Страна"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Область"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Город"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Улица"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Сохранено в %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Частые контакты"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Скопировано"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Экспортировано"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Удаление контактов..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Перемещение..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Копирование..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Импорт контактов с SIM-карты..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Импорт контактов из vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Экспорт контактов в %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Чтение vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Импортировано"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Н/Д"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Все связанные контакты"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Связанные контакты"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Добавить другое поле"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Должность"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Отдел"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Имя группы"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Добавить уч. запись"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Добавление участников в группу..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Просмотреть"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "Контактов: %d"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Переименовать"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Отношения"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Нет журналов"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Нет событий"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Добавление..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Дополнительные сведения"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "П/Я"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Состояние"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Друзья"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Семья"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Коллеги"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Работа"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Пример вибровызова"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "По умолч."
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Событие"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Отправить контактные сведения"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 контакт"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Экспорт на SIM-карту"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Сведения"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Журнал"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "История"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Сообщение группы"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Эл. почта группы"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Организация"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Нет имени"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Неправильный адрес эл. почты"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Заполните как минимум одно поле, а также укажите имя"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Сбой при доступе к базе данных"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Уже добавлено"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Имя группы уже используется"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Группа отсутствует"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Нет номера"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Нет адресов электронной почты"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Нет контактов"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr ""
-"Память SIM-карты\n"
-"пуста"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Максимальное число записей превышено"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Неправильный номер"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Память SIM-карты заполнена"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Можно импортировать контакты с SIM-карты на телефон в меню Параметры > "
-"Импорт контактов или выполнить синхронизацию с контактами из учетной записи "
-"в веб-службе с помощью меню Параметры> Уч. записи"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Нет журналов. Выполняемые и принимаемые вызовы, а также отправляемые и "
-"получаемые сообщения добавляются в журналы"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Не удалось отправить визитки"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Сделать номером по умолчанию"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Отметить как адрес по умолчанию"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Картинка"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Сделать фото"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Удалить фото"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Добавить на главный экран"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Сохранить контакт"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Сохранить в"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Импортировать контакты с SIM-карты"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Сначала имя"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Сначала фамилия"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Показать"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Скрыть"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Отправить визитку"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Создать группу"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Выберите группу"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Импорт контактов"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Связать контакт"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Отменить связь"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Все связанные контакты будут удалены"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Добавить в Избранное"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Изменить"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Доб.конт."
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Добавить в группу"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Добавлено в избранное"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Неизвестно"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "День рождения"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Годовщина"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Воскресенье"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Понедельник"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Вторник"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Среда"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Четверг"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Пятница"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Сyббота"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Помощник"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Брат"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Ребенок"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Партнер"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Отец"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Друг"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Менеджер"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Мать"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Родители"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Партнер"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Рекомендация"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Родственник"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Сестра"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Супруг(а)"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Контакт заблокирован"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Контакт разблокирован"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Разблокировать контакт"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "Чат"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Подробнее"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Афганистан"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Албания"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Алжир"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Американское Самоа"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Андорра"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Ангола"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Ангилья"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Антигуа и Барбуда"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Аргентина"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Армения"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Аруба"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Австралия"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Австралийские внешние территории"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Австрия"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Азербайджан"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Багамы"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Бахрейн"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Бангладеш"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Барбадос"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Беларусь"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Бельгия"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Белиз"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Бенин"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Бермудские острова"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Бутан"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Боливия"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Бонайре, Синт-Эстатиус и Саба"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Босния и Герцеговина"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Ботсвана"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Бразилия"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Британские Виргинские острова"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Бруней Даруссалам"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Болгария"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Буркина-Фасо"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Бурунди"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Камбоджа"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Камерун"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Канада"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Кабо-Верде"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Каймановы острова"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Центрально-Африканская Республика"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Чад"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Чили"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Китай"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Колумбия"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Коморы"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Конго"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Острова Кука"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Коста-Рика"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Кот-д’Ивуар"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Хорватия"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Куба"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Кюрасао"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Кипр"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Чешская Республика"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Корейская Народно-Демократическая Республика"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Демократическая Республика Конго"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Восточный Тимор"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Дания"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Диего-Гарсия"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Джибути"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Доминика"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Доминиканская Республика"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Эквадор"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Египет"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Сальвадор"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Экваториальная Гвинея"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Эритрея"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Эстония"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Эфиопия"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Фолклендские острова"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Фарерские острова"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Фиджи"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Финляндия"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Франция"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Французские Южные Территории"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Французская Гвиана"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Французская Полинезия"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Габон"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Гамбия"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Джорджия"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Германия"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Гана"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Гибралтар"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Греция"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Гренландия"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Гренада"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Гваделупа"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Гуам"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Гватемала"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Гвинея"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Гвинея-Бисау"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Гайана"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Гаити"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Гондурас"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Гонконг"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Венгрия"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Исландия"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Индия"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Индонезия"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Иран"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Ирак"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Ирландия"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Израиль"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Италия"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Ямайка"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Япония"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Иордан"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Казахстан"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Кения"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Кирибати"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Корея"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Кувейт"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Киргизия"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Лаосская Народно-Демократическая Республика"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Латвия"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Ливан"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Лесото"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Либерия"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Ливия"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Лихтенштейн"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Литва"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Люксембург"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Макао"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Мадагаскар"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Малави"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Малайзия"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Мальдивы"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Мали"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Мальта"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Маршалловы острова"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Мартиника"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "МАВРИТАНИЯ"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Маврикий"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Мексика"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Микронезия"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Молдова"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Монако"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Монголия"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Черногория"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Монсеррат"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Марокко"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Мозамбик"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Мьянма"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Намибия"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Науру"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Непал"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Нидерланды"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Новая Каледония"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Новая Зеландия"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Никарагуа"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Нигер"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Нигерия"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Ниуэ"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Северные Марианские острова"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Норвегия"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Оман"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Пакистан"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Палау"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Панама"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Папуа — Новая Гвинея"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Парагвай"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Перу"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Филиппины"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Польша"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Португалия"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Пуэрто-Рико"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Катар"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Румыния"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Российская Федерация"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Руанда"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Остров Святой Елены"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Сент-Китс и Невис"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Сент-Люсия"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Сен-Пьер и Микелон"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Сент-Винсент и Гренадины"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Самоа"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "Сан-Марино"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Сан-Томе и Принсипи"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Саудовская Аравия"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Сенегал"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Сербия"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Сейшельские острова"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Сьерра-Леоне"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Сингапур"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Синт-Маартен"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Словакия"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Словения"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Соломоновы острова"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Сомали"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Южно-Африканская Республика"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Испания"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Шри-Ланка"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Судан"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Суринам"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Свазиленд"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Швеция"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Швейцария"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Сирийская Арабская Республика"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Тайвань"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Таджикистан"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Танзания"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Таиланд"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Бывшая Югославская Республика Македония"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Того"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Токелау"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Тонга"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Тринидад и Тобаго"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Тунис"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Турция"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Туркменистан"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Острова Тёркс и Кайкос"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Тувалу"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Уганда"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Украина"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Объединенные Арабские Эмираты"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Соединенное Королевство Великобритании и Северной Ирландии"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "США"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Виргинские острова (США)"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Уругвай"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Узбекистан"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Вануату"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Ватикан"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Венесуэла"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Вьетнам"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Уоллис и Футуна"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Йемен"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Замбия"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Зимбабве"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Мобильный (домашний)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Мобильный (рабочий)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Сохранено в"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Импорт с карты памяти SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Группа и ее члены"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "Файл %s сохранен в %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Этот контакт будет удален"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Фото"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Набор"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Архивировать"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Только группа"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Новая группа"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Выберите группу"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Мобильный 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Добавлено"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Перемещено"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Выбрано"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Отмена"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Недостаточно памяти"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Удалено"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Поиск"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Закрыть"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Удалено"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Ошибка"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Вызов"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Нет SIM-карты"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Выбрать все"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Сбой"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Успешно"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Соxранить"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Добавить контакты"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Имя помощника"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Удалить группу"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Имя группы"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Мелодия группы"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Записать видео"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Заменить"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Быстрый набор"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Сбщ."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Установить мелодию вызова"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Все контакты"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Компания"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Изменить контакты"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Получить сведения об адресе эл. почты"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Получить сведения о номере"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Группа отсутствует"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Участник"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Выбрать изображение"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Быстрый набор не используется"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Удалить контакты"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Изменить группы"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Добавить в избранное"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Изменить"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Пусто"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Сохранить контакт"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Выбрать контакт"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Добавить группу"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Память заполнена"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Удаление..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Не удается добавить контакт в группу"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Обновить"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Отмена"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Контакты"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Копировать"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Создать"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Сообщение"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Переместить"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Телефон"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Неизвестно"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Видеовызов"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Удалить"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Готово"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Изменить"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "Да"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Отправить сведения о контакте"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Поиск на сервере Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Имя Фамилия"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Фамилия Имя"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Чтобы использовать другие поля, нажмите кнопку справа"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/sk.po b/po/sk.po
deleted file mode 100644
index f39ddc3..0000000
--- a/po/sk.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Klávesnica"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Obľúbené"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Rýchla voľba"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Hlasová pošta"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Denníky"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Žiadne číslo rýchlej voľby. Priradiť nejaké teraz?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Požiadavka sa nepodarila"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Žiadosť bola úspešná"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Tiesňový hovor"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Žiadne denníky"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Žiadne obľúbené položky"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Správa vymazaná"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Prekročila sa maximálna dĺžka telefónneho čísla"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Odstraňujú sa denníky..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Odstraňujú sa obľúbené položky..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Inicializuje sa. Skúste to neskôr..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Vypnúť zvuk"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Zapnúť zvuk"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Predch. obraz."
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Späť na hovor"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Prichádzajúci hovor"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Odchádzajúci hovor"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Zmeškaný hovor"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Odoslaná správa"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Prijatá správa"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Odmietnutý hovor"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Blokovaný hovor"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Upraviť číslo pred hovorom"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Odoslať e-mail"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Vybrať denníky"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Vybrať kontakty rýchlej voľby"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Odblokovať"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Zmeniť kontakt"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Pridať %d-sekundovú pauzu"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Pridať čakanie"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Zmeškané"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Koniec"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Vlastné"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobilné"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Domov"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Práca"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (domov)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (práca)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Číslo asistenta"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pager"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Ďalšie"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefón"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Autotelefón"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Domov 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Firemné hlavné"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Rádio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Všetky kontakty"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Nepriradené"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Číslo služby"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefón"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Skupiny"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Predvolený"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Zvonenie"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Webová lokalita"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-mail"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Číslo"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Poznámka"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Poštová adresa"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Podrobnosti"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Spoločnosť"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Poradie zobrazovania mien"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Vlastné číslo"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Meno"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Priezvisko"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Druhé krstné meno"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Titul za menom"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Prezývka"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Exportovať kontakty"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Vybrať kontakty"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "PSČ"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Krajina"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Kraj"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Mesto"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Ulica"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Uložené do %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Často kontaktované"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Skopírované"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exportované"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Odstraňujú sa kontakty..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Presúvanie..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopírovanie..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importujú sa kontakty karty SIM..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importujú sa kontakty z vizitky..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Exportujú sa kontakty do %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Číta sa vizitka..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importované"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Nedá sa použiť"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Všetky prep. kontakty"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Prepojené kontakty"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Pracovná funkcia"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Oddelenie"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Názov skupiny"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Pridať konto"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Pridávajú sa členovia do skupiny..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Zobraziť"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "Kontakty: %d"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Premenovať"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Vzťah"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Žiadne histórie"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Žiadne aktivity"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Pridávanie..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Ďalšie informácie"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Poštová schránka"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Štát"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Priatelia"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Rodina"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Spolupracovníci"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Práca"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Vzor vibrovania"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Predvoliť"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Udalosť"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Zdieľať kontaktné údaje"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 kontakt"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Exportovať na kartu SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Inform."
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "História"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Aktivity"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Skupinová správa"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Skupinový e-mail"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Žiadny názov"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Neplatná e-mailová adresa"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Vyplňte meno a aspoň jedno ďalšie pole"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Nepodarilo sa získať prístup k databáze"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Už pridané"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Názov skupiny už existuje"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Žiadna skupina"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Žiadne číslo"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Žiadne e-mailové adresy"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Žiadne kontakty"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Pamäť karty SIM je prázdna"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Prekročil sa maximálny počet položiek"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Neplatné číslo"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Pamäť SIM karty je plná"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Môžete importovať kontakty z karty SIM do telefónu v menu Nastavenia > "
-"Importovať kontakty alebo synchronizovať s kontaktmi webových kont použitím "
-"kont v nastaveniach"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Žiadne denníky. Po uskutočnení/prijatí hovoru alebo odoslaní/prijatí správy "
-"sa zobrazia denníky"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Vizitky sa nedajú odoslať"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Označiť ako predvolené číslo"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Označiť ako predvolený e-mail"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Obrázok"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Fotografovať"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Odstrániť fotografiu"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Pridať na úvodnú obrazovku"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Uložiť kontakt do"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Uložiť do"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importovať kontakty z karty SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Najprv krstné meno"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Najprv priezvisko"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Zobraziť"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Skryť"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Odoslať vizitku"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Vytvoriť skupinu"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Vyberte skupinu"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Imp. kontakty"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Prepojiť kontakt"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Zrušiť prepojenie"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Všetky prepojené kontakty sa vymažú"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Pridať do obľúbených"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Upraviť skupinu"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Pr. člena"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Pridať do skupiny"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Pridaný do obľúbených položiek"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Neznáme"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Narodeniny"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Výročie"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Nedeľa"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Pondelok"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Utorok"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Streda"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Štvrtok"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Piatok"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Sobota"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Asistent"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Brat"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Dieťa"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Domáci partner"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Otec"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Priateľ"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Manažér"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Matka"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Rodič"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Odporučil"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Príbuzný"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Sestra"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Manžel(ka)"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "Komunikátor"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Ďalšie informácie"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albánsko"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Alžírsko"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Americká Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguila"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua a Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentína"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Arménsko"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Austrália"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Austrálske externé územia"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Rakúsko"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbajdžan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamy"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrajn"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladéš"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Bielorusko"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgicko"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermudy"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bután"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolívia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius a Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosna a Hercegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazília"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Britské Panenské ostrovy"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Sultanát Brunej"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulharsko"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambodža"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Kapverdy"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Kajmanie ostrovy"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Stredoafrická republika"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Čad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Čile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Čína"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kolumbia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Komory"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cookove ostrovy"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Kostarika"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Pobrežie Slonoviny"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Chorvátsko"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curacao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Cyprus"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Česká republika"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Kórejská ľudovodemokratická republika"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Konžská demokratická republika"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Východný Timor"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Dánsko"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Džibutsko"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominika"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikánska republika"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ekvádor"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egypt"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Rovníková Guinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estónsko"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiópia"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falklandy"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Faerské ostrovy"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidži"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Fínsko"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Francúzsko"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Francúzske južné a antarktické územia"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Francúzska Guayana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Francúzska Polynézia"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Gruzínsko"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Nemecko"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltár"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grécko"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grónsko"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Maďarsko"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Island"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonézia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Medzinárodná bezplatná telefónna služba"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Medzinárodná prémiová tarifná služba (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Medzinárodná služba so zdieľaním nákladov (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Irán"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Írsko"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Izrael"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Taliansko"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamajka"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japonsko"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordánsko"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazachstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Keňa"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Kórea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuvajt"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgizsko"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Laoská ľudovodemokratická republika"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Lotyšsko"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Libéria"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Líbya"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Lichtenštajnsko"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Litva"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxemburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagaskar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malajzia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldivy"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshallove ostrovy"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinik"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURETÁNIA"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Maurícius"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexiko"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronézia"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavsko"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monako"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolsko"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Čierna hora"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Maroko"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambik"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Mjanmarsko"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namíbia"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepál"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Holandsko"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nová Kaledónia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nový Zéland"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nikaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigéria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Severné Mariánske ostrovy"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Nórsko"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Omán"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua-Nová Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguaj"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipíny"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Poľsko"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugalsko"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Portoriko"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Katar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rumunsko"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Ruská federácia"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Svätá Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Svätý Kitts a Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Svätá Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Svätý Pierre a Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Svätý Vincent a Grenadíny"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Maríno"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Svätý Tomáš a Princov ostrov"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudská Arábia"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Srbsko"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychely"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Svätý Martin"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovensko"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovinsko"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Šalamúnove ostrovy"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somálsko"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Južná Afrika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Španielsko"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Srí Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudán"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Svazijsko"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Švédsko"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Švajčiarsko"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Sýrska arabská republika"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadžikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzánia"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telekomunikácie na pomoc pri katastrofách (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thajsko"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Bývalá juhoslovanská republika Macedónsko"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad a Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunis"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turecko"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkménsko"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Ostrovy Turks a Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukrajina"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Spojené arabské emiráty"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Spojené kráľovstvo Veľkej Británie a Severného Írska"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Spojené štáty americké"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Panenské ostrovy (USA)"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Univerzálna osobná telekomunikačná služba (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguaj"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikán"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis a Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobil (domov)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobil (práca)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Uložené do"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Importovať z karty SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Skupina a členovia skupiny"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "Súbor %s je uložený v priečinku %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Tento kontakt bude vymazaný"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Fotografia"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Vytáčanie"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Zálohovanie"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Iba skupina"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Nová skupina"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Vyberte skupinu"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobilný telefón 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Pridané"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Presunuté"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Vybrané"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Zrušiť"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Nedostatok pamäte"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Odstránené"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Hľadať"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Zavrieť"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Odstránené"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Chyba"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Hovor"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Žiadna SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Vybrať všetky"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Nepodarilo sa"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Dokončené"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Uložiť"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Pridať kontakty"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Meno asistenta"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Odstrániť skupinu"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Názov skupiny"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Zvon. skupiny"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Nahrať video"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Nahradiť"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Rýchla voľba"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Správa"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Nastaviť zvonenie"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Všetky kontakty"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Spoločnosť"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Upraviť kontakty"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Získať e-mail"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Získať číslo"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Žiadna skupina"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Účastník"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Nastaviť obrázok"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Rýchla voľba sa nepoužíva"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Vymazať kontakty"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Upraviť skupiny"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Pridať do obľúbených položiek"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Upraviť skupinu"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Prázdne"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Uložiť kontakt"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Vybrať kontakt"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Pridať skupinu"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Pamäť plná"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Odstraňovanie..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Kontakt sa nedá pridať do skupiny"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Aktualizovať"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Zruš."
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Kontakty"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopírovať"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Vytvoriť"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-mail"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Správa"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Presunúť"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefón"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Neznáme"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videohovor"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Odstrániť"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Hotovo"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Upraviť"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Odoslať kontaktné údaje"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Hľadať na serveri Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Krstné meno Priezvisko"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Priezvisko Krstné meno"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Ďalšie polia zobrazíte ťuknutím na tlačidlo vpravo"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/sl.po b/po/sl.po
deleted file mode 100644
index 4c4a519..0000000
--- a/po/sl.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Tipkov."
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Priljub."
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Hitro klicanje"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Odzivnik"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Dnevniki"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Ni številke za hitro izbiranje. Določim zdaj?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Zahteva ni uspela"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Zahteva uspešna"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Klic v sili"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Ni dnevnikov"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Ni priljubljenih"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Sporočilo je izbrisano"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Največja dovoljena dolžina telefonske številke je presežena"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Brisanje dnevnikov ..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Brisanje priljubljenih ..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Inicializacija. Poskusite pozneje ..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Zvok izklopljen"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Zvok vklopljen"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Prejšnji zaslon"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Nazaj na klic"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Dohodni klic"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Odhodni klic"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Neodgovorjen klic"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Poslano sporočilo"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Prejeto sporočilo"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Zavrnjen klic"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Blokiran klic"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Uredi številko pred klicem"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Pošlji e-pošto"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Izberi dnevnike"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Izberite stike za hitro izbiranje"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Preklic blokade"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Spremeni stik"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Dodaj %d sekund premora"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Dodaj čakanje"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Neodgovorjeno"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Izhod"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Osebne"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobilni"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Domači"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Službeni"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Faks (doma)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Faks (služba)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Številka pomočnika"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pozivnik"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Drugo"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Faks"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Telefon v avtomobilu"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Doma 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Glavna številka podjetja"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Vse vizitke"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Ni dodeljeno"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Številka storitve"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Skupine"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Privzeto"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Melodija zvonjenja"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Spletno mesto"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-pošta"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Številka"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Beležka"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Poštni naslov"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Podrobnosti"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Podjetje"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Zaporedje prikazanega imena"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Lastna številka"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Ime"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Priimek"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Srednje ime"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Pripona"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Vzdevek"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Izvozi stike"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Izberi stike"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Poštna številka"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Država"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Provinca"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Mesto"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Ulica"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Shranjeno v %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Pogosto v stiku"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Kopirano"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Izvoženo"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Brisanje stikov ..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Premikam"
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopiram ..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Uvažanje stikov SIM ..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Uvažam stike iz kartice vCard ..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Izvoz stikov v %s ..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vKartica"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Branje kartice vCard ..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Uvoženo"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Ni nastavljeno"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Vsi povezani stiki"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Povezani stiki"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Službeni naziv"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Oddelek"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Ime skupine"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Dodaj račun"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Dodajam člane v skupino ..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Prikaži"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d stikov"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Preimenuj"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Stan"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Ni zgodovin"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Ni dejavnosti"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Dodajam..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Dodatne informacije"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Poštni predal"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Država"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Prijatelji"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Družina"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Sodelavci"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Služba"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Vzorec tresenja"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Nastavi privzeto vrednost"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Dogodek"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Deli podatke o stiku z drugimi"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 stik"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Izvozi na kartico SIM"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Zgodovina"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Dejavnosti"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Sporočilo skupine"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "E-pošta skupine"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Brez imena"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Neveljaven e-poštni naslov"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Izpolnite vsaj eno polje, skupaj z imenom"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Dostop do podatkovne zbirke ni mogoč"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Že dodano"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Ime skupine že obstaja"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Ni skupine"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Ni številke"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Ni e-poštnih naslovov"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Ni stikov"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM pomnilnik je prazen"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Preseženo je največje dovoljeno število vnosov"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Neveljavna številka"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Pomnilnik kartice SIM je poln"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Stike lahko uvozite v telefon iz kartice SIM prek menija Nastavitve > Uvozi "
-"stike ali pa jih sinhronizirate s stiki iz spletnih računov z uporabo "
-"računov v nastavitvah"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Ni dnevnikov. Ko opravite/prejmete klic ali pošljete/prejmete sporočilo, "
-"bodo prikazani dnevniki"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Ni mogoče poslati imena kartic"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Označi kot privzeto številko"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Označi kot privzeto e-pošto"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Slika"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Naredi fotografijo"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Odstrani fotografijo"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Dodaj na domači zaslon"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Stik shrani v"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Shrani v"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Uvozi stike iz kartice SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Najprej ime"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Najprej priimek"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Prikaži"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Skrij"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Pošlji vizitko"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Ustvari skupino"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Izberite skupino"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Uvozi stike"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Poveži stik"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Odstrani povezavo"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Vsi povezani stiki bodo izbrisani"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Dodaj med priljubljene"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Uredi skupino"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Dod.člana"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Dodaj skupini"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Dodano med priljubljene"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Neznano"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Rojstni dan"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Obletnica"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Nedelja"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Ponedeljek"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Torek"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Sreda"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Četrtek"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Petek"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Sobota"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Pomočnik"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Brat"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Otrok"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Domači partner"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Oče"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Prijatelj"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Upravitelj"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mati"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Starš"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Priporočil"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Sorodnik"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Sestra"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Zakonec"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Več informacij"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albanija"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Alžirija"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Ameriška Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andora"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Angvila"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigva in Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenija"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Avstralija"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Avstralski zunanji teritoriji"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Avstrija"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbajdžan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahami"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrajn"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladeš"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Belorusija"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgija"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "BENIN"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermudi"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Butan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivija"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius in Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosna in Hercegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Bocvana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazilija"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Britanski Deviški otoki"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunej Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bolgarija"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambodža"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Zelenortski otoki"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Kajmanski otoki"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Srednjeafriška republika"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "ČAD"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Čile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Kitajska"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kolumbija"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "COMOROS"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cookovi otoki"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Kostarika"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Slonokoščena obala"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Hrvaška"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curacao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Ciper"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Češka republika"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Demokratična ljudska republika Koreja"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Demokratična republika Kongo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Republika Timor-Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danska"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Džibuti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominika"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikanska republika"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ekvador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egipt"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Ekvatorialna Gvineja"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritreja"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonija"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopija"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falklandski otoki"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Ferski otoki"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidži"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finska"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Francosko južno ozemlje"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Francoska Gvajana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Francoska Polinezija"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambija"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Nemčija"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Gana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grčija"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grenlandija"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Gvatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Gvineja"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Gvineja Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Gvajana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Madžarska"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islandija"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Indija"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonezija"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Storitev mednarodnega brezplačnega klicanja"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Mednarodna storitev z dodatno vrednostjo (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Storitev mednarodnega klicanja z deljenimi stroški (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irska"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Izrael"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamajka"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japonska"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordanija"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazahstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenija"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Koreja"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuvajt"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgizistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Demokratična ljudska republika Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Latvija"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesoto"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberija"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libija"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Lihtenštajn"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Litva"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luksemburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "MADAGASKAR"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malavi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malezija"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldivi"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshallovi otoki"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinik"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAVRETANIJA"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURITIUS"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mehika"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronezija"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavija"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monako"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolija"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Črna gora"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Maroko"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambik"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Mjanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMIBIJA"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Nizozemska"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nova Kaledonija"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nova Zelandija"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nikaragva"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigerija"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Severni Marianski otoki"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norveška"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Nova Gvineja"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paragvaj"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipini"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Poljska"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugalska"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Portoriko"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Katar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Romunija"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Ruska federacija"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Sveta Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts in Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre in Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent in Grenadine"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome in Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Savdska Arabija"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Srbija"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Sejšeli"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovaška"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenija"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Salomonovi otoki"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalija"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Južna Afrika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Španija"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Šrilanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Svazi"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Švedska"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Švica"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Arabska republika Sirija"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Tajvan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadžikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzanija"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telekomunikacije za pomoč pri katastrofi (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tajska"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Nekdanja jugoslovanska republika Makedonija"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad in Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunizija"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turčija"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Otoki Turks in Caicos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukrajina"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Združeni arabski emirati"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Združeno kraljestvo Velike Britanije in Severne Irske"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Združene države Amerike"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Ameriški Deviški otoki"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Univerzalna osebna telekomunikacijska storitev (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Urugvaj"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikanska mestna država"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis in Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambija"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabve"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobilni telefon (doma)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobilni telefon (služba)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Shranjeno v"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Uvozi iz kartice SD"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Skupina in člani skupine"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "Datoteka %s shranjena v mapo %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Ta stik bo izbrisan"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Fotografija"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Izbirnik"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Varnostno kopiranje"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Samo skupina"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Nova skupina"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Izberite skupino"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobilni 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Dodano"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Premaknjeno"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Izbrano"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Prekliči"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Ni dovolj pomnilnika"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Odstranjeno"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Iskanje"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Zapri"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Izbrisano"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Napaka"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Klic"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Ni SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Izberi vse"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Ni uspelo"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Uspeh"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Shrani"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Dodaj stike"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Ime pomočnika"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Zbriši skupino"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Ime skupine"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Mel.zv. skupina"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Posnemi video"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Zamenjaj"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Hitro klicanje"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Spor."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Nastavi melodijo zvonjenja"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Vse vizitke"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Podjetje"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Uredi stike"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Pridobi e-pošto"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Pridobi številko"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Ni skupine"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Udeleženec"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Nastavi sliko"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Hitro izbiranje ni v uporabi"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Izbriši stike"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Uredi skupine"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-pošta"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Dodaj med priljubljene"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Uredi skupino"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Izprazni"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Shrani vizitko"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Izberi stik"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Dodaj skupino"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Pomnilnik je poln"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Odstranjujem ..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Stika ni mogoče dodati v skupino"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Posodobitev"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Prekliči"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Imenik"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopiraj"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Ustvari"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-pošta"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Sporočilo"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Premakni"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Neznano"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Video klic"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Izbriši"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Končano"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Uredi"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "V redu"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Pošlji podrobnosti stika"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Poišči v strežniku Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Ime Priimek"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Priimek Ime"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Za več polj pritisnite gumb na desni"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/sr.po b/po/sr.po
deleted file mode 100644
index da30c93..0000000
--- a/po/sr.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Tastatura"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Omiljeni"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Brzo biranje"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Govorna pošta"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Dnevnici"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Nema brojeva za brzo biranje. Dodeli jedan sada?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Zahtev neuspešan"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Uspešan zahtev"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Pozivi u hitnim slučajevima"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Nema dnevnika"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Nema omiljenih"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Poruka obrisana"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Prekoračena je maksimalna dužina broja telefona"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Brisanje dnevnika..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Brisanje omiljenih..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Inicijalizacija je u toku. Pokušaj kasnije..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Zvuk isključen"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Zvuk uključen"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Prethod. ekran"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Povratak na poziv"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Dolazni poziv"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Odlazni poziv"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Propušten poziv"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Poslata poruka"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Primljena poruka"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Odbijeni poziv"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Blokirani poziv"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Izmeni broj pre pozivanja"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Pošalji e-poruku"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Izaberi dnevnike"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Izaberi brzo biranje kontakata"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Deblokiraj"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Promeni kontakt"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Dodaj pauzu od %d s"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Dodaj čekanje"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Propušteni"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Izlaz"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Prilagođeno"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobilni"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Kuća"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Posao"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Faks (privatni)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Faks (poslovni)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Broj asistenta"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Pejdžer"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Ostalo"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Faks"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Telefon u kolima"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Kuća 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Glavni telefon preduzeća"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Svi kontakti"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Nedodeljeno"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Uslužni broj"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupe"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Podrazumevano"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Ton zvona"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Sajt"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-pošta"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Broj"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Beleška"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Poštanska adresa"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Detalji"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Kompanija"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Redosled prikaza imena"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Sopstveni broj"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Ime"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Prezime"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Srednje ime"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Sufiks"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Nadimak"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Izvezi kontakte"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Izaberi kontakte"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Poštanski broj"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Zemlja"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Regija"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Grad"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Ulica"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Sačuvano u %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Često kontaktirani"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Iskopirano"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Izvezeno"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Brisanje kontakata..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Premeštanje"
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopiranje..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Uvoz kontakata iz SIM-a..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Uvoz kontakata sa vCard kartice..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Izvoz kontakata u %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Čitanje vCard kartice..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Uvezeno"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Nema"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Svi povezani kontakti"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Povezani kontakti"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Radno mesto"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Odeljenje"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Naziv grupe"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Dodaj nalog"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Dodavanje članova grupi..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Prikaži"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d kontakti"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Preimenuj"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Veza"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Nema istorija"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Nema aktivnosti"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Dodavanje..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Dodatne informacije"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Poštanski fah"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Država"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Prijatelji"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Porodica"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Saradnici"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Posao"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Šablon vibracije"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Podesi podrazumevano"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Događaj"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Deli Informacije o kontaktu"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 kontakt"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Izvezi na SIM karticu"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Istorija"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Aktivnosti"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Grupna poruka"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Grupna e-poruka"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Nema imena"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Neispravna adresa e-pošte"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Osim imena, popuni bar još jedno polje"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Neuspešno ažuriranje baze podataka"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Već dodato"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Ime grupe se već koristi"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Nema grupe"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Nema broja"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Nema adresa e-pošte"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Nema kontakata"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Memorija SIM kartice prazna"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Dostignut maksimalan broj unosa"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Neispravan broj"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Memorija SIM kartice puna"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Kontakte sa SIM kartice možete da uvezete na telefon u meniju „Podešavanja” "
-"> „Uvezi kontakte” ili da ih sinhronizujte pomoću kontakata web naloga "
-"koristeći naloge u podešavanjima"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Nema dnevnika. Nakon što uputiš/primiš poziv ili pošalješ/primiš poruku, "
-"prikazaće se dnevnici"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Nemoguće poslati vizitkarte"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Označi kao podrazumevani broj"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Označi kao podrazumevanu e-poruku"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Slika"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Snimi fotografiju"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Ukloni fotografiju"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Dodajte na početni ekran"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Sačuvaj kontakt u"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Sačuvaj u"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Uvezi kontakte iz SIM kartice"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Prvo ide ime"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Prvo ide prezime"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Prikaži"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Sakrij"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Pošalji vizitkartu"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Kreiraj grupu"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Izaberi grupu"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Uvezi kontakte"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Poveži kontakt"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Razdvoj"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Biće obrisani svi povezani kontakti"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Dodaj u Omiljene"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Izmeni grupu"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Dodaj čl."
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Dodaj u grupu"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Dodato u omiljene"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Nepoznato"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Rođendan"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Godišnjica"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Nedelja"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Ponedeljak"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Utorak"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Sreda"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Četvrtak"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Petak"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Subota"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Asistent"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Brat"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Dete"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Domaći partner"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Otac"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Prijatelj"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Menadžer"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Majka"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Roditelj"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Određuje"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Rođak/a"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Sestra"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Supružnik"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Više informacija"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Avganistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albanija"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Alžir"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Američka Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andora"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Angilja"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigva i Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Jermenija"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australija"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Države i teritorije Australije"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austrija"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbejdžan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahami"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrein"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladeš"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Belorusija"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgija"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Butan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivija"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Boner, Sveti Eustahije i Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosna i Hercegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Bocvana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Britanska Devičanska Ostrva"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunej"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bugarska"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambodža"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Zelenortska ostrva"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Kajmanska Ostrva"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Centralnoafrička Republika"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Čad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Čile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Kina"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kolumbija"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Komori"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Kukova ostrva"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Kostarika"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Obala Slonovače"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Hrvatska"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Kurasao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Kipar"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Češka"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Demokratska Narodna Republika Koreja"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Demokratska Republika Kongo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Istočni Timor"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danska"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Dijego Garsija"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Džibuti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominika"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikanska Republika"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ekvador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egipat"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Ekvatorijalna Gvineja"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritreja"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonija"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopija"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Folklandska ostrva"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Farska ostrva"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fidži"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finska"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Francuska"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Južne francuske teritorije"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Francuska Gvajana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Francuska Polinezija"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambija"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Džordžija"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Nemačka"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Gana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grčka"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grenland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Gvadalupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Gvam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Gvatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Gvineja"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Gvineja Bisao"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Gijana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Mađarska"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Island"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Indija"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonezija"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Međunarodna usluga besplatnog telefoniranja"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Međunarodna usluga vrhunskog protoka (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irska"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Izrael"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italija"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamajka"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japan"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordan"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazahstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenija"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Južna Koreja"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuvajt"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Demokratska Narodna Republika Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Letonija"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Liban"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesoto"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberija"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libija"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Lihtenštajn"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Litvanija"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luksemburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Makao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagaskar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malavi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malezija"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldivi"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Maršalova ostrva"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinik"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritanija"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauricijus"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Meksiko"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronezija"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavija"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monako"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolija"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Crna Gora"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Monserat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Maroko"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambik"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Mijanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibija"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Holandija"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nova Kaledonija"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Novi Zeland"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nikaragva"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigerija"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Severna Marijanska ostrva"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norveška"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Nova Gvineja"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paragvaj"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipini"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Poljska"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Portoriko"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Katar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rumunija"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Ruska Federacija"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Sveta Jelena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Sent Kits i Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Santa Lucija"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Sen Pjer i Mikelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Sen Vinsent i Grenadini"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome i Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudijska Arabija"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Srbija"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Sejšeli"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sijera Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Marten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovačka"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenija"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Solomonska Ostrva"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalija"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Južnoafrička Republika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Španija"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Šri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Svazilend"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Švedska"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Švajcarska"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Sirijska Arapska Republika"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Tajvan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadžikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzanija"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Centar za obaveštavanje i uzbunjivanje (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tajland"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Bivša Jugoslovenska Republika Makedonija"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad i Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunis"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turska"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks i Kajkos"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukrajina"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Ujedinjeni Arapski Emirati"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Ujedinjeno Kraljevstvo Velike Britanije i Severne Irske"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Sjedinjene Američke Države"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Američka Devičanska Ostrva"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Urugvaj"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikan"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venecuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vijetnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Valis i Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Jemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambija"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabve"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobilni telefon (privatni)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobilni (poslovni)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Sačuvano u"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Uvezi sa SD kartice"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grupa i članovi grupe"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s sačuvano u %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Ovaj kontakt će biti obrisan"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Fotografija"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Birač"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Bekap"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Samo grupa"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Nova grupa"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Izaberi grupu"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobilni 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Dodato"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Premešteno"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Izabrano"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Poništi"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Nedovoljna memorija"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Uklonjeno"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Pretraži"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Zatvori"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Obrisano"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Greška"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Poziv"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Nema SIM kartice"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Izaberi sve"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Neuspešno"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Uspeh"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Sačuvaj"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Dodaj kontakte"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Ime asistenta"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Obriši grupu"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Naziv grupe"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Ton zvona grupe"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Snimi video zapis"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Zameni"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Brzo biranje"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Poruka"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Podesi ton zvona"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Svi kontakti"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Kompanija"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Izmeni kontakte"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Primi e-poštu"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Primi broj"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Nema grupe"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Učesnik"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Podesi sliku"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Brzo biranje nije u upotrebi"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Obriši kontakte"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Izmeni grupe"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-pošta"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Dodaj u Omiljene"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Izmeni grupu"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Prazno"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Sačuvaj kontakt"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Izaberi kontakt"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Dodaj grupu"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Memorija puna"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Uklanjanje..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Nemoguće dodati kontakt u grupu"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Ažuriraj"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Otkaži"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Kontakti"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopiraj"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Kreiraj"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-pošta"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Poruka"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Premesti"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Nepoznato"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Video poziv"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Obriši"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Gotovo"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Izmeni"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Pošalji kontakt podatke"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Pretraži Exchange server"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Ime Prezime"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Prezime Ime"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Kucni na dugme koje se nalazi sa desne strane za više polja"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/sv.po b/po/sv.po
deleted file mode 100644
index 1d53228..0000000
--- a/po/sv.po
+++ /dev/null
@@ -1,1770 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Knappsats"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favorit."
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Kortnummer"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Röstmeddelande"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Loggar"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Inget angivet kortnummer. Vill du ange ett nummer?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Begäran misslyckades"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Begäran genomförd"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Nödsamtal"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Inga loggar"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Inga favoriter"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Meddelande raderat"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Högsta längd för telefonnummer har överskridits"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Tar bort loggar..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Tar bort favoriter..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Initierar. Försök senare..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Ljud av"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Ljud på"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Föreg. skärm"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Tillbaka till samtal"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Inkommande samtal"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Utgående samtal"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Missat samtal"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Skickat meddelande"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Mottaget meddelande"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Avvisat samtal"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Blockerat samtal"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Redigera nummer före samtal"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Skicka e-post"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Välj loggar"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Välj kortnummerkontakter"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Avblock-era"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Ändra kontakt"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Lägg till %d s. paus"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Lägg till väntetid"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Missade"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Avsluta"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Egen"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Hem"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Arbete"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Fax (hem)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Fax (arbetet)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Assistentens nummer"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Personsökare"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Annat"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Fax"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Biltelefon"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Hemma 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Huvudnummer, företag"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Alla kontakter"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Inte tilldelad"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Tjänstnummer"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Grupper"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Standard"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Ringsignal"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Webbplats"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-post"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Nummer"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Notering"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Postadress"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Detaljer"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Företag"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Namnordning"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Eget nummer"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Förnamn"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Efternamn"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Mellannamn"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Suffix"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Smeknamn"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Exportera kontakter"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Välj kontakter"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Postnr"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Land"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Region"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Ort"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Gata"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Sparat i %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Ofta kontaktad"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Kopierad"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exporterad"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Raderar kontakter..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Flyttar..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopierar..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Importerar SIM-kontakter..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Importerar kontakter från vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Exportera kontakter till %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Läser vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Importerad"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Saknas"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Alla länkade kontakter"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Länkade kontakter"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Befattning"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Avdelning"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Gruppnamn"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Lägg till konto"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Lägger till medlemmar i gruppen..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Visa"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d kontakter"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Byt namn"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Relation"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Inga berättelser"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Inga aktiviteter"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Lägger till..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Tilläggsinfo"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Postbox"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Stat"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Vänner"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Familj"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Kollegor"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Arbete"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Vibrationsmönster"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Ange som standard"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Händelse"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Dela kontaktinformation"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 kontakt"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Exportera till SIM-kort"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Info"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Tidigare"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Aktiviteter"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Gruppmeddelande"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "E-post till grupp"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Inget namn"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Ogiltig e-postadress"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Fyll i åtminstone ett fält och namn"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Det gick inte att nå databasen"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Redan tillagd"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Gruppnamnet används redan"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Ingen grupp"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Inget nummer"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Inga e-postadresser"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Inga kontakter"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM-minnet tomt"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Högsta tillåtna antalet inmatningar är överskridet"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Ogiltigt nummer"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM-minnet fullt"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Du kan importera kontakter från SIM-kort till telefonen i Inställningar > "
-"Importera kontakter eller synkronisera med webbkontokontakter med inställda "
-"konton"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Inga loggar. Efter att du ringer/tar emot ett samtal eller skickar/tar emot "
-"ett meddelande visas loggarna"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Det går inte att skicka visitkort"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Markera som huvudnummer"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Markera som standard-e-post"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Bild"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Ta ett foto"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Ta bort foto"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Lägg till på hemskärmen"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Spara kontakt i"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Spara i"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Importera SIM-kontakter"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Förnamn först"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Efternamn först"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Visa"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Dölj"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Skicka visitkort"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Skapa grupp"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Välj grupp"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Imp kontakter"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Länka kontakt"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Ta bort länk"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Alla länkade kontakter raderas"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Lägg till i Favoriter"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Redigera grupp"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Ny medlem"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Lägg till i grupp"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Lägg till i Favoriter"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Okänd"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Födelsedag"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Årsdag"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "söndag"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "måndag"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "tisdag"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "onsdag"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "torsdag"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "fredag"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "lördag"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Assistent"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Bror"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Barn"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Nation. partner"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Far"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Vän"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Chef"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Mor"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Förälder"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Partner"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Refererad av"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Släkting"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Syster"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Make/maka"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "Chatt"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Mer information"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghanistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albanien"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeriet"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Amerikanska Samoa"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua och Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenien"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australien"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Australian External Territories"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Österrike"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbajdzjan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamas"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahrain"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Vitryssland"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgien"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "BENIN"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius och Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnien och Hercegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brasilien"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Brittiska Jungfruöarna"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgarien"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kambodja"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Kap Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Caymanöarna"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Centralafrikanska republiken"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "TCHAD"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Kina"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "COMOROS"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cooköarna"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Costa Rica"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Elfenbenskusten"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Kroatien"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curaçao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Cypern"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Tjeckien"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Demokratiska folkrepubliken Korea"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Demokratiska republiken Kongo"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor-Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danmark"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominica"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominikanska republiken"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Egypten"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Ekvatorialguinea"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritrea"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estland"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiopien"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falklandsöarna"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Färöarna"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finland"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "Frankrike"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Franska Sydterritorierna"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Franska Guyana"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Franska Polynesien"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgien"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Tyskland"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Ghana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Grekland"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grönland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Guinea"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Guinea-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Ungern"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Island"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Indien"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesien"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irland"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italien"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaica"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japan"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Jordanien"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuwait"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kirgizistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Demokratiska folkrepubliken Laos"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Lettland"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Libanon"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberia"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libyen"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Litauen"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Luxemburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "MADAGASKAR"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaysia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldiverna"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshallöarna"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "MAURITANIEN"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURITIUS"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexiko"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronesien"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldavien"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongoliet"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Marocko"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambique"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Burma"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "NAMIBIA"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Nederländerna"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Nya Kaledonien"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Nya Zeeland"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeria"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Nordmarianerna"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norge"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Nya Guinea"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filippinerna"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polen"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugal"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto Rico"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Rumänien"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Ryska federationen"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Saint Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts och Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint-Pierre och Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent och Grenadinerna"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "São Tomé och Príncipe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudiarabien"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbien"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seychellerna"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapore"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovakien"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenien"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Salomonöarna"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somalia"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Sydafrika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Spanien"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Suriname"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Sverige"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Schweiz"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Arabrepubliken Syrien"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Taiwan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tadzjikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzania"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thailand"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "f.d. jugoslaviska republiken Makedonien"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad och Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunisien"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turkiet"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks- och Caicosöarna"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraina"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Förenade arabemiraten"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Storbritannien och Nordirland"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "USA"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Amerikanska Jungfruöarna"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikanstaten"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis och Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambia"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobil (hem)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobil (arbetet)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Sparat i"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Import från SD-kort"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grupp och gruppmedlemmar"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s har sparats i %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Denna kontakt kommer att raderas"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Foto"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Uppring."
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Säkerhetskopiering"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Endast grupp"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Ny grupp"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Välj grupp"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobil 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Tillagd"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Flyttad"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Vald"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Avbryt"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Minnet fullt"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Borttagen"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Sök"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Stäng"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Raderad"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Fel"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Samtal"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Inget SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Välj alla"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Misslyckades"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Slutfört"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Spara"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Lägg till kontakter"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Assistentens namn"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Radera grupp"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Gruppnamn"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Gruppringsignal"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Spela in video"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Ersätt"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Kortnummer"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Medd."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Ställ in ringsignal"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Alla kontakter"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Företag"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Redigera kontakter"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Hämta e-post"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Hämta nummer"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Ingen grupp"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Deltagare"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Ange bild"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Kortnummer används inte"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Radera kontakter"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Redigera grupper"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-post"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Lägg till i favoriter"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Redigera grupp"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Tom"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Spara kontakt"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Välj kontakt"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Lägg till grupp"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Minnet fullt"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Tar bort..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Det går inte att lägga till kontakten till gruppen"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Uppdatera"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Avbryt"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Kontakter"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopiera"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Skapa"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-post"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Meddelande"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Flytta"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Okänd"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Videosamtal"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Radera"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Klar"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Redigera"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Skicka kontaktinfo"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Sök Exchange-server"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Förnamn Efternamn"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Efternamn Förnamn"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Tryck på knappen till höger för fler fält"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/tr_TR.po b/po/tr_TR.po
deleted file mode 100644
index 446f88d..0000000
--- a/po/tr_TR.po
+++ /dev/null
@@ -1,1772 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Tuşlar"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Favoriler"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Hızlı arama"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Sesli posta"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Günlükler"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Hızlı arama numarası yok. Şimdi atansın mı?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "İstek hatası"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Talep başarılı"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Acil arama"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Kayıt yok"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Favori yok"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Mesaj silindi"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Maksimum telefon numarası uzunluğu aşıldı"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Kayıtlar siliniyor..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Favoriler siliniyor..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Başlatılıyor. Sonra deneyin..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Ses kapalı"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Ses açık"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Önceki ekran"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Çağrıya dön"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Gelen arama"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Yapılan arama"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Cevapsız arama"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Gönderilen mesaj"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Alınan mesaj"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Reddedilmiş arama"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Engellenen arama"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Çağrıdan önce numarayı düzenle"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Search"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "E-posta gönder"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Kayıtları seç"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Hızlı arama kişilerini seç"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Engelleme yok"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Kişiyi değiştir"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "%d sn duraklama ekle"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Bekleme ekle"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Cevapsız"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Çıkış"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Özel"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Cep Telefonu"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Ev"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "İş"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Faks (Ev)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Faks (İş)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Asistanın numarası"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Çağrı cihazı"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Diğer"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Faks"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Araç telefonu"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Ev 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "İşi sabit telefonu"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radyo"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Tüm kişiler"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Atanmadı"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Servis numarası"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Gruplar"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Varsayılan"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Zil sesi"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Websitesi"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-posta"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Numara"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Not"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Posta adresi"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Ayrıntılar"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Şirket"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "İsim görünümü"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Numaram"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Ad"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Soyad"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "İkinci ad"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Son ek"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Takma ad"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Kişileri dışa aktarın"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Kişileri seç"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Posta kodu"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Ülke"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Bölge"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Şehir"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Cadde"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "%s içine kaydedildi"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Sık bağlantı kurulanlar"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Kopyalandı"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Dışarı verildi"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Kişiler siliniyor..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Taşıyor..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Kopyalanıyor..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "SIM kişileri alınıyor..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Kartvizitten kişiler alınıyor..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Kişiler %s üzerinden veriliyor..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vKart"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "vKart okunuyor..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "İçe aktarıldı"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Geçerli değil"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Tüm bağlantılı kişiler"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Bağlantılı kişiler"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "İş ünvanı"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Departman"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Grup ismi"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Hesap ekle"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Üyeler gruba ekleniyor..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Göster"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d kişi"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Yeniden adlandır"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "İlişki"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Geçmiş yok"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Etkinlik yok"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Ekleniyor..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Ek bilgi"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "PO kutusu"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Eyalet"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Arkadaşlar"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Aile"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Meslektaşlar"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "İş"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Titreşim modeli"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Varsayılanı ayarla"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Etkinlik"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Kişi bilgilerini paylaş"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 kişi"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "SIM karta aktar"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Bilgi"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Geçmiş"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Aktiviteler"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Grup mesajı"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Grup e-postası"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "İsim yok"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Geçersiz e-posta adresi"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Adla birlikte en az bir alanı daha tamamlayın"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Veritabanına erişilemiyor"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Zaten eklenmiş"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Grup ismi zaten var"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Grup yok"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Numara yok"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "E-posta adresi yok"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Kişi yok"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM hafızası boş"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Maksimum girdi sayısına ulaşıldı"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Geçersiz numara"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr ""
-"SIM\n"
-"belleği dolu"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Ayarlar > Kişileri al yolundan SIM kartınızdaki kişileri telefonunuza "
-"alabilirsiniz veya ayarlardaki hesapları kullanarak web hesabı kişileri ile "
-"senkr edebilirsiniz"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Kayıt yok. Bir arama yapar/alırsanız veya mesaj gönderir/alırsanız, kayıtlar "
-"gösterilir"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "İsim kartları gönderilemiyor"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Varsayılan numara olarak işaretle"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Varsayılan e-posta olarak işaretle"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Görüntü"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Fotoğraf çek"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Fotoyu kaldır"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Ana ekrana ekle"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Kişinin kaydedileceği yer"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Kayıt yeri"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "SIM kişilerini al"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Önce ilk adı"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Önce soyadı"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Göster"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Gizle"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Kartvizit gönder"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Grup oluştur"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Grup seç"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Kişileri al"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Bağlantılı kişiler"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Bağlantı kaldır"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Tüm bağlantılı kişiler silinecek"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Favorilere ekle"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Grup düzenle"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Üye ekle"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Gruba ekle"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Favorilere eklendi"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Bilinmeyen"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Doğum günü"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Yıl dönümü"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Pazar"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Pazartesi"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Salı"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Çarşamba"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Perşembe"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Cuma"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Cumartesi"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Asistan"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Erkek kardeş"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Çocuk"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Hayat arkadaşı"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Baba"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Arkadaş"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Yönetici"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Anne"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Ebeveyn"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Ortak"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Öneren"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Akraba"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Kız kardeş"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Eşi"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Daha fazla bilgi"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afganistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Arnavutluk"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Amerikan Samoası"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua ve Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Arjantin"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Ermenistan"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Avustralya"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Avustralya Dış Bölgesi"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Avusturya"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Azerbaycan"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bahamalar"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Bahreyn"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladeş"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Belarus"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belçika"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermuda"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivya"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Bonaire, Sint Eustatius ve Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosna Hersek"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botswana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brezilya"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "İngiliz Virgin Adaları"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Sultanlığı"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaristan"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Kamboçya"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Kanada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Cape Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Cayman Adaları"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Merkezi Afrika Cumhuriyeti"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Şili"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Çin"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Kolombiya"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Komor Adaları"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Kongo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Cook Adaları"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Kosta Rika"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Cote d’Ivoire"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Hırvatistan"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Küba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Curacao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Kıbrıs"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Çek Cumhuriyeti"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Kore Demokratik Halk Cumhuriyeti"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Kongo Demokratik Cumhuriyeti"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor-Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Danimarka"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diego Garcia"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Cibuti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominik"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominik Cumhuriyeti"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ekvador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Mısır"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "El Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Ekvator Ginesi"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritre"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonya"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Etiyopya"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falkland Adaları"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Faroe Adaları"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finlandiya"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Fransız Güney Toprakları"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Fransız Guyanası"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Fransız Polonezyası"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambiya"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Gürcistan"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Almanya"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Gana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Cebelitarık"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Yunanistan"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grönland"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Guadeloupe"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Gine"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Gine-Bisav"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Honduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Hong Kong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Macaristan"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "İzlanda"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Endonezya"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "Uluslararası Ücretsiz Telefon Hizmeti"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "Uluslararası Özel Tarifeli Hizmet (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "Uluslararası Maliyet Paylaşımlı Hizmet (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Irak"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "İrlanda"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "İsrail"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Jamaika"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japonya"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Ürdün"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakistan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Korea"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Kuveyt"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Kırgızistan"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Lao Demokratik Halk Cumhuriyeti"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Letonya"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Lübnan"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesoto"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberya"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libya"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Litvanya"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Lüksemburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Macao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagaskar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malawi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malezya"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldivler"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshall Adaları"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinique"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Moritanya"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "MAURITIUS"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Meksika"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikronezya"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldova"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monaco"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Moğolistan"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Karadağ"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Montserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Morocco"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambik"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanmar"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibya"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Hollanda"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "New Kaledonya"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Yeni Zelanda"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nikaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Nijerya"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nijerya"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Kuzey Mariana Adaları"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norveç"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Oman"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua Yeni Gine"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Kiremit"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Filipinler"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Polonya"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portekiz"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Porto Riko"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Katar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Romanya"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Rusya Federasyonu"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Rwanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Saint Helena"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Saint Kitts ve Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Saint Pierre ve Miquelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Saint Vincent ve Grenadines"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome ve Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Arabistan"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Sırbistan"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seyşel Adaları"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapur"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovakya"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenya"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Solomon Adaları"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somali"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Güney Afrika"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "İspanya"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "İsveç"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "İsviçre"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Suriye Arap Cumhuriyeti"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Tayvan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tacikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzanya"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Afet Yardım Telekomünikasyonu (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Tayland"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Eski Yugoslavya Makedonya Cumhuriyeti"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad ve Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunus"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Türkiye"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Türkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Türk ve Caicos Adaları"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukrayna"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Birleşik Arap Emirlikleri"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Büyük Britanya ve Kuzey İrlanda Birleşik Krallığı"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Amerika Birleşik Devletleri"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "ABD Virgin Adaları"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Uluslararası Kişisel Telekomünikasyon Hizmeti (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Özbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatican Şehir Devleti"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezüella"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vietnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Wallis ve Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yemen"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambiya"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Cep telefonu (Ev)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Cep telefonu (İş)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Kayıt yeri"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "SD kartından al"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Grup ve grup üyeleri"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s, %s içine kaydedildi"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Bu kişi silinecek:"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Fotoğraf"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Yedekle"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Değişim"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Yalnızca grup"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Yeni grup"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Grup seç"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobil 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Eklendi"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Taşındı"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Seçili"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "İptal"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Yeterli hafıza yok"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Kaldırıldı"
-
-#~ msgid "IDS_COM_BODY_SEARCH"
-#~ msgstr "Akıllı Arama"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Kapat"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Silindi"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Hata"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Arama"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "SIM yok"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Hepsini seç"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Başarısız"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Başarılı"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Kaydet"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Kişi ekle"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Asistanın adı"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Grubu sil"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Grup ismi"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Grup zil sesi"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Video kaydet"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Değiştir"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Hızlı arama"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Msj."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Zil sesi ayarla"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Tüm kişiler"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Şirket"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Kişileri düzenle"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "E-posta al"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Numarayı al"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Grup yok"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Katılımcı"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Resim ayarla"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Hızlı arama kullanımda değil"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Kişileri sil"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Grupları düzenle"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-posta"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Favorilere ekle"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Grup düzenle"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Boş"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Kişiyi kaydet"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Kişi seçin"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Grup ekle"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Bellek dolu"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Çıkartılıyor..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Kişi gruba eklenemiyor"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Güncelle"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "İptal"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Rehber"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Kopyala"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Oluştur"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-posta"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Mesaj"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Taşı"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Bilinmeyen"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Video arama"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Sil"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Kaydet"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Düzenle"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "Tamam"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Kişi ayrıntılarını gönder"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Exchange sunucusu ara"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Ad, Soyad"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Soyad, Ad"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Daha fazla alan için, sağdaki düğmeye dokunun"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/uk.po b/po/uk.po
deleted file mode 100644
index 9225560..0000000
--- a/po/uk.po
+++ /dev/null
@@ -1,1769 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Клавіат."
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Обране"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Швидкий набір"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Голосова пошта"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Журнали"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Немає номера швидкого набору. Призначити його зараз?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "Збій запиту"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "Запит виконано"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Екстрений виклик"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Журнали відсутні"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Немає об’єктів обраного"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Повідомлення видалено"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Перевищено максимальну довжину номера телефону"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Видалення журналів..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Видалення обраного..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Ініціалізація. Спробуйте пізніше..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Звук вимк."
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Звук увімк."
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Попередній екран"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Повернутися до виклику"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Вхідний виклик"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Вихідний виклик"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Пропущений виклик"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Надіслане повідомлення"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Отримане повідомлення"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Відхилений виклик"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Заблоков. виклик"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Відредагувати номер перед здійсненням виклику"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Не збережений"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Видалити %d журнал(ів)?"
-
-#, fuzzy
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Пошук"
-
-msgid "IDS_REMOVE"
-msgstr "Видалити"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Створити контакт"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Номер за замовчуванням"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Відіслати контакт як текст"
-
-msgid "IDS_CALLS"
-msgstr "Дзвінки"
-
-msgid "IDS_MESSAGES"
-msgstr "Повідомлення"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "Надіслати Email"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Вибір журналів"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Вибір контактів швидкого набору"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Розблок."
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Змінити контакт"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "Додати паузу тривалістю %d сек."
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Додано паузу"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "Пропущені"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Вихід"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Особливий"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Мобільний"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Домашній"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Робота"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Факс (домашній)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Факс (робочий)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Номер помічника"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Пейджер"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Інші"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Телефон"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Факс"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Автомобільний телефон"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Домашній 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Головний робочий"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Радіо"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Всі контакти"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Не призначено"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Сервісний номер"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Телефон"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Групи"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "За замовчуванням"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Звук дзвінка"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Веб-сайт"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "Email"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Цифри"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Нотатка"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Поштова адреса"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Деталі"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Організація"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Порядок відображення імен"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "Власний номер"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Ім'я"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Прізвище"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Друге ім’я"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Суфікс"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Псевдонім"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Експортувати контакти"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Вибір контактів"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Поштовий індекс"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Країна"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Провінція"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Місто"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Вулиця"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "Збережено в %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Обрані контакти"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Скопійовано"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Експортовано"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Видалення контактів..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Переміщення..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Копіювання..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "Триває імпорт контактів SIM-картки..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "Імпортування контактів із vCard..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "Експорт контактів на %s..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "Візитівка"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "Читання vCard..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Імпортовано"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "Н/Д"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Усі зв’язані контакти"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Зв’язані контакти"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Додати інше поле"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Посада"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Відділ"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Ім’я групи"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Дод. обл. запис"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Додавання учасників до групи..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Переглянути"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d контактів"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Перейменувати"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Відношення"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Немає історій"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Немає справ"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Додавання..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Додаткова інформація"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Поштова скринька"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Штат"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Друзі"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Сім'я"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Співробітники"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Робота"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Зразок вібрації"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Встановити за замовчуванням"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Подія"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Спільний доступ до контактних даних"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "Контактів: 1"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "Експортувати на SIM-картку"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Інформ."
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Історія"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Діяльність"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Повідомлення для групи"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Email для групи"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Організація"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Немає імені"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Хибна адреса Email"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Заповніть принаймні одне поле, а також введіть ім’я"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Не вдалося отримати доступ до бази даних"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Вже додано"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Назва групи вже використовується"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Немає групи"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Немає номера"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Немає адреси Email"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Немає контактів"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "Пам’ять SIM пуста"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Перевищено максимальну кількість записів"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Хибний номер"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "Пам'ять SIM заповнено"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Можна імпортувати контакти із SIM-картки на телефон, скориставшись меню "
-"Установки > Імпортувати контакти, або синхронізувати їх із контактами веб-"
-"облікового запису за допомогою облікових записів в установках"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Немає журналів. Вікно журналу відбражається щоразу після здійснення/"
-"отримання виклику або надіслання/отримання повідомлення"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Неможливо надіслати візитівку"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Позначити як стандартний номер"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Позначити як стандартну адресу Email"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Зображення"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Зробити фото"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Видалити фотографію"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Додати на головний екран"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Зберегти контакт до"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Зберегти в"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "Імпорт контактів SIM"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Спочатку ім’я"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Спочатку прізвище"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Показати"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Приховати"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Надіслати візитівку"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Створити групу"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Вибрати групу"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Імпор. контакти"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Зв’язати контакт"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Скасувати зв’язування"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Усі зв’язані контакти буде видалено"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Додати до обраного"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Редагувати групу"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "Дод.учас."
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Додати до групи"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Додано до обраного"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Невідомо"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "День народження"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Річниця"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Неділя"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Понеділок"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Вівторок"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Середа"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Четвер"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "П'ятниця"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Субота"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Помічник"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Брат"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Дитина"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Локальн. партнер"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Батько"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Друг"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Керівник"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Мати"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Батьки"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Партнер"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Має відношення до"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Родич"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Сестра"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Подружжя"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Контакт заблоковано"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Контакт розблоковано"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Розблокувати контакт"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Подробиці"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Афганістан"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Албанія"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Алжир"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Американське Самоа"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Андорра"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Ангола"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Ангілья"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Антигуа і Барбуда"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Аргентина"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Вірменія"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Аруба"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Австралія"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Зовнішні території Австралії"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Австрія"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Азербайджан"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Багамські острови"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Бахрейн"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Бангладеш"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Барбадос"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Білорусь"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Бельгія"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Беліз"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Бенін"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Бермудські острови"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Бутан"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Болівія"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Бонер, Сінт-Естатіус і Саба"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Боснія і Герцеговина"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Ботсвана"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Бразилія"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Британські Віргінські острови"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Бруней Даруссалам"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Болгарія"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Буркіна-Фасо"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Бурунді"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Камбоджа"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Камерун"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Канада"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Кабо-Верде"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Кайманові острови"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Центральноафриканська Республіка"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Чад"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Чилі"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "Китай"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Колумбія"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Комори"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Конго"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Острови Кука"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Коста-Ріка"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Кот-Д’Івуар"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Хорватія"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Куба"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Кюрасао"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Кіпр"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Чехія"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Корейська Народно-Демократична Республіка"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Демократична Республіка Конго"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Східний Тимор"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Данія"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Дієго-Гарсія"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Джибуті"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Домініка"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Домініканська Республіка"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Еквадор"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Єгипет"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Сальвадор"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Екваторіальна Гвінея"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Еритрея"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Естонія"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Ефіопія"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Фолклендські острови"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Фарерські острови"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Фіджі"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Фінляндія"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Французькі Південні Території"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Французька Гвіана"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "Французька Полінезія"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Габон"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Гамбія"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Джорджія"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Німеччина"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Гана"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Гібралтар"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Греція"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Гренландія"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Гренада"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Гваделупа"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Гуам"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Гватемала"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Гвінея"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Гвінея-Бісау"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Гайана"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Гаїті"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Гондурас"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Гонконг"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Угорщина"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Ісландія"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "Індія"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Індонезія"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Іран"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Ірак"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Ірландія"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Ізраїль"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Ямайка"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Японія"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Йорданія"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Казахстан"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Кенія"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Кірибаті"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Корея"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Кувейт"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Киргизстан"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Лаоська Народно-Демократична Республіка"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Латвія"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Ліван"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Лесото"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Ліберія"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Лівія"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Ліхтенштейн"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Литва"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Люксембург"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Макао"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Мадагаскар"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Малаві"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Малайзія"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Мальдіви"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Малі"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Мальта"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Маршаллові Острови"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Мартиніка"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "МАВРИТАНІЯ"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Маврікій"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Мехіко"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Мікронезія"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Молдова"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Монако"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Монголія"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Чорногорія"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Монтсеррат"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Марокко"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Мозамбік"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "М’янма"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Намібія"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Науру"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Непал"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Нідерланди"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "Нова Каледонія"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "Нова Зеландія"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Нікарагуа"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Нігер"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Нігерія"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Ніує"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Північні Маріанські острови"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Норвегія"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Оман"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Пакістан"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Палау"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Панама"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Папуа-Нова Гвінея"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Парагвай"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Коричневий"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Філіппіни"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Польща"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Португалія"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Пуерто-Ріко"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Катар"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Румунія"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Російська Федерація"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Руанда"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Острів Святої Єлени"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Сент-Кіттс і Невіс"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Сент-Люсія"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Сен-П’єр і Мікелон"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Сент-Вінсент і Гренадини"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Самоа"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "Сан-Марино"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Сан-Томе і Прінсіпі"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Саудівська Аравія"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Сенегал"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Сербія"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Сейшельські острови"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Сьєрра-Леоне"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Сінгапур"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Сінт-Маартен"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Словаччина"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Словенія"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Соломонові острови"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Сомалі"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "Південна Африка"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Іспанія"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Шрі-Ланка"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Судан"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Сурінам"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Свазіленд"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Швеція"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Швейцарія"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Сирійська Арабська Республіка"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Тайвань"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Таджикистан"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Танзанія"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Таїланд"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Колишня Югославська Республіка Македонія"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Того"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Токелау"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Тонга"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Тринідад і Тобаго"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Туніс"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Туреччина"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Туркменістан"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Острови Теркс і Кайкос"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Тувалу"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Уганда"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Україна"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Об'єднані Арабські Емірати"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Сполучене королівство Великої британії та Північної Ірландії"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Сполучені Штати Америки"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Американські Віргінські острови"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Уругвай"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Узбекистан"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Вануату"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Ватикан"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Венесуела"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "В’єтнам"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Волліс і Футуна"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Ємен"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Замбія"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Зімбабве"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Мобільний (домашній)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Мобільний (робочий)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Збережено в"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "Імпортувати з карти пам’яті"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Група й учасники групи"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s збережено в %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Цей контакт буде видалено"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Фото"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Наб. ном."
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Резервне копіювання"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Лише група"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Нова група"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Вибрати групу"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Мобільний 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Додано"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Переміщено"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Вибрано"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Скасувати"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Недостатньо пам'яті"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Видалено"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Закрити"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "Видалено"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Помилка"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Виклик"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "Немає SIM"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Вибрати всі"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Збій"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Успішно"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Зберегти"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Додати контакти"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Ім’я помічника"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Видалити групу"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Ім’я групи"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Звук дзв.групи"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Записати відео"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Замінити"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Швидкий набір"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Повід."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Встановити звук дзвінка"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Всі контакти"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Організація"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Редагування контактів"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "Отримати повідомлення Email"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Отримати номер"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Немає групи"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Учасник"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Встановити зображення"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Швидкий набір не використовується"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Видалити контакти"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Редагувати групи"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Додати до обраного"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Редагувати групу"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Пусто"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Зберегти контакт"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Вибрати контакт"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Додати групу"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Пам'ять заповнено"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Видалення..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Неможливо додати контакт у групу"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Оновити"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Скасув."
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Контакти"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Копіювати"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Створити"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "Email"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Повідомлення"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Перемістити"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Телефон"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Невідомо"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Відеовиклик"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "Видалити"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Готово"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Редагув."
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "ОК"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Надіслати контактні дані"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Пошук на сервері Exchange"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Ім’я Прізвище"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Прізвище Ім’я"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr ""
-#~ "Для відображення інших полів натисніть розташовану у правій частині кнопку"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/update-po.sh b/po/update-po.sh
deleted file mode 100755
index b960696..0000000
--- a/po/update-po.sh
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/sh
-
-PACKAGE=phone
-SRCROOT=..
-POTFILES=POTFILES.in
-
-ALL_LINGUAS="ar az bg ca cs da de_DE el_GR en en_PH en_US es_ES es_US et eu fi fr_CA fr_FR ga gl hi hr hu hy is it_IT ja_JP ka kk ko_KR lt lv mk nb nl_NL pl pt_BR pt_PT ro ru_RU sk sl sr sv tr_TR uk uz zh_CN zh_HK zh_SG zh_TW"
-
-XGETTEXT=/usr/bin/xgettext
-MSGMERGE=/usr/bin/msgmerge
-
-echo -n "Make ${PACKAGE}.pot "
-if [ ! -e $POTFILES ] ; then
- echo "$POTFILES not found"
- exit 1
-fi
-
-$XGETTEXT --default-domain=${PACKAGE} --directory=${SRCROOT} \
- --keyword=_ --keyword=N_ --files-from=$POTFILES --no-location
-if [ $? -ne 0 ]; then
- echo "xgettext error"
- exit 1
-fi
-
-if [ ! -f ${PACKAGE}.po ]; then
- echo "No such file: ${PACKAGE}.po"
- exit 1
-fi
-
-rm -f ${PACKAGE}.pot && mv ${PACKAGE}.po ${PACKAGE}.pot
-echo "done"
-
-for LANG in $ALL_LINGUAS; do
- echo "$LANG : "
-
- if [ ! -e $LANG.po ] ; then
- sed 's/CHARSET/UTF-8/g' ${PACKAGE}.pot > ${LANG}.po
- echo "${LANG}.po created"
- else
- if $MSGMERGE ${LANG}.po ${PACKAGE}.pot -o ${LANG}.new.po ; then
- if cmp ${LANG}.po ${LANG}.new.po > /dev/null 2>&1; then
- rm -f ${LANG}.new.po
- else
- if mv -f ${LANG}.new.po ${LANG}.po; then
- echo ""
- else
- echo "msgmerge for $LANG.po failed: cannot move $LANG.new.po to $LANG.po" 1>&2
- rm -f ${LANG}.new.po
- exit 1
- fi
- fi
- else
- echo "msgmerge for $LANG failed!"
- rm -f ${LANG}.new.po
- fi
- fi
- echo ""
-done
-
diff --git a/po/uz.po b/po/uz.po
deleted file mode 100644
index eccfeea..0000000
--- a/po/uz.po
+++ /dev/null
@@ -1,1768 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "Klaviatura"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "Tanlanganlar"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "Tez terish"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "Ovozli pochta"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "Jurnallar"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "Tez terish raqami mavjud emas. Hozir tayinlansinmi?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "So‘rov bajarilmadi"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "So‘rov muvaffaqiyatli amalga oshirildi"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "Favqulodda qo‘ng‘iroqlar"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "Jurnallar yo‘q"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "Tanlanganlar yo‘q"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "Xabar o'chirildi"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "Telefon raqami uzunligi maksimal miqdordan oshib ketdi"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "Jurnallar o'chirib tashlanmoqda..."
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "Tanlanganlar o'chirib tashlanmoqda..."
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "Initsializatsiyalanmoqda. Keyinroq urinib ko‘ring..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "Ovoz o‘ch."
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "Ovoz yoq."
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "Avvalgi ekran"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "Qo‘ng‘iroqqa qaytish"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "Kiruvchi qo‘ng‘iroq"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "Chiquvchi qo‘ng‘iroq"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "Qabul qilinmagan qo‘ng‘iroq"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "Yuborilgan xabar"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "Olingan xabar"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "Rad et. qo‘ng‘iroq"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "Bloklangan qo‘ng‘"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "Qo‘ng‘iroqdan avval raqamni tahrirlash"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-#, fuzzy
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "Qidirish"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "E-pochta yub."
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "Jurnallarni tanlash"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "Tezkor terish kontaktlarini tanlang"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "Blokdan chiqar"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "Kontaktni o‘zgartirish"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "%d soniyali to‘xtatish"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "Kutish qo‘shish"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "O‘tkazib yuborilgan"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "Chiqish"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "Sozlanadigan"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "Mobil"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "Asosiy"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "Ish"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "Faks (uy)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "Faks (ish)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "Yordamchi raqami"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "Peyjer"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "Boshqa"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "Faks"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "Car telephone"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "Uy 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "Kompaniyaning asosiy telefoni"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "Radio"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "Barcha kontaktlar"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "Tayinlanmagan"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "Xizmat raqami"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "Guruhlar"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "Birlamchi"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "Rington"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "Veb-sayt"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "E-pochta"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "Raqam"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "Eslatma"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "Pochta manzili"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "Tafsilotlar"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "Kompaniya"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "Displey nomlari tartibi"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "O‘z raqami"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "Ismi"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "Familiya"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "Otasining ismi"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "Suffiks"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "Laqab"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "Kontaktlarni eksport qilish"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "Kontaktlar tanlang"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "Pochta indeksi"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "Mamlakat"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "Viloyat"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "Shahar"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "Ko‘cha"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "%sda saqlandi"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "Ko‘p ishlatiladigan kontaktlar"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "Nusxa olindi"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "Exported"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "Kontaktlar o‘chirilmoqda..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "Ko‘chirilmoqda..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "Nusxa ko‘chirilmoqda..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "SIM-karta kontaktlarini import qilish..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "vCarddan kontaktlar import qilinmoqda..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "%sga kontaktlar eksport qilinmoqda..."
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "vCardni o‘qish..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "Import qilindi"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "YO‘Q"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "Bari bog‘l. kontaktlar"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "Bog‘langan kontaktlar"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "Lavozim nomi"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "Bo'lim"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "Guruh nomi"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "Hisob qaydnoma qo‘shish"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "Guruhga a’zolar qo‘shish..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "Ko‘rib chiqish"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d kontakt"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "Nom o‘zgartirish"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "Aloqadorlik"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "Jurnallar yo‘q"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "Amallar mavjud emas"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "Qo‘shilmoqda..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "Qo‘shimcha ma’lumot"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "Abonent qutisi"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "Holat"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "Do‘stlar"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "Oila"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "Hamkasblar"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "Ish"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "Vibratsiya namunasi"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "Birlamchi o'rnatilgan holatga qaytish"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "Hodisa"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "Kontakt ma’lumotini ulashish"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 kontakt"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "SIM-kartaga eksport qilish"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "Ma’lumot"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "Jurnal"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "Faoliyatlar"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "Guruh xabari"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "Guruh e-pochtasi"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "Nom yo‘q"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "Noto‘g‘ri e-pochta manzili"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "Kamida bir maydonni hamda nomni to‘ldiring"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "Ma’lumotlar bazasiga kirib bo‘lmadi"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "Avval qo‘shilgan"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "Guruh nomi avvaldan ishlatilmoqda"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "Guruh mavjud emas"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "Raqam yo‘q"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "Elektron pochta manzillari yo‘q"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "Kontaktlar yo‘q"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM-karta xotirasi bo‘sh"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "Kiritmalar soni maksimal miqdordan oshib ketdi"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "Noto‘g‘ri raqam"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM-karta xotirasi to‘la"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"Kontaktlarni telefoningizga SIM-kartadan Parametrlar > Kontaktlarni import "
-"qilish orqali import qilishingiz yoki parametrlardagi hisob qaydnomalaridan "
-"foydalanib, veb-hisob qaydnomalari bilan sinxronlashtirishingiz mumkin"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr ""
-"Jurnallar yo‘q. Qo‘ng‘iroq qilganingizda/qabul qilganingizda yoki xabar "
-"yuborganingizda/olganingizda, jurnallar ko‘rsatiladi"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "Tashrif kartalarini yuborib bo‘lmaydi"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "Birlam. o'rn. raqam sifatida belgilash"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "Asosiy e-pochta sifatida belgilash"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "Tasvir"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "Suratga olish"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "Rasmni olib tashlash"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "Asosiy ekranga qo‘shish"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "Kontaktni saqla"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "Quyidagiga saqlash"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "SIM-karta kontaktlarini import qilish"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "Avval ism"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "Avval familiya"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "Ko‘rsatish"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "Yashirish"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "Tashrif kartasi yuborish"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "Guruh yaratish"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "Guruh tanlang"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "Kontakt importi"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "Kontaktni bog‘lash"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "Uzish"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "Barcha bog‘langan kontaktlar o'chirib tashlanadi"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "Tanlanganlarga qo‘shish"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "Guruhni tahrirlash"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "A’zo qo‘sh"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "Guruhga qo‘shish"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "Tanlanganlarga qo‘shildi"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "Noma’lum"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "Tug‘ilgan kun"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "Yubiley"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "Yakshanba"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "Dushanba"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "Seshanba"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "Chorshanba"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "Payshaba"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "Juma"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "Shanba"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "Yordamchi"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "Aka"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "Bola"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "Mahalliy hamkor"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "Ota"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "Do‘st"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "Menejer"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "Ona"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "Ota-ona"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "Hamkor"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "Quyidagi tomonidan taqdim etilgan"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "Qarindosh"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "Singil"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "Turmush o'rtoq"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL-manzil"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "Boshqa ma’lumotlar"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "Afghanistan"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "Albaniya"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "Algeria"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "Amerika Samoasi"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "Andorra"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "Angola"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "Anguilla"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "Antigua and Barbuda"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "Argentina"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "Armenia"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "Aruba"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "Australia"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Avstraliya Tashqi hududlari"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "Austria"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "Ozarbayjon"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "Bagama orollari"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "Baxrayn"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "Bangladesh"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "Barbados"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "Belarus"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "Belgiya"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "Belize"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "Benin"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "Bermud orollari"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "Bhutan"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "Bolivia"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "Boneyr, Sint-Estatius va Saba"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "Bosnia and Herzegovina"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "Botsvana"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "Brazil"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "Britaniya Virgin orollari"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "Brunei Darussalam"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "Bulgaria"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "Burkina-Faso"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "Burundi"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "Cambodia"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "Kamerun"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "Canada"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "Kabo-Verde"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "Cayman Islands"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "Markaziy Afrika Respublikasi"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "Chad"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "Chile"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "China"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "Colombia"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "Komoros"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "Congo"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "Kuk orollari"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "Kosta-Rika"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "Kot d’Ivuar"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "Xorvatiya"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "Kuba"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "Kyurasao"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "Kipr"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "Czech Republic"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "Koreya Xalq Demokratik Respublikasi"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "Kongo Demokratik Respublikasi"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "Timor-Leste"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "Daniya"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "Diyego-Garsiya"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "Djibouti"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "Dominika"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "Dominican Republic"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "Ecuador"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "Misr"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "Salvador"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "Ekvatorial Gvineya"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "Eritreya"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "Estonia"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "Efiopiya"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "Falkland Islands"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "Faroe Islands"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "Fiji"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "Finland"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "France"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "Fransiya janubiy hududlari"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "Fransiya Gvianasi"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "French Polynesia"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "Gabon"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "Gambia"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "Germany"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "Gana"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "Gibraltar"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "Gretsiya"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "Grilandiya"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "Grenada"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "Gvadelupa"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "Guam"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "Guatemala"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "Gvineya"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "Gvineya-Bissau"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "Guyana"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "Haiti"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "Gonduras"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "Gonkong"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "Vengriya"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "Islandiya"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "India"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "Indonesia"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "International Freephone Service"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "International Premium Rate Service (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "International Shared Cost Service (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "Iran"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "Iroq"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "Irlandiya"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "Israel"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "Italy"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "Yamayka"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "Japan"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "Iordaniya"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "Kazakhstan"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "Kenya"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "Kiribati"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "Koreya"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "Quvayt"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "Qirg‘iziston"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "Laos Xalq Demokratik Respublikasi"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "Latvia"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "Livan"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "Lesotho"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "Liberiya"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "Libya"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "Liechtenstein"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "Lithuania"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "Lyuksemburg"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "Makao"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "Madagascar"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "Malavi"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "Malaysia"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "Maldiv orollari"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "Mali"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "Malta"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "Marshall orollari"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "Martinika"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "Mauritania"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "Mauritius"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "Mexico"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "Mikroneziya"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "Moldova"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "Monako"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "Mongolia"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "Montenegro"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "Monserrat"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "Morocco"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "Mozambik"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "Myanma"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "Namibiya"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "Nauru"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "Nepal"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "Niderlandiya"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "New Caledonia"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "New Zealand"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "Nicaragua"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "Niger"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "Nigeriya"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "Niue"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "Shimoliy Mariana Orollari"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "Norvegiya"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "Ummon"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "Pakistan"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "Palau"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "Panama"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "Papua-Yangi Gvineya"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "Paraguay"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "Peru"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "Philippines"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "Poland"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "Portugaliya"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "Puerto-Riko"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "Qatar"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "Romania"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "Rossiya Federatsiyasi"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "Ruanda"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "Avliyo Yelena oroli"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "Sent-Kits va Nevis"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "Saint Lucia"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "Sen P’er va Mikelon"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "Sen Vinsent va Grenadinlar"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "Samoa"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "San-Marino"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "Sao Tome and Principe"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "Saudi Arabia"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "Senegal"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "Serbiya"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "Seyshel orollari"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "Sierra Leone"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "Singapore"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "Sint-Maarten"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "Slovakiya"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "Slovenia"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "Solomon Islands"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "Somali"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "South Africa"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "Ispaniya"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "Sri Lanka"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "Sudan"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "Surinam"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "Swaziland"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "Sweden"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "Switzerland"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "Suriya Arab Respublikasi"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "Tayvan"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "Tajikistan"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "Tanzaniya"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "Telecommunications for Disaster Relief (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "Thailand"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "Makedoniya Sobiq Yugoslaviya Respublikasi"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "Togo"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "Tokelau"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "Tonga"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "Trinidad and Tobago"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "Tunis"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "Turkiya"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "Turkmenistan"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "Turks va Kaykos Orollari"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "Tuvalu"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "Uganda"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "Ukraine"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "Birlashgan Arab Amirliklari"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "Buyuk Britaniya va Shimoliy Irlandiya Birlashgan Qirolligi"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "Amerika Qo‘shma Shtatlari"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "Qo‘shma Shtatlar Virgin orollari"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "Universal Personal Telecommunication Service (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "Uruguay"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "Uzbekistan"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "Vanuatu"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "Vatikan Davlat-Shahar"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "Venezuela"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "Vetnam"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "Uollis va Futuna"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "Yaman"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "Zambiya"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "Zimbabwe"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "Mobil telefon (uy)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "Mobil telefon (ish)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "Saqlandi"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "SD-kartadan import qilish"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "Guruhlar va guruh a’zolari"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%sni %sda saqladi"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "Ushbu kontakt yo‘q qilinadi"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "Fotosurat"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "Teruvchi"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "Arxiv"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "Faqat guruh"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "Yangi guruh"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "Guruh tanlang"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "Mobil 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "Qo‘shilgan"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "Ko‘chirilgan"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "Tanlangan"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "Bekor q."
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "Xotira yetarli emas"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "Olib tashlandi"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "Yopish"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "O'chirildi"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "Xato"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "Qo‘ng‘iroq qilish"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "SIM-karta yo‘q"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "Barchasini tanlash"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "Xato"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "Muvaffaqiyat"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "Saqlash"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "Kontaktlar qo‘shish"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "Yordamchining nomi"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "Guruhni o'chirish"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "Guruh nomi"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "Guruh ringtoni"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "Video yozib olish"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "Almashtirish"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "Tez terish"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "Xbr."
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "Rington o‘rnatish"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "Barcha kontaktlar"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "Kompaniya"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "Kontaktlarni tahrirlash"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "E-pochta xabari olish"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "Raqam olish"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "Guruh mavjud emas"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "Ishtirokchi"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "Tasvir tanlash"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "Tez terish ishlatilmayapti"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "Kontaktlarni o'chirish"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "Guruhlarni tahrirlash"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "E-pochta"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "Tanlanganlarga qo‘shish"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "Guruhni tahrirlash"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "Bo‘sh"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "Kontaktni saqlash"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "Kontakt tanlash"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "Guruh qo‘shish"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "Xotira to‘la"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "Olib tashlanmoqda..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "Kontaktni guruhga qo‘shib bo‘lmaydi"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "Yangilash"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "Bekor q."
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "Bluetooth"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "Kontaktlar"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "Nusxa olish"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "Yaratish"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "E-pochta"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "Xabar"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "Ko‘chirish"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "Telefon"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "Noma’lum"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "Video qo‘ng‘iroq"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "O'chirish"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "Bajarildi"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "Tahrirl."
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "OK"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "Kontakt tafsilotlarini yuborish"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "Exchange serverini qidirish"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "Ism Familiya"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "Familiya Ism"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "Qo‘shimcha maydonlar uchun o‘ng tomondagi tugmani cherting"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/zh_CN.po b/po/zh_CN.po
deleted file mode 100644
index 8f05579..0000000
--- a/po/zh_CN.po
+++ /dev/null
@@ -1,1765 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "键盘"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "收藏"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "快速拨号"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "语音信箱"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "记录"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "没有快速拨号号码。现在设置吗?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "请求失败"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "请求成功"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "紧急呼叫"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "没有记录"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "没有收藏"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "信息已删除"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "已超过最大手机号码长度"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "正在删除记录"
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "正在删除收藏…"
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "正在初始化。稍后重试…"
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "声音关"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "声音开"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "前一个屏幕"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "返回通话"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "来电"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "已拨"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "未接来电"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "已发信息"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "已收信息"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "拒绝通话"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "已阻止的通话"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "呼叫前编辑号码"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-#, fuzzy
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "搜索"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "发送邮件"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "选择记录"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "选择快速拨号联系人"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "解除阻止"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "更改联系人"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "添加%d秒钟暂停"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "添加等待"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "未接"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "退出"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "自定义"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "手机"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "家庭"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "工作"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "传真(家庭)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "传真(工作)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "助手号码"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "寻呼机"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "其他"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "电话"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "传真"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "车载手机"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "本地2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "公司主机"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "收音机"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "全部联系人"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "未分配"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "服务号码"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "手机"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "分组"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "默认"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "铃声"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "网站"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "电子邮件"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "号码"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "注释"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "通讯地址"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "详情"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "公司"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "姓名显示顺序"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "本机号码"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "名字"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "姓氏"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "中间名"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "后缀"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "昵称"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "导出联系人"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "选择联系人"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "邮编"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "国家"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "省"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "城市"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "街道"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "已保存到%s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "常用联系人"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "已复制"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "已导出"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "正在删除联系人…"
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "移动中..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "正在复制..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "正在导入SIM卡联系人..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "正在从电子名片中导入联系人…"
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "从%s导出联系人"
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "名片"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "正在读取电子名片…"
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "已导入"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/A"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "全部链接的联系人"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "链接的联系人"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "职位"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "部门"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "群组名称"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "添加账户"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "正在添加成员到分组…"
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "查看"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d个联系人"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "重命名"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "关系"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "没有历史记录"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "没有活动"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "添加中..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "其它信息"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "邮政信箱"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "地区"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "好友"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "家人"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "同事"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "工作"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "振动方式"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "设置默认"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "事件"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "共享联系人信息"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1个联系人"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi直连"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "导出到SIM卡"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "信息"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "历史记录"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "活动"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "群发信息"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "群发电子邮件"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "无名称"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "电子邮件地址无效"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "完成至少一个字段以及名字"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "访问数据库失败"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "已添加"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "群组名称已使用"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "无群组"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "无号码"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "没有电子邮件地址"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "没有联系人"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM卡存储空间无内容"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "已超过最大条目数量"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "数值无效"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM卡内存已满"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"您可以在设置>导入联系人中将SIM卡联系人导入到手机,或在设置中使用帐户与网络帐"
-"户联系人同步"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr "无记录。您呼叫/被叫或发送/接收信息后,将显示记录"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "无法发送名片"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "标记为默认号码"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "标记为默认电子邮件"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "图片"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "拍照"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "移除照片"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "添加到主屏"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "储存联系人到"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "保存至"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "导入 SIM 联系人"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "首先是名字"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "姓"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "显示"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "隐藏"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "发送名片"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "新建组"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "选择群组"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "导入联系人"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "链接联系人"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "取消链接"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "全部链接的联系人将被删除"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "添加到收藏"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "编辑群组"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "添加成员"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "添加到群组"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "添加到收藏夹"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "未知"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "生日"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "纪念日"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "雅虎"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "星期日"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "星期一"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "星期二"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "星期三"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "星期四"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "星期五"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "星期六"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "助手"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "兄弟"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "子女"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "同居伴侣"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "父亲"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "朋友"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "经理"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "母亲"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "父母"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "合作伙伴"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "介绍人"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "亲戚"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "姐妹"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "配偶"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "手机(家庭)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "手机(工作)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "即时信息"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "网址"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "更多信息"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "已保存至"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "从SD卡导入"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "群组和群组成员"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s 已储存到 %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "此联系人将被删除"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "照片"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "拨号程序"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "备份"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "更换"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "仅群组"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "新分组"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "选择群组"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "手机 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "已添加"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "已移动"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "已选择"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "取消"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "没有足够内存"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "已移除"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "关闭"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "已删除"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "出错"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "通话"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "无 SIM 卡"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "全选"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "失败"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "成功"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "保存"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "添加联系人"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "助手姓名"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "删除群组"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "群组名称"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "组铃声"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "拍摄录像"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "替换"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "快速拨号"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "信息"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "设置铃声"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "全部联系人"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "公司"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "编辑联系人"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "获取电子邮件"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "获取号码"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "无群组"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "参与人"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "设置图像"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "快速拨号未使用"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "删除联系人"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "编辑分组"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "电子邮件"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "添加到收藏"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "编辑群组"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "空"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "存储联系人"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "选择联系人"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "添加组群"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "内存已满"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "正在移除..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "无法将联系人添加到群"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "更新"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "取消"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "蓝牙"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "联系人"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "复制"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "新建"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "电子邮件"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "信息"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "移动"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "手机"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "未知"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "视频通话"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "删除"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "完成"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "编辑"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "确定"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "发送联系人详情"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "搜索Exchange服务器"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "香港"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "冰岛"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "阿根廷"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "澳大利亚海外领地"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "阿塞拜疆"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "博内尔岛、圣尤斯特歇斯与沙巴"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "朝鲜人民民主共和国"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "国际免费电话服务"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "国际费率服务(IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "国际共享费率服务(ISCS)"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "吉尔吉斯斯坦"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "圣赫勒拿"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "斯洛伐克"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "台湾"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "救灾通信(TDR)"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "前南斯拉夫马其顿共和国"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "大不列颠及北爱尔兰联合王国"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "美国"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "美属维京群岛"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "通用个人通信服务(UPT)"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "科特迪瓦"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "库拉索"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "法属南部领土"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "加蓬"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "澳门"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "索马里"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "东帝汶"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "多哥"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "阿富汗"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "阿尔巴尼亚"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "阿尔及利亚"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "美属萨摩亚"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "安道尔"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "安哥拉"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "安圭拉"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "安提瓜和巴布达"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "亚美尼亚"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "阿鲁巴"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "澳大利亚"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "奥地利"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "巴哈马"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "巴林"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "孟加拉国"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "巴巴多斯"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "白俄罗斯"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "比利时"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "伯利兹"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "贝宁"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "百慕大"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "不丹"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "玻利维亚"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "波斯尼亚和黑塞哥维那"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "博茨瓦那"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "巴西"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "英属维尔京群岛"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "文莱达鲁萨兰国"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "保加利亚"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "布基纳法索"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "布隆迪"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "柬埔寨"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "喀麦隆"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "加拿大"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "佛得角"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "开曼群岛"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "中非共和国"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "乍得"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "智利"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "中国"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "哥伦比亚"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "科摩罗"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "刚果"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "库克群岛"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "哥斯达黎加"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "克罗地亚"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "古巴"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "塞浦路斯"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "捷克共和国"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "刚果民主共和国"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "丹麦"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "迪戈加西亚岛"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "吉布提"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "多米尼加"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "多米尼加共和国"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "厄瓜多尔"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "埃及"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "萨尔瓦多"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "赤道几内亚"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "厄立特里亚"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "爱沙尼亚"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "埃塞俄比亚"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "福克兰群岛"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "法罗群岛"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "斐济"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "芬兰"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "法国"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "法属圭亚那"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "法属波利尼西亚"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "冈比亚"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "格鲁吉亚"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "德国"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "加纳"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "直布罗陀"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "希腊"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "格陵兰岛"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "格林纳达"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "瓜德罗普岛"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "关岛"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "危地马拉"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "几内亚"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "几内亚比绍"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "圭亚那"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "海地"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "洪都拉斯"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "匈牙利"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "印度"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "印度尼西亚"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "伊朗"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "伊拉克"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "爱尔兰"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "以色列"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "意大利"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "牙买加"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "日本"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "约旦"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "哈萨克斯坦"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "肯尼亚"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "基里巴斯"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "韩国"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "科威特"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "老挝人民民主共和国"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "拉脱维亚"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "黎巴嫩"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "莱索托"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "利比里亚"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "利比亚"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "列支敦士登"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "立陶宛"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "卢森堡"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "马达加斯加"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "马拉维"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "马来西亚"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "马尔代夫"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "马里"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "马耳他"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "马绍尔群岛"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "马提尼克"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "毛里塔尼亚"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "毛里求斯"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "墨西哥"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "密克罗尼西亚"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "摩尔多瓦"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "摩纳哥"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "蒙古"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "黑山共和国"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "蒙特塞拉特岛"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "摩洛哥"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "莫桑比克"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "缅甸"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "纳米比亚"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "瑙鲁"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "尼泊尔"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "荷兰"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "新喀里多尼亚岛"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "新西兰"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "尼加拉瓜"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "尼日尔"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "尼日利亚"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "纽埃"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "北马里亚纳群岛"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "挪威"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "阿曼"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "巴基斯坦"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "帕劳"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "巴拿马"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "巴布新几内亚"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "巴拉圭"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "秘鲁"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "菲律宾"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "波兰"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "葡萄牙"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "波多黎各"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "卡塔尔"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "罗马尼亚"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "俄罗斯联邦"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "卢旺达"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "圣基茨和尼维斯"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "圣卢西亚"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "圣皮埃尔和密克隆"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "圣文森特和格林纳丁斯"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "萨摩亚群岛"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "圣马力诺"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "圣多美和普林西比"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "沙特阿拉伯"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "塞内加尔"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "塞尔维亚"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "塞舌尔"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "塞拉利昂"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "新加坡"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "圣马丁"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "斯洛文尼亚"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "所罗门群岛"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "南非"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "西班牙"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "斯里兰卡"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "苏丹"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "苏里南"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "斯威士兰"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "瑞典"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "瑞士"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "阿拉伯叙利亚共和国"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "塔吉克斯坦"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "坦桑尼亚"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "泰国"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "托克劳"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "汤加"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "特立尼达和多巴哥"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "突尼斯"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "土耳其"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "土库曼斯坦"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "特克斯群岛和凯科斯群岛"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "图瓦卢"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "乌干达"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "乌克兰"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "阿拉伯联合酋长国"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "乌拉圭"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "乌兹别克斯坦"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "瓦努阿图"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "梵蒂冈城国"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "委内瑞拉"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "越南"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "瓦利斯群岛和富图纳群岛"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "也门"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "赞比亚"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "津巴布韦"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "名 姓"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "姓 名"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "若需更多字段,轻敲右侧按钮"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/zh_HK.po b/po/zh_HK.po
deleted file mode 100644
index c73c47e..0000000
--- a/po/zh_HK.po
+++ /dev/null
@@ -1,1765 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "鍵盤"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "我的最愛"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "快速撥號"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "留言信箱"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "記錄"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "無快速撥號號碼。現在指定嗎?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "請求失敗"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "請求成功"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "緊急通話"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "沒有通話記錄"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "無我的最愛"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "電子郵件已刪除"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "已超過電話號碼長度上限"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "正在刪除記錄…"
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "正在刪除我的最愛…"
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "正在初始化。請稍後再試..."
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "聲音關"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "聲音開"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "前一螢幕"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "返回通話"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "來電"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "撥出電話"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "未接電話"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "已發送的訊息"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "已接收訊息"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "已拒絕的來電"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "已封鎖的來電"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "通話前先編輯號碼"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-#, fuzzy
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "搜尋"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "發送電子郵件"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "選擇記錄"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "選擇快速撥號聯絡人"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "解除封鎖"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "更改聯絡人"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "加入%d秒的暫停"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "加入等候"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "未接"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "退出"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "自訂"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "手機"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "住家"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "工作"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "傳真(住家)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "傳真(工作)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "助理號碼"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "傳呼機"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "其他"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "電話"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "傳真"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "車用電話"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "住家 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "公司主機"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "收音機"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "全部聯絡人"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "無指定"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "服務號碼"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "電話"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "群組"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "預設"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "鈴聲"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "網站"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "電子郵件"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "號碼"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "記事本"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "郵寄地址"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "詳細資料"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "公司"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "顯示名稱次序"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "本機號碼"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "名字"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "姓氏"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "中間名"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "字尾"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "暱稱"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "匯出聯絡人"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "選擇聯絡人"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "郵政編號"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "國家"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "省"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "城市"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "街道"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "儲存在 %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "經常聯絡"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "已複製"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "已匯出"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "正在刪除聯絡人..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "正在移動..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "正在複製..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "正在匯入SIM卡聯絡人…"
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "正在從 vCard 匯入聯絡人..."
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "正在匯出聯絡人至 %s…"
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "vCard"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "vCard 讀取中..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "已匯入"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "不適用"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "所有已連結聯絡人"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "已連結聯絡人"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "職稱"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "部門"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "群組名稱"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "加入帳戶"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "正在將成員加到群組..."
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "檢視"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d 位聯絡人"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "重新命名"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "關係"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "無歷史記錄"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "無活動"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "正在加入..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "附加資料"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "郵政信箱"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "地區"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "朋友"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "家人"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "同事"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "工作"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "震動模式"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "設定預設"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "事件"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "分享聯絡人資訊"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 個聯絡人"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "匯出至 SIM 卡"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "資料"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "記錄"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "活動"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "群組訊息"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "群組電子郵件"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "無名稱"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "無效電子郵件地址"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "至少完成一個欄位及其名稱"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "存取數據庫失敗"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "已加入"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "群組名稱已存在"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "無群組"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "無號碼"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "無電郵地址"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "無聯絡人"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM 卡記憶體空白"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "已超過可輸入項目的數目上限"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "號碼無效"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM 卡記憶體已滿"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"可於設定 > 匯入聯絡人功能中從 SIM 卡匯入聯絡人至手機,或於設定中使用帳戶與網"
-"絡帳戶同步聯絡人"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr "無記錄。撥打/接聽電話或發送/接收訊息後,將會顯示記錄"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "無法發送名片"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "標記為預設號碼"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "標記為預設電子郵件"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "圖像"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "拍照"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "移除相片"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "加入至主螢幕"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "儲存聯絡人到"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "儲存至"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "匯入 SIM 卡聯絡人"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "先顯示名字"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "姓氏在前"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "顯示"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "隱藏"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "發送名片"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "建立群組"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "選擇群組"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "匯入聯絡人"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "連結聯絡人"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "取消連結"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "所有已連結的聯絡人將會被刪除"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "加到我的最愛"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "編輯群組"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "加入成員"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "加入到群組"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "已加到我的最愛"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "未知"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "生日"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "週年"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "星期日"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "星期一"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "星期二"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "星期三"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "星期四"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "星期五"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "星期六"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "助理"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "兄弟"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "子女"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "同居伴侶"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "父親"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "朋友"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "管理員"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "母親"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "父母"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "夥伴"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "參照者"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "親戚"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "姊妹"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "配偶"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "手機(住家)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "手機(工作)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "即時訊息"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "網址"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "更多資料"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "已儲存到"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "從SD卡匯入"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "群組和群組成員"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s 已儲存到 %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "此聯絡人將被刪除"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "相片"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "撥號器"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "備份"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "Exchange"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "僅群組"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "新增群組"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "選擇群組"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "手機 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "已加入"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "已移動"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "已選擇"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "取消"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "記憶體不足"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "已移除"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "關閉"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "已刪除"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "錯誤"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "通話"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "無 SIM 卡"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "選擇全部"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "失敗"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "成功"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "儲存"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "加入聯絡人"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "助理姓名"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "刪除群組"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "群組名稱"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "群組鈴聲"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "錄影"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "取代"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "快速撥號"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "訊息"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "設定鈴聲"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "全部聯絡人"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "公司"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "編輯聯絡人"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "取得電子郵件"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "取得號碼"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "無群組"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "參與者"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "設定圖像"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "快速撥號未在使用中"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "刪除聯絡人"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "編輯群組"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "電子郵件"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "加到我的最愛"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "編輯群組"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "空白"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "儲存聯絡人"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "選擇聯絡人"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "加入群組"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "記憶體已滿"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "正在移除..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "無法將聯絡人加到群組中"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "更新"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "取消"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "藍牙"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "聯絡人"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "複製"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "建立"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "電子郵件"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "訊息"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "移動"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "電話"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "未知"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "視像通話"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "刪除"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "完成"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "編輯"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "確定"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "發送聯絡人詳細資料"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "搜尋 Exchange 伺服器"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "香港"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "冰島"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "阿根廷"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "澳大利亞海外領土"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "阿塞拜疆"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "博內爾島、聖尤斯特歇斯與沙巴"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "朝鮮民主主義人民共和國"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "國際免費電話服務"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "國際費率服務 (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "國際共用費率服務 (ISCS)"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "吉爾吉斯斯坦"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "聖赫勒拿"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "斯洛伐克"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "台灣"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "災害救援電訊 (TDR)"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "前南斯拉夫馬其頓共和國"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "大不列顛暨北愛爾蘭聯合王國"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "美國"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "美屬維爾京群島"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "通用個人電訊服務 (UPT)"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "科特迪瓦"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "庫拉索"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "法屬南部領土"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "加蓬"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "澳門"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "索馬里"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "東帝汶"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "多哥"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "阿富汗"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "阿爾巴尼亞"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "阿爾及利亞"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "美屬薩摩亞"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "安道爾"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "安哥拉"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "安圭拉"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "安地卡及巴布達"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "亞美尼亞"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "阿魯巴"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "澳大利亞"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "奧地利"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "巴哈馬"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "巴林"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "孟加拉"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "巴巴多斯"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "白俄羅斯"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "比利時"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "伯利茲"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "貝寧"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "百慕達"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "不丹"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "玻利維亞"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "波斯尼亞和黑塞哥維那"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "博茨瓦納"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "巴西"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "英屬維爾京群島"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "汶萊"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "保加利亞"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "布基納法索"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "布隆迪"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "柬埔寨"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "喀麥隆"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "加拿大"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "佛得角"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "開曼群島"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "中非共和國"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "乍得"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "智利"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "中國"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "哥倫比亞"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "科摩羅"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "剛果"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "庫克群島"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "哥斯達黎加"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "克羅地亞"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "古巴"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "塞浦路斯"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "捷克共和國"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "剛果民主共和國"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "丹麥"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "地牙哥加西亞"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "吉布提"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "多米尼加"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "多米尼加共和國"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "厄瓜多爾"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "埃及"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "薩爾瓦多"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "赤道幾內亞"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "厄立特里亞"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "愛沙尼亞"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "埃塞俄比亞"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "福克蘭群島"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "法羅群島"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "斐濟"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "芬蘭"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "法國"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "法屬圭亞那"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "法屬玻利尼西亞"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "岡比亞"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "格魯吉亞"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "德國"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "加納"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "直布羅陀"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "希臘"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "格陵蘭"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "格林納達"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "哥德普洛"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "關島"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "厄地馬拉"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "幾內亞"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "畿內亞比紹"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "圭亞那"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "海地"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "洪都拉斯"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "匈牙利"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "印度"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "印度尼西亞"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "伊朗"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "伊拉克"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "愛爾蘭"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "以色列"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "意大利"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "牙買加"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "日本"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "約旦"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "哈薩克斯坦"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "肯尼亞"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "基里巴斯"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "韓國"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "科威特"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "老撾人民民主共和國"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "拉脫維亞"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "黎巴嫩"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "萊索托"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "利比里亞"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "利比亞"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "列支敦士登"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "立陶宛"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "盧森堡"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "馬達加斯加"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "馬拉維"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "馬來西亞"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "馬爾代夫"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "馬里"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "馬耳他"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "馬紹爾群島"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "馬提尼克"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "毛里塔尼亞"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "毛里裘斯"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "墨西哥"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "密克羅尼西亞"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "摩爾多瓦"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "摩納哥"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "蒙古"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "黑山共和國"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "蒙特塞拉特島"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "摩洛哥"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "莫桑比克"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "緬甸"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "納米比亞"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "瑙魯"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "尼泊爾"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "荷蘭"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "新喀里多尼亞群島"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "新西蘭"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "尼加拉瓜"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "尼日爾"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "尼日利亞"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "紐埃"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "北馬里亞納群島"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "挪威"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "阿曼"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "巴基斯坦"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "帕勞"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "巴拿馬"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "巴布亞新畿內亞"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "巴拉圭"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "秘魯"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "菲律賓"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "波蘭"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "葡萄牙"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "波多黎各"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "卡塔爾"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "羅馬尼亞"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "俄羅斯聯邦"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "盧旺達"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "聖基茨和尼維斯"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "聖盧西亞"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "聖皮埃爾和密克隆島"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "聖文森及格瑞那丁"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "薩摩亞"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "聖馬力諾"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "聖多美及普林西比"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "沙地阿拉伯"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "塞內加爾"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "塞爾維亞"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "塞席爾"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "塞拉利昂"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "新加坡"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "聖馬丁島"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "斯洛文尼亞"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "所羅門群島"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "南非"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "西班牙"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "斯里蘭卡"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "蘇丹"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "蘇利南"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "斯威士蘭"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "瑞典"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "瑞士"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "阿拉伯敘利亞共和國"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "塔吉克斯坦"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "坦桑尼亞"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "泰國"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "托克勞"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "湯加"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "特里尼達和多巴哥"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "突尼西亞"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "土耳其"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "土庫曼斯坦"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "特克斯和凱科斯群島"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "圖瓦魯"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "烏干達"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "烏克蘭"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "阿拉伯聯合酋長國"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "烏拉圭"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "烏茲別克斯坦"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "瓦努阿圖"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "梵蒂岡"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "委內瑞拉"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "越南"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "瓦利斯和富圖納群島"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "也門"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "贊比亞"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "津巴布韋"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "先名後姓"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "先姓後名"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "請輕觸右方按鍵查看更多欄位"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/zh_SG.po b/po/zh_SG.po
deleted file mode 100644
index dacffd6..0000000
--- a/po/zh_SG.po
+++ /dev/null
@@ -1,1765 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "键盘"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "收藏"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "快速拨号"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "语音邮件"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "记录"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "没有快速拨号号码。现在设置吗?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "请求失败"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "请求成功"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "紧急号码"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "无记录"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "没有收藏夹"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "讯息已删除"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "已超过最大手机号码长度"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "正在删除日志…"
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "正在删除收藏…"
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "正在初始化。稍后重试…"
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "声音关"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "声音开"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "前一个屏幕"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "返回通话"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "来电"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "呼出"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "未接来电"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "已发信息"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "已收信息"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "拒绝通话"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "已阻止的通话"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "呼叫前编辑号码"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-#, fuzzy
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "搜寻"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "发送电邮"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "选择日志"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "选择快速拨号联系人"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "解除阻止"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "更改联系人"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "添加%d秒钟暂停"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "添加等待"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "未接"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "退出"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "自定义"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "手机"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "首页"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "工作"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "传真(家庭)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "传真(工作)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "助手号码"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "寻呼机"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "其他"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "电话"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "传真"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "车载手机"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "本地2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "主要公司号码"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "收音机"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "全部联系人"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "未分配"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "服务号码"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "手机"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "群组"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "默认"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "铃声"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "网站"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "电邮"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "号码"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "附注"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "通讯地址"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "详细内容"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "公司"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "显示名称顺序"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "我的号码"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "名字"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "姓氏"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "中间名"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "后缀"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "绰号"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "导出联系人"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "选择联系人"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "邮编"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "国家"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "省"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "城市"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "街道"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "已保存到%s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "频繁联系的"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "已复制"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "已导出"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "正在删除联系人…"
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "移动中…"
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "复制中…"
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "正在导入SIM卡联系人..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "正在从电子名片中导入联系人…"
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "从%s导出联系人"
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "名片"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "正在读取电子名片…"
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "已导入"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "N/A"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "全部链接的联系人"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "链接的联系人"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "职位"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "部门"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "群组名称"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "添加帐户"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "正在添加成员到分组…"
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "查看"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d个联系人"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "重命名"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "关系"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "没有历史记录"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "没有活动"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "添加中…"
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "更多信息"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "邮政信箱"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "州"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "朋友"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "家人"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "合作者"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "工作"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "振动模式"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "设置默认"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "活动"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "共享联系人信息"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1个联系人"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "直接Wi-Fi"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "导出到SIM卡"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "信息"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "历史记录"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "活动"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "群发信息"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "群发电子邮件"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "无名称"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "无效电子邮件地址"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "完成至少一个字段以及名字"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "访问数据库失败"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "已添加"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "群组名称已使用"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "无群组"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "无号码"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "没有电子邮件地址"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "无联系人"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM卡内存空白"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "已超过最大条目数量"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "数值无效"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM卡内存已满"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"您可以在设置>导入联系人中将SIM卡联系人导入到手机,或在设置中使用帐户与网络帐"
-"户联系人同步"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr "无记录。您呼叫/被叫或发送/接收信息后,将显示记录"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "无法发送名片"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "标记为默认号码"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "标记为默认电子邮件"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "图像"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "拍照"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "移除照片"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "添加到主屏"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "储存联系人到"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "保存至"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "导入 SIM 联系人"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "首先是名字"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "姓"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "显示"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "隐藏"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "发送名片"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "创建群组"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "选择组群"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "导入联系人"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "链接联系人"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "取消链接"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "全部链接的联系人已被删除"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "添加到收藏夹"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "编辑群组"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "添加成员"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "添加到群组"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "添加到收藏夹"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "未知"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "生日"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "纪念日"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "星期日"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "星期一"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "星期二"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "星期三"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "星期四"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "星期五"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "星期六"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "助手"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "兄弟"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "儿童"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "同居伴侣"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "父亲"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "朋友"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "管理人员"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "母亲"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "父母"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "合作伙伴"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "引用者"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "亲戚"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "姐妹"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "配偶"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "网址"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "即时通讯"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "更多信息"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "阿富汗语"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "阿尔巴尼亚"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "阿尔及利亚"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "美属萨摩亚"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "安道尔"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "安哥拉"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "安圭拉"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "安提瓜和巴布达"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "阿根廷"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "亚美尼亚"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "阿鲁巴"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "澳大利亚"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "澳大利亚海外领地"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "奥地利"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "阿塞拜疆"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "巴哈马"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "巴林"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "孟加拉国"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "巴巴多斯"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "白俄罗斯"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "比利时"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "伯利兹"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "贝宁"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "百慕大"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "不丹"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "玻利维亚"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "博内尔岛、圣尤斯特歇斯与沙巴"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "波斯尼亚和黑塞哥维那"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "博茨瓦纳"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "巴西"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "英属维尔京群岛"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "文莱达鲁萨兰国"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "保加利亚"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "布基纳法索"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "布隆迪"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "柬埔寨"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "喀麦隆"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "加拿大"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "佛德角"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "开曼群岛"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "中非共和国"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "乍得"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "智利"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "中国"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "哥伦比亚"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "科摩罗"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "刚果"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "库克群岛"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "哥斯达黎加"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "科特迪瓦"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "克罗地亚"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "古巴"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "库拉索"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "塞浦路斯"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "捷克共和国"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "朝鲜民主主义人民共和国"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "刚果民主共和国"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "东帝汶"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "丹麦"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "迪哥加西亚岛"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "吉布提"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "多米尼加"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "多米尼加共和国"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "厄瓜多尔"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "埃及"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "萨尔瓦多"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "赤道几内亚"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "厄立特里亚"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "爱沙尼亚"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "埃塞俄比亚"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "福克兰群岛"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "法罗"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "斐济"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "芬兰"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "法国"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "法属南部领土"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "法属圭亚那"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "法属波利尼西亚"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "加蓬"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "冈比亚"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "格鲁吉亚"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "德国"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "加纳"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "直布罗陀"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "希腊"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "格陵兰"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "格林纳达"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "瓜德罗普岛"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "关岛"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "危地马拉"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "几内亚"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "几内亚比绍"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "圭亚那"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "海地"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "洪都拉斯"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "香港"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "匈牙利"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "冰岛"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "印度"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "印度尼西亚"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "国际免费电话服务"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "国际费率服务(IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "国际共享费率服务(ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "伊朗"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "伊拉克"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "爱尔兰"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "以色列"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "意大利"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "牙买加"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "日本"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "约旦"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "哈萨克斯坦"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "肯尼亚"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "基里巴斯"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "韩国"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "科威特"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "吉尔吉斯坦"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "老挝人民民主共和国"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "拉脱维亚"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "黎巴嫩"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "莱索托"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "利比利亚"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "利比亚"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "列支敦士登"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "立陶宛"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "卢森堡"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "澳门"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "马达加斯加"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "马拉维"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "马来西亚"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "马尔代夫"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "马里"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "马耳他"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "马绍尔群岛"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "马提尼克"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "毛里塔尼亚"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "毛里求斯"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "墨西哥"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "密克罗尼西亚"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "摩尔达维亚"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "摩纳哥"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "蒙古"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "黑山共和国"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "蒙特塞拉特岛"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "摩洛哥"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "莫桑比克"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "缅甸"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "纳米比亚"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "瑙鲁"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "尼泊尔"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "荷兰"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "新喀里多尼亚"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "新西兰"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "尼加拉瓜"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "尼日尔"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "尼日利亚"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "纽埃"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "北马里亚纳群岛"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "挪威"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "阿曼"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "巴基斯坦"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "帕劳"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "巴拿马"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "巴布亚新几内亚"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "巴拉圭"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "秘鲁"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "菲律宾"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "波兰"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "葡萄牙"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "波多黎各"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "卡塔尔"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "罗马尼亚语"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "俄罗斯联邦"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "卢旺达"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "圣赫勒拿"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "圣基茨和尼维斯"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "圣卢西亚"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "圣皮埃尔和密克隆"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "圣文森特和格林纳丁斯"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "萨摩亚"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "圣马力诺"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "圣多美和普林西比"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "沙特阿拉伯"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "塞内加尔"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "塞尔维亚"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "塞舌尔"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "塞拉利昂"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "新加坡"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "圣马丁"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "斯洛伐克"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "斯洛文尼亚"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "所罗门群岛"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "索马里"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "南非"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "西班牙"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "斯里兰卡"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "苏丹"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "苏里南"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "斯威士兰"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "瑞典"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "瑞士"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "叙利亚"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "台湾"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "塔吉克斯坦"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "坦桑尼亚"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "救灾通信(TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "泰国"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "前南斯拉夫马其顿共和国"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "多哥"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "托克劳"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "汤加"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "特立尼达和多巴哥"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "突尼斯"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "土耳其"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "土库曼斯坦"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "特克斯群岛和凯科斯群岛"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "图瓦卢"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "乌干达"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "乌克兰"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "阿拉伯联合酋长国"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "大不列颠及北爱尔兰联合王国"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "美国"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "美属维京群岛"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "通用个人通信服务(UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "乌拉圭"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "乌兹别克斯坦"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "瓦努阿图"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "梵蒂冈城国"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "委内瑞拉"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "越南"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "瓦利斯群岛和富图纳群岛"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "也门"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "赞比亚"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "津巴布韦"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "手机(家庭)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "手机(工作)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "谷歌"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "已保存至"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "从SD卡导入"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "群组和群组成员"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s 已储存到 %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "此联系人将被删除"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "照片"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "拨号程序"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "备份"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "更换"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "仅群组"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "新群组"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "选择组群"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "手机2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "已添加"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "已移动"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "已选择"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "取消"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "内存不足"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "已移除"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "关闭"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "已删除"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "错误"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "通话"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "无 SIM 卡"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "全选"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "失败"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "成功"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "储存"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "添加联系人"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "助手姓名"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "删除群"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "群组名称"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "群铃声"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "拍摄录像"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "取代"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "快速拨号"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "信息"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "设置铃声"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "全部联系人"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "公司"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "编辑联系人"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "获取电子邮件"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "获取号码"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "无群组"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "参与人"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "设置图像"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "快速拨号未在使用中"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "删除联系人"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "编辑分组"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "电邮"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "添加到收藏"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "编辑群组"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "空白"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "储存联系人"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "选择联系人"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "添加组群"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "内存已满"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "移除中…"
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "无法将联系人添加到群"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "更新"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "取消"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "蓝牙"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "联系人"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "复制"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "创建"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "电邮"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "讯息"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "移动"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "手机"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "未知"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "视像通话"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "删除"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "已完成"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "编辑"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "确认"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "发送联系人详情"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "搜索Exchange服务器"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "名字姓氏"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "姓氏名字"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "若需更多字段,轻敲右侧按钮"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/po/zh_TW.po b/po/zh_TW.po
deleted file mode 100644
index 1586e5a..0000000
--- a/po/zh_TW.po
+++ /dev/null
@@ -1,1765 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-26 16:04+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-msgid "IDS_KPD_TAB4_KEYPAD"
-msgstr "撥號鍵盤"
-
-msgid "IDS_PB_ITAB4_FAVOURITES"
-msgstr "我的最愛"
-
-msgid "IDS_PB_HEADER_SPEEDDIAL"
-msgstr "怏速撥號"
-
-msgid "IDS_CST_BODY_VOICE_MAIL"
-msgstr "語音信箱"
-
-msgid "IDS_CLOG_ITAB4_LOGS"
-msgstr "記錄"
-
-msgid "IDS_COM_POP_NO_SPEED_DIAL_NUMBER_ASSIGN_ONE_NOW_Q"
-msgstr "無快速撥號號碼。現在指定嗎?"
-
-msgid "IDS_PB_POP_REQUEST_FAILED"
-msgstr "要求失敗"
-
-msgid "IDS_PB_POP_REQUEST_SUCCESS"
-msgstr "要求成功"
-
-msgid "IDS_CALL_POP_EMERGENCY_CALL"
-msgstr "緊急電話"
-
-msgid "IDS_CLOG_BODY_NO_LOGS"
-msgstr "無記錄"
-
-msgid "IDS_PB_BODY_NO_FAVOURITES"
-msgstr "沒有我的最愛"
-
-msgid "IDS_CLOG_POP_MESSAGE_DELETED"
-msgstr "訊息已刪除"
-
-msgid "IDS_PB_POP_MAXIMUM_PHONE_NUMBER_LENGTH_EXCEEDED"
-msgstr "已達電話號碼長度上限"
-
-msgid "IDS_CLOG_POP_DELETING_LOGS_ING"
-msgstr "正在刪除記錄…"
-
-msgid "IDS_PB_POP_DELETING_FAVOURITES_ING"
-msgstr "正在刪除我的最愛…"
-
-msgid "IDS_PB_POP_INITIALISING_TRY_LATER_ING"
-msgstr "初始化中。請稍後再試…"
-
-msgid "IDS_COM_POP_SOUND_OFF"
-msgstr "關閉音效"
-
-msgid "IDS_COM_POP_SOUND_ON"
-msgstr "開啟音效"
-
-msgid "IDS_KPD_BODY_PREVIOUS_SCREEN_ABB"
-msgstr "前一畫面"
-
-msgid "IDS_COM_BODY_BACK_TO_CALL"
-msgstr "返回通話"
-
-msgid "IDS_ST_BODY_INCOMMING_CALL"
-msgstr "來電"
-
-msgid "IDS_ST_BODY_OUTGOING_CALL"
-msgstr "撥出電話"
-
-msgid "IDS_CLOG_HEADER_MISSED_CALL"
-msgstr "未接電話"
-
-msgid "IDS_CLOG_OPT_SENT_MESSAGE"
-msgstr "傳送訊息"
-
-msgid "IDS_CLOG_OPT_RECEIVED_MESSAGE"
-msgstr "收到的訊息"
-
-msgid "IDS_LOGS_BODY_REJECTED_CALL_ABB"
-msgstr "拒接來電"
-
-msgid "IDS_LOGS_BODY_BLOCKED_CALL_ABB"
-msgstr "已封鎖的來電"
-
-msgid "IDS_CLOG_OPT_EDIT_NUMBER_BEFORE_CALL"
-msgstr "在通話之前先編輯號碼"
-
-msgid "IDS_KPD_POP_ADD_TO_CONTACTS"
-msgstr "Add to contacts"
-
-msgid "IDS_KPD_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CLOG_POP_CALL_DURATION"
-msgstr "Call Duration"
-
-msgid "IDS_CLOG_POP_BLOCK_CONTACT"
-msgstr "Block contact"
-
-msgid "IDS_CLOG_POP_SEND_NUMBER"
-msgstr "Send number"
-
-msgid "IDS_CLOG_POP_COPY_TO_DIALING_SCREEN"
-msgstr "Copy to dialing screen"
-
-msgid "IDS_PB_BODY_UNSAVED"
-msgstr "Unsaved"
-
-msgid "IDS_CST_POP_CONTACTS_TO_DISPLAY"
-msgstr "Contacts to display"
-
-msgid "IDS_CST_POP_SETTINGS"
-msgstr "Settings"
-
-msgid "IDS_CST_POP_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_POP_CONTACTS"
-msgstr "contact?"
-
-msgid "IDS_CST_BUTTON_DELETE"
-msgstr "Delete"
-
-msgid "IDS_CST_BUTTON_CANCEL"
-msgstr "Cancel"
-
-msgid "IDS_CLOG_DURATION_RESET"
-msgstr "Reset"
-
-msgid "IDS_CLOG_DURATION_LAST"
-msgstr "Last Call"
-
-msgid "IDS_CLOG_DURATION_DIALED"
-msgstr "Dialed Calls"
-
-msgid "IDS_CLOG_DURATION_RECEIVED"
-msgstr "Received Calls"
-
-msgid "IDS_CLOG_DURATION_ALL"
-msgstr "All Calls"
-
-msgid "IDS_CLOG_POP_DELETE_N_LOGS"
-msgstr "Delete %d log(s)?"
-
-#, fuzzy
-msgid "IDS_CLOG_ENTRY_SEARCH"
-msgstr "搜尋"
-
-msgid "IDS_REMOVE"
-msgstr "Remove"
-
-msgid "IDS_CREATE_CONTACT"
-msgstr "Create contact"
-
-msgid "IDS_SPEED_CHANGE_ORDER"
-msgstr "Change Order"
-
-msgid "IDS_CLOG_BUTTON_MESSAGE"
-msgstr "Message"
-
-msgid "IDS_CLOG_BUTTON_EMAIL"
-msgstr "Email"
-
-msgid "IDS_DEFAULT_NUMBER"
-msgstr "Default number"
-
-msgid "IDS_SEND_CONTACT_AS_TEXT"
-msgstr "Send contact as text"
-
-msgid "IDS_CALLS"
-msgstr "Calls"
-
-msgid "IDS_MESSAGES"
-msgstr "Messages"
-
-msgid "IDS_PB_BODY_SEPARATE_CONTACTS"
-msgstr "Separate contacts"
-
-msgid "IDS_PB_BODY_LINK_CONTACTS_WITH"
-msgstr "Link contacts with"
-
-msgid "IDS_PB_BODY_SEPARATE_NAME_FROM"
-msgstr "Separate name %s from %s?"
-
-msgid "IDS_PB_HEADER_SEND_EMAIL"
-msgstr "傳送電子郵件"
-
-msgid "IDS_CLOG_HEADER_SELECT_LOGS"
-msgstr "選擇記錄"
-
-msgid "IDS_CST_HEADER_SELECT_SPEED_DIAL_CONTACTS"
-msgstr "選擇快速播號聯絡人"
-
-msgid "IDS_CLOG_BUTTON2_UNBLOCK"
-msgstr "解除封鎖"
-
-msgid "IDS_CST_OPT_CHANGE_CONTACT_ABB"
-msgstr "變更聯絡人"
-
-msgid "IDS_KPD_OPT_ADD_PD_SEC_PAUSE"
-msgstr "新增%d秒暫停"
-
-msgid "IDS_KPD_OPT_ADD_WAIT"
-msgstr "新增插撥"
-
-msgid "IDS_CLOG_HEADER_MISSED"
-msgstr "未接"
-
-msgid "IDS_COM_OPT_EXIT"
-msgstr "結束"
-
-msgid "IDS_PB_BODY_CUSTOM_T_PHONEBOOK"
-msgstr "自訂"
-
-msgid "IDS_PB_BODY_MOBILE"
-msgstr "行動裝置"
-
-msgid "IDS_PB_BODY_HOME"
-msgstr "住家"
-
-msgid "IDS_PB_BODY_WORK"
-msgstr "公司"
-
-msgid "IDS_PB_BODY_FAX_HHOME"
-msgstr "傳真(住家)"
-
-msgid "IDS_PB_BODY_FAX_HWORK"
-msgstr "傳真(工作)"
-
-msgid "IDS_PB_BODY_ASSISTANT_S_NUMBER"
-msgstr "助理號碼"
-
-msgid "IDS_PB_BODY_PAGER"
-msgstr "呼叫器"
-
-msgid "IDS_PB_BODY_OTHER"
-msgstr "其他"
-
-msgid "IDS_PB_BODY_TELEPHONE"
-msgstr "電話"
-
-msgid "IDS_PB_BODY_FAX"
-msgstr "傳真"
-
-msgid "IDS_PB_BODY_CAR_TELEPHONE"
-msgstr "車用電話"
-
-msgid "IDS_PB_BODY_HOME_2"
-msgstr "住家 2"
-
-msgid "IDS_PB_BODY_COMPANY_MAIN"
-msgstr "公司代表號"
-
-msgid "IDS_PB_BODY_RADIO"
-msgstr "廣播"
-
-msgid "IDS_PB_BODY_ALL_CONTACTS"
-msgstr "全部聯絡人"
-
-msgid "IDS_PB_BODY_NOT_ASSIGNED"
-msgstr "未指定"
-
-msgid "IDS_PB_BODY_SERVICE_NUMBER"
-msgstr "服務號碼"
-
-msgid "IDS_PB_BODY_PHONE"
-msgstr "電話"
-
-msgid "IDS_PB_BODY_GROUPS"
-msgstr "群組"
-
-msgid "IDS_PB_BODY_DEFAULT"
-msgstr "預設"
-
-msgid "IDS_PB_BODY_RINGTONE"
-msgstr "鈴聲"
-
-msgid "IDS_PB_BODY_WEBSITE"
-msgstr "網站"
-
-msgid "IDS_PB_BODY_INSTANT_MESSENGER"
-msgstr "Instant messenger"
-
-msgid "IDS_PB_BODY_EMAIL"
-msgstr "電子郵件"
-
-msgid "IDS_PB_BODY_NUMBER"
-msgstr "號碼"
-
-msgid "IDS_PB_BODY_NOTE"
-msgstr "備註"
-
-msgid "IDS_PB_BODY_POSTAL_ADDRESS"
-msgstr "郵寄地址"
-
-msgid "IDS_PB_HEADER_DETAILS"
-msgstr "詳細資料"
-
-msgid "IDS_PB_BODY_COMPANY"
-msgstr "公司"
-
-msgid "IDS_PB_BODY_ORDER_OF_DISPLAY_NAME"
-msgstr "顯示名稱順序"
-
-msgid "IDS_PB_BODY_OWN_NUMBER"
-msgstr "本機號碼"
-
-msgid "IDS_PB_BODY_FIRST_NAME"
-msgstr "名字"
-
-msgid "IDS_PB_BODY_LAST_NAME"
-msgstr "姓氏"
-
-msgid "IDS_PB_BODY_MIDDLE_NAME"
-msgstr "中間名"
-
-msgid "IDS_PB_BODY_SUFFIX"
-msgstr "稱謂"
-
-msgid "IDS_PB_BODY_NICKNAME"
-msgstr "暱稱"
-
-msgid "IDS_PB_BODY_EXPORT_CONTACTS"
-msgstr "匯出聯絡人"
-
-msgid "IDS_PB_HEADER_SELECT_CONTACTS"
-msgstr "選擇聯絡人"
-
-msgid "IDS_PB_BODY_POSTAL_CODE"
-msgstr "郵政編碼"
-
-msgid "IDS_PB_BODY_COUNTRY"
-msgstr "國家"
-
-msgid "IDS_PB_BODY_PROVINCE"
-msgstr "省"
-
-msgid "IDS_PB_BODY_CITY"
-msgstr "城市"
-
-msgid "IDS_PB_BODY_STREET"
-msgstr "街道"
-
-msgid "IDS_EMAIL_BODY_SAVED_IN_PS"
-msgstr "儲存在 %s"
-
-msgid "IDS_PB_BODY_FREQUENTLY_CONTACTED_ABB"
-msgstr "經常聯絡"
-
-msgid "IDS_PB_POP_COPIED"
-msgstr "已複製"
-
-msgid "IDS_COM_BODY_EXPORTED"
-msgstr "已匯出"
-
-msgid "IDS_PB_POP_DELETING_CONTACTS_ING"
-msgstr "正在刪除聯絡人..."
-
-msgid "IDS_PB_BODY_MOVING_ING"
-msgstr "正在移動..."
-
-msgid "IDS_PB_BODY_COPYING_ING"
-msgstr "正在複製..."
-
-msgid "IDS_PB_POP_IMPORTING_SIM_CONTACTS_ING"
-msgstr "正在匯入 SIM 卡聯絡人..."
-
-msgid "IDS_PB_POP_IMPORTING_CONTACTS_FROM_VCARD_ING"
-msgstr "透過電子名片匯入聯絡人…"
-
-msgid "IDS_PB_POP_EXPORTING_CONTACTS_TO_PS_ING"
-msgstr "正在匯出聯絡人至 %s…"
-
-msgid "IDS_PB_BODY_VCARD"
-msgstr "電子名片"
-
-msgid "IDS_PB_BODY_READING_VCARD_ING"
-msgstr "閱讀電子名片..."
-
-msgid "IDS_COM_BODY_IMPORTED_ABB"
-msgstr "已匯入"
-
-msgid "IDS_COM_BODY_NA"
-msgstr "不適用"
-
-msgid "IDS_PB_OPT_ALL_LINKED_CONTACTS_ABB"
-msgstr "所有已連結聯絡人"
-
-msgid "IDS_PB_BODY_LINKED_CONTACTS"
-msgstr "連接聯絡人"
-
-msgid "IDS_KA_BODY_ADD_ANOTHER_FIELD"
-msgstr "Add another field"
-
-msgid "IDS_PB_BODY_JOB_TITLE"
-msgstr "職稱"
-
-msgid "IDS_PB_BODY_DEPARTMENT"
-msgstr "部門"
-
-msgid "IDS_PB_OPT_GROUP_NAME"
-msgstr "群組名稱"
-
-msgid "IDS_PB_BODY_ADD_ACCOUNT"
-msgstr "新增帳號"
-
-msgid "IDS_PB_POP_ADDING_MEMBERS_TO_GROUP_ING"
-msgstr "增加成員到群組"
-
-msgid "IDS_PB_OPT_VIEW"
-msgstr "檢視"
-
-msgid "IDS_PB_OPT_VIEW_BY"
-msgstr "View by"
-
-msgid "IDS_PB_BODY_PD_CONTACTS"
-msgstr "%d 位聯絡人"
-
-msgid "IDS_PB_OPT_RENAME"
-msgstr "重新命名"
-
-msgid "IDS_PB_OPT_RELATIONSHIP"
-msgstr "關係"
-
-msgid "IDS_PB_BODY_NO_HISTORIES"
-msgstr "無歷史記錄"
-
-msgid "IDS_PB_BODY_NO_ACTIVITIES"
-msgstr "沒有活動"
-
-msgid "IDS_PB_POP_ADDING_ING"
-msgstr "正在加入..."
-
-msgid "IDS_PB_BODY_EDITADDITIONALINFO"
-msgstr "其他資訊"
-
-msgid "IDS_PB_BODY_PO_BOX"
-msgstr "郵政信箱"
-
-msgid "IDS_PB_BODY_STATE"
-msgstr "州"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FRIENDS"
-msgstr "朋友"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_FAMILY"
-msgstr "家庭"
-
-msgid "IDS_PB_BODY_CO_WORKERS"
-msgstr "同事"
-
-#, fuzzy
-msgid "IDS_PB_BODY_EMERGENCY_CONTACTS"
-msgstr "Emergency contacts"
-
-msgid "IDS_PB_BODY_DEFAULT_GROUP_WORK"
-msgstr "工作"
-
-msgid "IDS_PB_BODY_VIBRATION_PATTERN"
-msgstr "震動模式"
-
-msgid "IDS_PB_OPT_SET_DEFAULT"
-msgstr "設定為預設"
-
-msgid "IDS_COM_OPT_EVENT"
-msgstr "活動"
-
-msgid "IDS_PB_OPT_SHARE_CONTACT_INFORMATION"
-msgstr "分享聯絡人資訊"
-
-msgid "IDS_PB_BODY_1_CONTACT"
-msgstr "1 位聯絡人"
-
-msgid "IDS_COM_OPT1_WI_FI_DIRECT"
-msgstr "Wi-Fi Direct"
-
-msgid "IDS_PB_OPT_EXPORT_TO_SIM_CARD"
-msgstr "匯出至 SIM 卡"
-
-msgid "IDS_PB_SK3_INFO"
-msgstr "資訊"
-
-msgid "IDS_PB_TAB4_HISTORY"
-msgstr "記錄"
-
-msgid "IDS_PB_TAB4_ACTIVITIES"
-msgstr "活動"
-
-msgid "IDS_CMT_HEADER_GROUP_MESSAGE_TMO"
-msgstr "群組訊息"
-
-msgid "IDS_CMT_HEADER_GROUP_EMAIL_TMO"
-msgstr "群組電子郵件"
-
-msgid "IDS_PB_BODY_ORGANIZATION"
-msgstr "Organization"
-
-msgid "IDS_PB_BODY_MY_PHONE"
-msgstr "My phone"
-
-msgid "IDS_PB_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_PB_BODY_MY_FILES"
-msgstr "My files"
-
-msgid "IDS_PB_BODY_NO_NAME"
-msgstr "無姓名"
-
-msgid "IDS_PB_POP_INVALID_EMAIL_ADDRESS"
-msgstr "電子郵件地址無效"
-
-msgid "IDS_PB_POP_COMPLETE_AT_LEAST_ONE_FIELD_AS_WELL_AS_NAME"
-msgstr "至少輸入一個名字"
-
-msgid "IDS_IM_BODY_FAILED_TO_ACCESS_DATABASE"
-msgstr "無法存取資料庫"
-
-msgid "IDS_PB_POP_ALREADY_ADDED"
-msgstr "已新增"
-
-msgid "IDS_PB_POP_GROUP_ALREADY_IN_USE"
-msgstr "群組名稱已在使用中"
-
-msgid "IDS_PB_BODY_NO_GROUP"
-msgstr "無群組"
-
-msgid "IDS_PB_POP_NO_NUMBER"
-msgstr "無號碼"
-
-msgid "IDS_PB_POP_NO_EMAIL_ADDRESSES"
-msgstr "無電子郵件地址"
-
-msgid "IDS_PB_BODY_NO_CONTACTS"
-msgstr "無聯絡人"
-
-msgid "IDS_PB_POP_SIM_MEMORY_EMPTY"
-msgstr "SIM 記憶體為空"
-
-msgid "IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"
-msgstr "超過項目數上限"
-
-msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr ""
-
-msgid "IDS_PB_BODY_INVALID_NUMBER"
-msgstr "號碼無效"
-
-msgid "IDS_PB_POP_SIM_MEMORY_FULL"
-msgstr "SIM 卡記憶體已滿"
-
-msgid "IDS_PB_BODY_YOU_CAN_IMPORT_CONTACTS_FROM_SIM_CARD_TO_YOUR_PHONE_IN_SETTINGS_HELP_MSG"
-msgstr ""
-"可於設定 > 匯入聯絡人功能中自 SIM 卡匯入聯絡人至手機,或於設定中使用帳號同步"
-"網路帳號的聯絡人"
-
-msgid "IDS_CLOG_POP_NO_LOGS_AFTER_YOU_MAKE_RECEIVE_A_CALL_OR_SEND_RECEIVE_A_MESSAGE_LOGS_WILL_BE_SHOWN"
-msgstr "無記錄。撥打/接聽電話或發送/接收訊息後,將會顯示記錄"
-
-msgid "IDS_PB_POP_UNABLE_TO_SEND_NAME_CARDS"
-msgstr "無法傳送名片"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_NUMBER"
-msgstr "標記為預設號碼"
-
-msgid "IDS_PB_BODY_MARK_AS_DEFAULT_EMAIL"
-msgstr "標記為預設的電子郵件"
-
-msgid "IDS_PB_BODY_IMAGE"
-msgstr "圖像"
-
-msgid "IDS_PB_BODY_TAKE_A_PHOTO"
-msgstr "拍照"
-
-msgid "IDS_PB_OPT_REMOVE_PHOTO_ABB"
-msgstr "刪除照片"
-
-msgid "IDS_PB_SK1_ADD_TO_HOME_SCREEN"
-msgstr "新增至主畫面"
-
-msgid "IDS_PB_BODY_SAVE_CONTACT_TO"
-msgstr "儲存聯絡人到"
-
-msgid "IDS_PB_OPT_SAVE_TO"
-msgstr "儲存至"
-
-msgid "IDS_PB_BODY_IMPORT_SIM_CONTACTS"
-msgstr "匯入 SIM 卡聯絡人"
-
-msgid "IDS_PB_BODY_FIRST_NAME_FIRST"
-msgstr "先顯示名字"
-
-msgid "IDS_PB_BODY_LAST_NAME_FIRST_ABB"
-msgstr "姓氏在前"
-
-msgid "IDS_ST_SK_SHOW"
-msgstr "顯示"
-
-msgid "IDS_ST_SK_HIDE"
-msgstr "隱藏"
-
-msgid "IDS_PB_HEADER_SEND_NAMECARD"
-msgstr "傳送名片"
-
-msgid "IDS_PB_HEADER_CREATE_GROUP"
-msgstr "建立群組"
-
-msgid "IDS_PB_HEADER_SELECT_GROUP"
-msgstr "選擇群組"
-
-msgid "IDS_PB_SK_IMPORT_CONTACTS"
-msgstr "匯入聯絡人"
-
-msgid "IDS_PB_BODY_LINK_CONTACT"
-msgstr "連接聯絡人"
-
-msgid "IDS_PB_OPT_UNLINK"
-msgstr "取消連接"
-
-msgid "IDS_PB_POP_ALL_LINKED_CONTACTS_WILL_BE_DELETED"
-msgstr "所有相關的聯絡人將被刪除"
-
-msgid "IDS_PB_BODY_ADD_TO_FAVOURITES"
-msgstr "加到我的最愛"
-
-msgid "IDS_PB_HEADER_EDIT_GROUP"
-msgstr "編輯群組"
-
-msgid "IDS_PB_SK_ADD_MEMBER"
-msgstr "新增成員"
-
-msgid "IDS_PB_OPT_ADD_TO_GROUP"
-msgstr "加入到分組"
-
-msgid "IDS_PB_POP_ADDED_TO_FAVOURITES"
-msgstr "加到我的最愛"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVE_FROM_FAVOURITES"
-msgstr "Remove from Favourites"
-
-#, fuzzy
-msgid "IDS_PB_POP_REMOVED_FROM_FAVOURITES"
-msgstr "Removed from Favourites"
-
-msgid "IDS_PB_HEADER_UNKNOWN"
-msgstr "未知"
-
-msgid "IDS_PB_BODY_BIRTHDAY"
-msgstr "生日"
-
-msgid "IDS_PB_BODY_ANNIVERSARY"
-msgstr "週年紀念日"
-
-msgid "IDS_PB_OPT_GOOGLE_TALK"
-msgstr "Google Talk"
-
-msgid "IDS_PB_OPT_WINDOWS_LIVE_MESSENGER"
-msgstr "Windows Live Messenger"
-
-msgid "IDS_PB_BODY_YAHOO"
-msgstr "Yahoo!"
-
-msgid "IDS_PB_BODY_FACEBOOK"
-msgstr "Facebook"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_ICQ"
-msgstr "ICQ"
-
-msgid "IDS_PB_BODY_IMPSCOMMUNITY_AIM"
-msgstr "AIM"
-
-msgid "IDS_PB_OPT_QQ"
-msgstr "QQ"
-
-msgid "IDS_PB_OPT_JABBER"
-msgstr "Jabber"
-
-msgid "IDS_PB_OPT_SKYPE"
-msgstr "Skype"
-
-msgid "IDS_COM_BODY_SUNDAY"
-msgstr "週日"
-
-msgid "IDS_COM_BODY_MONDAY"
-msgstr "週一"
-
-msgid "IDS_COM_BODY_TUESDAY"
-msgstr "週二"
-
-msgid "IDS_COM_BODY_WEDNESDAY"
-msgstr "週三"
-
-msgid "IDS_COM_BODY_THURSDAY"
-msgstr "週四"
-
-msgid "IDS_COM_BODY_FRIDAY"
-msgstr "週五"
-
-msgid "IDS_COM_BODY_SATURDAY"
-msgstr "週六"
-
-msgid "IDS_PB_BUTTON_ASSISTANT"
-msgstr "助理"
-
-msgid "IDS_COM_OPT_BROTHER_ABB"
-msgstr "兄弟"
-
-msgid "IDS_PB_BUTTON_CHILD"
-msgstr "子女"
-
-msgid "IDS_PB_OPT_DOMESTIC_PARTNER_ABB"
-msgstr "同居伴侶"
-
-msgid "IDS_COM_OPT_FATHER_ABB"
-msgstr "父親"
-
-msgid "IDS_PB_BODY_CALLERIDFRIEND"
-msgstr "好友"
-
-msgid "IDS_JAVA_BODY_MANAGER"
-msgstr "經理"
-
-msgid "IDS_COM_OPT_MOTHER_ABB"
-msgstr "母親"
-
-msgid "IDS_COM_OPT_PARENT_ABB"
-msgstr "父母"
-
-msgid "IDS_PB_BODY_CALLERIDPARTNER"
-msgstr "夥伴"
-
-msgid "IDS_PB_OPT_REFERRED_BY"
-msgstr "介紹人"
-
-msgid "IDS_COM_BODY_RELATIVE_ABB"
-msgstr "親戚"
-
-msgid "IDS_COM_OPT_SISTER_ABB"
-msgstr "姊妹"
-
-msgid "IDS_PB_BODY_SPOUSE"
-msgstr "配偶"
-
-msgid "IDS_COM_VIBRATION_DEFAULT"
-msgstr "Default"
-
-msgid "IDS_COM_VIBRATION_HEARTBEAT"
-msgstr "Heartbeat"
-
-msgid "IDS_COM_VIBRATION_JINGLEBELL"
-msgstr "Jinglebell"
-
-msgid "IDS_COM_VIBRATION_TICKTOCK"
-msgstr "Ticktock"
-
-msgid "IDS_COM_VIBRATION_WALTZ"
-msgstr "Waltz"
-
-msgid "IDS_COM_VIBRATION_ZIGZIGZIG"
-msgstr "Zig-zig-zig"
-
-#~ msgid "IDS_CONTACT_IS_BLOCKED"
-#~ msgstr "Contact is blocked"
-
-#~ msgid "IDS_CONTACT_IS_UNBLOCKED"
-#~ msgstr "Contact is unblocked"
-
-#~ msgid "IDS_CLOG_POP_UNBLOCK_CONTACT"
-#~ msgstr "Unblock contact"
-
-#~ msgid "IDS_PB_BODY_URL"
-#~ msgstr "URL"
-
-#~ msgid "IDS_PB_BODY_IM"
-#~ msgstr "IM"
-
-#~ msgid "IDS_KA_BODY_MORE_INFORMATION"
-#~ msgstr "更多資訊"
-
-#~ msgid "IDS_PB_BODY_AFGHANISTAN"
-#~ msgstr "阿富汗"
-
-#~ msgid "IDS_PB_BODY_ALBANIA"
-#~ msgstr "阿爾巴尼亞"
-
-#~ msgid "IDS_PB_BODY_ALGERIA"
-#~ msgstr "阿爾及利亞"
-
-#~ msgid "IDS_PB_BODY_AMERICAN_SAMOA"
-#~ msgstr "美屬薩摩亞"
-
-#~ msgid "IDS_PB_BODY_ANDORRA"
-#~ msgstr "安道爾"
-
-#~ msgid "IDS_PB_BODY_ANGOLA"
-#~ msgstr "安哥拉"
-
-#~ msgid "IDS_PB_BODY_ANGUILLA"
-#~ msgstr "安圭拉"
-
-#~ msgid "IDS_PB_BODY_ANTIGUA_AND_BARBUDA"
-#~ msgstr "安地卡及巴布達"
-
-#~ msgid "IDS_PB_BODY_ARGENTINA_M_COUNTRYNAME"
-#~ msgstr "阿根廷"
-
-#~ msgid "IDS_PB_BODY_ARMENIA"
-#~ msgstr "亞美尼亞"
-
-#~ msgid "IDS_PB_BODY_ARUBA"
-#~ msgstr "阿魯巴"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIA"
-#~ msgstr "澳大利亞"
-
-#~ msgid "IDS_PB_BODY_AUSTRALIAN_EXTERNAL_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "澳洲海外屬地"
-
-#~ msgid "IDS_PB_BODY_AUSTRIA"
-#~ msgstr "奧地利"
-
-#~ msgid "IDS_PB_BODY_AZERBAIJAN_M_COUNTRYNAME"
-#~ msgstr "亞塞拜然"
-
-#~ msgid "IDS_PB_BODY_BAHAMAS"
-#~ msgstr "巴哈馬"
-
-#~ msgid "IDS_PB_BODY_BAHRAIN"
-#~ msgstr "巴林"
-
-#~ msgid "IDS_PB_BODY_BANGLADESH"
-#~ msgstr "孟加拉"
-
-#~ msgid "IDS_PB_BODY_BARBADOS"
-#~ msgstr "巴貝多"
-
-#~ msgid "IDS_PB_BODY_BELARUS"
-#~ msgstr "白俄羅斯"
-
-#~ msgid "IDS_PB_BODY_BELGIUM"
-#~ msgstr "比利時"
-
-#~ msgid "IDS_PB_BODY_BELIZE"
-#~ msgstr "貝里斯"
-
-#~ msgid "IDS_PB_BODY_BENIN"
-#~ msgstr "貝南"
-
-#~ msgid "IDS_PB_BODY_BERMUDA"
-#~ msgstr "百慕達"
-
-#~ msgid "IDS_PB_BODY_BHUTAN"
-#~ msgstr "不丹"
-
-#~ msgid "IDS_PB_BODY_BOLIVIA"
-#~ msgstr "玻利維亞"
-
-#~ msgid "IDS_PB_BODY_BONAIRE_SINT_EUSTATIUS_AND_SABA_M_REGIONALNAME"
-#~ msgstr "博內爾島、聖尤斯特歇斯與沙巴"
-
-#~ msgid "IDS_PB_BODY_BOSNIA_AND_HERZEGOVINA"
-#~ msgstr "波士尼亞赫塞哥維納"
-
-#~ msgid "IDS_PB_BODY_BOTSWANA"
-#~ msgstr "波札那"
-
-#~ msgid "IDS_PB_BODY_BRAZIL"
-#~ msgstr "巴西"
-
-#~ msgid "IDS_PB_BODY_BRITISH_VIRGIN_ISLANDS"
-#~ msgstr "英屬維爾京群島"
-
-#~ msgid "IDS_PB_BODY_BRUNEI_DARUSSALAM"
-#~ msgstr "汶萊"
-
-#~ msgid "IDS_PB_BODY_BULGARIA"
-#~ msgstr "保加利亞"
-
-#~ msgid "IDS_PB_BODY_BURKINA_FASO"
-#~ msgstr "布吉納法索"
-
-#~ msgid "IDS_PB_BODY_BURUNDI"
-#~ msgstr "蒲隆地"
-
-#~ msgid "IDS_PB_BODY_CAMBODIA"
-#~ msgstr "柬埔寨"
-
-#~ msgid "IDS_PB_BODY_CAMEROON"
-#~ msgstr "喀麥隆"
-
-#~ msgid "IDS_PB_BODY_CANADA"
-#~ msgstr "加拿大"
-
-#~ msgid "IDS_PB_BODY_CAPE_VERDE"
-#~ msgstr "維德角"
-
-#~ msgid "IDS_PB_BODY_CAYMAN_ISLANDS"
-#~ msgstr "開曼群島"
-
-#~ msgid "IDS_PB_BODY_CENTRAL_AFRICAN_REPUBLIC"
-#~ msgstr "中非共和國"
-
-#~ msgid "IDS_PB_BODY_CHAD"
-#~ msgstr "查德"
-
-#~ msgid "IDS_PB_BODY_CHILE"
-#~ msgstr "智利"
-
-#~ msgid "IDS_PB_BODY_CHINA"
-#~ msgstr "中國"
-
-#~ msgid "IDS_PB_BODY_COLOMBIA"
-#~ msgstr "哥倫比亞"
-
-#~ msgid "IDS_PB_BODY_COMOROS"
-#~ msgstr "葛摩"
-
-#~ msgid "IDS_PB_BODY_CONGO"
-#~ msgstr "剛果"
-
-#~ msgid "IDS_PB_BODY_COOK_ISLANDS"
-#~ msgstr "庫克群島"
-
-#~ msgid "IDS_PB_BODY_COSTA_RICA"
-#~ msgstr "哥斯大黎加"
-
-#~ msgid "IDS_PB_MBODY_COTE_DIVOIRE_M_COUNTRYNAME"
-#~ msgstr "象牙海岸"
-
-#~ msgid "IDS_PB_BODY_CROATIA"
-#~ msgstr "克羅埃西亞"
-
-#~ msgid "IDS_PB_BODY_CUBA"
-#~ msgstr "古巴"
-
-#~ msgid "IDS_PB_MBODY_CURACAO_M_COUNTRYNAME"
-#~ msgstr "庫拉索"
-
-#~ msgid "IDS_PB_BODY_CYPRUS"
-#~ msgstr "塞普勒斯"
-
-#~ msgid "IDS_PB_BODY_CZECH_REPUBLIC"
-#~ msgstr "捷克共和國"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_PEOPLES_REPUBLIC_OF_KOREA_M_COUNTRYNAME"
-#~ msgstr "朝鮮民主主義人民共和國"
-
-#~ msgid "IDS_PB_BODY_DEMOCRATIC_REPUBLIC_OF_THE_CONGO"
-#~ msgstr "剛果民主共和國"
-
-#~ msgid "IDS_PB_MBODY_TIMOR_LESTE_M_COUNTRYNAME"
-#~ msgstr "東帝汶"
-
-#~ msgid "IDS_PB_BODY_DENMARK"
-#~ msgstr "丹麥"
-
-#~ msgid "IDS_PB_BODY_DIEGO_GARCIA"
-#~ msgstr "地牙哥加西亞"
-
-#~ msgid "IDS_PB_BODY_DJIBOUTI"
-#~ msgstr "吉布地"
-
-#~ msgid "IDS_PB_BODY_DOMINICA"
-#~ msgstr "多米尼克"
-
-#~ msgid "IDS_PB_BODY_DOMINICAN_REPUBLIC"
-#~ msgstr "多明尼加共和國"
-
-#~ msgid "IDS_PB_BODY_ECUADOR"
-#~ msgstr "厄瓜多爾"
-
-#~ msgid "IDS_PB_BODY_EGYPT"
-#~ msgstr "埃及"
-
-#~ msgid "IDS_PB_BODY_EL_SALVADOR"
-#~ msgstr "薩爾瓦多"
-
-#~ msgid "IDS_PB_BODY_EQUATORIAL_GUINEA"
-#~ msgstr "赤道幾內亞"
-
-#~ msgid "IDS_PB_BODY_ERITREA"
-#~ msgstr "厄立特里亞"
-
-#~ msgid "IDS_PB_BODY_ESTONIA"
-#~ msgstr "愛沙尼亞"
-
-#~ msgid "IDS_PB_BODY_ETHIOPIA"
-#~ msgstr "衣索比亞"
-
-#~ msgid "IDS_PB_BODY_FALKLAND_ISLANDS"
-#~ msgstr "福克蘭群島"
-
-#~ msgid "IDS_PB_BODY_FAROE_ISLANDS"
-#~ msgstr "法羅群島"
-
-#~ msgid "IDS_PB_BODY_FIJI"
-#~ msgstr "斐濟"
-
-#~ msgid "IDS_PB_BODY_FINLAND"
-#~ msgstr "芬蘭"
-
-#~ msgid "IDS_PB_BODY_FRANCE"
-#~ msgstr "法國"
-
-#~ msgid "IDS_PB_MBODY_FRENCH_SOUTHERN_TERRITORIES_M_REGIONALNAME"
-#~ msgstr "法屬南部屬地"
-
-#~ msgid "IDS_PB_BODY_FRENCH_GUIANA"
-#~ msgstr "法屬圭亞那"
-
-#~ msgid "IDS_PB_BODY_FRENCH_POLYNESIA"
-#~ msgstr "法屬玻里尼西亞"
-
-#~ msgid "IDS_PB_MBODY_GABON_M_COUNTRYNAME"
-#~ msgstr "加彭"
-
-#~ msgid "IDS_PB_BODY_GAMBIA"
-#~ msgstr "甘比亞"
-
-#~ msgid "IDS_PB_BODY_GEORGIA"
-#~ msgstr "Georgia"
-
-#~ msgid "IDS_PB_BODY_GERMANY"
-#~ msgstr "德國"
-
-#~ msgid "IDS_PB_BODY_GHANA"
-#~ msgstr "迦納"
-
-#~ msgid "IDS_PB_BODY_GIBRALTAR"
-#~ msgstr "直布羅陀"
-
-#~ msgid "IDS_PB_BODY_GREECE"
-#~ msgstr "希臘"
-
-#~ msgid "IDS_PB_BODY_GREENLAND"
-#~ msgstr "格陵蘭"
-
-#~ msgid "IDS_PB_BODY_GRENADA"
-#~ msgstr "格瑞那達"
-
-#~ msgid "IDS_PB_BODY_GUADELOUPE"
-#~ msgstr "瓜德羅普"
-
-#~ msgid "IDS_PB_BODY_GUAM"
-#~ msgstr "關島"
-
-#~ msgid "IDS_PB_BODY_GUATEMALA"
-#~ msgstr "瓜地馬拉"
-
-#~ msgid "IDS_PB_BODY_GUINEA"
-#~ msgstr "幾內亞"
-
-#~ msgid "IDS_PB_BODY_GUINEA_BISSAU"
-#~ msgstr "幾內亞比索"
-
-#~ msgid "IDS_PB_BODY_GUYANA"
-#~ msgstr "圭亞那"
-
-#~ msgid "IDS_PB_BODY_HAITI"
-#~ msgstr "海地"
-
-#~ msgid "IDS_PB_BODY_HONDURAS"
-#~ msgstr "宏都拉斯"
-
-#~ msgid "IDS_PB_BODY_HONG_KONG"
-#~ msgstr "香港"
-
-#~ msgid "IDS_PB_BODY_HUNGARY"
-#~ msgstr "匈牙利"
-
-#~ msgid "IDS_PB_BODY_ICELAND"
-#~ msgstr "冰島"
-
-#~ msgid "IDS_PB_BODY_INDIA"
-#~ msgstr "印度"
-
-#~ msgid "IDS_PB_BODY_INDONESIA"
-#~ msgstr "印尼"
-
-#~ msgid "IDS_PB_MBODY_INMARSAT_SNAC"
-#~ msgstr "Inmarsat SNAC"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_FREEPHONE_SERVICE"
-#~ msgstr "國際免費電話服務"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_PREMIUM_RATE_SERVICE_HIPRS"
-#~ msgstr "國際付費語音資訊服務 (IPRS)"
-
-#~ msgid "IDS_PB_BODY_INTERNATIONAL_SHARED_COST_SERVICE_HISCS"
-#~ msgstr "國際共用費率服務 (ISCS)"
-
-#~ msgid "IDS_PB_BODY_IRAN"
-#~ msgstr "伊朗"
-
-#~ msgid "IDS_PB_BODY_IRAQ"
-#~ msgstr "伊拉克"
-
-#~ msgid "IDS_PB_BODY_IRELAND"
-#~ msgstr "愛爾蘭"
-
-#~ msgid "IDS_PB_BODY_ISRAEL"
-#~ msgstr "以色列"
-
-#~ msgid "IDS_PB_BODY_ITALY"
-#~ msgstr "義大利"
-
-#~ msgid "IDS_PB_BODY_JAMAICA"
-#~ msgstr "牙買加"
-
-#~ msgid "IDS_PB_BODY_JAPAN"
-#~ msgstr "日本"
-
-#~ msgid "IDS_PB_BODY_JORDAN"
-#~ msgstr "約旦"
-
-#~ msgid "IDS_PB_BODY_KAZAKHSTAN"
-#~ msgstr "哈薩克"
-
-#~ msgid "IDS_PB_BODY_KENYA"
-#~ msgstr "肯亞"
-
-#~ msgid "IDS_PB_BODY_KIRIBATI"
-#~ msgstr "吉里巴斯"
-
-#~ msgid "IDS_PB_BODY_KOREA"
-#~ msgstr "韓國"
-
-#~ msgid "IDS_PB_BODY_KUWAIT"
-#~ msgstr "科威特"
-
-#~ msgid "IDS_PB_BODY_KYRGYZSTAN_M_COUNTRYNAME"
-#~ msgstr "吉爾吉斯斯坦"
-
-#~ msgid "IDS_PB_BODY_LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
-#~ msgstr "寮人民民主共和國"
-
-#~ msgid "IDS_PB_BODY_LATVIA"
-#~ msgstr "拉脫維亞"
-
-#~ msgid "IDS_PB_BODY_LEBANON"
-#~ msgstr "黎巴嫩"
-
-#~ msgid "IDS_PB_BODY_LESOTHO"
-#~ msgstr "賴索托"
-
-#~ msgid "IDS_PB_BODY_LIBERIA"
-#~ msgstr "賴比瑞亞"
-
-#~ msgid "IDS_PB_BODY_LIBYA"
-#~ msgstr "利比亞"
-
-#~ msgid "IDS_PB_BODY_LIECHTENSTEIN"
-#~ msgstr "列支敦斯登"
-
-#~ msgid "IDS_PB_BODY_LITHUANIA"
-#~ msgstr "立陶宛"
-
-#~ msgid "IDS_PB_BODY_LUXEMBOURG"
-#~ msgstr "盧森堡"
-
-#~ msgid "IDS_PB_MBODY_MACAO_M_REGIONALNAME"
-#~ msgstr "澳門"
-
-#~ msgid "IDS_PB_BODY_MADAGASCAR"
-#~ msgstr "馬達加斯加"
-
-#~ msgid "IDS_PB_BODY_MALAWI"
-#~ msgstr "馬拉威"
-
-#~ msgid "IDS_PB_BODY_MALAYSIA"
-#~ msgstr "馬來西亞"
-
-#~ msgid "IDS_PB_BODY_MALDIVES"
-#~ msgstr "馬爾地夫"
-
-#~ msgid "IDS_PB_BODY_MALI"
-#~ msgstr "馬利"
-
-#~ msgid "IDS_PB_BODY_MALTA"
-#~ msgstr "馬爾他"
-
-#~ msgid "IDS_PB_BODY_MARSHALL_ISLANDS"
-#~ msgstr "馬紹爾群島"
-
-#~ msgid "IDS_PB_BODY_MARTINIQUE"
-#~ msgstr "馬堤尼克"
-
-#~ msgid "IDS_PB_BODY_MAURITANIA"
-#~ msgstr "茅利塔尼亞"
-
-#~ msgid "IDS_PB_BODY_MAURITIUS"
-#~ msgstr "模里西斯"
-
-#~ msgid "IDS_PB_BODY_MEXICO"
-#~ msgstr "墨西哥"
-
-#~ msgid "IDS_PB_BODY_MICRONESIA"
-#~ msgstr "密克羅尼西亞"
-
-#~ msgid "IDS_PB_BODY_MOLDOVA"
-#~ msgstr "摩爾多瓦"
-
-#~ msgid "IDS_PB_BODY_MONACO"
-#~ msgstr "摩納哥"
-
-#~ msgid "IDS_PB_BODY_MONGOLIA"
-#~ msgstr "蒙古"
-
-#~ msgid "IDS_PB_BODY_MONTENEGRO"
-#~ msgstr "蒙特內科羅共和國"
-
-#~ msgid "IDS_PB_BODY_MONTSERRAT"
-#~ msgstr "蒙塞拉特"
-
-#~ msgid "IDS_PB_BODY_MOROCCO"
-#~ msgstr "摩洛哥"
-
-#~ msgid "IDS_PB_BODY_MOZAMBIQUE"
-#~ msgstr "莫三比克"
-
-#~ msgid "IDS_PB_BODY_MYANMAR"
-#~ msgstr "緬甸"
-
-#~ msgid "IDS_PB_BODY_NAMIBIA"
-#~ msgstr "那米比亞"
-
-#~ msgid "IDS_PB_BODY_NAURU"
-#~ msgstr "諾魯"
-
-#~ msgid "IDS_PB_BODY_NEPAL"
-#~ msgstr "尼泊爾"
-
-#~ msgid "IDS_PB_BODY_NETHERLANDS"
-#~ msgstr "荷蘭"
-
-#~ msgid "IDS_PB_BODY_NEW_CALEDONIA"
-#~ msgstr "新喀里多尼亞群島"
-
-#~ msgid "IDS_PB_BODY_NEW_ZEALAND"
-#~ msgstr "紐西蘭"
-
-#~ msgid "IDS_PB_BODY_NICARAGUA"
-#~ msgstr "尼加拉瓜"
-
-#~ msgid "IDS_PB_BODY_NIGER"
-#~ msgstr "尼日"
-
-#~ msgid "IDS_PB_BODY_NIGERIA"
-#~ msgstr "奈及利亞"
-
-#~ msgid "IDS_PB_BODY_NIUE"
-#~ msgstr "紐埃島"
-
-#~ msgid "IDS_PB_BODY_NORTHERN_MARIANA_ISLANDS"
-#~ msgstr "北馬里亞納群島"
-
-#~ msgid "IDS_PB_BODY_NORWAY"
-#~ msgstr "挪威"
-
-#~ msgid "IDS_PB_BODY_OMAN"
-#~ msgstr "阿曼"
-
-#~ msgid "IDS_PB_BODY_PAKISTAN"
-#~ msgstr "巴基斯坦"
-
-#~ msgid "IDS_PB_BODY_PALAU"
-#~ msgstr "帛琉"
-
-#~ msgid "IDS_PB_BODY_PANAMA"
-#~ msgstr "巴拿馬"
-
-#~ msgid "IDS_PB_BODY_PAPUA_NEW_GUINEA"
-#~ msgstr "巴布亞紐幾內亞"
-
-#~ msgid "IDS_PB_BODY_PARAGUAY"
-#~ msgstr "巴拉圭"
-
-#~ msgid "IDS_PB_BODY_PERU"
-#~ msgstr "秘魯"
-
-#~ msgid "IDS_PB_BODY_PHILIPPINES"
-#~ msgstr "菲律賓"
-
-#~ msgid "IDS_PB_BODY_POLAND"
-#~ msgstr "波蘭"
-
-#~ msgid "IDS_PB_BODY_PORTUGAL"
-#~ msgstr "葡萄牙"
-
-#~ msgid "IDS_PB_BODY_PUERTO_RICO"
-#~ msgstr "波多黎各"
-
-#~ msgid "IDS_PB_BODY_QATAR"
-#~ msgstr "卡達"
-
-#~ msgid "IDS_PB_BODY_ROMANIA"
-#~ msgstr "羅馬尼亞"
-
-#~ msgid "IDS_PB_BODY_RUSSIAN_FEDERATION"
-#~ msgstr "俄羅斯聯邦"
-
-#~ msgid "IDS_PB_BODY_RWANDA"
-#~ msgstr "盧安達"
-
-#~ msgid "IDS_PB_BODY_SAINT_HELENA_M_COUNTRYNAME"
-#~ msgstr "聖赫勒那"
-
-#~ msgid "IDS_PB_BODY_SAINT_KITTS_AND_NEVIS"
-#~ msgstr "聖克里斯多福及尼維斯"
-
-#~ msgid "IDS_PB_BODY_SAINT_LUCIA"
-#~ msgstr "聖露西亞"
-
-#~ msgid "IDS_PB_BODY_SAINT_PIERRE_AND_MIQUELON"
-#~ msgstr "聖皮埃爾和密克隆群島"
-
-#~ msgid "IDS_PB_BODY_SAINT_VINCENT_AND_THE_GRENADINES"
-#~ msgstr "聖文森及格瑞那丁"
-
-#~ msgid "IDS_PB_BODY_SAMOA"
-#~ msgstr "薩摩亞"
-
-#~ msgid "IDS_PB_BODY_SAN_MARINO"
-#~ msgstr "聖馬利諾"
-
-#~ msgid "IDS_PB_BODY_SAO_TOME_AND_PRINCIPE"
-#~ msgstr "聖多美及普林西比"
-
-#~ msgid "IDS_PB_BODY_SAUDI_ARABIA"
-#~ msgstr "沙烏地阿拉伯"
-
-#~ msgid "IDS_PB_BODY_SENEGAL"
-#~ msgstr "塞內加爾"
-
-#~ msgid "IDS_PB_BODY_SERBIA"
-#~ msgstr "塞爾維亞"
-
-#~ msgid "IDS_PB_BODY_SEYCHELLES"
-#~ msgstr "塞席爾"
-
-#~ msgid "IDS_PB_BODY_SIERRA_LEONE"
-#~ msgstr "獅子山"
-
-#~ msgid "IDS_PB_BODY_SINGAPORE"
-#~ msgstr "新加坡"
-
-#~ msgid "IDS_PB_BODY_SINT_MAARTEN"
-#~ msgstr "聖馬丁"
-
-#~ msgid "IDS_PB_BODY_SLOVAKIA_M_COUNTRYNAME"
-#~ msgstr "斯洛伐克"
-
-#~ msgid "IDS_PB_BODY_SLOVENIA"
-#~ msgstr "斯洛維尼亞"
-
-#~ msgid "IDS_PB_BODY_SOLOMON_ISLANDS"
-#~ msgstr "所羅門群島"
-
-#~ msgid "IDS_PB_MBODY_SOMALIA_M_COUNTRYNAME"
-#~ msgstr "索馬利亞"
-
-#~ msgid "IDS_PB_BODY_SOUTH_AFRICA"
-#~ msgstr "南非"
-
-#~ msgid "IDS_PB_BODY_SPAIN"
-#~ msgstr "西班牙"
-
-#~ msgid "IDS_PB_BODY_SRI_LANKA"
-#~ msgstr "斯里蘭卡"
-
-#~ msgid "IDS_PB_BODY_SUDAN"
-#~ msgstr "蘇丹"
-
-#~ msgid "IDS_PB_BODY_SURINAME"
-#~ msgstr "蘇利南"
-
-#~ msgid "IDS_PB_BODY_SWAZILAND"
-#~ msgstr "史瓦濟蘭"
-
-#~ msgid "IDS_PB_BODY_SWEDEN"
-#~ msgstr "瑞典"
-
-#~ msgid "IDS_PB_BODY_SWITZERLAND"
-#~ msgstr "瑞士"
-
-#~ msgid "IDS_PB_BODY_SYRIAN_ARAB_REPUBLIC"
-#~ msgstr "敘利亞阿拉伯共和國"
-
-#~ msgid "IDS_PB_BODY_TAIWAN_M_COUNTRYNAME"
-#~ msgstr "台灣"
-
-#~ msgid "IDS_PB_BODY_TAJIKISTAN"
-#~ msgstr "塔吉克"
-
-#~ msgid "IDS_PB_BODY_TANZANIA"
-#~ msgstr "坦尚尼亞"
-
-#~ msgid "IDS_PB_BODY_TELECOMMUNICATIONS_FOR_DISASTER_RELIEF_HTDR"
-#~ msgstr "災害救援電信 (TDR)"
-
-#~ msgid "IDS_PB_BODY_THAILAND"
-#~ msgstr "泰國"
-
-#~ msgid "IDS_PB_BODY_THE_FORMER_YUGOSLAV_REPUBLIC_OF_MACEDONIA_M_COUNTRYNAME"
-#~ msgstr "英國"
-
-#~ msgid "IDS_PB_MBODY_TOGO_M_COUNTRYNAME"
-#~ msgstr "多哥"
-
-#~ msgid "IDS_PB_BODY_TOKELAU"
-#~ msgstr "托克勞"
-
-#~ msgid "IDS_PB_BODY_TONGA"
-#~ msgstr "東加"
-
-#~ msgid "IDS_PB_BODY_TRINIDAD_AND_TOBAGO"
-#~ msgstr "千里達及托巴哥"
-
-#~ msgid "IDS_PB_BODY_TUNISIA"
-#~ msgstr "突尼西亞"
-
-#~ msgid "IDS_PB_BODY_TURKEY"
-#~ msgstr "土耳其"
-
-#~ msgid "IDS_PB_BODY_TURKMENISTAN"
-#~ msgstr "土庫曼"
-
-#~ msgid "IDS_PB_BODY_TURKS_AND_CAICOS_ISLANDS"
-#~ msgstr "特克斯和凱科斯群島"
-
-#~ msgid "IDS_PB_BODY_TUVALU"
-#~ msgstr "吐瓦魯"
-
-#~ msgid "IDS_PB_BODY_UGANDA"
-#~ msgstr "烏干達"
-
-#~ msgid "IDS_PB_BODY_UKRAINE"
-#~ msgstr "烏克蘭"
-
-#~ msgid "IDS_PB_BODY_UNITED_ARAB_EMIRATES"
-#~ msgstr "阿拉伯聯合大公國"
-
-#~ msgid "IDS_PB_BODY_UNITED_KINGDOM_OF_GREAT_BRITAIN_AND_NORTHERN_IRELAND_M_COUNTRYNAME"
-#~ msgstr "大不列顛暨北愛爾蘭聯合王國"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_OF_AMERICA_M_COUNTRYNAME"
-#~ msgstr "美國"
-
-#~ msgid "IDS_PB_BODY_UNITED_STATES_VIRGIN_ISLANDS_M_REGIONALNAME"
-#~ msgstr "美屬維爾京群島"
-
-#~ msgid "IDS_PB_BODY_UNIVERSAL_PERSONAL_TELECOMMUNICATION_SERVICE_HUPT"
-#~ msgstr "國際個人電信服務 (UPT)"
-
-#~ msgid "IDS_PB_BODY_URUGUAY"
-#~ msgstr "烏拉圭"
-
-#~ msgid "IDS_PB_BODY_UZBEKISTAN"
-#~ msgstr "烏茲別克斯坦"
-
-#~ msgid "IDS_PB_BODY_VANUATU"
-#~ msgstr "萬那杜"
-
-#~ msgid "IDS_PB_BODY_VATICAN_CITY_STATE"
-#~ msgstr "梵蒂岡城"
-
-#~ msgid "IDS_PB_BODY_VENEZUELA"
-#~ msgstr "委內瑞拉"
-
-#~ msgid "IDS_PB_BODY_VIETNAM"
-#~ msgstr "越南"
-
-#~ msgid "IDS_PB_BODY_WALLIS_AND_FUTUNA"
-#~ msgstr "瓦利斯和福圖納群島"
-
-#~ msgid "IDS_PB_BODY_YEMEN"
-#~ msgstr "葉門"
-
-#~ msgid "IDS_PB_BODY_ZAMBIA"
-#~ msgstr "尚比亞"
-
-#~ msgid "IDS_PB_BODY_ZIMBABWE"
-#~ msgstr "辛巴威"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HHOME"
-#~ msgstr "手機(住家)"
-
-#~ msgid "IDS_PB_BODY_MOBILE_HWORK"
-#~ msgstr "手機(工作)"
-
-#~ msgid "IDS_PB_BODY_GOOGLE"
-#~ msgstr "Google"
-
-#~ msgid "IDS_KA_BODY_SAVED_IN"
-#~ msgstr "已儲存在"
-
-#~ msgid "IDS_PB_BODY_IMPORT_FROM_SD_CARD"
-#~ msgstr "從 SD卡匯入"
-
-#~ msgid "IDS_PB_POP_GROUP_AND_GROUP_MEMBERS"
-#~ msgstr "分組和分組成員"
-
-#~ msgid "IDS_PB_POP_PS_SAVED_IN_PS"
-#~ msgstr "%s 已儲存在 %s"
-
-#~ msgid "IDS_PB_POP_THIS_CONTACT_WILL_BE_DELETED"
-#~ msgstr "將刪除此聯絡人"
-
-#~ msgid "IDS_PB_BODY_PHOTO"
-#~ msgstr "相片"
-
-#~ msgid "IDS_PB_ITAB4_DIALLER"
-#~ msgstr "撥號程式"
-
-#~ msgid "IDS_PB_BODY_BACKUP"
-#~ msgstr "備份"
-
-#~ msgid "IDS_PB_BODY_EXCHANGE"
-#~ msgstr "交換"
-
-#~ msgid "IDS_PB_BODY_GROUP_ONLY"
-#~ msgstr "僅限群組"
-
-#~ msgid "IDS_PB_BODY_MSN"
-#~ msgstr "MSN"
-
-#~ msgid "IDS_PB_OPT_NEW_GROUP"
-#~ msgstr "新增群組"
-
-#~ msgid "IDS_PB_OPT_SELECT_GROUP"
-#~ msgstr "選擇群組"
-
-#~ msgid "IDS_PB_BODY_MOBILE_2"
-#~ msgstr "手機 2"
-
-#~ msgid "IDS_COM_POP_ADDED"
-#~ msgstr "已新增"
-
-#~ msgid "IDS_COM_POP_MOVED"
-#~ msgstr "已移動"
-
-#~ msgid "IDS_COM_POP_SELECTED"
-#~ msgstr "已選擇"
-
-#~ msgid "IDS_COM_SK_CANCEL"
-#~ msgstr "取消"
-
-#~ msgid "IDS_COM_POP_NOT_ENOUGH_MEMORY"
-#~ msgstr "記憶體不足"
-
-#~ msgid "IDS_COM_POP_REMOVED"
-#~ msgstr "已移除"
-
-#~ msgid "IDS_COM_POP_CLOSE"
-#~ msgstr "關閉"
-
-#~ msgid "IDS_COM_POP_DELETED"
-#~ msgstr "已刪除"
-
-#~ msgid "IDS_COM_POP_ERROR"
-#~ msgstr "錯誤"
-
-#~ msgid "IDS_COM_BODY_CALL"
-#~ msgstr "通話"
-
-#~ msgid "IDS_COM_BODY_NO_SIM"
-#~ msgstr "無 SIM 卡"
-
-#~ msgid "IDS_COM_BODY_SELECT_ALL"
-#~ msgstr "全選"
-
-#~ msgid "IDS_COM_POP_FAILED"
-#~ msgstr "失敗"
-
-#~ msgid "IDS_COM_POP_SUCCESS"
-#~ msgstr "成功"
-
-#~ msgid "IDS_COM_SK_SAVE"
-#~ msgstr "儲存"
-
-#~ msgid "IDS_PB_BODY_ADD_CONTACTS"
-#~ msgstr "新增聯絡人"
-
-#~ msgid "IDS_PB_BODY_ASSISTANT_S_NAME"
-#~ msgstr "助理姓名"
-
-#~ msgid "IDS_PB_BODY_DELETE_GROUP"
-#~ msgstr "刪除群組"
-
-#~ msgid "IDS_PB_BODY_GROUP_NAME"
-#~ msgstr "群組名稱"
-
-#~ msgid "IDS_PB_BODY_GROUP_RINGTONE_ABB"
-#~ msgstr "群組鈴聲"
-
-#~ msgid "IDS_PB_BODY_RECORD_VIDEO"
-#~ msgstr "錄影"
-
-#~ msgid "IDS_PB_BODY_REPLACE"
-#~ msgstr "取代"
-
-#~ msgid "IDS_PB_BODY_SETTINGS_SPEED_DIAL"
-#~ msgstr "怏速撥號"
-
-#~ msgid "IDS_PB_BUTTON_MSG"
-#~ msgstr "訊息"
-
-#~ msgid "IDS_PB_DROP_SET_RINGTONE"
-#~ msgstr "設定鈴聲"
-
-#~ msgid "IDS_PB_HEADER_ALL_CONTACTS"
-#~ msgstr "全部聯絡人"
-
-#~ msgid "IDS_PB_HEADER_COMPANY"
-#~ msgstr "公司"
-
-#~ msgid "IDS_PB_HEADER_EDIT_CONTACTS"
-#~ msgstr "編輯連絡人"
-
-#~ msgid "IDS_PB_HEADER_GET_EMAIL"
-#~ msgstr "取得電子郵件"
-
-#~ msgid "IDS_PB_HEADER_GET_NUMBER"
-#~ msgstr "取得號碼"
-
-#~ msgid "IDS_PB_HEADER_NO_GROUP"
-#~ msgstr "無群組"
-
-#~ msgid "IDS_PB_HEADER_PARTICIPANT"
-#~ msgstr "參與者"
-
-#~ msgid "IDS_PB_HEADER_SET_IMAGE"
-#~ msgstr "設定影像"
-
-#~ msgid "IDS_PB_HEADER_SPEED_DIAL_NOT_IN_USE_KOR"
-#~ msgstr "快速撥號未使用"
-
-#~ msgid "IDS_PB_OPT2_DELETE_CONTACTS"
-#~ msgstr "刪除聯絡人"
-
-#~ msgid "IDS_PB_OPT2_EDIT_GROUPS"
-#~ msgstr "編輯群組"
-
-#~ msgid "IDS_PB_OPT2_EMAIL"
-#~ msgstr "電子郵件"
-
-#~ msgid "IDS_PB_OPT_ADD_TO_FAVORITES"
-#~ msgstr "加到我的最愛"
-
-#~ msgid "IDS_PB_OPT_EDIT_GROUP"
-#~ msgstr "編輯群組"
-
-#~ msgid "IDS_PB_OPT_EMPTY_MVERB"
-#~ msgstr "空白"
-
-#~ msgid "IDS_PB_OPT_SAVE_CONTACT"
-#~ msgstr "儲存聯絡人"
-
-#~ msgid "IDS_PB_OPT_SELECT_CONTACT"
-#~ msgstr "選擇聯絡人"
-
-#~ msgid "IDS_PB_POP_ADD_GROUP"
-#~ msgstr "加入群組"
-
-#~ msgid "IDS_PB_POP_MEMORY_FULL"
-#~ msgstr "記憶體已滿"
-
-#~ msgid "IDS_PB_POP_REMOVING"
-#~ msgstr "正在移除..."
-
-#~ msgid "IDS_PB_POP_UNABLE_TO_ADD_CONTACT_INTO_GROUP"
-#~ msgstr "無法將聯絡人新增到群組中"
-
-#~ msgid "IDS_PB_SK3_UPDATE"
-#~ msgstr "更新"
-
-#~ msgid "IDS_PB_SK_CANCEL_LITE"
-#~ msgstr "取消"
-
-#~ msgid "IDS_COM_BODY_BLUETOOTH"
-#~ msgstr "藍牙"
-
-#~ msgid "IDS_COM_BODY_CONTACTS"
-#~ msgstr "聯絡人"
-
-#~ msgid "IDS_COM_BODY_COPY"
-#~ msgstr "複製"
-
-#~ msgid "IDS_COM_BODY_CREATE"
-#~ msgstr "建立"
-
-#~ msgid "IDS_COM_BODY_EMAIL"
-#~ msgstr "電子郵件"
-
-#~ msgid "IDS_COM_BODY_MESSAGE"
-#~ msgstr "訊息"
-
-#~ msgid "IDS_COM_BODY_MOVE"
-#~ msgstr "移動"
-
-#~ msgid "IDS_COM_BODY_PHONE"
-#~ msgstr "電話"
-
-#~ msgid "IDS_COM_BODY_UNKNOWN"
-#~ msgstr "未知"
-
-#~ msgid "IDS_COM_BODY_VIDEO_CALL"
-#~ msgstr "視訊通話"
-
-#~ msgid "IDS_COM_SK_DELETE"
-#~ msgstr "刪除"
-
-#~ msgid "IDS_COM_SK_DONE"
-#~ msgstr "完成"
-
-#~ msgid "IDS_COM_SK_EDIT"
-#~ msgstr "編輯"
-
-#~ msgid "IDS_COM_SK_OK"
-#~ msgstr "確定"
-
-#~ msgid "IDS_PB_OPT_SEND_CONTACT_DETAILS"
-#~ msgstr "傳送聯絡人詳細資料"
-
-#~ msgid "IDS_PB_BODY_SEARCH_EXCHANGE_SERVER_ABB"
-#~ msgstr "搜尋Exchange伺服器"
-
-#~ msgid "IDS_PB_BODY_FIRST_NAME_LAST_NAME"
-#~ msgstr "名字姓氏"
-
-#~ msgid "IDS_PB_BODY_LAST_NAME_FIRST_NAME"
-#~ msgstr "先姓後名"
-
-#~ msgid "IDS_PB_BODY_FOR_MORE_FIELDS_TAP_THE_BUTTON_ON_THE_RIGHT"
-#~ msgstr "請輕觸右方按鍵查看更多欄位"
-
-msgid "IDS_PB_HEADER_SEND_MESSAGE"
-msgstr "Send message"
-
-msgid "IDS_SEND_MESSAGE_EMAIL"
-msgstr "Send message/email"
-
-msgid "IDS_IMPORT_EXPORT"
-msgstr "Import/Export"
-
-msgid "IDS_ACCOUNTS"
-msgstr "Accounts"
-
diff --git a/scripts/install.sh b/scripts/install.sh
deleted file mode 100755
index de96c30..0000000
--- a/scripts/install.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-# how to use
-# ./install.sh i586 /home/developer
-# ./install.sh armv7l /home/developer
-
-architect=$1
-if [ -z "$1" ]; then
- architect=i586
-fi
-
-dest=$2
-if [ -z "$1" ]; then
- dest=.
-fi
-
-rpm -ivh --force $dest/libug-phone-efl-0.6.63.29-1.$architect.rpm
-pkgcmd -iqt rpm -p $dest/org.tizen.phone-0.6.63.29-1.$architect.rpm
-pkgcmd -iqt rpm -p $dest/org.tizen.contacts-0.6.63.29-1.$architect.rpm
-pkgcmd -iqt rpm -p $dest/org.tizen.contacts-viewer-0.6.63.29-1.$architect.rpm
-pkgcmd -iqt rpm -p $dest/org.tizen.contacts-appservice-0.6.63.29-1.$architect.rpm
-rpm -ivh --force $dest/phone-debuginfo-0.6.63.29-1.$architect.rpm
-rpm -ivh --force $dest/phone-debugsource-0.6.63.29-1.$architect.rpm
diff --git a/scripts/pull_binaries.sh b/scripts/pull_binaries.sh
deleted file mode 100755
index 9633b72..0000000
--- a/scripts/pull_binaries.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-mkdir ../debugenv
-cd ../debugenv
-sdb pull /usr/apps/org.tizen.contacts/bin/contacts
-sdb pull /usr/lib/debug/usr/apps/org.tizen.contacts/bin/contacts.debug
-
-chmod +x ./contacts
diff --git a/scripts/push.sh b/scripts/push.sh
deleted file mode 100755
index cf33e94..0000000
--- a/scripts/push.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-
-# how to use
-# ./push.sh /home/developer i586
-
-dest=$1
-architect=$2
-
-if [ -z "$1" ]; then
- dest=/home/developer
-fi
-
-if [ -z "$2" ]; then
- architect=i586
-fi
-
-echo "pushing packages to:" $dest
-echo "archtecture:" $architect
-
-sdb push ./install.sh $dest
-sdb push ./run.sh $dest
-sdb push ~/GBS-ROOT/local/BUILD-ROOTS/scratch.$architect.0/home/abuild/rpmbuild/RPMS/$architect $dest
-
-echo "installing packages.."
-sdb root on
-echo $dest/install.sh $architect $dest
-sdb shell $dest/install.sh $architect $dest
-sdb root off
diff --git a/scripts/run.sh b/scripts/run.sh
deleted file mode 100755
index 8304ae8..0000000
--- a/scripts/run.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-echo "/usr/apps/org.tizen.contacts/bin/contacts -debug"
-/usr/apps/org.tizen.contacts/bin/contacts -debug
diff --git a/string_header_extractor.sh b/string_header_extractor.sh
new file mode 100755
index 0000000..d91082c
--- /dev/null
+++ b/string_header_extractor.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+HEADERFILE="lib-phone/ph-common/inc/PhStrings.h"
+rm $HEADERFILE
+
+echo '/*' > $HEADERFILE
+echo '* Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved' >> $HEADERFILE
+echo '*' >> $HEADERFILE
+echo '* Licensed under the Apache License, Version 2.0 (the License);' >> $HEADERFILE
+echo '* you may not use this file except in compliance with the License.' >> $HEADERFILE
+echo '* You may obtain a copy of the License at' >> $HEADERFILE
+echo '*' >> $HEADERFILE
+echo '* http://apachelicense.org/license/' >> $HEADERFILE
+echo '*' >> $HEADERFILE
+echo '* Unless required by applicable law or agreed to in writing, software' >> $HEADERFILE
+echo '* distributed under the License is distributed on an AS IS BASIS,' >> $HEADERFILE
+echo '* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.' >> $HEADERFILE
+echo '* See the License for the specific language governing permissions and' >> $HEADERFILE
+echo '* limitations under the License.' >> $HEADERFILE
+echo '*/' >> $HEADERFILE
+
+echo "#ifndef __PH_STRINGS_H_ //auto-generated on $(date)" >> $HEADERFILE
+echo '#define __PH_STRINGS_H_' >> $HEADERFILE
+echo $'\n' >> $HEADERFILE
+
+echo '#define STRING_PACKAGE "contacts"' >> $HEADERFILE
+echo '#define PST_(did) dgettext("sys_string", did)' >> $HEADERFILE
+echo '#define PAT_(did) dgettext(STRING_PACKAGE, did)' >> $HEADERFILE
+echo '#define PXT_(did) did' >> $HEADERFILE
+echo $'\n' >> $HEADERFILE
+
+grep msgid main-app/res/po/en.po | awk '{print $2}' >> _msgid_temp_
+
+while read line; do
+ rep=$(echo $line | awk -FIDS_ '{print $2}' | awk -F\" '{print "#define PH_"$1}')
+ echo "$rep $line" >> $HEADERFILE
+done < _msgid_temp_
+
+echo $'\n' >> $HEADERFILE
+echo '#endif// __PH_STRINGS_H_' >> $HEADERFILE
+rm _msgid_temp_
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
deleted file mode 100644
index 6a4a352..0000000
--- a/test/CMakeLists.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-cmake_minimum_required(VERSION 2.6)
-
-file(GLOB TEST_SRC *.cpp)
-
-set(TEST_LIBS
- libgtest.a
- libgtest_main.a -lpthread
-)
-
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/lib/common/include)
-ADD_DEFINITIONS(${pkgs_CFLAGS})
-add_executable(phone-test ${TEST_SRC})
-TARGET_LINK_LIBRARIES(phone-test common ug-contacts-list-efl ${TEST_LIBS})
-install(TARGETS phone-test DESTINATION ${BINDIR})
diff --git a/test/ReadMe.txt b/test/ReadMe.txt
deleted file mode 100644
index d28a656..0000000
--- a/test/ReadMe.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-To build with tests add --define "TEST ON" to gbs command line.
-Test executable is installed to /usr/apps/org.tizen.phone/bin/phone-test on device or emulator.
-
-TODO:
-Automatic test build and launch should be provided by run-script.
diff --git a/test/common.cpp b/test/common.cpp
deleted file mode 100644
index bc5c3fe..0000000
--- a/test/common.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <gtest/gtest.h>
-#include "phone.h"
-#include "../lib/common/include/phone-common.h"
-
-class CommonTest : public ::testing::Test
-{
-
-};
-
-TEST_F(CommonTest, HasBadge)
-{
- bool hBadge = hasBadge();
-
- bool sDelete = removeBadge();
-
- ASSERT_EQ(hBadge, sDelete);
-}
-
-TEST_F(CommonTest, ctui_get_record_image)
-{
- ASSERT_EQ(NULL,ctui_get_record_image(NULL));
-}
diff --git a/widget/.cproject b/widget/.cproject
new file mode 100644
index 0000000..2226da2
--- /dev/null
+++ b/widget/.cproject
@@ -0,0 +1,743 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.debug.168992274">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.168992274" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="widget" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.CWDLocator;org.eclipse.cdt.core.GmakeErrorParser" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.168992274" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.app.debug" postannouncebuildStep="" postbuildStep="" preannouncebuildStep="" prebuildStep="">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.168992274." name="/" resourcePath="">
+ <toolChain errorParsers="" id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.1281294106" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1692825216" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/contacts-widget}/Debug" enableAutoBuild="true" errorParsers="org.eclipse.cdt.core.GmakeErrorParser;org.eclipse.cdt.core.CWDLocator" id="org.tizen.nativecore.target.sbi.gnu.builder.997139536" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.tizen.nativecore.target.sbi.gnu.builder">
+ <outputEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Debug"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="outputPath" name="Release"/>
+ </outputEntries>
+ </builder>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.797864028" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="i386-linux-gnueabi-g++" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1029604306" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.318406678" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1375005017" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.262932232" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.859298121" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1560407688" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.272493912" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="../contacts-widget"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar-common}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar-common/fw}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar-common/model}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/common}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/edit}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/month}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/list}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/book}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1148387945" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1353154803" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ <listOptionValue builtIn="false" value="TIZEN_DEBUG_ENABLE"/>
+ <listOptionValue builtIn="false" value="CAL_PREFIX=/opt/usr/apps/org.tizen.calendar"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.570875085" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <option id="gnu.cpp.compiler.option.dialect.std.144940648" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1303391063" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="i386-linux-gnueabi-gcc" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.664210848" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1879224125" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.908122509" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.710179308" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1721772861" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1683384925" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1686288964" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="../contacts-widget"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar-common}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar-common/fw}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar-common/model}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/common}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/edit}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/month}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/list}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/book}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1210059809" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.627002376" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.807440312" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.281522397" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="i386-linux-gnueabi-g++" commandLinePattern="${COMMAND} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} ${FLAGS}" errorParsers="org.eclipse.cdt.core.GLDErrorParser" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.459822206" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1361661691" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath=&quot;/home/developer/sdk_tools/lib&quot;"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script=${ProjDirPath}/.exportMap"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.138332002" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/Debug}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar-common/Debug}&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.1648739031" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="app-assist-efl"/>
+ <listOptionValue builtIn="false" value="calendar-common"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1056010652" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GASErrorParser" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.2068043017" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <option id="gnu.both.asm.option.include.paths.1101585621" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/widget}&quot;"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1292955234" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool command="clangFnMapGen" commandLinePattern="${COMMAND} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} -ast $(@:%.fn=%.ast) ${INPUTS} -- ${FLAGS}" errorParsers="" id="org.tizen.nativecore.tool.fnmapgen.2145549077" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool command="clangFnMapGen" commandLinePattern="${COMMAND} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} -ast $(@:%.fn=%.ast) ${INPUTS} -- ${FLAGS}" errorParsers="" id="org.tizen.nativecore.tool.fnmapgen.cpp.221592576" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool command="clang" commandLinePattern="${COMMAND} -emit-ast ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="" id="org.tizen.nativecore.tool.ast.541687750" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool command="clang++" commandLinePattern="${COMMAND} -emit-ast ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="" id="org.tizen.nativecore.tool.ast.cpp.1371873116" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool command="msgfmt" commandLinePattern="${COMMAND} ${OUTPUT_FLAG} ${OUTPUT} ${INPUTS}" errorParsers="" id="org.tizen.nativecore.tool.sbi.po.compiler.606017293" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool command="edje_cc" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${INPUTS} ${OUTPUT}" errorParsers="" id="org.tizen.nativecore.tool.sbi.edc.compiler.1887001862" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry excluding=".settings|res|inc|view|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.release.1916752468">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.release.1916752468" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactName="widget" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.release.1916752468" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.app.release">
+ <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.release.1916752468." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.release.1082884613" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.867767675" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/contacts-widget}/Release" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.1659796697" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1568814721" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+ <tool command="i386-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1581692519" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.680448708" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.debugging.level.core.1287793835" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core"/>
+ <option id="sbi.gnu.cpp.compiler.option.1199742923" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.1645008839" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.2057996522" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1967236646" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="../contacts-widget"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar-common}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar-common/fw}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar-common/model}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/common}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/edit}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/month}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/list}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar/src/book}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.412879601" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.other.other.241061976" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -fmessage-length=0 -std=c++0x" valueType="string"/>
+ <option id="gnu.cpp.compiler.option.dialect.std.1217787500" name="Language standard" superClass="gnu.cpp.compiler.option.dialect.std" value="gnu.cpp.compiler.dialect.default" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.499887409" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="CAL_PREFIX=/opt/usr/apps/org.tizen.calendar"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.730456798" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+ </tool>
+ <tool command="i386-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1385372002" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.801526055" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.debugging.level.core.743954448" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core"/>
+ <option id="sbi.gnu.c.compiler.option.999724125" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="mobile-2.3-emulator.core_gcc46.i386.core.app"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1726611468" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SDK_INSTALL_PATH}/library&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/AL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/calendar-service2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/curl&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0/json-glib&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libexif&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/EGL&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/email-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-manager&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ewebkit2-0&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.106360099" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.695276423" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.1480884450" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <listOptionValue builtIn="false" value="Native_API"/>
+ </option>
+ <option id="gnu.c.compiler.option.dialect.std.1739119579" name="Language standard" superClass="gnu.c.compiler.option.dialect.std" value="gnu.c.compiler.dialect.default" valueType="enumerated"/>
+ <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1414633893" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.516190979" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="i386-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1667127082" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1510624963" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath=&quot;/home/developer/sdk_tools/lib&quot;"/>
+ <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+ <listOptionValue builtIn="false" value="-Xlinker --version-script=${ProjDirPath}/.exportMap"/>
+ <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+ <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+ </option>
+ <option id="gnu.cpp.link.option.paths.1945255987" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/app-assist-efl/Release}&quot;"/>
+ <listOptionValue builtIn="false" value="&quot;${workspace_loc:/calendar-common/Release}&quot;"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.945622465" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="app-assist-efl"/>
+ <listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="calendar-common"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.660114182" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1162924922" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.101332465" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.958740828" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+ <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.159591642" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+ <tool id="org.tizen.nativecore.tool.ast.791939892" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+ <tool id="org.tizen.nativecore.tool.ast.cpp.1752572076" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+ <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1167211268" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1943297018" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry excluding="inc|res|src" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name=""/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="contacts-widget.org.tizen.nativecore.target.sbi.gcc45.app.1740255479" name="Tizen Native Application" projectType="org.tizen.nativecore.target.sbi.gcc45.app"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.debug.168992274">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.release.1916752468">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+ <storageModule moduleId="refreshScope" versionNumber="2">
+ <configuration configurationName="Release">
+ <resource resourceType="PROJECT" workspacePath="/contacts-widget"/>
+ </configuration>
+ <configuration configurationName="Debug">
+ <resource resourceType="PROJECT" workspacePath="/contacts-widget"/>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="com.samsung.tizen.nativeapp.projectInfo" version="1.0.0"/>
+</cproject>
diff --git a/widget/.exportMap b/widget/.exportMap
new file mode 100644
index 0000000..43e310e
--- /dev/null
+++ b/widget/.exportMap
@@ -0,0 +1,4 @@
+{
+ global: main;
+ local: *;
+};
diff --git a/widget/.project b/widget/.project
new file mode 100644
index 0000000..cb75810
--- /dev/null
+++ b/widget/.project
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>contacts-widget</name>
+ <comment></comment>
+ <projects>
+ <project>calendar-common</project>
+ <project>app-assist-efl(cal)</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecore.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.core.tizenCppNature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>common_link</name>
+ <type>2</type>
+ <locationURI>$%7BPARENT-2-PROJECT_LOC%7D/main-app/src/common</locationURI>
+ </link>
+ <link>
+ <name>list_link</name>
+ <type>2</type>
+ <locationURI>$%7BPARENT-2-PROJECT_LOC%7D/main-app/src/list</locationURI>
+ </link>
+ <link>
+ <name>month_link</name>
+ <type>2</type>
+ <locationURI>$%7BPARENT-2-PROJECT_LOC%7D/main-app/src/month</locationURI>
+ </link>
+ </linkedResources>
+ <filteredResources>
+ <filter>
+ <id>1416316840295</id>
+ <name></name>
+ <type>26</type>
+ <matcher>
+ <id>org.eclipse.ui.ide.multiFilter</id>
+ <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+ </matcher>
+ </filter>
+ </filteredResources>
+</projectDescription>
diff --git a/widget/.tproject b/widget/.tproject
new file mode 100644
index 0000000..f1cc1fd
--- /dev/null
+++ b/widget/.tproject
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+ <platforms>
+ <platform>
+ <name>mobile-2.3</name>
+ </platform>
+ </platforms>
+ <package>
+ <blacklist/>
+ </package>
+</tproject>
diff --git a/widget/CMakeLists.txt b/widget/CMakeLists.txt
new file mode 100644
index 0000000..e596e4c
--- /dev/null
+++ b/widget/CMakeLists.txt
@@ -0,0 +1,34 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(widget CXX)
+
+FILE(GLOB SRCS src/*.cpp)
+
+pkg_check_modules(TIZEN_WIDGET_PKGS REQUIRED
+ capi-appfw-widget-application
+ sqlite3
+ widget_service
+)
+
+INCLUDE_DIRECTORIES(
+ ${CMAKE_SOURCE_DIR}/app-assist-efl/inc
+ ${CMAKE_SOURCE_DIR}/lib-common/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/inc
+ ${CMAKE_CURRENT_SOURCE_DIR}/res/edje
+ ${TIZEN_WIDGET_PKGS_INCLUDE_DIRS}
+)
+
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${TIZEN_WIDGET_PKGS_LDFLAGS} ${TIZEN_PKGS_LDFLAGS}
+ "app-assist-efl"
+ "contacts-common"
+ "-pie -lm -lsqlite3"
+)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_APP_BIN_DIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/preview_4x4.png DESTINATION ${CMAKE_APP_RES_DIR}/images/widget)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/preview_4x2.png DESTINATION ${CMAKE_APP_RES_DIR}/images/widget)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/icon_call.png DESTINATION ${CMAKE_APP_RES_DIR}/images/widget)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/icon_message.png DESTINATION ${CMAKE_APP_RES_DIR}/images/widget)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/icon_email.png DESTINATION ${CMAKE_APP_RES_DIR}/images/widget)
+
+ADD_SUBDIRECTORY(res/edje)
diff --git a/widget/inc/Widget.h b/widget/inc/Widget.h
new file mode 100644
index 0000000..249f919
--- /dev/null
+++ b/widget/inc/Widget.h
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WIDGET_H_
+#define _WIDGET_H_
+
+#include <app_control.h>
+#include <Elementary.h>
+#include <string>
+
+#include "WWidget.h"
+#include "WidgetItems.h"
+
+class WidgetGengridItem;
+
+/**
+* @class Widget
+* @brief This class is a widget representation
+*
+* The %Widget class designated to show the content of app to the homescreen
+*/
+class Widget : public WWidget
+{
+public:
+ Widget();
+
+private:
+ virtual void onCreate(bundle *content, int w, int h);
+ virtual void onDestroy(widget_app_destroy_type reason);
+ void initializeItems(bundle *content);
+
+ Evas_Object *createNocontents(Evas_Object *parent);
+ Evas_Object *createGengrid(Evas_Object *parent);
+ Elm_Gengrid_Item_Class *getAddButtonItemClass();
+
+ void setLayout(bool isEmpty);
+ void setAddButton();
+
+ static void onAddPressed(void *data, Evas_Object *obj, void *event_info);
+ static void onEditPressed(void *data, Evas_Object *obj, void *event_info);
+ static void onPickReply(app_control_h request, app_control_h reply, app_control_result_e result, void *data);
+
+ void onItemUpdate(WidgetItem &item);
+ void onItemDelete(WidgetItem &item);
+
+ void addItem(WidgetItem &item);
+ void removeItem(WidgetGengridItem &item);
+
+ void onAddItem(WidgetItemType type, int dataId);
+ void onRemoveItem(WidgetGengridItem &item);
+
+ WidgetItems m_Items;
+ bool m_EditMode;
+ bool m_IsPicking;
+ size_t m_MaxCount;
+
+ int m_WidgetHeight;
+ std::string m_LayoutPath;
+
+ Evas_Object *m_Layout;
+ Evas_Object *m_Gengrid;
+ Elm_Object_Item *m_AddButton;
+};
+
+#endif /* _WIDGET_H_ */
diff --git a/widget/inc/WidgetApp.h b/widget/inc/WidgetApp.h
new file mode 100644
index 0000000..1b2c8df
--- /dev/null
+++ b/widget/inc/WidgetApp.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WIDGETAPP_H_
+#define _WIDGETAPP_H_
+
+#include "WWidgetApp.h"
+
+/**
+* @class WidgetApp
+* @brief This class represents widget application.
+*
+*/
+class WAPP_ASSIST_EXPORT WidgetApp
+ : public WWidgetApp
+{
+private:
+ virtual bool onCreate();
+ virtual void onTerminate();
+ virtual WWidget *onWidgetCreate();
+ static void onLanguageChanged(app_event_info_h event, void *data);
+};
+
+#endif /* _WIDGETAPP_H_ */
diff --git a/widget/inc/WidgetDatabase.h b/widget/inc/WidgetDatabase.h
new file mode 100644
index 0000000..2d9f28d
--- /dev/null
+++ b/widget/inc/WidgetDatabase.h
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WIDGET_DATABASE_H_
+#define _WIDGET_DATABASE_H_
+
+#include <functional>
+#include "WidgetItem.h"
+
+struct sqlite3;
+
+/**
+ * @brief Widget database management class.
+ */
+class WidgetDatabase
+{
+public:
+ WidgetDatabase();
+ WidgetDatabase(const WidgetDatabase&) = delete;
+ ~WidgetDatabase();
+
+ /**
+ * @brief Initialize widget database connection.
+ * @details If @a widgetId is 0 then a new widget ID is generated.
+ * @param[in] widgetId Widget ID to use in database queries.
+ * @return true if database is successfully opened, otherwise false
+ */
+ bool initialize(unsigned widgetId);
+
+ /**
+ * @return Widget ID that is used in queries.
+ */
+ unsigned getWidgetId() const;
+
+ /**
+ * @brief Fetch all items from database by passing each item to the provided callback.
+ * @param[in] callback Callback to receive each fetched item
+ */
+ void fetch(const std::function<void(WidgetItem&&)> &callback);
+
+ /**
+ * @brief Insert widget item into database.
+ * @param[in] item Widget item
+ * @return Widget item ID on success, otherwise 0.
+ */
+ int insert(const WidgetItem &item);
+
+ /**
+ * @brief Remove widget item from database.
+ * @param[in] item Widget item
+ * @return true on success, otherwise false
+ */
+ bool remove(const WidgetItem &item);
+
+ /**
+ * @brief Remove all data that belongs to this widget from the database.
+ * @remarks This instance should not be used after calling this method.
+ * @return true on success, otherwise false
+ */
+ bool destroy();
+
+ WidgetDatabase & operator=(const WidgetDatabase&) = delete;
+
+private:
+ unsigned generateWidgetId();
+ bool execute(const char *stmt);
+
+ sqlite3 *m_Handle;
+ unsigned m_WidgetId;
+};
+
+#endif /* _WIDGET_DATABASE_H_ */
diff --git a/widget/inc/WidgetGengridItem.h b/widget/inc/WidgetGengridItem.h
new file mode 100644
index 0000000..e0e083b
--- /dev/null
+++ b/widget/inc/WidgetGengridItem.h
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WIDGET_GENGRID_ITEM_H_
+#define _WIDGET_GENGRID_ITEM_H_
+
+#include <Elementary.h>
+#include <functional>
+
+class WidgetItem;
+class WidgetGengridItem
+{
+public:
+ typedef std::function<void(WidgetGengridItem&)> DeletePressedCb;
+
+ /**
+ * @brief Create widget gengrid item.
+ * @param[in] Widget item associated with gengrid item
+ */
+ WidgetGengridItem(const WidgetItem &item, const bool &editMode);
+
+ /**
+ * @brief Insert item before @a nextItem, or append if not specified.
+ * @param[in] gengrid Parent gengrid
+ * @param[in] nextItem Next item to insert before it or nullptr to append.
+ */
+ void insert(Evas_Object *gengrid, Elm_Object_Item *nextItem);
+
+ /**
+ * @return Widget item associated with gengrid item.
+ */
+ const WidgetItem &getItem() const;
+
+ /**
+ * @return Underlying gengrid item.
+ */
+ Elm_Object_Item *getObjectItem() const;
+
+ /**
+ * @brief Set delete button callback.
+ * @param[in] callback Delete button press callback
+ */
+ void setOnDelete(DeletePressedCb callback);
+
+private:
+ static Elm_Gengrid_Item_Class *getItemClass();
+
+ static char *onTextGet(void *data, Evas_Object *parent, const char *part);
+ static Evas_Object *onContentGet(void *data, Evas_Object *parent, const char *part);
+
+ Evas_Object *createThumbnail(Evas_Object *parent);
+ Evas_Object *createTypeIcon(Evas_Object *parent);
+ Evas_Object *createDeleteButton(Evas_Object *parent);
+
+ static void onDeletePressed(void *data, Evas_Object *obj, void *eventInfo);
+ static void onSelect(void *data, Evas_Object *obj, void *eventInfo);
+
+ const WidgetItem &m_Item;
+ const bool &m_EditMode;
+
+ Elm_Object_Item *m_ObjectItem;
+ DeletePressedCb m_OnDeletePressed;
+};
+
+#endif /* _WIDGET_GENGRID_ITEM_H_ */
diff --git a/widget/inc/WidgetItem.h b/widget/inc/WidgetItem.h
new file mode 100644
index 0000000..d49db5f
--- /dev/null
+++ b/widget/inc/WidgetItem.h
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WIDGET_ITEM_H_
+#define _WIDGET_ITEM_H_
+
+#include <contacts.h>
+#include "WidgetItemType.h"
+
+class WidgetItem
+{
+public:
+ /**
+ * @brief Create new widget item.
+ * @param[in] type Item type
+ * @param[in] dataId Contacts database phone or email ID
+ */
+ WidgetItem(WidgetItemType type, int dataId);
+
+ /**
+ * @brief Create object of existing item loaded from database.
+ * @param[in] id Widget database item ID
+ * @param[in] type Item type
+ * @param[in] dataId Contacts database phone or email ID
+ */
+ WidgetItem(int id, WidgetItemType type, int dataId);
+ WidgetItem(const WidgetItem&) = delete;
+ WidgetItem(WidgetItem&&);
+ virtual ~WidgetItem();
+
+ /**
+ * @brief Update item data by re-fetching it from contacts database.
+ * @return true on success, otherwise false
+ */
+ bool update();
+
+ /**
+ * @return User data associated with the item.
+ * @see setUserData
+ */
+ void *getUserData() const;
+
+ /**
+ * @brief Associate user data with widget item.
+ * @param[in] data User data to be associated with the item
+ */
+ void setUserData(void *data);
+
+ /**
+ * @return Widget database item ID.
+ */
+ int getId() const;
+
+ /**
+ * @brief Set item ID.
+ * @param[in] Widget database item ID
+ */
+ void setId(int id);
+
+ /**
+ * @return Widget item type.
+ */
+ WidgetItemType getType() const;
+
+ /**
+ * @remark _contacts_number or _contacts_email depending on item type.
+ * @return Contacts database ID.
+ */
+ int getDataId() const;
+
+ /**
+ * @return Contact ID to which item data (number or email) belongs.
+ */
+ int getContactId() const;
+
+ /**
+ * @return Item data (number or email).
+ */
+ const char *getData() const;
+
+ /**
+ * @return Associated contact display name.
+ */
+ const char *getDisplayName() const;
+
+ /**
+ * @return Associated contact thumbnail image path.
+ */
+ const char *getThumbnailPath() const;
+
+ WidgetItem & operator=(const WidgetItem&) = delete;
+ WidgetItem & operator=(WidgetItem&&);
+
+private:
+ contacts_record_h fetchDataRecord(int dataId);
+
+ void *m_UserData;
+ int m_Id;
+ WidgetItemType m_Type;
+ contacts_record_h m_Record;
+};
+
+#endif /* _WIDGET_ITEM_H_ */
diff --git a/widget/inc/WidgetItemType.h b/widget/inc/WidgetItemType.h
new file mode 100644
index 0000000..1b2943c
--- /dev/null
+++ b/widget/inc/WidgetItemType.h
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WIDGET_ITEM_TYPE_H_
+#define _WIDGET_ITEM_TYPE_H_
+
+enum WidgetItemType
+{
+ WidgetItemCall,
+ WidgetItemMessage,
+ WidgetItemEmail
+};
+
+#endif /* _WIDGET_ITEM_TYPE_H_ */
diff --git a/widget/inc/WidgetItems.h b/widget/inc/WidgetItems.h
new file mode 100644
index 0000000..b754fb0
--- /dev/null
+++ b/widget/inc/WidgetItems.h
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WIDGET_ITEMS_H_
+#define _WIDGET_ITEMS_H_
+
+#include <list>
+#include "WidgetDatabase.h"
+
+/**
+ * @brief Widget items containter.
+ */
+class WidgetItems
+{
+public:
+ typedef std::list<WidgetItem> Container;
+
+ WidgetItems();
+ ~WidgetItems();
+
+ /**
+ * @brief Initialize items container and fetch all stored items.
+ * @details If @a widgetId is 0 then a new widget ID is generated.
+ * @param[in] widgetId Widget ID to get the items for.
+ */
+ bool initialize(unsigned widgetId);
+
+ /**
+ * @return ID of widget items belong to.
+ */
+ unsigned getWidgetId() const;
+
+ /**
+ * @brief Set item update callback.
+ * @param[in] callback Callback to be called after some item was updated.
+ */
+ void setOnItemUpdate(std::function<void(WidgetItem&)> callback);
+
+ /**
+ * @brief Set item delete callback.
+ * @param[in] callback Callback to be called before some item is deleted.
+ */
+ void setOnItemDelete(std::function<void(WidgetItem&)> callback);
+
+ /**
+ * @return Begin iterator of underlying container.
+ */
+ Container::iterator begin();
+
+ /**
+ * @return End iterator of underlying container.
+ */
+ Container::iterator end();
+
+ /**
+ * @return Begin iterator of underlying container.
+ */
+ Container::const_iterator begin() const;
+
+ /**
+ * @return End iterator of underlying container.
+ */
+ Container::const_iterator end() const;
+
+ /**
+ * @return Widget items count.
+ */
+ size_t count() const;
+
+ /**
+ * @brief Add widget item.
+ * @param[in] item Item to add
+ * @return true on success, otherwise false.
+ */
+ bool addItem(WidgetItem &&item);
+
+ /**
+ * @brief Remove widget item.
+ * @param[in] item Item to remove
+ * @return true on success, otherwise false.
+ */
+ bool removeItem(const WidgetItem &item);
+
+ /**
+ * @brief Destroy all data that belong to this widget.
+ * @remarks This instance should not be used after calling this method.
+ * @return true on success, otherwise false.
+ */
+ bool destroy();
+
+private:
+ void loadChanges();
+ static void onDbChanged(const char *uri, void *data);
+ static void onNameOrderChanged(contacts_name_display_order_e name_display_order, void *data);
+
+ WidgetDatabase m_Database;
+ Container m_Items;
+ int m_DbVersion;
+
+ std::function<void(WidgetItem&)> m_OnUpdate;
+ std::function<void(WidgetItem&)> m_OnDelete;
+};
+
+#endif /* _WIDGET_ITEMS_H_ */
diff --git a/widget/res/edje/CMakeLists.txt b/widget/res/edje/CMakeLists.txt
new file mode 100644
index 0000000..587cfa7
--- /dev/null
+++ b/widget/res/edje/CMakeLists.txt
@@ -0,0 +1,28 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+ADD_CUSTOM_TARGET(widget-layout-4x4.edj
+ COMMAND edje_cc ${EDJE_CFLAGS}
+ -id ${CMAKE_CURRENT_SOURCE_DIR}/../images
+ ${CMAKE_CURRENT_SOURCE_DIR}/widget-layout-4x4.edc widget-layout-4x4.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/widget-layout-4x4.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} widget-layout-4x4.edj)
+INSTALL(FILES widget-layout-4x4.edj DESTINATION ${CMAKE_APP_RES_DIR}/edje/widget)
+
+ADD_CUSTOM_TARGET(widget-layout-4x2.edj
+ COMMAND edje_cc ${EDJE_CFLAGS}
+ -id ${CMAKE_CURRENT_SOURCE_DIR}/../images
+ ${CMAKE_CURRENT_SOURCE_DIR}/widget-layout-4x2.edc widget-layout-4x2.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/widget-layout-4x2.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} widget-layout-4x2.edj)
+INSTALL(FILES widget-layout-4x2.edj DESTINATION ${CMAKE_APP_RES_DIR}/edje/widget)
+
+ADD_CUSTOM_TARGET(widget-item-layout.edj
+ COMMAND edje_cc ${EDJE_CFLAGS}
+ -id ${CMAKE_CURRENT_SOURCE_DIR}/../images
+ ${CMAKE_CURRENT_SOURCE_DIR}/widget-item-layout.edc widget-item-layout.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/widget-item-layout.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} widget-item-layout.edj)
+INSTALL(FILES widget-item-layout.edj DESTINATION ${CMAKE_APP_RES_DIR}/edje/widget)
diff --git a/widget/res/edje/WidgetItemLayout.h b/widget/res/edje/WidgetItemLayout.h
new file mode 100644
index 0000000..c4d2b7b
--- /dev/null
+++ b/widget/res/edje/WidgetItemLayout.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WIDGET_ITEM_LAYOUT_H_
+#define _WIDGET_ITEM_LAYOUT_H_
+
+#define WIDGET_ITEM_LAYOUT_EDJ "widget-item-layout.edj"
+#define WIDGET_ITEM_STYLE "widget_item"
+
+#define GROUP_BUTTON_DELETE "button_delete"
+#define GROUP_THUMBNAIL "thumbnail"
+
+#define PART_THUMBNAIL "swallow.thumbnail"
+#define PART_THUMBNAIL_MASK "image.thumbnail_mask"
+#define PART_ICON_DELETE "swallow.icon_delete"
+#define PART_ICON_TYPE "swallow.icon_type"
+#define PART_NAME "text.name"
+
+#define BUTTON_DELETE "button_delete.png"
+#define BUTTON_DELETE_PRESSED "button_delete_pressed.png"
+
+#define ICON_CALL "icon_call.png"
+#define ICON_MESSAGE "icon_message.png"
+#define ICON_EMAIL "icon_email.png"
+#define ICON_THUMBNAIL_MASK "thumbnail_mask.png"
+
+#endif /* _WIDGET_ITEM_LAYOUT_H_ */
diff --git a/widget/res/edje/WidgetItemLayoutMetrics.h b/widget/res/edje/WidgetItemLayoutMetrics.h
new file mode 100644
index 0000000..60d3706
--- /dev/null
+++ b/widget/res/edje/WidgetItemLayoutMetrics.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WIDGET_ITEM_LAYOUT_METRICS_H_
+#define _WIDGET_ITEM_LAYOUT_METRICS_H_
+
+#define ITEM_PAD_X 4
+#define ITEM_PAD_Y 14
+
+#define ITEM_WIDTH (ITEM_PAD_X+174)
+#define ITEM_HEIGHT (ITEM_PAD_Y+206)
+
+#define THUMBNAIL_SIZE 118
+#define THUMBNAIL_OFFSET_X (ITEM_WIDTH - THUMBNAIL_SIZE)/2
+#define THUMBNAIL_OFFSET_Y ITEM_PAD_Y
+
+#define BUTTON_DELETE_SIZE 62
+#define BUTTON_DELETE_OFFSET_X 8
+#define BUTTON_DELETE_OFFSET_Y 8
+
+#define ICON_TYPE_SIZE 54
+#define ICON_TYPE_OFFSET_X 20
+
+#define NAME_HEIGHT 80
+#define NAME_OFFSET_X ITEM_PAD_X/2
+#define NAME_OFFSET_Y (THUMBNAIL_OFFSET_Y+THUMBNAIL_SIZE+6)
+#define NAME_TEXT_SIZE 28
+
+#endif /* _WIDGET_ITEM_LAYOUT_METRICS_H_ */
diff --git a/widget/res/edje/WidgetLayout.h b/widget/res/edje/WidgetLayout.h
new file mode 100644
index 0000000..0a67320
--- /dev/null
+++ b/widget/res/edje/WidgetLayout.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WIDGET_LAYOUT_H_
+#define _WIDGET_LAYOUT_H_
+
+#define WIDGET_LAYOUT_4X4_EDJ "widget-layout-4x4.edj"
+#define WIDGET_LAYOUT_4X2_EDJ "widget-layout-4x2.edj"
+
+#define GROUP_NO_CONTACTS "no_contacts"
+#define GROUP_CONTACTS "contacts"
+#define GROUP_ICON_ADD "icon_add"
+
+#define PART_TITLE "text.title"
+#define PART_HELP "text.help"
+#define PART_ICON "swallow.icon"
+
+#define PART_BUTTON "swallow.button"
+#define PART_CONTENT "swallow.content"
+
+#define NOCONTACTS_BG "nocontacts_bg.#.png"
+#define NOCONTACTS_BORDER "nocontacts_bg_stroke.#.png"
+
+#define BUTTON_ADD "button_add.png"
+#define BUTTON_ADD_PRESSED "button_add_pressed.png"
+#define BUTTON_EDIT_BG "button_edit_bg.png"
+
+#endif /* _WIDGET_LAYOUT_H_ */
diff --git a/widget/res/edje/WidgetLayoutMetrics.h b/widget/res/edje/WidgetLayoutMetrics.h
new file mode 100644
index 0000000..aaf4319
--- /dev/null
+++ b/widget/res/edje/WidgetLayoutMetrics.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef _WIDGET_LAYOUT_METRICS_H_
+#define _WIDGET_LAYOUT_METRICS_H_
+
+#define WIDGET_WIDTH 712
+#define WIDGET_HEIGHT_4X4 772
+#define WIDGET_HEIGHT_4X2 (WIDGET_HEIGHT_4X4/2)
+
+#define BORDER_W 2
+#define BORDER_H 2
+
+#define TITLE_HEIGHT 107
+#define TITLE_OFFSET_Y 75
+#define TITLE_TEXT_SIZE 80
+
+#define HELP_HEIGHT 52
+#define HELP_OFFSET_Y (TITLE_OFFSET_Y+TITLE_HEIGHT+15)
+#define HELP_TEXT_SIZE 30
+
+#define BUTTON_TEXT_SIZE 32
+#define BUTTON_WIDTH 150
+#define BUTTON_HEIGHT 44
+#define BUTTON_OFFSET_X 10
+#define BUTTON_OFFSET_Y 30
+
+#endif /* _WIDGET_LAYOUT_METRICS_H_ */
diff --git a/widget/res/edje/widget-item-layout.edc b/widget/res/edje/widget-item-layout.edc
new file mode 100644
index 0000000..a4de7d2
--- /dev/null
+++ b/widget/res/edje/widget-item-layout.edc
@@ -0,0 +1,195 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WidgetItemLayout.h"
+#include "WidgetItemLayoutMetrics.h"
+
+styles {
+ style {
+ name: "text_style";
+ base: "font=Tizen:style=Regular font_size="NAME_TEXT_SIZE" align=center wrap=mixed color=#fafafa style=shadow,bottom_right shadow_color=#00000066 ellipsis=1.0";
+ }
+}
+
+collections {
+ base_scale: 2.6;
+
+ group {
+ name: GROUP_THUMBNAIL;
+ images.image: ICON_THUMBNAIL_MASK COMP;
+
+ parts {
+ part {
+ name: PART_THUMBNAIL;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ }
+ }
+ part {
+ name: PART_THUMBNAIL_MASK;
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ color: 0 0 0 100;
+ aspect: 1 1;
+ aspect_preference: SOURCE;
+ image.normal: ICON_THUMBNAIL_MASK;
+ rel1 {
+ relative: 0.0 0.0;
+ to: PART_THUMBNAIL;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: PART_THUMBNAIL;
+ }
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "pressed";
+ signal: "mouse,down,*";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: PART_THUMBNAIL_MASK;
+ }
+ program {
+ name: "unpressed";
+ signal: "mouse,up,*";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: PART_THUMBNAIL_MASK;
+ }
+ }
+ }
+
+ group {
+ name: GROUP_BUTTON_DELETE;
+ images {
+ image: BUTTON_DELETE COMP;
+ image: BUTTON_DELETE_PRESSED COMP;
+ }
+ parts {
+ part {
+ name: "icon";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ aspect: 1 1;
+ aspect_preference: SOURCE;
+ image.normal: BUTTON_DELETE;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: BUTTON_DELETE_PRESSED;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "pressed";
+ signal: "mouse,down,*";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: "icon";
+ }
+ program {
+ name: "unpressed";
+ signal: "mouse,up,*";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "icon";
+ }
+ }
+ }
+
+ group {
+ name: "elm/gengrid/item/"WIDGET_ITEM_STYLE"/default";
+ data.item: "contents" PART_THUMBNAIL" "PART_ICON_DELETE" "PART_ICON_TYPE;
+ data.item: "texts" PART_NAME;
+
+ parts {
+ part {
+ name: PART_THUMBNAIL;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: THUMBNAIL_OFFSET_X/ITEM_WIDTH THUMBNAIL_OFFSET_Y/ITEM_HEIGHT;
+ }
+ rel2 {
+ relative: (THUMBNAIL_OFFSET_X+THUMBNAIL_SIZE)/ITEM_WIDTH (THUMBNAIL_OFFSET_Y+THUMBNAIL_SIZE)/ITEM_HEIGHT;
+ }
+ }
+ }
+ part {
+ name: PART_ICON_DELETE;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: BUTTON_DELETE_OFFSET_X/ITEM_WIDTH BUTTON_DELETE_OFFSET_Y/ITEM_HEIGHT;
+ }
+ rel2 {
+ relative: (BUTTON_DELETE_OFFSET_X+BUTTON_DELETE_SIZE)/ITEM_WIDTH (BUTTON_DELETE_OFFSET_Y+BUTTON_DELETE_SIZE)/ITEM_HEIGHT;
+ }
+ }
+ }
+ part {
+ name: PART_ICON_TYPE;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 1.0-(ICON_TYPE_SIZE-ICON_TYPE_OFFSET_X)/THUMBNAIL_SIZE 1.0-ICON_TYPE_SIZE/THUMBNAIL_SIZE;
+ to: PART_THUMBNAIL;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to_y: PART_THUMBNAIL;
+ }
+ }
+ }
+ part {
+ name: PART_NAME;
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: NAME_OFFSET_X/ITEM_HEIGHT NAME_OFFSET_Y/ITEM_HEIGHT;
+ }
+ rel2 {
+ relative: 1.0-NAME_OFFSET_X/ITEM_HEIGHT (NAME_OFFSET_Y+NAME_HEIGHT)/ITEM_HEIGHT;
+ }
+ text {
+ align: 0.5 0.0;
+ style: "text_style";
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/widget/res/edje/widget-layout-4x2.edc b/widget/res/edje/widget-layout-4x2.edc
new file mode 100644
index 0000000..a062c51
--- /dev/null
+++ b/widget/res/edje/widget-layout-4x2.edc
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WidgetLayout.h"
+#include "WidgetLayoutMetrics.h"
+
+#define WIDGET_HEIGHT WIDGET_HEIGHT_4X2
+
+#include "widget-layout.edc"
diff --git a/widget/res/edje/widget-layout-4x4.edc b/widget/res/edje/widget-layout-4x4.edc
new file mode 100644
index 0000000..f7d90e4
--- /dev/null
+++ b/widget/res/edje/widget-layout-4x4.edc
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WidgetLayout.h"
+#include "WidgetLayoutMetrics.h"
+
+#define WIDGET_HEIGHT WIDGET_HEIGHT_4X4
+
+#include "widget-layout.edc"
diff --git a/widget/res/edje/widget-layout.edc b/widget/res/edje/widget-layout.edc
new file mode 100644
index 0000000..265fdd7
--- /dev/null
+++ b/widget/res/edje/widget-layout.edc
@@ -0,0 +1,182 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+images {
+ image: BUTTON_ADD COMP;
+ image: BUTTON_ADD_PRESSED COMP;
+}
+
+styles {
+ style {
+ name: "no_contacts_title";
+ base: "font=Tizen:style=Condensed font_size="TITLE_TEXT_SIZE" align=center color=#fafafa style=shadow,bottom_right shadow_color=#00000066";
+ }
+ style {
+ name: "no_contacts_text";
+ base: "font=Tizen:style=Regular font_size="HELP_TEXT_SIZE" align=center color=#fafafa style=shadow,bottom_right shadow_color=#00000066";
+ }
+}
+
+collections {
+ base_scale: 2.6;
+
+ group {
+ name: GROUP_ICON_ADD;
+ parts {
+ part {
+ name: "icon";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ aspect: 1 1;
+ aspect_preference: SOURCE;
+ image.normal: BUTTON_ADD;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: BUTTON_ADD_PRESSED;
+ }
+ }
+ }
+ programs {
+ program {
+ name: "pressed";
+ signal: "mouse,down,*";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: "icon";
+ }
+ program {
+ name: "unpressed";
+ signal: "mouse,up,*";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "icon";
+ }
+ }
+ }
+
+ group {
+ name: GROUP_NO_CONTACTS;
+
+ images {
+ image: NOCONTACTS_BG COMP;
+ image: NOCONTACTS_BORDER COMP;
+ }
+
+ parts {
+ part {
+ name: "bg";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ color: 0 0 0 15;
+ image.normal: NOCONTACTS_BG;
+ rel1.offset: BORDER_W BORDER_H;
+ rel2.offset: -BORDER_W -BORDER_H;
+ }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color: 0 0 0 45;
+ }
+ }
+ part {
+ name: "border";
+ type: IMAGE;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 75;
+ image.normal: NOCONTACTS_BORDER;
+ }
+ }
+ part {
+ name: PART_TITLE;
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 TITLE_OFFSET_Y/WIDGET_HEIGHT;
+ rel2.relative: 1.0 (TITLE_HEIGHT+TITLE_OFFSET_Y)/WIDGET_HEIGHT;
+ text {
+ align: 0.5 0.0;
+ style: "no_contacts_title";
+ }
+ }
+ }
+ part {
+ name: PART_HELP;
+ type: TEXTBLOCK;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 0.0 HELP_OFFSET_Y/WIDGET_HEIGHT;
+ rel2.relative: 1.0 (HELP_HEIGHT+HELP_OFFSET_Y)/WIDGET_HEIGHT;
+ text {
+ align: 0.5 0.0;
+ style: "no_contacts_text";
+ }
+ }
+ }
+ programs {
+ program {
+ name: "pressed";
+ signal: "mouse,down,*";
+ source: "*";
+ action: STATE_SET "pressed" 0.0;
+ target: "bg";
+ }
+ program {
+ name: "unpressed";
+ signal: "mouse,up,*";
+ source: "*";
+ action: STATE_SET "default" 0.0;
+ target: "bg";
+ }
+ }
+ }
+ }
+
+ group {
+ name: GROUP_CONTACTS;
+
+ parts {
+ part {
+ name: PART_BUTTON;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ fixed: 1 1;
+ rel1.relative: 1.0-(BUTTON_WIDTH+BUTTON_OFFSET_X)/WIDGET_WIDTH BUTTON_OFFSET_Y/WIDGET_HEIGHT;
+ rel2.relative: 1.0-BUTTON_OFFSET_X/WIDGET_WIDTH (BUTTON_HEIGHT+BUTTON_OFFSET_Y)/WIDGET_HEIGHT;
+ }
+ }
+ part {
+ name: PART_CONTENT;
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 1.0;
+ to_y: PART_BUTTON;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/widget/res/images/button_add.png b/widget/res/images/button_add.png
new file mode 100644
index 0000000..f351bb6
--- /dev/null
+++ b/widget/res/images/button_add.png
Binary files differ
diff --git a/widget/res/images/button_add_pressed.png b/widget/res/images/button_add_pressed.png
new file mode 100644
index 0000000..d58e935
--- /dev/null
+++ b/widget/res/images/button_add_pressed.png
Binary files differ
diff --git a/widget/res/images/button_delete.png b/widget/res/images/button_delete.png
new file mode 100644
index 0000000..dc1ea13
--- /dev/null
+++ b/widget/res/images/button_delete.png
Binary files differ
diff --git a/widget/res/images/button_delete_pressed.png b/widget/res/images/button_delete_pressed.png
new file mode 100644
index 0000000..2030741
--- /dev/null
+++ b/widget/res/images/button_delete_pressed.png
Binary files differ
diff --git a/widget/res/images/icon_call.png b/widget/res/images/icon_call.png
new file mode 100644
index 0000000..48523e9
--- /dev/null
+++ b/widget/res/images/icon_call.png
Binary files differ
diff --git a/widget/res/images/icon_email.png b/widget/res/images/icon_email.png
new file mode 100644
index 0000000..76ed8ec
--- /dev/null
+++ b/widget/res/images/icon_email.png
Binary files differ
diff --git a/widget/res/images/icon_message.png b/widget/res/images/icon_message.png
new file mode 100644
index 0000000..0d9d35b
--- /dev/null
+++ b/widget/res/images/icon_message.png
Binary files differ
diff --git a/widget/res/images/nocontacts_bg.#.png b/widget/res/images/nocontacts_bg.#.png
new file mode 100644
index 0000000..4c51c13
--- /dev/null
+++ b/widget/res/images/nocontacts_bg.#.png
Binary files differ
diff --git a/widget/res/images/nocontacts_bg_stroke.#.png b/widget/res/images/nocontacts_bg_stroke.#.png
new file mode 100644
index 0000000..dea69c7
--- /dev/null
+++ b/widget/res/images/nocontacts_bg_stroke.#.png
Binary files differ
diff --git a/widget/res/images/preview_4x2.png b/widget/res/images/preview_4x2.png
new file mode 100644
index 0000000..5ceba8d
--- /dev/null
+++ b/widget/res/images/preview_4x2.png
Binary files differ
diff --git a/widget/res/images/preview_4x4.png b/widget/res/images/preview_4x4.png
new file mode 100644
index 0000000..40bfdf8
--- /dev/null
+++ b/widget/res/images/preview_4x4.png
Binary files differ
diff --git a/widget/res/images/thumbnail_mask.png b/widget/res/images/thumbnail_mask.png
new file mode 100644
index 0000000..2a23ded
--- /dev/null
+++ b/widget/res/images/thumbnail_mask.png
Binary files differ
diff --git a/widget/src/Widget.cpp b/widget/src/Widget.cpp
new file mode 100644
index 0000000..4088981
--- /dev/null
+++ b/widget/src/Widget.cpp
@@ -0,0 +1,314 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Widget.h"
+#include "WidgetGengridItem.h"
+#include "WWindow.h"
+
+#include "WidgetItemLayout.h"
+#include "WidgetLayout.h"
+#include "WidgetLayoutMetrics.h"
+#include "WidgetItemLayoutMetrics.h"
+
+#include "ContactsAppControl.h"
+#include "ContactsCommon.h"
+#include "ContactsDebug.h"
+#include "ContactsLocalization.h"
+
+#include <notification.h>
+
+#define WIDGET_ID_KEY "widget_id"
+
+namespace
+{
+ const std::string layout4x4Path = ContactsCommon::getAppEdjePath("widget/" WIDGET_LAYOUT_4X4_EDJ);
+ const std::string layout4x2Path = ContactsCommon::getAppEdjePath("widget/" WIDGET_LAYOUT_4X2_EDJ);
+}
+
+Widget::Widget()
+ : m_EditMode(false), m_IsPicking(false), m_MaxCount(0),
+ m_WidgetHeight(0), m_Layout(nullptr), m_Gengrid(nullptr), m_AddButton(nullptr)
+{
+ using namespace std::placeholders;
+ m_Items.setOnItemUpdate(std::bind(&Widget::onItemUpdate, this, _1));
+ m_Items.setOnItemDelete(std::bind(&Widget::onItemDelete, this, _1));
+}
+
+void Widget::onCreate(bundle *content, int w, int h)
+{
+ initializeItems(content);
+
+ if (getType() == WIDGET_SIZE_TYPE_4x4) {
+ m_MaxCount = 12;
+ m_WidgetHeight = WIDGET_HEIGHT_4X4;
+ m_LayoutPath = layout4x4Path;
+ } else {
+ m_MaxCount = 4;
+ m_WidgetHeight = WIDGET_HEIGHT_4X2;
+ m_LayoutPath = layout4x2Path;
+ }
+
+ elm_theme_extension_add(nullptr, ContactsCommon::getAppEdjePath("widget/" WIDGET_ITEM_LAYOUT_EDJ).c_str());
+ elm_theme_extension_add(nullptr, ContactsCommon::getAppEdjePath("common/custom_button_styles.edj").c_str());
+ setLayout(m_Items.count() == 0);
+}
+
+void Widget::onDestroy(widget_app_destroy_type reason)
+{
+ if (reason == WIDGET_APP_DESTROY_TYPE_PERMANENT) {
+ m_Items.destroy();
+ }
+}
+
+void Widget::initializeItems(bundle *content)
+{
+ int id = 0;
+ if (content) {
+ char *idStr = nullptr;
+ bundle_get_str(content, WIDGET_ID_KEY, &idStr);
+
+ if (idStr) {
+ id = atoi(idStr);
+ }
+ }
+ WDEBUG("id: %d", id);
+
+ m_Items.initialize(id);
+
+ if (!content) {
+ content = bundle_create();
+ bundle_add_str(content, WIDGET_ID_KEY, std::to_string(m_Items.getWidgetId()).c_str());
+ saveContent(content);
+ bundle_free(content);
+ }
+}
+
+Evas_Object *Widget::createNocontents(Evas_Object *parent)
+{
+ Evas_Object *layout = elm_layout_add(parent);
+ elm_layout_file_set(layout, m_LayoutPath.c_str(), GROUP_NO_CONTACTS);
+ edje_object_signal_callback_add(elm_layout_edje_get(layout), "mouse,clicked,*", "*",
+ (Edje_Signal_Cb) &Widget::onAddPressed, this);
+
+ elm_object_domain_translatable_part_text_set(layout, PART_TITLE, TEXT_DOMAIN,
+ "IDS_PB_HEADER_CONTACTS_M_APPLICATION");
+ elm_object_domain_translatable_part_text_set(layout, PART_HELP, TEXT_DOMAIN,
+ "IDS_PB_NPBODY_TAP_HERE_TO_ADD_SHORTCUT");
+
+ return layout;
+}
+
+Evas_Object *Widget::createGengrid(Evas_Object *parent)
+{
+ Evas_Object *layout = elm_layout_add(parent);
+ elm_layout_file_set(layout, m_LayoutPath.c_str(), GROUP_CONTACTS);
+
+ Evas_Object *button = elm_button_add(layout);
+ elm_object_style_set(button, "custom_default");
+ edje_object_text_class_set(elm_layout_edje_get(button), "button_text", "font=Tizen:style=Regular", BUTTON_TEXT_SIZE);
+ elm_object_domain_translatable_text_set(button, TEXT_DOMAIN, "IDS_QP_ACBUTTON_EDIT_ABB");
+ evas_object_smart_callback_add(button, "clicked", &Widget::onEditPressed, this);
+ elm_object_part_content_set(layout, PART_BUTTON, button);
+
+ m_Gengrid = elm_gengrid_add(parent);
+ elm_gengrid_item_size_set(m_Gengrid,
+ ITEM_WIDTH * getWidth() / WIDGET_WIDTH,
+ ITEM_HEIGHT * getHeight() / m_WidgetHeight);
+
+ elm_gengrid_align_set(m_Gengrid, 0.0, 0.0);
+ elm_object_part_content_set(layout, PART_CONTENT, m_Gengrid);
+
+ for (auto &item : m_Items) {
+ addItem(item);
+ }
+
+ return layout;
+}
+
+Elm_Gengrid_Item_Class *Widget::getAddButtonItemClass()
+{
+ static Elm_Gengrid_Item_Class itc = { 0 };
+ if (!itc.item_style) {
+ itc.version = ELM_GENGRID_ITEM_CLASS_VERSION;
+ itc.item_style = WIDGET_ITEM_STYLE;
+ itc.func.content_get = [](void *data, Evas_Object *obj, const char *part) -> Evas_Object* {
+ if (strcmp(part, PART_THUMBNAIL) == 0) {
+ Widget *widget = (Widget*) data;
+ Evas_Object *layout = elm_layout_add(obj);
+ elm_layout_file_set(layout, widget->m_LayoutPath.c_str(), GROUP_ICON_ADD);
+ return layout;
+ }
+
+ return nullptr;
+ };
+ }
+
+ return &itc;
+}
+
+void Widget::setLayout(bool isEmpty)
+{
+ Evas_Object *parent = getWindow()->getBaseLayoutEvasObj();
+
+ if (isEmpty) {
+ m_Layout = createNocontents(parent);
+ m_EditMode = false;
+ m_Gengrid = nullptr;
+ m_AddButton = nullptr;
+ } else {
+ m_Layout = createGengrid(parent);
+ }
+
+ elm_object_part_content_set(parent, "elm.swallow.content", m_Layout);
+}
+
+void Widget::setAddButton()
+{
+ if (m_EditMode && m_Items.count() < m_MaxCount) {
+ if (!m_AddButton) {
+ m_AddButton = elm_gengrid_item_append(m_Gengrid, getAddButtonItemClass(), this, &Widget::onAddPressed, this);
+ }
+ } else if (m_AddButton) {
+ elm_object_item_del(m_AddButton);
+ m_AddButton = nullptr;
+ }
+}
+
+void Widget::onAddPressed(void *data, Evas_Object *obj, void *event_info)
+{
+ Widget *widget = (Widget*) data;
+ if (widget->m_AddButton) {
+ elm_gengrid_item_selected_set(widget->m_AddButton, EINA_FALSE);
+ }
+
+ if (!widget->m_IsPicking) {
+ int err = launchContactPick(APP_CONTROL_DATA_SELECTION_MODE_SINGLE, APP_CONTROL_DATA_TYPE_PHONE_OR_EMAIL,
+ &Widget::onPickReply, data, false);
+ WPRET_M(err != APP_CONTROL_ERROR_NONE, "launchContactPick() failed(%d)", err);
+ widget->m_IsPicking = true;
+ }
+}
+
+void Widget::onEditPressed(void *data, Evas_Object *obj, void *event_info)
+{
+ Widget *widget = (Widget*) data;
+ widget->m_EditMode = !widget->m_EditMode;
+ elm_object_domain_translatable_text_set(obj, TEXT_DOMAIN, widget->m_EditMode
+ ? "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+ : "IDS_QP_ACBUTTON_EDIT_ABB");
+ elm_gengrid_realized_items_update(widget->m_Gengrid);
+ widget->setAddButton();
+}
+
+void Widget::onPickReply(app_control_h request, app_control_h reply, app_control_result_e result, void *data)
+{
+ Widget *widget = (Widget*) data;
+ widget->m_IsPicking = false;
+
+ char *type = nullptr;
+ char **ids = nullptr;
+ int count = 0;
+
+ int err = app_control_get_extra_data_array(reply, APP_CONTROL_DATA_SELECTED, &ids, &count);
+ WPRET_M(err != APP_CONTROL_ERROR_NONE, "app_control_get_extra_data() failed(%d)", err);
+
+ app_control_get_extra_data(reply, APP_CONTROL_DATA_TYPE, &type);
+ if (type && ids && ids[0]) {
+ if (strcmp(type, APP_CONTROL_DATA_TYPE_PHONE_CALL) == 0) {
+ widget->onAddItem(WidgetItemCall, atoi(ids[0]));
+ } else if (strcmp(type, APP_CONTROL_DATA_TYPE_PHONE_MESSAGE) == 0) {
+ widget->onAddItem(WidgetItemMessage, atoi(ids[0]));
+ } else if (strcmp(type, APP_CONTROL_DATA_TYPE_EMAIL) == 0) {
+ widget->onAddItem(WidgetItemEmail, atoi(ids[0]));
+ }
+ }
+
+ free(type);
+ for (int i = 0; i < count; ++i) {
+ free(ids[i]);
+ }
+ free(ids);
+}
+
+void Widget::onItemUpdate(WidgetItem &item)
+{
+ WidgetGengridItem *gridItem = (WidgetGengridItem*) item.getUserData();
+ elm_gengrid_item_update(gridItem->getObjectItem());
+}
+
+void Widget::onItemDelete(WidgetItem &item)
+{
+ WidgetGengridItem *gridItem = (WidgetGengridItem*) item.getUserData();
+ removeItem(*gridItem);
+}
+
+void Widget::addItem(WidgetItem &item)
+{
+ if (m_Gengrid) {
+ WidgetGengridItem *gridItem = new WidgetGengridItem(item, m_EditMode);
+ item.setUserData(gridItem);
+
+ gridItem->setOnDelete(std::bind(&Widget::onRemoveItem, this, std::placeholders::_1));
+ gridItem->insert(m_Gengrid, m_AddButton);
+
+ if (m_Items.count() == m_MaxCount) {
+ setAddButton();
+ }
+ } else {
+ setLayout(false);
+ }
+}
+
+void Widget::removeItem(WidgetGengridItem &item)
+{
+ elm_object_item_del(item.getObjectItem());
+
+ int count = elm_gengrid_items_count(m_Gengrid);
+ if (m_EditMode) {
+ --count;
+ }
+
+ if (count == 0) {
+ setLayout(true);
+ } else {
+ if (m_Items.count() == m_MaxCount - 1){
+ setAddButton();
+ }
+ }
+}
+
+void Widget::onAddItem(WidgetItemType type, int dataId)
+{
+ for (auto &item : m_Items) {
+ if (item.getDataId() == dataId
+ && item.getType() == type) {
+ notification_status_message_post(T_("IDS_PB_POP_ALREADY_EXISTS_LC"));
+ return;
+ }
+ }
+
+ if (m_Items.addItem(WidgetItem(type, dataId))) {
+ addItem(*(--m_Items.end()));
+ }
+}
+
+void Widget::onRemoveItem(WidgetGengridItem &item)
+{
+ if (m_Items.removeItem(item.getItem())) {
+ removeItem(item);
+ }
+}
diff --git a/widget/src/WidgetApp.cpp b/widget/src/WidgetApp.cpp
new file mode 100644
index 0000000..05ab219
--- /dev/null
+++ b/widget/src/WidgetApp.cpp
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WidgetApp.h"
+#include "Widget.h"
+
+#include "ContactsCommon.h"
+#include "ContactsDebug.h"
+#include <contacts.h>
+
+bool WidgetApp::onCreate()
+{
+ ContactsCommon::loadLocalization();
+ int err = contacts_connect();
+ WPRET_VM(err != CONTACTS_ERROR_NONE, false, "contacts_connect() failed(%d)", err);
+
+ app_event_handler_h handle = nullptr;
+ widget_app_add_event_handler(&handle, APP_EVENT_LANGUAGE_CHANGED,
+ &WidgetApp::onLanguageChanged, this);
+
+ return true;
+}
+
+void WidgetApp::onTerminate()
+{
+ contacts_disconnect();
+}
+
+WWidget *WidgetApp::onWidgetCreate()
+{
+ return new Widget();
+}
+
+void WidgetApp::onLanguageChanged(app_event_info_h event, void *data)
+{
+ char *lang = nullptr;
+ app_event_get_language(event, &lang);
+ if (lang) {
+ elm_language_set(lang);
+ free(lang);
+ }
+}
diff --git a/widget/src/WidgetDatabase.cpp b/widget/src/WidgetDatabase.cpp
new file mode 100644
index 0000000..7871cd2
--- /dev/null
+++ b/widget/src/WidgetDatabase.cpp
@@ -0,0 +1,184 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WidgetDatabase.h"
+#include "ContactsDebug.h"
+
+#include <app.h>
+#include <sqlite3.h>
+#include <string>
+
+#define STMT_BUF_LEN 256
+
+#define DB_FILENAME "widget.db"
+#define TABLE_ITEMS "items"
+#define TABLE_WIDGETS "widgets"
+
+#define COLUMN_ID "id"
+#define COLUMN_DATA_TYPE "data_type"
+#define COLUMN_DATA_ID "data_id"
+#define COLUMN_WIDGET_ID "widget_id"
+
+namespace
+{
+ const char createStmt[] = "CREATE TABLE " TABLE_WIDGETS "("
+ COLUMN_WIDGET_ID " INTEGER PRIMARY KEY AUTOINCREMENT);"
+
+ "CREATE TABLE " TABLE_ITEMS "("
+ COLUMN_ID " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ COLUMN_DATA_TYPE " INTEGER, "
+ COLUMN_DATA_ID " INTEGER, "
+ COLUMN_WIDGET_ID " INTEGER, "
+ "FOREIGN KEY(" COLUMN_WIDGET_ID ") REFERENCES " TABLE_WIDGETS "(" COLUMN_WIDGET_ID "));";
+
+ const char selectStmt[] = "SELECT * FROM " TABLE_ITEMS
+ " WHERE " COLUMN_WIDGET_ID " = %d;";
+
+ const char insertStmt[] = "INSERT INTO " TABLE_ITEMS "("
+ COLUMN_DATA_TYPE ", "
+ COLUMN_DATA_ID ", "
+ COLUMN_WIDGET_ID ") VALUES(%d, %d, %d);";
+
+ const char deleteStmt[] = "DELETE FROM " TABLE_ITEMS
+ " WHERE " COLUMN_ID " = %d;";
+
+ const char deleteAllStmt[] = "DELETE FROM " TABLE_ITEMS
+ " WHERE " COLUMN_WIDGET_ID " = %d;"
+
+ "DELETE FROM " TABLE_WIDGETS
+ " WHERE " COLUMN_WIDGET_ID " = %d;";
+
+ const char insertWidgetStmt[] = "INSERT INTO " TABLE_WIDGETS
+ " DEFAULT VALUES;";
+}
+
+WidgetDatabase::WidgetDatabase()
+ : m_Handle(nullptr), m_WidgetId(0)
+{
+}
+
+WidgetDatabase::~WidgetDatabase()
+{
+ sqlite3_close(m_Handle);
+}
+
+bool WidgetDatabase::initialize(unsigned widgetId)
+{
+ char *path = app_get_data_path();
+ if (!path) {
+ return false;
+ }
+
+ std::string filename(path);
+ filename.append(DB_FILENAME);
+ free(path);
+
+ struct stat buf;
+ bool initialized = (stat(filename.c_str(), &buf) == 0);
+
+ int res = sqlite3_open(filename.c_str(), &m_Handle);
+ WPRET_VM(res != SQLITE_OK, false, "sqlite3_open() failed(%d)", res);
+ execute("PRAGMA foreign_keys = ON;");
+
+ if (!initialized) {
+ execute(createStmt);
+ }
+
+ m_WidgetId = widgetId ? widgetId : generateWidgetId();
+
+ return true;
+}
+
+unsigned WidgetDatabase::getWidgetId() const
+{
+ return m_WidgetId;
+}
+
+void WidgetDatabase::fetch(const std::function<void(WidgetItem&&)> &callback)
+{
+ char stmt[STMT_BUF_LEN];
+ snprintf(stmt, sizeof(stmt), selectStmt, m_WidgetId);
+
+ sqlite3_stmt *prepStmt = nullptr;
+ sqlite3_prepare_v2(m_Handle, stmt, -1, &prepStmt, nullptr);
+
+ while (sqlite3_step(prepStmt) == SQLITE_ROW) {
+ callback(WidgetItem(
+ sqlite3_column_int(prepStmt, 0),
+ (WidgetItemType) sqlite3_column_int(prepStmt, 1),
+ sqlite3_column_int(prepStmt, 2)
+ ));
+ }
+
+ sqlite3_finalize(prepStmt);
+}
+
+int WidgetDatabase::insert(const WidgetItem &item)
+{
+ WHIT();
+ char stmt[STMT_BUF_LEN];
+ snprintf(stmt, sizeof(stmt), insertStmt,
+ item.getType(), item.getDataId(), m_WidgetId);
+
+ if (execute(stmt)) {
+ return sqlite3_last_insert_rowid(m_Handle);
+ }
+
+ return 0;
+}
+
+bool WidgetDatabase::remove(const WidgetItem &item)
+{
+ char stmt[STMT_BUF_LEN];
+ snprintf(stmt, sizeof(stmt), deleteStmt, item.getId());
+ return execute(stmt);
+}
+
+bool WidgetDatabase::destroy()
+{
+ char stmt[STMT_BUF_LEN];
+ snprintf(stmt, sizeof(stmt), deleteAllStmt, m_WidgetId, m_WidgetId);
+ if (execute(stmt)) {
+ m_WidgetId = 0;
+ return true;
+ }
+
+ return false;
+}
+
+unsigned WidgetDatabase::generateWidgetId()
+{
+ if (execute(insertWidgetStmt)) {
+ return sqlite3_last_insert_rowid(m_Handle);
+ }
+
+ return 0;
+}
+
+bool WidgetDatabase::execute(const char *stmt)
+{
+ WHIT();
+ char *err = nullptr;
+ sqlite3_exec(m_Handle, stmt, nullptr, nullptr, &err);
+ if (err) {
+ WERROR("sqlite3_exec() failed(%s)", err);
+ sqlite3_free(err);
+ return false;
+ }
+
+ return true;
+}
diff --git a/widget/src/WidgetGengridItem.cpp b/widget/src/WidgetGengridItem.cpp
new file mode 100644
index 0000000..fc04324
--- /dev/null
+++ b/widget/src/WidgetGengridItem.cpp
@@ -0,0 +1,196 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WidgetGengridItem.h"
+#include "WidgetItemLayout.h"
+#include "WidgetItem.h"
+
+#include "ContactsCommon.h"
+#include "ContactsDebug.h"
+#include "ContactsThumbnail.h"
+
+#include <app_control.h>
+#include <string>
+
+namespace
+{
+ const char *iconFileName[] = {
+ ICON_CALL,
+ ICON_MESSAGE,
+ ICON_EMAIL
+ };
+
+ const char *appControlOperation[] = {
+ APP_CONTROL_OPERATION_CALL,
+ APP_CONTROL_OPERATION_COMPOSE,
+ APP_CONTROL_OPERATION_COMPOSE
+ };
+
+ const char *appControlScheme[] = {
+ "tel:",
+ "sms:",
+ "mailto:"
+ };
+
+ const std::string layoutPath = ContactsCommon::getResourcePath("edje/widget/" WIDGET_ITEM_LAYOUT_EDJ);
+ const std::string imagePath = ContactsCommon::getResourcePath("images/widget/");
+}
+
+WidgetGengridItem::WidgetGengridItem(const WidgetItem &item, const bool &editMode)
+ : m_Item(item), m_EditMode(editMode), m_ObjectItem(nullptr)
+{
+}
+
+void WidgetGengridItem::insert(Evas_Object *gengrid, Elm_Object_Item *nextItem)
+{
+ if (nextItem) {
+ m_ObjectItem = elm_gengrid_item_insert_before(gengrid, getItemClass(), this, nextItem,
+ &WidgetGengridItem::onSelect, this);
+ } else {
+ m_ObjectItem = elm_gengrid_item_append(gengrid, getItemClass(), this,
+ &WidgetGengridItem::onSelect, this);
+ }
+}
+
+const WidgetItem &WidgetGengridItem::getItem() const
+{
+ return m_Item;
+}
+
+Elm_Object_Item *WidgetGengridItem::getObjectItem() const
+{
+ return m_ObjectItem;
+}
+
+void WidgetGengridItem::setOnDelete(DeletePressedCb callback)
+{
+ m_OnDeletePressed = std::move(callback);
+}
+
+Elm_Gengrid_Item_Class *WidgetGengridItem::getItemClass()
+{
+ static Elm_Gengrid_Item_Class itc = {
+ itc.version = ELM_GENGRID_ITEM_CLASS_VERSION,
+ itc.refcount = 0,
+ itc.delete_me = EINA_FALSE,
+ itc.homogeneous = EINA_TRUE,
+ itc.item_style = WIDGET_ITEM_STYLE,
+ itc.decorate_item_style = nullptr,
+ itc.decorate_all_item_style = nullptr,
+ itc.func.text_get = &WidgetGengridItem::onTextGet,
+ itc.func.content_get = &WidgetGengridItem::onContentGet,
+ itc.func.state_get = nullptr,
+ itc.func.del = [](void *data, Evas_Object *obj) {
+ delete static_cast<WidgetGengridItem*>(data);
+ }
+ };
+
+ return &itc;
+}
+
+char *WidgetGengridItem::onTextGet(void *data, Evas_Object *parent, const char *part)
+{
+ WidgetGengridItem *item = (WidgetGengridItem*) data;
+ if (strcmp(part, PART_NAME) == 0) {
+ const char *name = item->getItem().getDisplayName();
+ return name ? strdup(name) : NULL;
+ }
+
+ return nullptr;
+}
+
+Evas_Object *WidgetGengridItem::onContentGet(void *data, Evas_Object *parent, const char *part)
+{
+ WidgetGengridItem *item = (WidgetGengridItem*) data;
+
+ if (strcmp(part, PART_THUMBNAIL) == 0) {
+ return item->createThumbnail(parent);
+ } else if (strcmp(part, PART_ICON_TYPE) == 0) {
+ return item->createTypeIcon(parent);
+ } else if (item->m_EditMode && strcmp(part, PART_ICON_DELETE) == 0) {
+ return item->createDeleteButton(parent);
+ }
+
+ return nullptr;
+}
+
+Evas_Object *WidgetGengridItem::createThumbnail(Evas_Object *parent)
+{
+ Evas_Object *layout = elm_layout_add(parent);
+ elm_layout_file_set(layout, layoutPath.c_str(), GROUP_THUMBNAIL);
+
+ Evas_Object *image = ::createThumbnail(layout, THUMBNAIL_166, m_Item.getThumbnailPath());
+ elm_object_part_content_set(layout, PART_THUMBNAIL, image);
+
+ return layout;
+}
+
+Evas_Object *WidgetGengridItem::createTypeIcon(Evas_Object *parent)
+{
+ std::string path = imagePath;
+ path.append(iconFileName[m_Item.getType()]);
+
+ Evas_Object *icon = elm_image_add(parent);
+ elm_image_file_set(icon, path.c_str(), nullptr);
+
+ return icon;
+}
+
+Evas_Object *WidgetGengridItem::createDeleteButton(Evas_Object *parent)
+{
+ Evas_Object *button = elm_button_add(parent);
+ elm_object_style_set(button, "transparent");
+ evas_object_smart_callback_add(button, "clicked", onDeletePressed, this);
+
+ Evas_Object *image = elm_image_add(button);
+ elm_image_file_set(image, layoutPath.c_str(), GROUP_BUTTON_DELETE);
+ elm_object_part_content_set(button, "elm.swallow.content", image);
+
+ return button;
+}
+
+void WidgetGengridItem::onDeletePressed(void *data, Evas_Object *obj, void *eventInfo)
+{
+ WidgetGengridItem *item = (WidgetGengridItem*) data;
+ if (item->m_OnDeletePressed) {
+ item->m_OnDeletePressed(*item);
+ }
+}
+
+void WidgetGengridItem::onSelect(void *data, Evas_Object *obj, void *eventInfo)
+{
+ elm_gengrid_item_selected_set((Elm_Gengrid_Item*) eventInfo, EINA_FALSE);
+
+ WidgetGengridItem *item = (WidgetGengridItem*) data;
+ if (item->m_EditMode) {
+ return;
+ }
+
+ WidgetItemType type = item->getItem().getType();
+ const char *itemData = item->getItem().getData();
+ if (!itemData) {
+ return;
+ }
+
+ app_control_h request;
+ app_control_create(&request);
+ app_control_set_operation(request, appControlOperation[type]);
+ app_control_set_uri(request, std::string(appControlScheme[type]).append(itemData).c_str());
+ int result = app_control_send_launch_request(request, nullptr, nullptr);
+ WPWARN(result != APP_CONTROL_ERROR_NONE, "app_control_send_launch_request() failed(%d)", result);
+ app_control_destroy(request);
+}
diff --git a/widget/src/WidgetItem.cpp b/widget/src/WidgetItem.cpp
new file mode 100644
index 0000000..c1cc402
--- /dev/null
+++ b/widget/src/WidgetItem.cpp
@@ -0,0 +1,207 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WidgetItem.h"
+
+namespace
+{
+ const char *recordUri[] = {
+ _contacts_contact_number._uri,
+ _contacts_contact_number._uri,
+ _contacts_contact_email._uri,
+ };
+
+ unsigned dataIdProp[] = {
+ _contacts_contact_number.number_id,
+ _contacts_contact_number.number_id,
+ _contacts_contact_email.email_id,
+ };
+
+ unsigned contactIdProp[] = {
+ _contacts_contact_number.contact_id,
+ _contacts_contact_number.contact_id,
+ _contacts_contact_email.contact_id,
+ };
+
+ unsigned dataProp[] = {
+ _contacts_contact_number.number,
+ _contacts_contact_number.number,
+ _contacts_contact_email.email,
+ };
+
+ unsigned nameProp[] = {
+ _contacts_contact_number.display_name,
+ _contacts_contact_number.display_name,
+ _contacts_contact_email.display_name,
+ };
+
+ unsigned thumbnailProp[] = {
+ _contacts_contact_number.image_thumbnail_path,
+ _contacts_contact_number.image_thumbnail_path,
+ _contacts_contact_email.image_thumbnail_path,
+ };
+}
+
+WidgetItem::WidgetItem(WidgetItemType type, int dataId)
+ : m_Id(0), m_Type(type)
+{
+ m_Record = fetchDataRecord(dataId);
+}
+
+WidgetItem::WidgetItem(int id, WidgetItemType type, int dataId)
+ : WidgetItem(type, dataId)
+{
+ m_Id = id;
+}
+
+WidgetItem::WidgetItem(WidgetItem &&that)
+ : m_UserData(nullptr), m_Id(that.m_Id), m_Type(that.m_Type),
+ m_Record(that.m_Record)
+{
+ that.m_Record = nullptr;
+}
+
+WidgetItem::~WidgetItem()
+{
+ if (m_Record) {
+ contacts_record_destroy(m_Record, true);
+ }
+}
+
+bool WidgetItem::update()
+{
+ int id = getDataId();
+ if (m_Record) {
+ contacts_record_destroy(m_Record, true);
+ }
+
+ m_Record = fetchDataRecord(id);
+ return m_Record != nullptr;
+}
+
+void *WidgetItem::getUserData() const
+{
+ return m_UserData;
+}
+
+void WidgetItem::setUserData(void *data)
+{
+ m_UserData = data;
+}
+
+WidgetItemType WidgetItem::getType() const
+{
+ return m_Type;
+}
+
+int WidgetItem::getId() const
+{
+ return m_Id;
+}
+
+void WidgetItem::setId(int id)
+{
+ m_Id = id;
+}
+
+int WidgetItem::getDataId() const
+{
+ int value = 0;
+ if (m_Record) {
+ contacts_record_get_int(m_Record, dataIdProp[m_Type], &value);
+ }
+
+ return value;
+}
+
+int WidgetItem::getContactId() const
+{
+ int value = 0;
+ if (m_Record) {
+ contacts_record_get_int(m_Record, contactIdProp[m_Type], &value);
+ }
+
+ return value;
+}
+
+const char *WidgetItem::getData() const
+{
+ char *value = nullptr;
+ if (m_Record) {
+ contacts_record_get_str_p(m_Record, dataProp[m_Type], &value);
+ }
+
+ return value;
+}
+
+const char *WidgetItem::getDisplayName() const
+{
+ char *value = nullptr;
+ if (m_Record) {
+ contacts_record_get_str_p(m_Record, nameProp[m_Type], &value);
+ }
+
+ return value;
+}
+
+const char *WidgetItem::getThumbnailPath() const
+{
+ char *value = nullptr;
+ if (m_Record) {
+ contacts_record_get_str_p(m_Record, thumbnailProp[m_Type], &value);
+ }
+
+ return value;
+}
+
+contacts_record_h WidgetItem::fetchDataRecord(int dataId)
+{
+ contacts_filter_h filter = nullptr;
+ contacts_filter_create(recordUri[m_Type], &filter);
+ contacts_filter_add_int(filter, dataIdProp[m_Type], CONTACTS_MATCH_EQUAL, dataId);
+
+ contacts_query_h query = nullptr;
+ contacts_query_create(recordUri[m_Type], &query);
+ contacts_query_set_filter(query, filter);
+
+ contacts_list_h list = nullptr;
+ contacts_record_h record = nullptr;
+ contacts_db_get_records_with_query(query, 0, 1, &list);
+ if (list) {
+ contacts_list_get_current_record_p(list, &record);
+ contacts_list_destroy(list, false);
+ }
+
+ contacts_query_destroy(query);
+ contacts_filter_destroy(filter);
+
+ return record;
+}
+
+WidgetItem & WidgetItem::operator=(WidgetItem &&that)
+{
+ if (m_Record) {
+ contacts_record_destroy(m_Record, true);
+ }
+
+ m_Id = that.m_Id;
+ m_Type = that.m_Type;
+ m_Record = that.m_Record;
+ that.m_Record = nullptr;
+
+ return *this;
+}
diff --git a/widget/src/WidgetItems.cpp b/widget/src/WidgetItems.cpp
new file mode 100644
index 0000000..c16b023
--- /dev/null
+++ b/widget/src/WidgetItems.cpp
@@ -0,0 +1,181 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WidgetItems.h"
+#include "ContactsUtils.h"
+
+WidgetItems::WidgetItems()
+ : m_DbVersion(0)
+{
+}
+
+WidgetItems::~WidgetItems()
+{
+ contacts_setting_remove_name_display_order_changed_cb(&WidgetItems::onNameOrderChanged, this);
+ contacts_db_remove_changed_cb(_contacts_contact._uri, &WidgetItems::onDbChanged, this);
+}
+
+bool WidgetItems::initialize(unsigned widgetId)
+{
+ if (!m_Database.initialize(widgetId)) {
+ return false;
+ }
+
+ contacts_db_get_current_version(&m_DbVersion);
+ contacts_db_add_changed_cb(_contacts_contact._uri, &WidgetItems::onDbChanged, this);
+ contacts_setting_add_name_display_order_changed_cb(&WidgetItems::onNameOrderChanged, this);
+
+ m_Database.fetch([this](WidgetItem &&item) {
+ m_Items.push_back(std::move(item));
+ });
+
+ return true;
+}
+
+unsigned WidgetItems::getWidgetId() const
+{
+ return m_Database.getWidgetId();
+}
+
+void WidgetItems::setOnItemUpdate(std::function<void(WidgetItem&)> callback)
+{
+ m_OnUpdate = std::move(callback);
+}
+
+void WidgetItems::setOnItemDelete(std::function<void(WidgetItem&)> callback)
+{
+ m_OnDelete = std::move(callback);
+}
+
+WidgetItems::Container::iterator WidgetItems::begin()
+{
+ return m_Items.begin();
+}
+
+WidgetItems::Container::iterator WidgetItems::end()
+{
+ return m_Items.end();
+}
+
+WidgetItems::Container::const_iterator WidgetItems::begin() const
+{
+ return m_Items.begin();
+}
+
+WidgetItems::Container::const_iterator WidgetItems::end() const
+{
+ return m_Items.end();
+}
+
+size_t WidgetItems::count() const
+{
+ return m_Items.size();
+}
+
+bool WidgetItems::addItem(WidgetItem &&item)
+{
+ int id = m_Database.insert(item);
+ if (id != 0) {
+ item.setId(id);
+ m_Items.push_back(std::move(item));
+ return true;
+ }
+
+ return false;
+}
+
+bool WidgetItems::removeItem(const WidgetItem &item)
+{
+ if (!m_Database.remove(item)) {
+ return false;
+ }
+
+ m_Items.remove_if([&item](const WidgetItem &item2) {
+ return item2.getId() == item.getId();
+ });
+
+ return true;
+}
+
+bool WidgetItems::destroy()
+{
+ return m_Database.destroy();
+}
+
+void WidgetItems::loadChanges()
+{
+ contacts_list_h list = nullptr;
+ contacts_db_get_changes_by_version(_contacts_contact_updated_info._uri, 0, m_DbVersion, &list, &m_DbVersion);
+
+ contacts_record_h record = nullptr;
+ CONTACTS_LIST_FOREACH(list, record) {
+ int updateType = 0;
+ contacts_record_get_int(record, _contacts_contact_updated_info.type, &updateType);
+ if (updateType == CONTACTS_CHANGE_INSERTED) {
+ continue;
+ }
+
+ int id = 0;
+ contacts_record_get_int(record, _contacts_contact_updated_info.contact_id, &id);
+
+ for (auto it = m_Items.begin(); it != m_Items.end(); ) {
+ if (it->getContactId() == id) {
+ switch (updateType) {
+ case CONTACTS_CHANGE_UPDATED:
+ if (it->update()) {
+ if (m_OnUpdate) {
+ m_OnUpdate(*it);
+ }
+ break;
+ }
+ //fall through to delete item if update failed
+ case CONTACTS_CHANGE_DELETED:
+ if (m_OnDelete) {
+ m_OnDelete(*it);
+ }
+
+ m_Database.remove(*it);
+ it = m_Items.erase(it);
+ continue;
+ default:
+ break;
+ }
+ }
+
+ ++it;
+ }
+ }
+
+ contacts_list_destroy(list, true);
+}
+
+void WidgetItems::onDbChanged(const char *uri, void *data)
+{
+ WidgetItems *items = (WidgetItems*) data;
+ items->loadChanges();
+}
+
+void WidgetItems::onNameOrderChanged(contacts_name_display_order_e name_display_order, void *data)
+{
+ WidgetItems *items = (WidgetItems*) data;
+ for (auto &&item : items->m_Items) {
+ item.update();
+ if (items->m_OnUpdate) {
+ items->m_OnUpdate(item);
+ }
+ }
+}
diff --git a/widget/src/main.cpp b/widget/src/main.cpp
new file mode 100644
index 0000000..3575e23
--- /dev/null
+++ b/widget/src/main.cpp
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "WidgetApp.h"
+
+WAPP_ASSIST_EXPORT int main(int argc, char *argv[])
+{
+ return WidgetApp().start(argc, argv);
+}
diff --git a/widget/tizen-manifest.xml b/widget/tizen-manifest.xml
new file mode 100644
index 0000000..0bb7994
--- /dev/null
+++ b/widget/tizen-manifest.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="org.tizen.contacts" version="0.1.0">
+ <profile name="mobile" />
+ <ui-application appid="org.tizen.contacts.widget" exec="widget" type="capp" multiple="true" taskmanage="false" nodisplay="true">
+ <label>Contacts Widget</label>
+ <icon>org.tizen.contacts.png</icon>
+ </ui-application>
+</manifest>